1/*! For license information please see core.js.LICENSE.txt */ 2(()=>{"use strict";var e={26:(e,t,n)=>{var r=i(n(339)),o=i(n(825));function i(e){return e&&e.__esModule?e:{default:e}}(0,r.default)(document).ready((function(){var e;e={country:".js-country",address:".js-address-form"},(0,r.default)("body").on("change",e.country,(function(){var t={id_country:(0,r.default)(e.country).val(),id_address:(0,r.default)("".concat(e.address," form")).data("id-address")},n=(0,r.default)("".concat(e.address," form")).data("refresh-url"),i="".concat(e.address," input");r.default.post(n,t).then((function(t){var n=[];(0,r.default)(i).each((function(){n[(0,r.default)(this).prop("name")]=(0,r.default)(this).val()})),(0,r.default)(e.address).replaceWith(t.address_form),(0,r.default)(i).each((function(){(0,r.default)(this).val(n[(0,r.default)(this).prop("name")])})),o.default.emit("updatedAddressForm",{target:(0,r.default)(e.address),resp:t})})).fail((function(e){o.default.emit("handleError",{eventType:"updateAddressForm",resp:e})}))}))}))},999:(e,t,n)=>{var r=a(n(339)),o=a(n(825)),i=n(988);function a(e){return e&&e.__esModule?e:{default:e}}(0,r.default)(document).ready((function(){o.default.on("updateCart",(function(e){o.default.cart=e.resp.cart;var t=(0,r.default)(".js-cart").data("refresh-url");if(t){var n={};e&&e.reason&&(n={id_product_attribute:e.reason.idProductAttribute,id_product:e.reason.idProduct}),r.default.post(t,n).then((function(e){(0,r.default)(o.default.selectors.cart.detailedTotals).replaceWith(e.cart_detailed_totals),(0,r.default)(o.default.selectors.cart.summaryItemsSubtotal).replaceWith(e.cart_summary_items_subtotal),(0,r.default)(o.default.selectors.cart.summarySubTotalsContainer).replaceWith(e.cart_summary_subtotals_container),(0,r.default)(o.default.selectors.cart.summaryProducts).replaceWith(e.cart_summary_products),(0,r.default)(o.default.selectors.cart.summaryTotals).replaceWith(e.cart_summary_totals),(0,r.default)(o.default.selectors.cart.detailedActions).replaceWith(e.cart_detailed_actions),(0,r.default)(o.default.selectors.cart.voucher).replaceWith(e.cart_voucher),(0,r.default)(o.default.selectors.cart.overview).replaceWith(e.cart_detailed),(0,r.default)(o.default.selectors.cart.summaryTop).replaceWith(e.cart_summary_top),(0,r.default)(o.default.selectors.cart.productCustomizationId).val(0),(0,r.default)(o.default.selectors.cart.lineProductQuantity).each((function(e,t){var n=(0,r.default)(t);n.attr("value",n.val())})),(0,r.default)(o.default.selectors.checkout.cartPaymentStepRefresh).length&&(0,i.refreshCheckoutPage)(),o.default.emit("updatedCart",{eventType:"updateCart",resp:e})})).fail((function(e){o.default.emit("handleError",{eventType:"updateCart",resp:e})}))}}));var e=(0,r.default)("body");e.on("click",'[data-button-action="add-to-cart"]',(function(e){e.preventDefault();var t=(0,r.default)(e.currentTarget.form),n="".concat(t.serialize(),"&add=1&action=update"),i=t.attr("action"),a=(0,r.default)(e.currentTarget);a.prop("disabled",!0);var s,u=function(e){e.parents(o.default.selectors.product.addToCart).first().find(o.default.selectors.product.minimalQuantity).addClass("error"),e.parent().find("label").addClass("error")},c=t.find("input[min]");s=!0,c.each((function(e,t){var n=(0,r.default)(t),o=parseInt(n.attr("min"),10);o&&n.val()<o&&(u(n),s=!1)})),s?r.default.post(i,n,null,"json").then((function(e){o.default.emit("updateCart",{reason:{idProduct:e.id_product,idProductAttribute:e.id_product_attribute,idCustomization:e.id_customization,linkAction:"add-to-cart",cart:e.cart},resp:e})})).fail((function(e){o.default.emit("handleError",{eventType:"addProductToCart",resp:e})})).always((function(){setTimeout((function(){a.prop("disabled",!1)}),1e3)})):u(c)})),e.on("submit",'[data-link-action="add-voucher"]',(function(e){e.preventDefault();var t=(0,r.default)(e.currentTarget),n=t.attr("action");0===t.find("[name=action]").length&&t.append((0,r.default)("<input>",{type:"hidden",name:"ajax",value:1})),0===t.find("[name=action]").length&&t.append((0,r.default)("<input>",{type:"hidden",name:"action",value:"update"})),r.default.post(n,t.serialize(),null,"json").then((function(t){t.hasError?(0,r.default)(".js-error").show().find(".js-error-text").text(t.errors[0]):o.default.emit("updateCart",{reason:e.target.dataset,resp:t})})).fail((function(e){o.default.emit("handleError",{eventType:"updateCart",resp:e})}))}))}))},673:(e,t,n)=>
2{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){(0,r.default)(o.default.selectors.checkout.editAddresses).on("click",(function(e){e.stopPropagation(),(0,r.default)(o.default.selectors.checkout.addressesStep).trigger("click"),o.default.emit("editAddress")})),(0,r.default)(o.default.selectors.checkout.deliveryAddressRadios).on("click",(function(){(0,r.default)(o.default.selectors.checkout.addressItem).removeClass("selected"),(0,r.default)(o.default.selectors.checkout.addressItemChecked).addClass("selected");var e=(0,r.default)(o.default.selectors.checkout.addressError).prop("id").split("-").pop(),t=(0,r.default)(o.default.selectors.checkout.notValidAddresses).val(),n=this.name.split("_").pop(),i=(0,r.default)("".concat(o.default.selectors.checkout.addressError,"[name=alert-").concat(n,"]"));c(!1,e,n),""!==t&&null===s&&t.split(",").indexOf(this.value)>=0?(i.show(),c(!0,this.value,n),(0,r.default)(o.default.selectors.checkout.addressError).prop("id","id-failure-address-".concat(this.value))):i.hide();var a=(0,r.default)("".concat(o.default.selectors.checkout.addressError,":visible"));l(a.length<=0)}))};var r=a(n(339)),o=a(n(825)),i=n(988);function a(e){return e&&e.__esModule?e:{default:e}}var s=(0,i.psGetRequestParameter)("editAddress"),u=(0,i.psGetRequestParameter)("use_same_address");(0,r.default)(window).on("load",(function(){var e=(0,r.default)("".concat(o.default.selectors.checkout.addressError,":visible"));if(0===parseInt(u,10)&&(0,r.default)(o.default.selectors.checkout.invoiceAddresses).trigger("click"),(null!==s||(0,r.default)("".concat(o.default.selectors.checkout.addressForm,":visible")).length>1)&&e.hide(),e.length>0){var t=(0,r.default)(o.default.selectors.checkout.addressError).prop("id").split("-").pop();e.each((function(){c(!0,t,(0,r.default)(this).attr("name").split("-").pop())}))}e=(0,r.default)("".concat(o.default.selectors.checkout.addressError,":visible")),l(e.length<=0)}));var c=function(e,t,n){var o=(0,r.default)("#id-address-".concat(n,"-address-").concat(t," a.edit-address")),i=["text-info","address-item-invalid"];(0,r.default)("#".concat(n,"-addresses a.edit-address")).removeClass(i),o.toggleClass(i,e)},l=function(e){(0,r.default)("button[name=confirm-addresses]").prop("disabled",!e)}},107:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e=(0,r.default)("body"),t=o.default.selectors.checkout.deliveryFormSelector,n=o.default.selectors.checkout.summarySelector,a=o.default.selectors.checkout.deliveryStepSelector,s=o.default.selectors.checkout.editDeliveryButtonSelector;e.on("change","".concat(t," input"),(function(e){var a=(0,r.default)(t),s=a.serialize(),u=(0,r.default)(e.currentTarget).parents(o.default.selectors.checkout.deliveryOption);r.default.post(a.data("url-update"),s).then((function(e){(0,r.default)(n).replaceWith(e.preview),(0,r.default)(o.default.selectors.checkout.cartPaymentStepRefresh).length&&(0,i.refreshCheckoutPage)(),o.default.emit("updatedDeliveryForm",{dataForm:a.serializeArray(),deliveryOption:u,resp:e})})).fail((function(e){o.default.trigger("handleError",{eventType:"updateDeliveryOptions",resp:e})}))})),e.on("click",s,(function(e){e.stopPropagation(),(0,r.default)(a).trigger("click"),o.default.emit("editDelivery")}))};var r=a(n(339)),o=a(n(825)),i=n(988);function a(e){return e&&e.__esModule?e:{default:e}}},870:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e=new s;return e.init(),e};var r=i(n(339)),o=i(n(825));function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var s=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.confirmationSelector=o.default.selectors.checkout.confirmationSelector,this.conditionsSelector=o.default.selectors.checkout.conditionsSelector,this.conditionAlertSelector=o.default.selectors.checkout.conditionAlertSelector,this.additionalInformatonSelector=o.default.selectors.checkout.additionalInformatonSelector,this.optionsForm=o.default.selectors.checkout.optionsForm,this.termsCheckboxSelector=o.default.selectors.checkout.termsCheckboxSelector}var t,n;return t=e,(n=[{key:"init",value:function(){var e=(0,r.default)("body");e.on("change","".concat(this.conditionsSelector,' input[type="checkbox"]'),r.default.proxy(this.toggleOrderButton,this)),e.on("change",'input[name="payment-option"]',r.default.proxy(this.toggleOrderButton,this)),e.on("click","".concat(this.confirmationSelector," button"),r.default.proxy(this.confirm,this)),this.collapseOptions()}},{key:"collapseOptions",value:function(){(0,r.default)("".concat(this.additionalInformatonSelector,", ").concat(this.optionsForm)).hide()}},{key:"getSelectedOption",value:function(){return(0,r.default)('input[name="payment-option"]:checked').attr("id")}},{key:"haveTermsBeenAccepted",value:function(){return(0,r.default)(this.termsCheckboxSelector).prop("checked")}},{key:"hideConfirmation",value:function(){(0,r.default)(this.confirmationSelector).hide()}},{key:"showConfirmation",value:function(){(0,r.default)(this.confirmationSelector).show()}},{key:"toggleOrderButton",value:function(){var e=!0;(0,r.default)("".concat(this.conditionsSelector,' input[type="checkbox"]')).each((function(t,n){n.checked||(e=!1)})),o.default.emit("termsUpdated",{isChecked:e}),this.collapseOptions();var t=this.getSelectedOption();if(t||(e=!1),(0,r.default)("#".concat(t,"-additional-information")).show(),(0,r.default)("#pay-with-".concat(t,"-form")).show(),(0,r.default)(o.default.selectors.checkout.paymentBinary).hide(),(0,r.default)("#".concat(t)).hasClass("binary")){var n=this.getPaymentOptionSelector(t);this.hideConfirmation(),(0,r.default)(n).show(),document.querySelectorAll("".concat(n," button, ").concat(n," input")).forEac
2h((function(t){e?t.removeAttribute("disabled"):t.setAttribute("disabled",!e)})),e?(0,r.default)(n).removeClass("disabled"):(0,r.default)(n).addClass("disabled")}else this.showConfirmation(),(0,r.default)("".concat(this.confirmationSelector," button")).toggleClass("disabled",!e),(0,r.default)("".concat(this.confirmationSelector," button")).attr("disabled",!e),e?(0,r.default)(this.conditionAlertSelector).hide():(0,r.default)(this.conditionAlertSelector).show()}},{key:"getPaymentOptionSelector",value:function(e){var t=(0,r.default)("#".concat(e)).data("module-name");return".js-payment-".concat(t)}},{key:"showNativeFormErrors",value:function(){(0,r.default)("input[name=payment-option], ".concat(this.termsCheckboxSelector)).each((function(){this.reportValidity()}))}},{key:"confirm",value:function(){var e=this.getSelectedOption(),t=this.haveTermsBeenAccepted();void 0!==e&&!1!==t?((0,r.default)("".concat(this.confirmationSelector," button")).addClass("disabled"),(0,r.default)("#pay-with-".concat(e,"-form form")).submit()):this.showNativeFormErrors()}}])&&a(t.prototype,n),e}()},597:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(339)),o=i(n(825));function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function u(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),e}var c=o.default.selectors.checkout.currentStep,l=".".concat(c),d=function(){function e(){a(this,e),this.$steps=(0,r.default)(o.default.selectors.checkout.step),this.$steps.off("click"),this.$clickableSteps=(0,r.default)(l).prevAll().andSelf(),this.$clickableSteps.addClass("-clickable")}return u(e,[{key:"getClickableSteps",value:function(){return this.$clickableSteps}},{key:"makeCurrent",value:function(e){this.$steps.removeClass("-current"),this.$steps.removeClass(c),e.makeCurrent()}}],[{key:"getClickedStep",value:function(e){return new f((0,r.default)(e.target).closest(o.default.selectors.checkout.step))}}]),e}();t.default=d;var f=function(){function e(t){a(this,e),this.$step=t}return u(e,[{key:"isUnreachable",value:function(){return this.$step.hasClass("-unreachable")}},{key:"makeCurrent",value:function(){this.$step.addClass("-current"),this.$step.addClass(c)}},{key:"hasContinueButton",value:function(){return(0,r.default)("button.continue",this.$step).length>0}},{key:"disableAllAfter",value:function(){var e=this.$step.nextAll();e.addClass("-unreachable").removeClass("-complete"),(0,r.default)(o.default.selectors.checkout.stepTitle,e).addClass("not-allowed")}},{key:"enableAllBefore",value:function(){var e=this.$step.nextAll("".concat(o.default.selectors.checkout.step,".-clickable"));e.removeClass("-unreachable").addClass("-complete"),(0,r.default)(o.default.selectors.checkout.stepTitle,e).removeClass("not-allowed")}}]),e}()},982:(e,t,n)=>{var r=c(n(339)),o=c(n(825)),i=c(n(673)),a=c(n(107)),s=c(n(870)),u=c(n(597));function c(e){return e&&e.__esModule?e:{default:e}}(0,r.default)(document).ready((function(){var e,t;1===(0,r.default)("#checkout").length&&((0,i.default)(),(0,a.default)(),(0,s.default)(),(e=new u.default).getClickableSteps().on("click",(function(t){var n=u.default.getClickedStep(t);n.isUnreachable()||(e.makeCurrent(n),n.hasContinueButton()?n.disableAllAfter():n.enableAllBefore()),o.default.emit("changedCheckoutStep",{event:t})})),t=o.default.selectors.checkout.form,(0,r.default)(t).submit((function(e){!0===(0,r.default)(this).data("disabled")&&e.preventDefault(),(0,r.default)(this).data("disabled",!0),(0,r.default)('button[type="submit"]',this).addClass("disabled")})))}))},988:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.psShowHide=function(){(0,o.default)(".ps-shown-by-js").show(),(0,o.default)(".ps-hidden-by-js").hide()},t.psGetRequestParameter=i,t.refreshCheckoutPage=function(){var e=i();if(e.updatedTransaction)window.location.reload();else{e.updatedTransaction=1;var t=Object.entries(e).map((function(e){return e.join("=")})).join("&");window.location.href="".concat(window.location.pathname,"?").concat(t)}};var r,o=(r=n(339))&&r.__esModule?r:{default:r};function i(e){var t={};return window.location.href.replace(location.hash,"").replace(/[?&]+([^=&]+)=?([^&]*)?/gi,(function(e,n,r){t[n]=void 0!==r?r:""})),void 0!==e?t[e]?t[e]:null:t}},247:(e,t,n)=>
2{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(339)),o=i(n(204));function i(e){return e&&e.__esModule?e:{default:e}}t.default=function(e){var t=(0,r.default)(e);r.default.each(t,(function(e,t){if(!t.checkValidity()){var n=t.value.split("@");o.default.toASCII(n[0])===n[0]&&(t.value=o.default.toASCII(t.value))}}))}},432:(e,t,n)=>{var r=i(n(339)),o=i(n(825));function i(e){return e&&e.__esModule?e:{default:e}}var a=null;function s(e){o.default.emit("updateProductList",e),window.history.pushState(e,document.title,e.current_url)}function u(e,t){return"abort"!==t}function c(e){a===e&&(a=null)}(0,r.default)(document).ready((function(){o.default.on("updateFacets",(function(e){!function(e){a&&a.abort();var t=e.indexOf("?")>=0?"&":"?",n="".concat(e+t,"from-xhr");a=r.default.ajax({url:n,dataType:"json",success:s,error:u,complete:c})}(e)}))}))},90:(e,t,n)=>{var r=i(n(339)),o=i(n(825));function i(e){return e&&e.__esModule?e:{default:e}}(0,r.default)(document).ready((function(){(0,r.default)("body").on("click",o.default.selectors.listing.quickview,(function(e){o.default.emit("clickQuickView",{dataset:(0,r.default)(e.target).closest(o.default.selectors.product.miniature).data()}),e.preventDefault()}))}))},52:(e,t,n)=>{var r,o=(r=n(339))&&r.__esModule?r:{default:r};void 0===o.default.migrateMute&&(o.default.migrateMute=!window.prestashop.debug)},226:(e,t,n)=>{var r=a(n(339)),o=a(n(825)),i=n(988);function a(e){return e&&e.__esModule?e:{default:e}}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){u(e,t,n[t])}))}return e}function u(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var c=null,l=null,d=!1,f=[],p=!1;function h(e){var t,n,o;t=(0,r.default)(".quickview #product-availability, .page-product:not(.modal-open) .row #product-availability, .page-product:not(.modal-open) .product-container #product-availability"),n=e,o=(0,r.default)('<div class="alert alert-danger ajax-error" role="alert">'.concat(n,"</div>")),t.replaceWith(o)}function v(e){var t=(0,r.default)(e.$targetParent.find(e.targetSelector));if(!(t.length<=0)){var n=e.$addToCartSnippet.find(e.targetSelector);n.length>0?t.replaceWith(n[0].outerHTML):t.html("")}}(0,r.default)(document).ready((function(){var e=(0,r.default)(o.default.selectors.product.actions);(0,r.default)("body").on("change touchspin.on.startspin","".concat(o.default.selectors.product.variants," *[name]"),(function(e){p=!0,o.default.emit("updateProduct",{eventType:"updatedProductCombination",event:e,resp:{},reason:{productUrl:o.default.urls.pages.product||""}})})),(0,r.default)(e.find("form:first").serializeArray()).each((function(e,t){var n=t.value,r=t.name;f.push({value:n,name:r})})),window.addEventListener("popstate",(function(e){if(d=!0,!(!e.state||e.state&&e.state.form&&0===e.state.form.length)||p){var t=(0,r.default)(o.default.selectors.product.actions).find("form:first");e.state&&e.state.form?e.state.form.forEach((function(e){t.find('[name="'.concat(e.name,'"]')).val(e.value)})):f.forEach((function(e){t.find('[name="'.concat(e.name,'"]')).val(e.value)})),o.default.emit("updateProduct",{eventType:"updatedProductCombination",event:e,resp:{},reason:{productUrl:o.default.urls.pages.product||""}})}})),(0,r.default)("body").on("click",o.default.selectors.product.refresh,(function(e,t){e.preventDefault();var n="updatedProductCombination";void 0!==t&&t.eventType&&(n=t.eventType),o.default.emit("updateProduct",{eventType:n,event:e,resp:{},reason:{productUrl:o.default.urls.pages.product||""}})})),o.default.on("updateProduct",(function(e){var t=e.eventType,n=e.event;(function(){var e=r.default.Deferred(),t=(0,r.default)(o.default.selectors.product.actions),n=(0,r.default)(o.default.selectors.quantityWanted);if(null!==o.default&&null!==o.default.urls&&null!==o.default.urls.pages&&""!==o.default.urls.pages.product&&null!==o.default.urls.pages.product)return e.resolve(o.default.urls.pages.product),e.promise();var i={};return(0,r.default)(t.find("form:first").serializeArray()).each((function(e,t){i[t.name]=t.value})),r.default.ajax({url:t.find("form:first").attr("action"),method:"POST",data:s({ajax:1,action:"productrefresh",quantity_wanted:n.val()},i),dataType:"json",success:function(t){var n=t.productUrl;o.default.page.canonical=n,e.resolve(n)},error:function(t,n,r){e.reject({jqXHR:t,textStatus:n,errorThrown:r})}}),e.promise()})().done((function(e){return function(e,t,n){var a,s=(0,r.default)(o.default.selectors.product.actions),u=s.find(o.default.selectors.quantityWanted),d=s.find("form:first"),f=d.serialize(),p=(0,i.psGetRequestParameter)("preview");if("function"==typeof Event?a=new Event("updateRating"):(a=document.createEvent("Event")).initEvent("updateRating",!0,!0),p=null!==p?"&preview=".concat(p):"",null!==n){if(!e||"keyup"!==e.type||u.val()!==u.data("old-value")){u.data("old-value",u.val()),l&&clearTimeout(l);var m=30;"updatedProductQuantity"===t&&(m=750),l=setTimeout((function(){""!==f&&(c=r.default.ajax({url:n+(-1===n.indexOf("?")?"?":"&")+f+p,method:"POST",data:{quickview:(0,r.default)(".modal.quickview.in").length,ajax:1,action:"refresh",quantity_wanted:"updatedProductCombination"===t?u.attr("min"):u.val()},dataType:"json",beforeSend:function(){null!==c&&c.abort()},error:function(e,t){"abort"!==t&&0===(0,r.default)("section#main > .ajax-error").length&&h()},success:function(e){var n=(0,r.default)("<div>").append(e.product_cover_thumbnails);(0,r.default)(o.default.selectors.product.imageContainer).html()!==n.find(o.default.selectors.product.imageContainer).html()&&(0,r.default)(o.default.selectors.product.imageContainer).replaceWith(e.product_cover_thumbnails),(0,r.default)(o.default.selectors.product.prices).first().replaceWith(e.product_prices),(0,r.default)(o.default.selectors.product.customization).first().replaceWith(e.product_customization),(0,r.default)(o.default.selectors.product.inputCustomization).val(0),(0,r.default)(o.default.selectors.product.variantsUpdate).first().replaceWith(e.product_variants),(0,r.default)(o.default.selectors.product.discounts).first().replaceWith(e.product_discounts),(0,r.default)(o.default.selectors.product.additionalInfos).first().replaceWith(e.product_additional_info),(0,r.default)(o.default.selectors.product.details).replaceWith(e.product_details),(0,r.default)(o.default.selectors.product.flags).first().replaceWith(e.product_flags),function(e){var t=null;(0,r.default)(e.product_add_to_cart).each((function(e,n){return!(0,r.default)(n).hasClass("product-add-to-cart")||(t=(0,r.default)(n),!1)})),null===t&&h();var n=(0,r.default)(o.default.selectors.product.addToCart);v({$addToCartSnippet:t,$targetParent:n,targetSelector:".add"}),v({$addToCartSnippet:t,$targetParent:n,targetSelector:"#product-availability"}),v({$addToCartSnippet:t,$targetParent:n,targetSelector:".product-minimal-quantity"})}(e);var i=parseInt(e.product_minimal_quantity,10);document.dispatchEvent(a),isNaN(i)||"updatedProductQuantity"===t||(u.attr("min",i),u.val(i)),o.default.emit("updatedProduct",e,d.serializeArray())},complete:function(){c=null,l=null}}))}),m)}}else h()}(n,t,e)})).fail((function(){0===(0,r.default)("section#main > .ajax-error").length&&h()}))})),o.default.on("updatedProduct",(function(e,t){if(e.product_url&&e.id_product_attribute&&!(0,r.default)(".modal.quickview").length){var n=document.title;e.product_title&&(n=e.product_title,(0,r.default)(document).attr("title",n)),d||window.history.pushState({id_product_attribute:e.id_product_attribute,form:t},n,e.product_url),d=!1}})),o.default.on("updateCart",(function(e){e&&e.reason&&"add-to-cart"===e.reason.linkAction&&(0,r.default)("#quantity_wanted").val(1)})),o.default.on("showErrorNextToAddtoCartButton",(function(e){e&&e.errorMessage&&h(e.errorMessage)}))}))},965:(e,t,n)=>{var r=i(n(825)),o=i(n(339));
2function i(e){return e&&e.__esModule?e:{default:e}}r.default.selectors={quantityWanted:"#quantity_wanted",product:{imageContainer:".quickview .images-container, .page-product:not(.modal-open) .row .images-container, .page-product:not(.modal-open) .product-container .images-container, .quickview .js-images-container, .page-product:not(.modal-open) .row .js-images-container, .page-product:not(.modal-open) .product-container .js-images-container",container:".product-container, .js-product-container",availability:"#product-availability, .js-product-availability",actions:".product-actions, .js-product-actions",variants:".product-variants, .js-product-variants",refresh:".product-refresh, .js-product-refresh",miniature:".js-product-miniature",minimalQuantity:".product-minimal-quantity, .js-product-minimal-quantity",addToCart:".quickview .product-add-to-cart, .page-product:not(.modal-open) .row .product-add-to-cart, .page-product:not(.modal-open) .product-container .product-add-to-cart, .quickview .js-product-add-to-cart, .page-product:not(.modal-open) .row .js-product-add-to-cart, .page-product:not(.modal-open) .product-container .js-product-add-to-cart",prices:".quickview .product-prices, .page-product:not(.modal-open) .row .product-prices, .page-product:not(.modal-open) .product-container .product-prices, .quickview .js-product-prices, .page-product:not(.modal-open) .row .js-product-prices, .page-product:not(.modal-open) .product-container .js-product-prices",inputCustomization:'.product-actions input[name="id_customization"], .js-product-actions .js-product-customization-id',customization:".quickview .product-customization, .page-product:not(.modal-open) .row .product-customization, .page-product:not(.modal-open) .product-container .product-customization, .quickview .js-product-customization, .page-product:not(.modal-open) .row .js-product-customization, .page-product:not(.modal-open) .product-container .js-product-customization",variantsUpdate:".quickview .product-variants, .page-product:not(.modal-open) .row .product-variants, .page-product:not(.modal-open) .product-container .product-variants, .quickview .js-product-variants, .page-product:not(.modal-open) .row .js-product-variants, .page-product:not(.modal-open) .js-product-container .js-product-variants",discounts:".quickview .product-discounts, .page-product:not(.modal-open) .row .product-discounts, .page-product:not(.modal-open) .product-container .product-discounts, .quickview .js-product-discounts, .page-product:not(.modal-open) .row .js-product-discounts, .page-product:not(.modal-open) .product-container .js-product-discounts",additionalInfos:".quickview .product-additional-info, .page-product:not(.modal-open) .row .product-additional-info, .page-product:not(.modal-open) .product-container .product-additional-info, .quickview .js-product-additional-info, .page-product:not(.modal-open) .row .js-product-additional-info, .page-product:not(.modal-open) .js-product-container .js-product-additional-info",details:".quickview #product-details, #product-details, .quickview .js-product-details, .js-product-details",flags:".quickview .product-flags, .page-product:not(.modal-open) .row .product-flags, .page-product:not(.modal-open) .product-container .product-flags, .quickview .js-product-flags, .page-product:not(.modal-open) .row .js-product-flags, .page-product:not(.modal-open) .js-product-container .js-product-flags"},listing:{quickview:".quick-view, .js-quick-view"},checkout:{form:".checkout-step form",currentStep:"js-current-step",step:".checkout-step",stepTitle:".step-title, .js-step-title",confirmationSelector:"#payment-confirmation button, .js-payment-confirmation",conditionsSelector:'#conditions-to-approve input[type="checkbox"], .js-conditions-to-approve',conditionAlertSelector:".js-alert-payment-conditions",additionalInformatonSelector:".js-additional-information",optionsForm:".js-payment-option-form",termsCheckboxSelector:'#conditions-to-approve input[name="conditions_to_approve[terms-and-conditions]"], .js-conditions-to-approve input[name="conditions_to_approve[terms-and-conditions]"]',paymentBinary:".payment-binary, .js-payment-binary",deliveryFormSelector:"#js-delivery",summarySelector:"#js-checkout-summary",deliveryStepSelector:"#checkout-delivery-step",editDeliveryButtonSelector:".js-edit-delivery",deliveryOption:".delivery-option, .js-delivery-option",cartPaymentStepRefresh:".js-cart-payment-step-refresh",editAddresses:".js-edit-addresses",deliveryAddressRadios:"#delivery-addresses input[type=radio], #invoice-addresses input[type=radio], .js-address-selector input[type=radio]",addressItem:".address-item, .js-address-item",addressesStep:"#checkout-addresses-step",addressItemChecked:".address-item:has(input[type=radio]:checked), .js-address-item:has(input[type=radio]:checked)",addressError:".js-address-error",n
2otValidAddresses:"#not-valid-addresses, .js-not-valid-addresses",invoiceAddresses:"#invoice-addresses, .js-address-selector",addressForm:".js-address-form"},cart:{detailedTotals:".cart-detailed-totals, .js-cart-detailed-totals",summaryItemsSubtotal:".cart-summary-items-subtotal, .js-cart-summary-items-subtotal",summarySubTotalsContainer:".cart-summary-subtotals-container, .js-cart-summary-subtotals-container",summaryTotals:".cart-summary-totals, .js-cart-summary-totals",summaryProducts:".cart-summary-products, .js-cart-summary-products",detailedActions:".cart-detailed-actions, .js-cart-detailed-actions",voucher:".cart-voucher, .js-cart-voucher",overview:".cart-overview",summaryTop:".cart-summary-top, .js-cart-summary-top",productCustomizationId:"#product_customization_id, .js-product-customization-id",lineProductQuantity:".js-cart-line-product-quantity"}},(0,o.default)(document).ready((function(){r.default.emit("selectorsInit")}))},827:(e,t,n)=>{var r,o,i;o=[n(339)],void 0===(i="function"==typeof(r=function(e){var t=e.fn.init;e.fn.init=function(e){var n=Array.prototype.slice.call(arguments);"string"==typeof e&&"#"===e&&(console.warn("jQuery('#') is not a valid selector"),n[0]=[]);var r=t.apply(this,arguments);return r.selector="string"==typeof e?e:"",r},e.fn.init.prototype=e.fn,void 0!==e.fn.live&&e.isFunction(e.fn.live)||e.fn.extend({live:function(t,n,r){return this.selector&&e(document).on(t,this.selector,n,r),console.warn("jQuery.live() has been removed since jquery v1.9, please use jQuery.on() instead."),this}})})?r.apply(t,o):r)||(e.exports=i)},291:e=>{function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var n,r="object"===("undefined"==typeof Reflect?"undefined":t(Reflect))?Reflect:null,o=r&&"function"==typeof r.apply?r.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};n=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(e,t){return new Promise((function(n,r){function o(n){e.removeListener(t,i),r(n)}function i(){"function"==typeof e.removeListener&&e.removeListener("error",o),n([].slice.call(arguments))}m(e,t,i,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&m(e,"error",t,{once:!0})}(e,o)}))},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var s=10;function u(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+t(e))}function c(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function l(e,t,n,r){var o,i,a,s;if(u(n),void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),i=e._events),a=i[t]),void 0===a)a=i[t]=n,++e._eventsCount;else if("function"==typeof a?a=i[t]=r?[n,a]:[a,n]:r?a.unshift(n):a.push(n),(o=c(e))>0&&a.length>o&&!a.warned){a.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,s=l,console&&console.warn&&console.warn(s)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},o=d.bind(r);return o.listener=n,r.wrapFn=o,o}function p(e,t,n){var r=e._events;if(void 0===r)return[];var o=r[t];return void 0===o?[]:"function"==typeof o?n?[o.listener||o]:[o]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(o):v(o,o.length)}function h(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function v(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function m(e,n,r,o){if("function"==typeof e.on)o.once?e.once(n,r):e.on(n,r);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+t(e));e.addEventListener(n,(function t(i){o.once&&e.removeEventListener(n,t),r(i)}))}}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return s},set:function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");s=e}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},a.prototype.getMaxListeners=function(){return c(this)},a.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var r="error"===e,i=this._events;if(void 0!==i)r=r&&void 0===i.error;else if(!r)return!1;if(r){var a;if(t.length>0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var u=i[e];if(void 0===u)return!1;if("function"==typeof u)o(u,this,t);else{var c=u.length,l=v(u,c);for(n=0;n<c;++n)o(l[n],this,t)}return!0},a.prototype.addListener=function(e,t){return l(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return l(this,e,t,!0)},a.prototype.once=function(e,t){return u(t),this.on(e,f(this,e,t)),this},a.prototype.prependOnceListener=function(e,t){return u(t),this.prependListener(e,f(this,e,t)),this},a.prototype.removeListener=function(e,t){var n,r,o,i,a;if(u(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit
2("removeListener",e,n.listener||t));else if("function"!=typeof n){for(o=-1,i=n.length-1;i>=0;i--)if(n[i]===t||n[i].listener===t){a=n[i].listener,o=i;break}if(o<0)return this;0===o?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,o),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,a||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var o,i=Object.keys(n);for(r=0;r<i.length;++r)"removeListener"!==(o=i[r])&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},a.prototype.listeners=function(e){return p(this,e,!0)},a.prototype.rawListeners=function(e){return p(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},a.prototype.listenerCount=h,a.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},882:(e,t,n)=>{var r,o;function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}r=[n(339)],void 0===(o=function(e){return function(e,t){function n(t){return function(e,t){for(var n=/^(\d+)\.(\d+)\.(\d+)/,r=n.exec(e)||[],o=n.exec(t)||[],i=1;i<=3;i++){if(+r[i]>+o[i])return 1;if(+r[i]<+o[i])return-1}return 0}(e.fn.jquery,t)>=0}e.migrateVersion="3.1.0",t.console&&t.console.log&&(e&&n("3.0.0")||t.console.log("JQMIGRATE: jQuery 3.0.0+ REQUIRED"),e.migrateWarnings&&t.console.log("JQMIGRATE: Migrate plugin loaded multiple times"),t.console.log("JQMIGRATE: Migrate is installed"+(e.migrateMute?"":" with logging active")+", version "+e.migrateVersion));var r={};function o(n){var o=t.console;r[n]||(r[n]=!0,e.migrateWarnings.push(n),o&&o.warn&&!e.migrateMute&&(o.warn("JQMIGRATE: "+n),e.migrateTrace&&o.trace&&o.trace()))}function a(e,t,n,r){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return o(r),n},set:function(e){o(r),n=e}})}function s(e,t,n,r){e[t]=function(){return o(r),n.apply(this,arguments)}}e.migrateWarnings=[],void 0===e.migrateTrace&&(e.migrateTrace=!0),e.migrateReset=function(){r={},e.migrateWarnings.length=0},"BackCompat"===t.document.compatMode&&o("jQuery is not compatible with Quirks Mode");var u,c=e.fn.init,l=e.isNumeric,d=e.find,f=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,p=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g;for(u in e.fn.init=function(e){var t=Array.prototype.slice.call(arguments);return"string"==typeof e&&"#"===e&&(o("jQuery( '#' ) is not a valid selector"),t[0]=[]),c.apply(this,t)},e.fn.init.prototype=e.fn,e.find=function(e){var n=Array.prototype.slice.call(arguments);if("string"==typeof e&&f.test(e))try{t.document.querySelector(e)}catch(r){e=e.replace(p,(function(e,t,n,r){return"["+t+n+'"'+r+'"]'}));try{t.document.querySelector(e),o("Attribute selector with '#' must be quoted: "+n[0]),n[0]=e}catch(e){o("Attribute selector with '#' was not fixed: "+n[0])}}return d.apply(this,n)},d)Object.prototype.hasOwnProperty.call(d,u)&&(e.find[u]=d[u]);e.fn.size=function(){return o("jQuery.fn.size() is deprecated and removed; use the .length property"),this.length},e.parseJSON=function(){return o("jQuery.parseJSON is deprecated; use JSON.parse"),JSON.parse.apply(null,arguments)},e.isNumeric=function(t){var n,r,i=l(t),a=(r=(n=t)&&n.toString(),!e.isArray(n)&&r-parseFloat(r)+1>=0);return i!==a&&o("jQuery.isNumeric() should not be called on constructed objects"),a},n("3.3.0")&&s(e,"isWindow",(function(e){return null!=e&&e===e.window}),"jQuery.isWindow() is deprecated"),s(e,"holdReady",e.holdReady,"jQuery.holdReady is deprecated"),s(e,"unique",e.uniqueSort,"jQuery.unique is deprecated; use jQuery.uniqueSort"),a(e.expr,"filters",e.expr.pseudos,"jQuery.expr.filters is deprecated; use jQuery.expr.pseudos"),a(e.expr,":",e.expr.pseudos,"jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos"),n("3.2.0")&&s(e,"nodeName",e.nodeName,"jQuery.nodeName is deprecated");var h=e.ajax;e.ajax=function(){var e=h.apply(this,arguments);return e.promise&&(s(e,"success",e.done,"jQXHR.success is deprecated and removed"),s(e,"error",e.fail,"jQXHR.error is deprecated and removed"),s(e,"complete",e.always,"jQXHR.complete is deprecated and removed")),e};var v=e.fn.removeAttr,m=e.fn.toggleClass,y=/\S+/g;e.fn.removeAttr=function(t){var n=this;return e.each(t.match(y),(function(t,r){e.expr.match.bool.test(r)&&(o("jQuery.fn.removeAttr no longer sets boolean properties: "+r),n.prop(r,!1))})),v.apply(this,arguments)},e.fn.toggleClass=function(t){return void 0!==t&&"boolean"!=typeof t?m.apply(this,arguments):(o("jQuery.fn.toggleClass( boolean ) is deprecated"),this.each((function(){var n=this.getAttribute&&this.getAttribute("class")||"";n&&e.data(this,"__className__",n),this.setAttribute&&this.setAttribute("class",n||!1===t?"":e.data(this,"__className__")||"")})))};var g=!1;e.swap&&e.each(["height","width","reliableMarginRight"],(function(t,n){var r=e.cssHooks[n]&&e.cssHooks[n].get;r&&(e.cssHooks[n].get=function(){var e;return g=!0,e=r.apply(this,arguments),g=!1,e})})),e.swap=function(e,t,n,r){var i,a,s={};for(a in g||o("jQuery.swap() is undocumented and deprecated"),t)s[a]=e.style[a],e.style[a]=t[a];for(a in i=n.apply(e,r||[]),t)e.style[a]=s[a];return i};var b=e.data;e.data=function(t,n,r){var a;if(n&&"object"===i(n)&&2===arguments.length){a=e.hasData(t)&&b.call(this,t);var s={};for(var u in n)u!==e.camelCase(u)?(o("jQuery.data() always sets/gets camelCased names: "+u),a[u]=n[u]):s[u]=n[u];return b.call(this,t,s),n}return n&&"string"==typeof n&&n!==e.camelCase(n)&&(a=e.hasData(t)&&b.call(this,t))&&n in a?(o("jQuery.data() always sets/gets camelCased names: "+n),arguments.length>2&&(a[n]=r),a[n]):b.apply(this,arguments)};var x=e.Tween.prototype.run,w=function(e){return e};e.Tween.prototype.run=function(){e.easing[this.easing].length>1&&(o("'jQuery.easing."+this.easing.toString()+"' should use only one argument"),e.easing[this.easing]=w),x.apply(this,arguments)};var k=e.fx.interval||13,C="jQuery.fx.interval is deprecated";t.requestAnimationFrame&&Object.defineProperty(e.fx,"interval",{configurable:!0,enumerable:!0,get:function(){return t.document.hidden||o(C),k},set:function(e){o(C),k=e}});var j=e.fn.load,T=e.event.add,S=e.event.fix;e.event.props=[],e.event.fixHooks={},a(e.event.props,"concat",e.event.props.concat,"jQuery.event.props.concat() is deprecated and removed"),e.event.fix=function(t){var n,r=t.type,i=this.fixHooks[r],a=e.event.props;if(a.length)for(o("jQuery.event.props are deprecated and removed: "+a.join());a.length;)e.event.addProp(a.pop());if(i&&!i._migrated_&&(i._migrated_=!0,o("jQuery.event.fixHooks are deprecated and removed: "+r),(a=i.props)&&a.length))for(;a.length;)e.event.addProp(a.pop());return n=S.call(this,t),i&&i.filter?i.filter(n,t):n},e.event.add=function(e,n){return e===t&&"load"===n&&"complete"===t.document.readyState&&o("jQuery(window).on('load'...) called after load event occurred"),T.apply(this,arguments)},e.each(["load","unload","error"],(function(t,n){e.fn[n]=function(){var e=Array.prototype.slice.call(arguments,0);return"load"===n&&"string"==typeof e[0]?j.apply(this,e):(o("jQuery.fn."+n+"() is deprecated"),e.splice(0,0,n),arguments.length?this.on.apply(this,e):(this.triggerHandler.apply(this,e),this))}})),e.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),(function(t,n){e.fn[n]=function(e,t){return o("jQuery.fn."+n+"() event shorthand is deprecated"),arguments.length>0?this.on(n,null,e,t):this.trigger(n)}})),e((function(){e(t.document).triggerHandler("ready")})),e.event.special.ready={setup:function(){this===t.document&&o("'ready' event is deprecated")}},e.fn.extend({bind:function(e,t,n){return o("jQuery.fn.bind() is deprecated"),this.on(e,null,t,n)},unbind:function(e,t){return o("jQuery.fn.unbind() is deprecated"),this.off(e,null,t)},delegate:function(e,t,n,r){return o("jQuery.fn.delegate() is deprecated"),this.on(t,e,n,r)},undelegate:function(e,t,n){return o("jQuery.fn.undelegate() is deprecated"),1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return o("jQuery.fn.hover() is deprecated"),this.on("mouseenter",e).on("mouseleave",t||e)}});var A=e.fn.offset;e.fn.offset=function(){var n,r=this[0],i={top:0,left:0};return r&&r.nodeType?(n=(r.ownerDocument||t.document).documentElement,e.contains(n,r)?A.apply(this,arguments):(o("jQuery.fn.offset() requires an element connected to a document"),i)):(o("jQuery.fn.offset() requires a valid DOM element"),i)};var E=e.param;e.param=function(t,n){var r=e.ajaxSettings&&e.ajaxSettings.traditional;return void 0===n&&r&&(o("jQuery.param() no longer uses jQuery.ajaxSettings.traditional"),n=r),E.call(this,t,n)};var _=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return o("jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()"),_.apply(this,arguments)};var N=e.Deferred,q=[["resolve","done",e.Callbacks("once memory"),e.Callbacks("once memory"),"resolved"],["reject","fail",e.Callbacks("once memory"),e.Callbacks("once memory"),"rejected"],["notify","progress",e.Callbacks("memory"),e.Callbacks("memory")]];return e.Deferred=function(t){var n=N(),r=n.promise();return n.pipe=r.pipe=function(){var t=arguments;return o("deferred.pipe() is deprecated"),e.Deferred((function(o){e.each(q,(function(i,a){var s=e.isFunction(t[i])&&t[i];n[a[1]]((function(){var t=s&&s.apply(this,arguments);t&&e.isFunction(t.promise)?t.promise().done(o.resolve).fail(o.reject).progress(o.notify):o[a[0]+"With"](this===r?o.promise():this,s?[t]:arguments)}))})),t=null})).promise()},t&&t.call(n,n),n},e.Deferred.exceptionHook=N.exceptionHook,e}(e,window)}.apply(t,r))||(e.exports=o)},165:(e,t,n)=>{var r,o;r=[n(339)],void 0===(o=function(e){return function(e){function t(e){void 0===e&&(e=window.navigator.userAgent),e=e.toLowerCase();var t=/(edge)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(chrome)[ \/]([\w.]+)/.exec(e)||/(iemobile)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[],n=/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(silk)/.exec(e)||/(android)/.exec(e)||/(win)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||/(playbook)/.exec(e)||/(bb)/.exec(e)||/(blackberry)/.exec(e)||[],r={},o={browser:t[5]||t[3]||t[1]||"",version:t[2]||t[4]||"0",versionNumber:t[4]||t[2]||"0",platform:n[0]||""};if(o.browser&&(r[o.browser]=!0,r.version=o.version,r.versionNumber=parseInt(o.versionNumber,10)),o.platform&&(r[o.platform]=!0),(r.android||r.bb||r.blackberry||r.ipad||r.iphone||r.ipod||r.kindle||r.playbook||r.silk||r["windows phone"])&&(r.mobile=!0),(r.cros||r.mac||r.linux||r.win)&&(r.desktop=!0),(r.chrome||r.opr||r.safari)&&(r.webkit=!0),r.rv||r.iemobile){var i="msie";o.browser=i,r[i]=!0}if(r.edge){delete r.edge;var a="msedge";o.browser=a,r.msedge=!0}if(r.safari&&r.blackberry){var s="blackberry";o.browser=s,r.blackberry=!0}if(r.safari&&r.playbook){var u="playbook";o.browser=u,r.playbook=!0}if(r.bb){var c="blackberry";o.browser=c,r[c]=!0}if(r.opr){var l="opera";o.browser=l,r.opera=!0}if(r.safari&&r.android){var d="android";o.browser=d,r.android=!0}if(r.safari&&r.kindle){var f="kindle";o.browser=f,r.kindle=!0}if(r.safari&&r.silk){var p="silk";o.browser=p,r.silk=!0}return r.name=o.browser,r.platform=o.platform,r}return window.jQBrowser=t(window.navigator.userAgent),window.jQBrowser.uaMatch=t,e&&(e.browser=window.jQBrowser),window.jQBrowser}(e)}.apply(t,r))||(e.exports=o)}
vendor: 6,529 bytes, line 2
2,339:(e,t,n)=>{var r,o,i;function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}e=n.nmd(e),o="undefined"!=typeof window?window:void 0,i=function(n,o){var i=[],s=Object.getPrototypeOf,u=i.slice,c=i.flat?function(e){return i.flat.call(e)}:function(e){return i.concat.apply([],e)},l=i.push,d=i.indexOf,f={},p=f.toString,h=f.hasOwnProperty,v=h.toString,m=v.call(Object),y={},g=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},b=function(e){return null!=e&&e===e.window},x=n.document,w={type:!0,src:!0,nonce:!0,noModule:!0};function k(e,t,n){var r,o,i=(n=n||x).createElement("script");if(i.text=e,t)for(r in w)(o=t[r]||t.getAttribute&&t.getAttribute(r))&&i.setAttribute(r,o);n.head.appendChild(i).parentNode.removeChild(i)}function C(e){return null==e?e+"":"object"===a(e)||"function"==typeof e?f[p.call(e)]||"object":a(e)}var j="3.5.1",T=function e(t,n){return new e.fn.init(t,n)};function S(e){var t=!!e&&"length"in e&&e.length,n=C(e);return!g(e)&&!b(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}T.fn=T.prototype={jquery:j,constructor:T,length:0,toArray:function(){return u.call(this)},get:function(e){return null==e?u.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=T.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return T.each(this,e)},map:function(e){return this.pushStack(T.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(u.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(T.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(T.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:l,sort:i.sort,splice:i.splice},T.extend=T.fn.extend=function(){var e,t,n,r,o,i,s=arguments[0]||{},u=1,c=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[u]||{},u++),"object"===a(s)||g(s)||(s={}),u===c&&(s=this,u--);u<c;u++)if(null!=(e=arguments[u]))for(t in e)r=e[t],"__proto__"!==t&&s!==r&&(l&&r&&(T.isPlainObject(r)||(o=Array.isArray(r)))?(n=s[t],i=o&&!Array.isArray(n)?[]:o||T.isPlainObject(n)?n:{},o=!1,s[t]=T.extend(l,i,r)):void 0!==r&&(s[t]=r));return s},T.extend({expando:"jQuery"+(j+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==p.call(e)||(t=s(e))&&("function"!=typeof(n=h.call(t,"constructor")&&t.constructor)||v.call(n)!==m))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){k(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(S(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(S(Object(e))?T.merge(n,"string"==typeof e?[e]:e):l.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:d.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,o=e.length;r<n;r++)e[o++]=t[r];return e.length=o,e},grep:function(e,t,n){for(var r=[],o=0,i=e.length,a=!n;o<i;o++)!t(e[o],o)!==a&&r.push(e[o]);return r},map:function(e,t,n){var r,o,i=0,a=[];if(S(e))for(r=e.length;i<r;i++)null!=(o=t(e[i],i,n))&&a.push(o);else for(i in e)null!=(o=t(e[i],i,n))&&a.push(o);return c(a)},guid:1,support:y}),"function"==typeof Symbol&&(T.fn[Symbol.iterator]=i[Symbol.iterator]),T.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),(function(e,t){f["[object "+t+"]"]=t.toLowerCase()}));var A=function(e){var t,n,r,o,i,a,s,u,c,l,d,f,p,h,v,m,y,g,b,x="sizzle"+1*new Date,w=e.document,k=0,C=0,j=ue(),T=ue(),S=ue(),A=ue(),E=function(e,t){return e===t&&(d=!0),0},_={}.hasOwnProperty,N=[],q=N.pop,D=N.push,L=N.push,O=N.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},M="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",H="[\\x20\\t\\r\\n\\f]",R="(?:\\\\[\\da-fA-F]{1,6}[\\x20\\t\\r\\n\\f]?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",I="\\[[\\x20\\t\\r\\n\\f]*("+R+")(?:"+H+"*([*^$|!~]?=)"+H+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+H+"*\\]",W=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+I+")*)|.*)\\)|)",F=new RegExp(H+"+","g"),$=new RegExp("^[\\x20\\t\\r\\n\\f]+|((?:^|[^\\\\])(?:\\\\.)*)[\\x20\\t\\r\\n\\f]+$","g"),Q=new RegExp("^[\\x20\\t\\r\\n\\f]*,[\\x20\\t\\r\\n\\f]*"),B=new RegExp("^[\\x20\\t\\r\\n\\f]*([>+~]|[\\x20\\t\\r\\n\\f])[\\x20\\t\\r\\n\\f]*"),z=new RegExp(H+"|>"),U=new RegExp(W),X=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\([\\x20\\t\\r\\n\\f]*(even|odd|(([+-]|)(\\d*)n|)[\\x20\\t\\r\\n\\f]*(?:([+-]|)[\\x20\\t\\r\\n\\f]*(\\d+)|))[\\x20\\t\\r\\n\\f]*\\)|)","i"),bool:new RegExp("^(?:"+M+")$","i"),needsContext:new RegExp("^[\\x20\\t\\r\\n\\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\([\\x20\\t\\r\\n\\f]*((?:-\\d)?\\d*)[\\x20\\t\\r\\n\\f]*\\)|)(?=[^-]|$)","i")},G=/HTML$/i,J=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}[\\x20\\t\\r\\n\\f]?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,oe=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ie=function(){f()},ae=xe((function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{L.apply(N=O.call(w.childNodes),w.childNodes),N[w.childNodes.length].nodeType}catch(e){L={apply:N.length?function(e,t){D.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,o){var i,s,c,l,d,h,y,g=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;
vendor: 7,572 bytes, line 2
2if(!o&&(f(t),t=t||p,v)){if(11!==w&&(d=Z.exec(e)))if(i=d[1]){if(9===w){if(!(c=t.getElementById(i)))return r;if(c.id===i)return r.push(c),r}else if(g&&(c=g.getElementById(i))&&b(t,c)&&c.id===i)return r.push(c),r}else{if(d[2])return L.apply(r,t.getElementsByTagName(e)),r;if((i=d[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(i)),r}if(n.qsa&&!A[e+" "]&&(!m||!m.test(e))&&(1!==w||"object"!==t.nodeName.toLowerCase())){if(y=e,g=t,1===w&&(z.test(e)||B.test(e))){for((g=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((l=t.getAttribute("id"))?l=l.replace(re,oe):t.setAttribute("id",l=x)),s=(h=a(e)).length;s--;)h[s]=(l?"#"+l:":scope")+" "+be(h[s]);y=h.join(",")}try{return L.apply(r,g.querySelectorAll(y)),r}catch(t){A(e,!0)}finally{l===x&&t.removeAttribute("id")}}}return u(e.replace($,"$1"),t,r,o)}function ue(){var e=[];return function t(n,o){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=o}}function ce(e){return e[x]=!0,e}function le(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function de(e,t){for(var n=e.split("|"),o=n.length;o--;)r.attrHandle[n[o]]=t}function fe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function pe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ve(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function me(e){return ce((function(t){return t=+t,ce((function(n,r){for(var o,i=e([],n.length,t),a=i.length;a--;)n[o=i[a]]&&(n[o]=!(r[o]=n[o]))}))}))}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!G.test(t||n&&n.nodeName||"HTML")},f=se.setDocument=function(e){var t,o,a=e?e.ownerDocument||e:w;return a!=p&&9===a.nodeType&&a.documentElement?(h=(p=a).documentElement,v=!i(p),w!=p&&(o=p.defaultView)&&o.top!==o&&(o.addEventListener?o.addEventListener("unload",ie,!1):o.attachEvent&&o.attachEvent("onunload",ie)),n.scope=le((function(e){return h.appendChild(e).appendChild(p.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length})),n.attributes=le((function(e){return e.className="i",!e.getAttribute("className")})),n.getElementsByTagName=le((function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length})),n.getElementsByClassName=K.test(p.getElementsByClassName),n.getById=le((function(e){return h.appendChild(e).id=x,!p.getElementsByName||!p.getElementsByName(x).length})),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&v){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&v){var n,r,o,i=t.getElementById(e);if(i){if((n=i.getAttributeNode("id"))&&n.value===e)return[i];for(o=t.getElementsByName(e),r=0;i=o[r++];)if((n=i.getAttributeNode("id"))&&n.value===e)return[i]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&v)return t.getElementsByClassName(e)},y=[],m=[],(n.qsa=K.test(p.querySelectorAll))&&(le((function(e){var t;h.appendChild(e).innerHTML="<a id='"+x+"'></a><select id='"+x+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]=[\\x20\\t\\r\\n\\f]*(?:''|\"\")"),e.querySelectorAll("[selected]").length||m.push("\\[[\\x20\\t\\r\\n\\f]*(?:value|"+M+")"),e.querySelectorAll("[id~="+x+"-]").length||m.push("~="),(t=p.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||m.push("\\[[\\x20\\t\\r\\n\\f]*name[\\x20\\t\\r\\n\\f]*=[\\x20\\t\\r\\n\\f]*(?:''|\"\")"),e.querySelectorAll(":checked").length||m.push(":checked"),e.querySelectorAll("a#"+x+"+*").length||m.push(".#.+[+~]"),e.querySelectorAll("\\\f"),m.push("[\\r\\n\\f]")})),le((function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&m.push("name[\\x20\\t\\r\\n\\f]*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&m.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&m.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),m.push(",.*:")}))),(n.matchesSelector=K.test(g=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&le((function(e){n.disconnectedMatch=g.call(e,"*"),g.call(e,"[s!='']:x"),y.push("!=",W)})),m=m.length&&new RegExp(m.join("|")),y=y.length&&new RegExp(y.join("|")),t=K.test(h.compareDocumentPosition),b=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},E=t?function(e,t){if(e===t)return d=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==p||e.ownerDocument==w&&b(w,e)?-1:t==p||t.ownerDocument==w&&b(w,t)?1:l?P(l,e)-P(l,t):0:4&r?-1:1)}:function(e,t){if(e===t)return d=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,a=[e],s=[t];if(!o||!i)return e==p?-1:t==p?1:o?-1:i?1:l?P(l,e)-P(l,t):0;if(o===i)return fe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?fe(a[r],s[r]):a[r]==w?-1:s[r]==w?1:0},p):p},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(f(e),n.matchesSelector&&v&&!A[t+" "]&&(!y||!y.test(t))&&(!m||!m.test(t)))try{var r=g.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,p,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=p&&f(e),b(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=p&&f(e);var o=r.attrHandle[t.toLowerCase()],i=o&&_.call(r.attrHandle,t.toLowerCase())?o(e,t,!v):void 0;return void 0!==i?i:n.attributes||!v?e.getAttribute(t):(i=e.getAttributeNode(t))&&i.specified?i.value:null},se.escape=function(e){return(e+"").replace(re,oe)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],o=0,i=0;if(d=!n.detectDuplicates,l=!n.sortStable&&e.slice(0),e.sort(E),d){for(;t=e[i++];)t===e[i]&&(o=r.push(i));for(;o--;
vendor: 10,446 bytes, line 2
2)e.splice(r[o],1)}return l=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(r=se.selectors={cacheLength:50,createPseudo:ce,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&U.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=j[e+" "];return t||(t=new RegExp("(^|[\\x20\\t\\r\\n\\f])"+e+"("+H+"|$)"))&&j(e,(function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,n){return function(r){var o=se.attr(r,e);return null==o?"!="===t:!t||(o+="","="===t?o===n:"!="===t?o!==n:"^="===t?n&&0===o.indexOf(n):"*="===t?n&&o.indexOf(n)>-1:"$="===t?n&&o.slice(-n.length)===n:"~="===t?(" "+o.replace(F," ")+" ").indexOf(n)>-1:"|="===t&&(o===n||o.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var c,l,d,f,p,h,v=i!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),g=!u&&!s,b=!1;if(m){if(i){for(;v;){for(f=t;f=f[v];)if(s?f.nodeName.toLowerCase()===y:1===f.nodeType)return!1;h=v="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&g){for(b=(p=(c=(l=(d=(f=m)[x]||(f[x]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]||[])[0]===k&&c[1])&&c[2],f=p&&m.childNodes[p];f=++p&&f&&f[v]||(b=p=0)||h.pop();)if(1===f.nodeType&&++b&&f===t){l[e]=[k,p,b];break}}else if(g&&(b=p=(c=(l=(d=(f=t)[x]||(f[x]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]||[])[0]===k&&c[1]),!1===b)for(;(f=++p&&f&&f[v]||(b=p=0)||h.pop())&&((s?f.nodeName.toLowerCase()!==y:1!==f.nodeType)||!++b||(g&&((l=(d=f[x]||(f[x]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]=[k,b]),f!==t)););return(b-=o)===r||b%r==0&&b/r>=0}}},PSEUDO:function(e,t){var n,o=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return o[x]?o(t):o.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ce((function(e,n){for(var r,i=o(e,t),a=i.length;a--;)e[r=P(e,i[a])]=!(n[r]=i[a])})):function(e){return o(e,0,n)}):o}},pseudos:{not:ce((function(e){var t=[],n=[],r=s(e.replace($,"$1"));return r[x]?ce((function(e,t,n,o){for(var i,a=r(e,null,o,[]),s=e.length;s--;)(i=a[s])&&(e[s]=!(t[s]=i))})):function(e,o,i){return t[0]=e,r(t,null,i,n),t[0]=null,!n.pop()}})),has:ce((function(e){return function(t){return se(e,t).length>0}})),contains:ce((function(e){return e=e.replace(te,ne),function(t){return(t.textContent||o(t)).indexOf(e)>-1}})),lang:ce((function(e){return X.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=v?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ve(!1),disabled:ve(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return J.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:me((function(){return[0]})),last:me((function(e,t){return[t-1]})),eq:me((function(e,t,n){return[n<0?n+t:n]})),even:me((function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e})),odd:me((function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e})),lt:me((function(e,t,n){for(var r=n<0?n+t:n>t?t:n;--r>=0;)e.push(r);return e})),gt:me((function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e}))}}).pseudos.nth=r.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=pe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=he(t);function ge(){}function be(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function xe(e,t,n){var r=t.dir,o=t.next,i=o||r,a=n&&"parentNode"===i,s=C++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,o);return!1}:function(t,n,u){var c,l,d,f=[k,s];if(u){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(l=(d=t[x]||(t[x]={}))[t.uniqueID]||(d[t.uniqueID]={}),o&&o===t.nodeName.toLowerCase())t=t[r]||t;else{if((c=l[i])&&c[0]===k&&c[1]===s)return f[2]=c[2];if(l[i]=f,f[2]=e(t,n,u))return!0}return!1}}function we(e){return e.length>1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function ke(e,t,n,r,o){for(var i,a=[],s=0,u=e.length,c=null!=t;s<u;s++)(i=e[s])&&(n&&!n(i,r,o)||(a.push(i),c&&t.push(s)));return a}function Ce(e,t,n,r,o,i){return r&&!r[x]&&(r=Ce(r)),o&&!o[x]&&(o=Ce(o,i)),ce((function(i,a,s,u){var c,l,d,f=[],p=[],h=a.length,v=i||function(e,t,n){for(var r=0,o=t.length;r<o;r++)se(e,t[r],n);return n}(t||"*",s.nodeType?[s]:s,[]),m=!e||!i&&t?v:ke(v,f,e,s,u),y=n?o||(i?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r)for(c=ke(y,p),r(c,[],s,u),l=c.length;l--;)(d=c[l])&&(y[p[l]]=!(m[p[l]]=d));if(i){if(o||e){if(o){for(c=[],l=y.length;l--;)(d=y[l])&&c.push(m[l]=d);o(null,y=[],c,u)}for(l=y.length;l--;)(d=y[l])&&(c=o?P(i,d):f[l])>-1&&(i[c]=!(a[c]=d))}}else y=ke(y===a?y.splice(h,y.length):y),o?o(null,a,y,u):L.apply(a,y)}))}function je(e){for(var t,n,o,i=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,l=xe((function(e){return e===t}),s,!0),d=xe((function(e){return P(t,e)>-1}),s,!0),f=[function(e,n,r){var o=!a&&(r||n!==c)||((t=n).nodeType?l(e,n,r):d(e,n,r));return t=null,o}];u<i;u++)if(n=r.relative[e[u].type])f=[xe(we(f),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[x]){for(o=++u;o<i&&!r.relative[e[o].type];o++);return Ce(u>1&&we(f),u>1&&be(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace($,"$1"),n,u<o&&je(e.slice(u,o)),o<i&&je(e=e.slice(o)),o<i&&be(e))}f.push(n)}return we(f)}return ge.prototype=r.filters=r.pseudos,r.setFilters=new ge,a=se.tokenize=function(e,t){var n,o,i,a,s,u,c,l=T[e+" "];if(l)return t?0:l.slice(0);for(s=e,u=[],c=r.preFilter;s;){for(a in n&&!(o=Q.exec(s))||(o&&(s=s.slice(o[0].length)||s),u.push(i=[])),n=!1,(o=B.exec(s))&&(n=o.shift(),i.push({value:n,type:o[0].replace($," ")}),s=s.slice(n.length)),r.filter)!(o=V[a].exec(s))||c[a]&&!(o=c[a](o))||(n=o.shift(),i.push({value:n,type:a,matches:o}),s=s.slice(n.length));if(!n)break}return t?s.length:s?se.error(e):T(e,u).slice(0)},s=se.compile=function(e,t){var n,o=[],i=[],s=S[e+" "];if(!s){for(t||(t=a(e)),n=t.length;n--;)(s=je(t[n]))[x]?o.push(s):i.push(s);(s=S(e,function(e,t){var n=t.length>0,o=e.length>0,i=function(i,a,s,u,l){var d,h,m,y=0,g="0",b=i&&[],x=[],w=c,C=i||o&&r.find.TAG("*",l),j=k+=null==w?1:Math.random()||.1,T=C.length;for(l&&(c=a==p||a||l);g!==T&&null!=(d=C[g]);g++){if(o&&d){for(h=0,a||d.ownerDocument==p||(f(d),s=!v);m=e[h++];)if(m(d,a||p,s)){u.push(d);break}l&&(k=j)}n&&((d=!m&&d)&&y--,i&&b.push(d))}if(y+=g,n&&g!==y){for(h=0;m=t[h++];)m(b,x,a,s);if(i){if(y>0)for(;g--;)b[g]||x[g]||(x[g]=q.call(u));x=ke(x)}L.apply(u,x),l&&!i&&x.length>0&&y+t.length>1&&se.uniqueSort(u)}return l&&(k=j,c=w),b};return n?ce(i):i}(i,o))).selector=e}return s},u=se.select=function(e,t,n,o){var i,u,c,l,d,f="function"==typeof e&&e,p=!o&&a(e=f.selector||e);if(n=n||[],1===p.length){if((u=p[0]=p[0].slice(0)).length>2&&"ID"===(c=u[0]).type&&9===t.nodeType&&v&&r.relative[u[1].type]){if(!(t=(r.find.ID(c.matches[0].replace(te,ne),t)||[])[0]))return n;f&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(i=V.needsContext.test(e)?0:u.length;i--&&(c=u[i],!r.relative[l=c.type]);)if((d=r.find[l])&&(o=d(c.matches[0].replace(te,ne),ee.test(u[0].type)&&ye(t.parentNode)||t))){if(u.splice(i,1),!(e=o.length&&be(u)))return L.apply(n,o),n;break}}return(f||s(e,p))(o,t,!v,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=x.split("").sort(E).join("")===x,n.detectDuplicates=!!d,f(),n.sortDetached=le((function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))})),le((function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")}))||de("type|href|height|width",(function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)})),n.attributes&&le((function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}))||de("value",(function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue})),le((function(e){return null==e.getAttribute("disabled")}))||de(M,(function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null})),se}(n);T.find=A,(T.expr=A.selectors)[":"]=T.expr.pseudos,T.uniqueSort=T.unique=A.uniqueSort,T.text=A.getText,T.isXMLDoc=A.isXML,T.contains=A.contains,T.escapeSelector=A.escape;var E=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&T(e).is(n))break;r.push(e)}return r},_=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=T.expr.match.needsContext;
vendor: 5,861 bytes, line 2
2function q(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function L(e,t,n){return g(t)?T.grep(e,(function(e,r){return!!t.call(e,r,e)!==n})):t.nodeType?T.grep(e,(function(e){return e===t!==n})):"string"!=typeof t?T.grep(e,(function(e){return d.call(t,e)>-1!==n})):T.filter(t,e,n)}T.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?T.find.matchesSelector(r,e)?[r]:[]:T.find.matches(e,T.grep(t,(function(e){return 1===e.nodeType})))},T.fn.extend({find:function(e){var t,n,r=this.length,o=this;if("string"!=typeof e)return this.pushStack(T(e).filter((function(){for(t=0;t<r;t++)if(T.contains(o[t],this))return!0})));for(n=this.pushStack([]),t=0;t<r;t++)T.find(e,o[t],n);return r>1?T.uniqueSort(n):n},filter:function(e){return this.pushStack(L(this,e||[],!1))},not:function(e){return this.pushStack(L(this,e||[],!0))},is:function(e){return!!L(this,"string"==typeof e&&N.test(e)?T(e):e||[],!1).length}});var O,P=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(T.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||O,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:P.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof T?t[0]:t,T.merge(this,T.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:x,!0)),D.test(r[1])&&T.isPlainObject(t))for(r in t)g(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(o=x.getElementById(r[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(T):T.makeArray(e,this)}).prototype=T.fn,O=T(x);var M=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function R(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}T.fn.extend({has:function(e){var t=T(e,this),n=t.length;return this.filter((function(){for(var e=0;e<n;e++)if(T.contains(this,t[e]))return!0}))},closest:function(e,t){var n,r=0,o=this.length,i=[],a="string"!=typeof e&&T(e);if(!N.test(e))for(;r<o;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&T.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?T.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?d.call(T(e),this[0]):d.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(T.uniqueSort(T.merge(this.get(),T(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),T.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return E(e,"parentNode")},parentsUntil:function(e,t,n){return E(e,"parentNode",n)},next:function(e){return R(e,"nextSibling")},prev:function(e){return R(e,"previousSibling")},nextAll:function(e){return E(e,"nextSibling")},prevAll:function(e){return E(e,"previousSibling")},nextUntil:function(e,t,n){return E(e,"nextSibling",n)},prevUntil:function(e,t,n){return E(e,"previousSibling",n)},siblings:function(e){return _((e.parentNode||{}).firstChild,e)},children:function(e){return _(e.firstChild)},contents:function(e){return null!=e.contentDocument&&s(e.contentDocument)?e.contentDocument:(q(e,"template")&&(e=e.content||e),T.merge([],e.childNodes))}},(function(e,t){T.fn[e]=function(n,r){var o=T.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=T.filter(r,o)),this.length>1&&(H[e]||T.uniqueSort(o),M.test(e)&&o.reverse()),this.pushStack(o)}}));var I=/[^\x20\t\r\n\f]+/g;function W(e){return e}function F(e){throw e}function $(e,t,n,r){var o;try{e&&g(o=e.promise)?o.call(e).done(t).fail(n):e&&g(o=e.then)?o.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}T.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return T.each(e.match(I)||[],(function(e,n){t[n]=!0})),t}(e):T.extend({},e);var t,n,r,o,i=[],a=[],s=-1,u=function(){for(o=o||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s<i.length;)!1===i[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=i.length,n=!1);e.memory||(n=!1),t=!1,o&&(i=n?[]:"")},c={add:function(){return i&&(n&&!t&&(s=i.length-1,a.push(n)),function t(n){T.each(n,(function(n,r){g(r)?e.unique&&c.has(r)||i.push(r):r&&r.length&&"string"!==C(r)&&t(r)}))}(arguments),n&&!t&&u()),this},remove:function(){return T.each(arguments,(function(e,t){for(var n;(n=T.inArray(t,i,n))>-1;)i.splice(n,1),n<=s&&s--})),this},has:function(e){return e?T.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=a=[],i=n="",this},disabled:function(){return!i},lock:function(){return o=a=[],n||t||(i=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},T.extend({Deferred:function(e){var t=[["notify","progress",T.Callbacks("memory"),T.Callbacks("memory"),2],["resolve","done",T.Callbacks("once memory"),T.Callbacks("once memory"),0,"resolved"],["reject","fail",T.Callbacks("once memory"),T.Callbacks("once memory"),1,"rejected"]],r="pending",o={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return T.Deferred((function(n){T.each(t,(function(t,r){var o=g(e[r[4]])&&e[r[4]];i[r[1]]((function(){var e=o&&o.apply(this,arguments);e&&g(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,o?[e]:arguments)}))})),e=null})).promise()},then:function(e,r,o){var i=0;function s(e,t,r,o){return function(){var u=this,c=arguments,l=function(){var n,l;if(!(e<i)){if((n=r.apply(u,c))===t.promise())throw new TypeError("Thenable self
2-resolution");l=n&&("object"===a(n)||"function"==typeof n)&&n.then,g(l)?o?l.call(n,s(i,t,W,o),s(i,t,F,o)):(i++,l.call(n,s(i,t,W,o),s(i,t,F,o),s(i,t,W,t.notifyWith))):(r!==W&&(u=void 0,c=[n]),(o||t.resolveWith)(u,c))}},d=o?l:function(){try{l()}catch(n){T.Deferred.exceptionHook&&T.Deferred.exceptionHook(n,d.stackTrace),e+1>=i&&(r!==F&&(u=void 0,c=[n]),t.rejectWith(u,c))}};e?d():(T.Deferred.getStackHook&&(d.stackTrace=T.Deferred.getStackHook()),n.setTimeout(d))}}return T.Deferred((function(n){t[0][3].add(s(0,n,g(o)?o:W,n.notifyWith)),t[1][3].add(s(0,n,g(e)?e:W)),t[2][3].add(s(0,n,g(r)?r:F))})).promise()},promise:function(e){return null!=e?T.extend(e,o):o}},i={};return T.each(t,(function(e,n){var a=n[2],s=n[5];o[n[1]]=a.add,s&&a.add((function(){r=s}),t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),a.add(n[3].fire),i[n[0]]=function(){return i[n[0]+"With"](this===i?void 0:this,arguments),this},i[n[0]+"With"]=a.fireWith})),o.promise(i),e&&e.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),o=u.call(arguments),i=T.Deferred(),a=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?u.call(arguments):n,--t||i.resolveWith(r,o)}};if(t<=1&&($(e,i.done(a(n)).resolve,i.reject,!t),"pending"===i.state()||g(o[n]&&o[n].then)))return i.then();for(;n--;)$(o[n],a(n),i.reject);return i.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;T.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&Q.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},T.readyException=function(e){n.setTimeout((function(){throw e}))};var B=T.Deferred();function z(){x.removeEventListener("DOMContentLoaded",z),n.removeEventListener("load",z),T.ready()}T.fn.ready=function(e){return B.then(e).catch((function(e){T.readyException(e)})),this},T.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--T.readyWait:T.isReady)||(T.isReady=!0,!0!==e&&--T.readyWait>0||B.resolveWith(x,[T]))}}),T.ready.then=B.then,"complete"===x.readyState||"loading"!==x.readyState&&!x.documentElement.doScroll?n.setTimeout(T.ready):(x.addEventListener("DOMContentLoaded",z),n.addEventListener("load",z));var U=function e(t,n,r,o,i,a,s){var u=0,c=t.length,l=null==r;if("object"===C(r))for(u in i=!0,r)e(t,n,u,r[u],!0,a,s);else if(void 0!==o&&(i=!0,g(o)||(s=!0),l&&(s?(n.call(t,o),n=null):(l=n,n=function(e,t,n){return l.call(T(e),n)})),n))for(;u<c;u++)n(t[u],r,s?o:o.call(t[u],u,n(t[u],r)));return i?t:l?n.call(t):c?n(t[0],r):a},X=/^-ms-/,V=/-([a-z])/g;function G(e,t){return t.toUpperCase()}function J(e){return e.replace(X,"ms-").replace(V,G)}var Y=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function K(){this.expando=T.expando+K.uid++}K.uid=1,K.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Y(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,o=this.cache(e);if("string"==typeof t)o[J(t)]=n;else for(r in t)o[J(r)]=t[r];return o},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][J(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(J):(t=J(t))in r?[t]:t.match(I)||[]).length;for(;n--;)delete r[t[n]]}(void 0===t||T.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!T.isEmptyObject(t)}};var Z=new K,ee=new K,te=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ne=/[A-Z]/g;function re(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ne,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=function(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:te.test(e)?JSON.parse(e):e)}(n)}catch(e){}ee.set(e,t,n)}else n=void 0;return n}T.extend({hasData:function(e){return ee.hasData(e)||Z.hasData(e)},data:function(e,t,n){return ee.access(e,t,n)},removeData:function(e,t){ee.remove(e,t)},_data:function(e,t,n){return Z.access(e,t,n)},_removeData:function(e,t){Z.remove(e,t)}}),T.fn.extend({data:function(e,t){var n,r,o,i=this[0],s=i&&i.attributes;if(void 0===e){if(this.length&&(o=ee.get(i),1===i.nodeType&&!Z.get(i,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&0===(r=s[n].name).indexOf("data-")&&(r=J(r.slice(5)),re(i,r,o[r]));Z.set(i,"hasDataAttrs",!0)}return o}return"object"===a(e)?this.each((function(){ee.set(this,e)})):U(this,(function(t){var n;if(i&&void 0===t)return void 0!==(n=ee.get(i,e))||void 0!==(n=re(i,e))?n:void 0;this.each((function(){ee.set(this,e,t)}))}),null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each((function(){ee.remove(this,e)}))}}),T.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Z.get(e,t),n&&(!r||Array.isArray(n)?r=Z.access(e,t,T.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){var n=T.queue(e,t=t||"fx"),r=n.length,o=n.shift(),i=T._queueHooks(e,t);"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,(function(){T.dequeue(e,t)}),i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Z.get(e,n)||Z.access(e,n,{empty:T.Callbacks("once memory").add((function(){Z.remove(e,[t+"queue",n])}))})}}),T.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?T.queue(this[0],e):void 0===t?this:this.each((function(){var n=T.queue(this,e,t);T._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&T.dequeue(this,e)}))},dequeue:function(e){return this.each((function(){T.dequeue(this,e)}))},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,o=T.Deferred(),i=this,a=this.length,s=function(){--r||o.resolveWith(i,[i])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=Z.get(i[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),o.promise(t)}});var oe=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+oe+")([a-z%]*)$","i"),ae=["Top","Right","Bottom","Left"],se=x.documentElement,ue=function(e){return T.contains(e.ownerDocument,e)},ce={composed:!0};se.getRootNode&&(ue=function(e){return T.contains(e.ownerDocument,e)||e.getRootNode(ce)===e.ownerDocument});var le=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ue(e)&&"none"===T.css(e,"display")};function de(e,t,n,r){var o,i,a=20,s=r?function(){return r.cur()}:function(){return T.css(e,t,"")},u=s(),c=n&&n[3]||(T.cssNumber[t]?"":"px"),l=e.nodeType&&(T.cssNumber[t]||"px"!==c&&+u)&&ie.exec(T.css(e,t));if(l&&l[3]!==c){for(u/=2,c=c||l[3],l=+u||1;a--;)T.style(e,t,l+c),(1-i)*(1-(i=s()/u||.5))<=0&&(a=0),l/=i;T.style(e,t,(l*=2)+c),n=n||[]}return n&&(l=+l||+u||0,o=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=o)),o}var fe={};function pe(e){var t,n=e.ownerDocument,r=e.nodeName,o=fe[r];return o||(t=n.body.appendChild(n.createElement(r)),o=T.css(t,"display"),t.parentNode.removeChild(t),"none"===o&&(o="block"),fe[r]=o,o)}function he(e,t){for(var n,r,o=[],i=0,a=e.length;i<a;i++)(r=e[i]).style&&(n=r.style.display,t?("none"===n&&(o[i]=Z.get(r,"display")||null,o[i]||(r.style.display="")),""===r.style.display&&le(r)&&(o[i]=pe(r))):"none"!==n&&(o[i]="none",Z.set(r,"display",n)));for(i=0;i<a;i++)null!=o[i]&&(e[i].style.display=o[i]);return e}T.fn.extend({show:function(){return he(this,!0)},hide:function(){return he(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each((function(){le(this)?T(this).show():T(this).hide()}))}});var ve,me,ye=/^(?:checkbox|radio)$/i,ge=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,be=/^$|^module$|\/(?:java|ecma)script/i;ve=x.createDocumentFragment().appendChild(x.createElement("div")),(me=x.createElement("input")).setAttribute("type","radio"),me.setAttribute("checked","checked"),me.setAttribute("name","t"),ve.appendChild(me),y.checkClone
vendor: 5,899 bytes, line 2
2=ve.cloneNode(!0).cloneNode(!0).lastChild.checked,ve.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ve.cloneNode(!0).lastChild.defaultValue,ve.innerHTML="<option></option>",y.option=!!ve.lastChild;var xe={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function we(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&q(e,t)?T.merge([e],n):n}function ke(e,t){for(var n=0,r=e.length;n<r;n++)Z.set(e[n],"globalEval",!t||Z.get(t[n],"globalEval"))}xe.tbody=xe.tfoot=xe.colgroup=xe.caption=xe.thead,xe.th=xe.td,y.option||(xe.optgroup=xe.option=[1,"<select multiple='multiple'>","</select>"]);var Ce=/<|&#?\w+;/;function je(e,t,n,r,o){for(var i,a,s,u,c,l,d=t.createDocumentFragment(),f=[],p=0,h=e.length;p<h;p++)if((i=e[p])||0===i)if("object"===C(i))T.merge(f,i.nodeType?[i]:i);else if(Ce.test(i)){for(a=a||d.appendChild(t.createElement("div")),s=(ge.exec(i)||["",""])[1].toLowerCase(),u=xe[s]||xe._default,a.innerHTML=u[1]+T.htmlPrefilter(i)+u[2],l=u[0];l--;)a=a.lastChild;T.merge(f,a.childNodes),(a=d.firstChild).textContent=""}else f.push(t.createTextNode(i));for(d.textContent="",p=0;i=f[p++];)if(r&&T.inArray(i,r)>-1)o&&o.push(i);else if(c=ue(i),a=we(d.appendChild(i),"script"),c&&ke(a),n)for(l=0;i=a[l++];)be.test(i.type||"")&&n.push(i);return d}var Te=/^key/,Se=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ae=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function _e(){return!1}function Ne(e,t){return e===function(){try{return x.activeElement}catch(e){}}()==("focus"===t)}function qe(e,t,n,r,o,i){var s,u;if("object"===a(t)){for(u in"string"!=typeof n&&(r=r||n,n=void 0),t)qe(e,u,n,r,t[u],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),!1===o)o=_e;else if(!o)return e;return 1===i&&(s=o,(o=function(e){return T().off(e),s.apply(this,arguments)}).guid=s.guid||(s.guid=T.guid++)),e.each((function(){T.event.add(this,t,o,r,n)}))}function De(e,t,n){n?(Z.set(e,t,!1),T.event.add(e,t,{namespace:!1,handler:function(e){var r,o,i=Z.get(this,t);if(1&e.isTrigger&&this[t]){if(i.length)(T.event.special[t]||{}).delegateType&&e.stopPropagation();else if(i=u.call(arguments),Z.set(this,t,i),r=n(this,t),this[t](),i!==(o=Z.get(this,t))||r?Z.set(this,t,!1):o={},i!==o)return e.stopImmediatePropagation(),e.preventDefault(),o.value}else i.length&&(Z.set(this,t,{value:T.event.trigger(T.extend(i[0],T.Event.prototype),i.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Z.get(e,t)&&T.event.add(e,t,Ee)}T.event={global:{},add:function(e,t,n,r,o){var i,a,s,u,c,l,d,f,p,h,v,m=Z.get(e);if(Y(e))for(n.handler&&(n=(i=n).handler,o=i.selector),o&&T.find.matchesSelector(se,o),n.guid||(n.guid=T.guid++),(u=m.events)||(u=m.events=Object.create(null)),(a=m.handle)||(a=m.handle=function(t){return T.event.triggered!==t.type?T.event.dispatch.apply(e,arguments):void 0}),c=(t=(t||"").match(I)||[""]).length;c--;)p=v=(s=Ae.exec(t[c])||[])[1],h=(s[2]||"").split(".").sort(),p&&(d=T.event.special[p]||{},p=(o?d.delegateType:d.bindType)||p,d=T.event.special[p]||{},l=T.extend({type:p,origType:v,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&T.expr.match.needsContext.test(o),namespace:h.join(".")},i),(f=u[p])||((f=u[p]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(p,a)),d.add&&(d.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),o?f.splice(f.delegateCount++,0,l):f.push(l),T.event.global[p]=!0)},remove:function(e,t,n,r,o){var i,a,s,u,c,l,d,f,p,h,v,m=Z.hasData(e)&&Z.get(e);if(m&&(u=m.events)){for(c=(t=(t||"").match(I)||[""]).length;c--;)if(p=v=(s=Ae.exec(t[c])||[])[1],h=(s[2]||"").split(".").sort(),p){for(d=T.event.special[p]||{},f=u[p=(r?d.delegateType:d.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=i=f.length;i--;)l=f[i],!o&&v!==l.origType||n&&n.guid!==l.guid||s&&!s.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(f.splice(i,1),l.selector&&f.delegateCount--,d.remove&&d.remove.call(e,l));a&&!f.length&&(d.teardown&&!1!==d.teardown.call(e,h,m.handle)||T.removeEvent(e,p,m.handle),delete u[p])}else for(p in u)T.event.remove(e,p+t[c],n,r,!0);T.isEmptyObject(u)&&Z.remove(e,"handle events")}},dispatch:function(e){var t,n,r,o,i,a,s=new Array(arguments.length),u=T.event.fix(e),c=(Z.get(this,"events")||Object.create(null))[u.type]||[],l=T.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!l.preDispatch||!1!==l.preDispatch.call(this,u)){for(a=T.event.handlers.call(this,u,c),t=0;(o=a[t++])&&!u.isPropagationStopped();)for(u.currentTarget=o.elem,n=0;(i=o.handlers[n++])&&!u.isImmediatePropagationStopped();)u.rnamespace&&!1!==i.namespace&&!u.rnamespace.test(i.namespace)||(u.handleObj=i,u.data=i.data,void 0!==(r=((T.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,o,i,a,s=[],u=t.delegateCount,c=e.target;if(u&&c.nodeType&&!("click"===e.type&&e.button>=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||!0!==c.disabled)){for(i=[],a={},n=0;n<u;n++)void 0===a[o=(r=t[n]).selector+" "]&&(a[o]=r.needsContext?T(o,this).index(c)>-1:T.find(o,this,null,[c]).length),a[o]&&i.push(r);i.length&&s.push({elem:c,handlers:i})}return c=this,u<t.length&&s.push({elem:c,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(T.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]}
vendor: 2,425 bytes, line 2
2,set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[T.expando]?e:new T.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return ye.test(t.type)&&t.click&&q(t,"input")&&De(t,"click",Ee),!1},trigger:function(e){var t=this||e;return ye.test(t.type)&&t.click&&q(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return ye.test(t.type)&&t.click&&q(t,"input")&&Z.get(t,"click")||q(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},T.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},(T.Event=function(e,t){if(!(this instanceof T.Event))return new T.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:_e,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&T.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[T.expando]=!0}).prototype={constructor:T.Event,isDefaultPrevented:_e,isPropagationStopped:_e,isImmediatePropagationStopped:_e,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},T.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Se.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},T.event.addProp),T.each({focus:"focusin",blur:"focusout"},(function(e,t){T.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}
vendor: 3,036 bytes, line 2
2)),T.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},(function(e,t){T.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,o=e.relatedTarget,i=e.handleObj;return o&&(o===r||T.contains(r,o))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}})),T.fn.extend({on:function(e,t,n,r){return qe(this,e,t,n,r)},one:function(e,t,n,r){return qe(this,e,t,n,r,1)},off:function(e,t,n){var r,o;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,T(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"===a(e)){for(o in e)this.off(o,t,e[o]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=_e),this.each((function(){T.event.remove(this,e,n,t)}))}});var Le=/<script|<style|<link/i,Oe=/checked\s*(?:[^=]|=\s*.checked.)/i,Pe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Me(e,t){return q(e,"table")&&q(11!==t.nodeType?t:t.firstChild,"tr")&&T(e).children("tbody")[0]||e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Ie(e,t){var n,r,o,i,a,s;if(1===t.nodeType){if(Z.hasData(e)&&(s=Z.get(e).events))for(o in Z.remove(t,"handle events"),s)for(n=0,r=s[o].length;n<r;n++)T.event.add(t,o,s[o][n]);ee.hasData(e)&&(i=ee.access(e),a=T.extend({},i),ee.set(t,a))}}function We(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ye.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Fe(e,t,n,r){t=c(t);var o,i,a,s,u,l,d=0,f=e.length,p=f-1,h=t[0],v=g(h);if(v||f>1&&"string"==typeof h&&!y.checkClone&&Oe.test(h))return e.each((function(o){var i=e.eq(o);v&&(t[0]=h.call(this,o,i.html())),Fe(i,t,n,r)}));if(f&&(i=(o=je(t,e[0].ownerDocument,!1,e,r)).firstChild,1===o.childNodes.length&&(o=i),i||r)){for(s=(a=T.map(we(o,"script"),He)).length;d<f;d++)u=o,d!==p&&(u=T.clone(u,!0,!0),s&&T.merge(a,we(u,"script"))),n.call(e[d],u,d);if(s)for(l=a[a.length-1].ownerDocument,T.map(a,Re),d=0;d<s;d++)u=a[d],be.test(u.type||"")&&!Z.access(u,"globalEval")&&T.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?T._evalUrl&&!u.noModule&&T._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):k(u.textContent.replace(Pe,""),u,l))}return e}function $e(e,t,n){for(var r,o=t?T.filter(t,e):e,i=0;null!=(r=o[i]);i++)n||1!==r.nodeType||T.cleanData(we(r)),r.parentNode&&(n&&ue(r)&&ke(we(r,"script")),r.parentNode.removeChild(r));return e}T.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,o,i,a,s=e.cloneNode(!0),u=ue(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||T.isXMLDoc(e)))for(a=we(s),r=0,o=(i=we(e)).length;r<o;r++)We(i[r],a[r]);if(t)if(n)for(i=i||we(e),a=a||we(s),r=0,o=i.length;r<o;r++)Ie(i[r],a[r]);else Ie(e,s);return(a=we(s,"script")).length>0&&ke(a,!u&&we(e,"script")),s},cleanData:function(e){for(var t,n,r,o=T.event.special,i=0;void 0!==(n=e[i]);
vendor: 4,148 bytes, line 2
2i++)if(Y(n)){if(t=n[Z.expando]){if(t.events)for(r in t.events)o[r]?T.event.remove(n,r):T.removeEvent(n,r,t.handle);n[Z.expando]=void 0}n[ee.expando]&&(n[ee.expando]=void 0)}}}),T.fn.extend({detach:function(e){return $e(this,e,!0)},remove:function(e){return $e(this,e)},text:function(e){return U(this,(function(e){return void 0===e?T.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Fe(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Me(this,e).appendChild(e)}))},prepend:function(){return Fe(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Me(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Fe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Fe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(T.cleanData(we(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return T.clone(this,e,t)}))},html:function(e){return U(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Le.test(e)&&!xe[(ge.exec(e)||["",""])[1].toLowerCase()]){e=T.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(T.cleanData(we(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)}),null,e,arguments.length)},replaceWith:function(){var e=[];return Fe(this,arguments,(function(t){var n=this.parentNode;T.inArray(this,e)<0&&(T.cleanData(we(this)),n&&n.replaceChild(t,this))}),e)}}),T.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},(function(e,t){T.fn[e]=function(e){for(var n,r=[],o=T(e),i=o.length-1,a=0;a<=i;a++)n=a===i?this:this.clone(!0),T(o[a])[t](n),l.apply(r,n.get());return this.pushStack(r)}}));var Qe=new RegExp("^("+oe+")(?!px)[a-z%]+$","i"),Be=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=n),t.getComputedStyle(e)},ze=function(e,t,n){var r,o,i={};for(o in t)i[o]=e.style[o],e.style[o]=t[o];for(o in r=n.call(e),t)e.style[o]=i[o];return r},Ue=new RegExp(ae.join("|"),"i");function Xe(e,t,n){var r,o,i,a,s=e.style;return(n=n||Be(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ue(e)||(a=T.style(e,t)),!y.pixelBoxStyles()&&Qe.test(a)&&Ue.test(t)&&(r=s.width,o=s.minWidth,i=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=o,s.maxWidth=i)),void 0!==a?a+"":a}function Ve(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){c.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",se.appendChild(c).appendChild(l);var e=n.getComputedStyle(l);r="1%"!==e.top,u=12===t(e.marginLeft),l.style.right="60%",a=36===t(e.right),o=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),se.removeChild(c),l=null}}function t(e){return Math.round(parseFloat(e))}var r,o,i,a,s,u,c=x.createElement("div"),l=x.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,T.extend(y,{boxSizingReliable:function(){return e(),o},pixelBoxStyles:function(){return e(),a},pixelPosition:function(){return e(),r},reliableMarginLeft:function(){return e(),u},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,r,o;return null==s&&(e=x.createElement("table"),t=x.createElement("tr"),r=x.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",r.style.height="9px",se.appendChild(e).appendChild(t).appendChild(r),o=n.getComputedStyle(t),s=parseInt(o.height)>3,se.removeChild(e)),s}}))}();
vendor: 6,442 bytes, line 2
2var Ge=["Webkit","Moz","ms"],Je=x.createElement("div").style,Ye={};function Ke(e){return T.cssProps[e]||Ye[e]||(e in Je?e:Ye[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ge.length;n--;)if((e=Ge[n]+t)in Je)return e}(e)||e)}var Ze=/^(none|table(?!-c[ea]).+)/,et=/^--/,tt={position:"absolute",visibility:"hidden",display:"block"},nt={letterSpacing:"0",fontWeight:"400"};function rt(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function ot(e,t,n,r,o,i){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=T.css(e,n+ae[a],!0,o)),r?("content"===n&&(u-=T.css(e,"padding"+ae[a],!0,o)),"margin"!==n&&(u-=T.css(e,"border"+ae[a]+"Width",!0,o))):(u+=T.css(e,"padding"+ae[a],!0,o),"padding"!==n?u+=T.css(e,"border"+ae[a]+"Width",!0,o):s+=T.css(e,"border"+ae[a]+"Width",!0,o));return!r&&i>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-i-u-s-.5))||0),u}function it(e,t,n){var r=Be(e),o=(!y.boxSizingReliable()||n)&&"border-box"===T.css(e,"boxSizing",!1,r),i=o,a=Xe(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Qe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&o||!y.reliableTrDimensions()&&q(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===T.css(e,"display",!1,r))&&e.getClientRects().length&&(o="border-box"===T.css(e,"boxSizing",!1,r),(i=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+ot(e,t,n||(o?"border":"content"),i,r,a)+"px"}function at(e,t,n,r,o){return new at.prototype.init(e,t,n,r,o)}T.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Xe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,i,s,u=J(t),c=et.test(t),l=e.style;if(c||(t=Ke(u)),s=T.cssHooks[t]||T.cssHooks[u],void 0===n)return s&&"get"in s&&void 0!==(o=s.get(e,!1,r))?o:l[t];"string"===(i=a(n))&&(o=ie.exec(n))&&o[1]&&(n=de(e,t,o),i="number"),null!=n&&n==n&&("number"!==i||c||(n+=o&&o[3]||(T.cssNumber[u]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,r))||(c?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var o,i,a,s=J(t);return et.test(t)||(t=Ke(s)),(a=T.cssHooks[t]||T.cssHooks[s])&&"get"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=Xe(e,t,r)),"normal"===o&&t in nt&&(o=nt[t]),""===n||n?(i=parseFloat(o),!0===n||isFinite(i)?i||0:o):o}}),T.each(["height","width"],(function(e,t){T.cssHooks[t]={get:function(e,n,r){if(n)return!Ze.test(T.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?it(e,t,r):ze(e,tt,(function(){return it(e,t,r)}))},set:function(e,n,r){var o,i=Be(e),a=!y.scrollboxSize()&&"absolute"===i.position,s=(a||r)&&"border-box"===T.css(e,"boxSizing",!1,i),u=r?ot(e,t,r,s,i):0;return s&&a&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(i[t])-ot(e,t,"border",!1,i)-.5)),u&&(o=ie.exec(n))&&"px"!==(o[3]||"px")&&(e.style[t]=n,n=T.css(e,t)),rt(0,n,u)}}})),T.cssHooks.marginLeft=Ve(y.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(Xe(e,"marginLeft"))||e.getBoundingClientRect().left-ze(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),T.each({margin:"",padding:"",border:"Width"},(function(e,t){T.cssHooks[e+t]={expand:function(n){for(var r=0,o={},i="string"==typeof n?n.split(" "):[n];r<4;r++)o[e+ae[r]+t]=i[r]||i[r-2]||i[0];return o}},"margin"!==e&&(T.cssHooks[e+t].set=rt)})),T.fn.extend({css:function(e,t){return U(this,(function(e,t,n){var r,o,i={},a=0;if(Array.isArray(t)){for(r=Be(e),o=t.length;a<o;a++)i[t[a]]=T.css(e,t[a],!1,r);return i}return void 0!==n?T.style(e,t,n):T.css(e,t)}),e,t,arguments.length>1)}}),T.Tween=at,at.prototype={constructor:at,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||T.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(T.cssNumber[n]?"":"px")},cur:function(){var e=at.propHooks[this.prop];return e&&e.get?e.get(this):at.propHooks._default.get(this)},run:function(e){var t,n=at.propHooks[this.prop];return this.options.duration?this.pos=t=T.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):at.propHooks._default.set(this),this}},at.prototype.init.prototype=at.prototype,at.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=T.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){T.fx.step[e.prop]?T.fx.step[e.prop](e):1!==e.elem.nodeType||!T.cssHooks[e.prop]&&null==e.elem.style[Ke(e.prop)]?e.elem[e.prop]=e.now:T.style(e.elem,e.prop,e.now+e.unit)}}},at.propHooks.scrollTop=at.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},T.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},(T.fx=at.prototype.init).step={};var st,ut,ct=/^(?:toggle|show|hide)$/,lt=/queueHooks$/;function dt(){ut&&(!1===x.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(dt):n.setTimeout(dt,T.fx.interval),T.fx.tick())}function ft(){return n.setTimeout((function(){st=void 0})),st=Date.now()}function pt(e,t){var n,r=0,o={height:e};for(t=t?1:0;r<4;r+=2-t)o["margin"+(n=ae[r])]=o["padding"+n]=e;return t&&(o.opacity=o.width=e),o}function ht(e,t,n){for(var r,o=(vt.tweeners[t]||[]).concat(vt.tweeners["*"]),i=0,a=o.length;i<a;i++)if(r=o[i].call(n,t,e))return r}function vt(e,t,n){var r,o,i=0,a=vt.prefilters.length,s=T.Deferred().always((function(){delete u.elem})),u=function(){if(o)return!1;for(var t=st||ft(),n=Math.max(0,c.startTime+c.duration-t),r=1-(n/c.duration||0),i=0,a=c.tweens.length;i<a;i++)c.tweens[i].run(r);return s.notifyWith(e,[c,r,n]),r<1&&a?n:(a||s.notifyWith(e,[c,1,0]),s.resolveWith(e,[c]),!1)},c=s.promise({elem:e,props:T.extend({},t),opts:T.extend(!0,{specialEasing:{},easing:T.easing._default},n),originalProperties:t,originalOptions:n,startTime:st||ft(),duration:n.duration,tweens:[],createTween:function(t,n){var r=T.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||
vendor: 6,476 bytes, line 2
2c.opts.easing);return c.tweens.push(r),r},stop:function(t){var n=0,r=t?c.tweens.length:0;if(o)return this;for(o=!0;n<r;n++)c.tweens[n].run(1);return t?(s.notifyWith(e,[c,1,0]),s.resolveWith(e,[c,t])):s.rejectWith(e,[c,t]),this}}),l=c.props;for(function(e,t){var n,r,o,i,a;for(n in e)if(o=t[r=J(n)],i=e[n],Array.isArray(i)&&(o=i[1],i=e[n]=i[0]),n!==r&&(e[r]=i,delete e[n]),(a=T.cssHooks[r])&&"expand"in a)for(n in i=a.expand(i),delete e[r],i)n in e||(e[n]=i[n],t[n]=o);else t[r]=o}(l,c.opts.specialEasing);i<a;i++)if(r=vt.prefilters[i].call(c,e,l,c.opts))return g(r.stop)&&(T._queueHooks(c.elem,c.opts.queue).stop=r.stop.bind(r)),r;return T.map(l,ht,c),g(c.opts.start)&&c.opts.start.call(e,c),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always),T.fx.timer(T.extend(u,{elem:e,anim:c,queue:c.opts.queue})),c}T.Animation=T.extend(vt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return de(n.elem,e,ie.exec(t),n),n}]},tweener:function(e,t){g(e)?(t=e,e=["*"]):e=e.match(I);for(var n,r=0,o=e.length;r<o;r++)n=e[r],vt.tweeners[n]=vt.tweeners[n]||[],vt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,o,i,a,s,u,c,l,d="width"in t||"height"in t,f=this,p={},h=e.style,v=e.nodeType&&le(e),m=Z.get(e,"fxshow");for(r in n.queue||(null==(a=T._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,f.always((function(){f.always((function(){a.unqueued--,T.queue(e,"fx").length||a.empty.fire()}))}))),t)if(o=t[r],ct.test(o)){if(delete t[r],i=i||"toggle"===o,o===(v?"hide":"show")){if("show"!==o||!m||void 0===m[r])continue;v=!0}p[r]=m&&m[r]||T.style(e,r)}if((u=!T.isEmptyObject(t))||!T.isEmptyObject(p))for(r in d&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(c=m&&m.display)&&(c=Z.get(e,"display")),"none"===(l=T.css(e,"display"))&&(c?l=c:(he([e],!0),c=e.style.display||c,l=T.css(e,"display"),he([e]))),("inline"===l||"inline-block"===l&&null!=c)&&"none"===T.css(e,"float")&&(u||(f.done((function(){h.display=c})),null==c&&(l=h.display,c="none"===l?"":l)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",f.always((function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]}))),u=!1,p)u||(m?"hidden"in m&&(v=m.hidden):m=Z.access(e,"fxshow",{display:c}),i&&(m.hidden=!v),v&&he([e],!0),f.done((function(){for(r in v||he([e]),Z.remove(e,"fxshow"),p)T.style(e,r,p[r])}))),u=ht(v?m[r]:0,r,f),r in m||(m[r]=u.start,v&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?vt.prefilters.unshift(e):vt.prefilters.push(e)}}),T.speed=function(e,t,n){var r=e&&"object"===a(e)?T.extend({},e):{complete:n||!n&&t||g(e)&&e,duration:e,easing:n&&t||t&&!g(t)&&t};return T.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in T.fx.speeds?r.duration=T.fx.speeds[r.duration]:r.duration=T.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){g(r.old)&&r.old.call(this),r.queue&&T.dequeue(this,r.queue)},r},T.fn.extend({fadeTo:function(e,t,n,r){return this.filter(le).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var o=T.isEmptyObject(e),i=T.speed(t,n,r),a=function(){var t=vt(this,T.extend({},e),i);(o||Z.get(this,"finish"))&&t.stop(!0)};return a.finish=a,o||!1===i.queue?this.each(a):this.queue(i.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&this.queue(e||"fx",[]),this.each((function(){var t=!0,o=null!=e&&e+"queueHooks",i=T.timers,a=Z.get(this);if(o)a[o]&&a[o].stop&&r(a[o]);else for(o in a)a[o]&&a[o].stop&<.test(o)&&r(a[o]);for(o=i.length;o--;)i[o].elem!==this||null!=e&&i[o].queue!==e||(i[o].anim.stop(n),t=!1,i.splice(o,1));!t&&n||T.dequeue(this,e)}))},finish:function(e){return!1!==e&&(e=e||"fx"),this.each((function(){var t,n=Z.get(this),r=n[e+"queue"],o=n[e+"queueHooks"],i=T.timers,a=r?r.length:0;for(n.finish=!0,T.queue(this,e,[]),o&&o.stop&&o.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish}))}}),T.each(["toggle","show","hide"],(function(e,t){var n=T.fn[t];T.fn[t]=function(e,r,o){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(pt(t,!0),e,r,o)}})),T.each({slideDown:pt("show"),slideUp:pt("hide"),slideToggle:pt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},(function(e,t){T.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}})),T.timers=[],T.fx.tick=function(){var e,t=0,n=T.timers;for(st=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||T.fx.stop(),st=void 0},T.fx.timer=function(e){T.timers.push(e),T.fx.start()},T.fx.interval=13,T.fx.start=function(){ut||(ut=!0,dt())},T.fx.stop=function(){ut=null},T.fx.speeds={slow:600,fast:200,_default:400},T.fn.delay=function(e,t){return e=T.fx&&T.fx.speeds[e]||e,t=t||"fx",this.queue(t,(function(t,r){var o=n.setTimeout(t,e);r.stop=function(){n.clearTimeout(o)}}))},function(){var e=x.createElement("input"),t=x.createElement("select").appendChild(x.createElement("option"));e.type="checkbox",y.checkOn=""!==e.value,y.optSelected=t.selected,(e=x.createElement("input")).value="t",e.type="radio",y.radioValue="t"===e.value}();var mt,yt=T.expr.attrHandle;T.fn.extend({attr:function(e,t){return U(this,T.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each((function(){T.removeAttr(this,e)}))}}),T.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return void 0===e.getAttribute?T.prop(e,t,n):(1===i&&T.isXMLDoc(e)||(o=T.attrHooks[t.toLowerCase()]||(T.expr.match.bool.test(t)?mt:void 0)),void 0!==n?null===n?void T.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:null==(r=T.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&q(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(I);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),mt={set:function(e,t,n){return!1===t?T.removeAttr(e,n):e.setAttribute(n,n),n}},T.each(T.expr.match.bool.source.match(/\w+/g),(function(e,t){var n=yt[t]||T.find.attr;yt[t]=function(e,t,r){var o,i,a=t.toLowerCase();return r||(i=yt[a],yt[a]=o,o=null!=n(e,t,r)?a:null,yt[a]=i),o}}
vendor: 7,980 bytes, line 2
2));var gt=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;function xt(e){return(e.match(I)||[]).join(" ")}function wt(e){return e.getAttribute&&e.getAttribute("class")||""}function kt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(I)||[]}T.fn.extend({prop:function(e,t){return U(this,T.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[T.propFix[e]||e]}))}}),T.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&T.isXMLDoc(e)||(t=T.propFix[t]||t,o=T.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=T.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(T.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),T.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){T.propFix[this.toLowerCase()]=this})),T.fn.extend({addClass:function(e){var t,n,r,o,i,a,s,u=0;if(g(e))return this.each((function(t){T(this).addClass(e.call(this,t,wt(this)))}));if((t=kt(e)).length)for(;n=this[u++];)if(o=wt(n),r=1===n.nodeType&&" "+xt(o)+" "){for(a=0;i=t[a++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");o!==(s=xt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,o,i,a,s,u=0;if(g(e))return this.each((function(t){T(this).removeClass(e.call(this,t,wt(this)))}));if(!arguments.length)return this.attr("class","");if((t=kt(e)).length)for(;n=this[u++];)if(o=wt(n),r=1===n.nodeType&&" "+xt(o)+" "){for(a=0;i=t[a++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");o!==(s=xt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=a(e),r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each((function(n){T(this).toggleClass(e.call(this,n,wt(this),t),t)})):this.each((function(){var t,o,i,a;if(r)for(o=0,i=T(this),a=kt(e);t=a[o++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||((t=wt(this))&&Z.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":Z.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+xt(wt(n))+" ").indexOf(t)>-1)return!0;return!1}});var Ct=/\r/g;T.fn.extend({val:function(e){var t,n,r,o=this[0];return arguments.length?(r=g(e),this.each((function(n){var o;1===this.nodeType&&(null==(o=r?e.call(this,n,T(this).val()):e)?o="":"number"==typeof o?o+="":Array.isArray(o)&&(o=T.map(o,(function(e){return null==e?"":e+""}))),(t=T.valHooks[this.type]||T.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))}))):o?(t=T.valHooks[o.type]||T.valHooks[o.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:"string"==typeof(n=o.value)?n.replace(Ct,""):null==n?"":n:void 0}}),T.extend({valHooks:{option:{get:function(e){var t=T.find.attr(e,"value");return null!=t?t:xt(T.text(e))}},select:{get:function(e){var t,n,r,o=e.options,i=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?i+1:o.length;for(r=i<0?u:a?i:0;r<u;r++)if(((n=o[r]).selected||r===i)&&!n.disabled&&(!n.parentNode.disabled||!q(n.parentNode,"optgroup"))){if(t=T(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,o=e.options,i=T.makeArray(t),a=o.length;a--;)((r=o[a]).selected=T.inArray(T.valHooks.option.get(r),i)>-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),T.each(["radio","checkbox"],(function(){T.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=T.inArray(T(e).val(),t)>-1}},y.checkOn||(T.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})})),y.focusin="onfocusin"in n;var jt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};T.extend(T.event,{trigger:function(e,t,r,o){var i,s,u,c,l,d,f,p,v=[r||x],m=h.call(e,"type")?e.type:e,y=h.call(e,"namespace")?e.namespace.split("."):[];if(s=p=u=r=r||x,3!==r.nodeType&&8!==r.nodeType&&!jt.test(m+T.event.triggered)&&(m.indexOf(".")>-1&&(y=m.split("."),m=y.shift(),y.sort()),l=m.indexOf(":")<0&&"on"+m,(e=e[T.expando]?e:new T.Event(m,"object"===a(e)&&e)).isTrigger=o?2:3,e.namespace=y.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+y.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=r),t=null==t?[e]:T.makeArray(t,[e]),f=T.event.special[m]||{},o||!f.trigger||!1!==f.trigger.apply(r,t))){if(!o&&!f.noBubble&&!b(r)){for(c=f.delegateType||m,jt.test(c+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(r.ownerDocument||x)&&v.push(u.defaultView||u.parentWindow||n)}for(i=0;(s=v[i++])&&!e.isPropagationStopped();)p=s,e.type=i>1?c:f.bindType||m,(d=(Z.get(s,"events")||Object.create(null))[e.type]&&Z.get(s,"handle"))&&d.apply(s,t),(d=l&&s[l])&&d.apply&&Y(s)&&(e.result=d.apply(s,t),!1===e.result&&e.preventDefault());return e.type=m,o||e.isDefaultPrevented()||f._default&&!1!==f._default.apply(v.pop(),t)||!Y(r)||l&&g(r[m])&&!b(r)&&((u=r[l])&&(r[l]=null),T.event.triggered=m,e.isPropagationStopped()&&p.addEventListener(m,Tt),r[m](),e.isPropagationStopped()&&p.removeEventListener(m,Tt),T.event.triggered=void 0,u&&(r[l]=u)),e.result}},simulate:function(e,t,n){var r=T.extend(new T.Event,n,{type:e,isSimulated:!0});T.event.trigger(r,null,t)}}),T.fn.extend({trigger:function(e,t){return this.each((function(){T.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return T.event.trigger(e,t,n,!0)}}),y.focusin||T.each({focus:"focusin",blur:"focusout"},(function(e,t){var n=function(e){T.event.simulate(t,e.target,T.event.fix(e))};T.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,o=Z.access(r,t);o||r.addEventListener(e,n,!0),Z.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,o=Z.access(r,t)-1;o?Z.access(r,t,o):(r.removeEventListener(e,n,!0),Z.remove(r,t))}}}));var St=n.location,At={guid:Date.now()},Et=/\?/;T.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||T.error("Invalid XML: "+e),t};var _t=/\[\]$/,Nt=/\r?\n/g,qt=/^(?:submit|button|image|reset|file)$/i,Dt=/^(?:input|select|textarea|keygen)/i;function Lt(e,t,n,r){var o;if(Array.isArray(t))T.each(t,(function(t,o){n||_t.test(e)?r(e,o):Lt(e+"["+("object"===a(o)&&null!=o?t:"")+"]",o,n,r)}));else if(n||"object"!==C(t))r(e,t);else for(o in t)Lt(e+"["+o+"]",t[o],n,r)}T.param=function(e,t){var n,r=[],o=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!T.isPlainObject(e))T.each(e,(function(){o(this.name,this.value)}));else for(n in e)Lt(n,e[n],t,o);return r.join("&")},T.fn.extend({serialize:function(){return T.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=T.prop(this,"elements");return e?T.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!T(this).is(":disabled")&&Dt.test(this.nodeName)&&!qt.test(e)&&(this.checked||!ye.test(e))})).map((function(e,t){var n=T(this).val();return null==n?null:Array.isArray(n)?T.map(n,(function(e){return{name:t.name,value:e.replace(Nt,"\r\n")}})):{name:t.name,value:n.replace(Nt,"\r\n")}})).get()}});var Ot=/%20/g,Pt=/#.*$/,Mt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,It=/^\/\//,Wt={},Ft={},$t="*/".concat("*"),Qt=x.createElement("a");function Bt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,o=0,i=t.toLowerCase().match(I)||[];
vendor: 5,934 bytes, line 2
2if(g(n))for(;r=i[o++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function zt(e,t,n,r){var o={},i=e===Ft;function a(s){var u;return o[s]=!0,T.each(e[s]||[],(function(e,s){var c=s(t,n,r);return"string"!=typeof c||i||o[c]?i?!(u=c):void 0:(t.dataTypes.unshift(c),a(c),!1)})),u}return a(t.dataTypes[0])||!o["*"]&&a("*")}function Ut(e,t){var n,r,o=T.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((o[n]?e:r||(r={}))[n]=t[n]);return r&&T.extend(!0,e,r),e}Qt.href=St.href,T.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:St.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(St.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":T.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ut(Ut(e,T.ajaxSettings),t):Ut(T.ajaxSettings,e)},ajaxPrefilter:Bt(Wt),ajaxTransport:Bt(Ft),ajax:function(e,t){"object"===a(e)&&(t=e,e=void 0);var r,o,i,s,u,c,l,d,f,p,h=T.ajaxSetup({},t=t||{}),v=h.context||h,m=h.context&&(v.nodeType||v.jquery)?T(v):T.event,y=T.Deferred(),g=T.Callbacks("once memory"),b=h.statusCode||{},w={},k={},C="canceled",j={readyState:0,getResponseHeader:function(e){var t;if(l){if(!s)for(s={};t=Ht.exec(i);)s[t[1].toLowerCase()+" "]=(s[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=s[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return l?i:null},setRequestHeader:function(e,t){return null==l&&(e=k[e.toLowerCase()]=k[e.toLowerCase()]||e,w[e]=t),this},overrideMimeType:function(e){return null==l&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)j.always(e[j.status]);else for(t in e)b[t]=[b[t],e[t]];return this},abort:function(e){var t=e||C;return r&&r.abort(t),S(0,t),this}};if(y.promise(j),h.url=((e||h.url||St.href)+"").replace(It,St.protocol+"//"),h.type=t.method||t.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(I)||[""],null==h.crossDomain){c=x.createElement("a");try{c.href=h.url,c.href=c.href,h.crossDomain=Qt.protocol+"//"+Qt.host!=c.protocol+"//"+c.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=T.param(h.data,h.traditional)),zt(Wt,h,t,j),l)return j;for(f in(d=T.event&&h.global)&&0==T.active++&&T.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Rt.test(h.type),o=h.url.replace(Pt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(Ot,"+")):(p=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(Et.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Mt,"$1"),p=(Et.test(o)?"&":"?")+"_="+At.guid+++p),h.url=o+p),h.ifModified&&(T.lastModified[o]&&j.setRequestHeader("If-Modified-Since",T.lastModified[o]),T.etag[o]&&j.setRequestHeader("If-None-Match",T.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||t.contentType)&&j.setRequestHeader("Content-Type",h.contentType),j.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]),h.headers)j.setRequestHeader(f,h.headers[f]);if(h.beforeSend&&(!1===h.beforeSend.call(v,j,h)||l))return j.abort();if(C="abort",g.add(h.complete),j.done(h.success),j.fail(h.error),r=zt(Ft,h,t,j)){if(j.readyState=1,d&&m.trigger("ajaxSend",[j,h]),l)return j;h.async&&h.timeout>0&&(u=n.setTimeout((function(){j.abort("timeout")}),h.timeout));try{l=!1,r.send(w,S)}catch(e){if(l)throw e;S(-1,e)}}else S(-1,"No Transport");function S(e,t,a,s){var c,f,p,x,w,k=t;l||(l=!0,u&&n.clearTimeout(u),r=void 0,i=s||"",j.readyState=e>0?4:0,c=e>=200&&e<300||304===e,a&&(x=function(e,t,n){for(var r,o,i,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(o in s)if(s[o]&&s[o].test(r)){u.unshift(o);break}if(u[0]in n)i=u[0];else{for(o in n){if(!u[0]||e.converters[o+" "+u[0]]){i=o;break}a||(a=o)}i=i||a}if(i)return i!==u[0]&&u.unshift(i),n[i]}(h,j,a)),!c&&T.inArray("script",h.dataTypes)>-1&&(h.converters["text script"]=function(){}),x=function(e,t,n,r){var o,i,a,s,u,c={},l=e.dataTypes.slice();if(l[1])for(a in e.converters)c[a.toLowerCase()]=e.converters[a];for(i=l.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=i,i=l.shift())if("*"===i)i=u;else if("*"!==u&&u!==i){if(!(a=c[u+" "+i]||c["* "+i]))for(o in c)if((s=o.split(" "))[1]===i&&(a=c[u+" "+s[0]]||c["* "+s[0]])){!0===a?a=c[o]:!0!==c[o]&&(i=s[0],l.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+i}}}return{state:"success",data:t}}(h,x,j,c),c?(h.ifModified&&((w=j.getResponseHeader("Last-Modified"))&&(T.lastModified[o]=w),(w=j.getResponseHeader("etag"))&&(T.etag[o]=w)),204===e||"HEAD"===h.type?k="nocontent":304===e?k="notmodified":(k=x.state,f=x.data,c=!(p=x.error))):(p=k,!e&&k||(k="error",e<0&&(e=0))),j.status=e,j.statusText=(t||k)+"",c?y.resolveWith(v,[f,k,j]):y.rejectWith(v,[j,k,p]),j.statusCode(b),b=void 0,d&&m.trigger(c?"ajaxSuccess":"ajaxError",[j,h,c?f:p]),g.fireWith(v,[j,k]),d&&(m.trigger("ajaxComplete",[j,h]),--T.active||T.event.trigger("ajaxStop")))}return j},getJSON:function(e,t,n){return T.get(e,t,n,"json")},getScript:function(e,t){return T.get(e,void 0,t,"script")}}),T.each(["get","post"],(function(e,t){T[t]=function(e,n,r,o){return g(n)&&(o=o||r,r=n,n=void 0),T.ajax(T.extend({url:e,type:t,dataType:o,data:n,success:r}
vendor: 5,170 bytes, line 2
2,T.isPlainObject(e)&&e))}})),T.ajaxPrefilter((function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")})),T._evalUrl=function(e,t,n){return T.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){T.globalEval(e,t,n)}})},T.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=T(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return g(e)?this.each((function(t){T(this).wrapInner(e.call(this,t))})):this.each((function(){var t=T(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=g(e);return this.each((function(n){T(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not("body").each((function(){T(this).replaceWith(this.childNodes)})),this}}),T.expr.pseudos.hidden=function(e){return!T.expr.pseudos.visible(e)},T.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},T.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Xt={0:200,1223:204},Vt=T.ajaxSettings.xhr();y.cors=!!Vt&&"withCredentials"in Vt,y.ajax=Vt=!!Vt,T.ajaxTransport((function(e){var t,r;if(y.cors||Vt&&!e.crossDomain)return{send:function(o,i){var a,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(a in e.xhrFields)s[a]=e.xhrFields[a];for(a in e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest"),o)s.setRequestHeader(a,o[a]);t=function(e){return function(){t&&(t=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?i(0,"error"):i(s.status,s.statusText):i(Xt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),r=s.onerror=s.ontimeout=t("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout((function(){t&&r()}))},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}})),T.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),T.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return T.globalEval(e),e}}}),T.ajaxPrefilter("script",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")})),T.ajaxTransport("script",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,o){t=T("<script>").attr(e.scriptAttrs||{}).prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),x.head.appendChild(t[0])},abort:function(){n&&n()}}}));var Gt,Jt=[],Yt=/(=)\?(?=&|$)|\?\?/;T.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Jt.pop()||T.expando+"_"+At.guid++;return this[e]=!0,e}}),T.ajaxPrefilter("json jsonp",(function(e,t,r){var o,i,a,s=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(s||"jsonp"===e.dataTypes[0])return o=e.jsonpCallback=g(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,s?e[s]=e[s].replace(Yt,"$1"+o):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+o),e.converters["script json"]=function(){return a||T.error(o+" was not called"),a[0]},e.dataTypes[0]="json",i=n[o],n[o]=function(){a=arguments},r.always((function(){void 0===i?T(n).removeProp(o):n[o]=i,e[o]&&(e.jsonpCallback=t.jsonpCallback,Jt.push(o)),a&&g(i)&&i(a[0]),a=i=void 0})),"script"})),y.createHTMLDocument=((Gt=x.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Gt.childNodes.length),T.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=x.implementation.createHTMLDocument("")).createElement("base")).href=x.location.href,t.head.appendChild(r)):t=x),i=!n&&[],(o=D.exec(e))?[t.createElement(o[1])]:(o=je([e],t,i),i&&i.length&&T(i).remove(),T.merge([],o.childNodes)));var r,o,i},T.fn.load=function(e,t,n){var r,o,i,s=this,u=e.indexOf(" ");return u>-1&&(r=xt(e.slice(u)),e=e.slice(0,u)),g(t)?(n=t,t=void 0):t&&"object"===a(t)&&(o="POST"),s.length>0&&T.ajax({url:e,type:o||"GET",dataType:"html",data:t}).done((function(e){i=arguments,s.html(r?T("<div>").append(T.parseHTML(e)).find(r):e)})).always(n&&function(e,t){s.each((function(){n.apply(this,i||[e.responseText,t,e])}))}),this},T.expr.pseudos.animated=function(e){return T.grep(T.timers,(function(t){return e===t.elem})).length},T.offset={setOffset:function(e,t,n){var r,o,i,a,s,u,c=T.css(e,"position"),l=T(e),d={};"static"===c&&(e.style.position="relative"),s=l.offset(),i=T.css(e,"to
2p"),u=T.css(e,"left"),("absolute"===c||"fixed"===c)&&(i+u).indexOf("auto")>-1?(a=(r=l.position()).top,o=r.left):(a=parseFloat(i)||0,o=parseFloat(u)||0),g(t)&&(t=t.call(e,n,T.extend({},s))),null!=t.top&&(d.top=t.top-s.top+a),null!=t.left&&(d.left=t.left-s.left+o),"using"in t?t.using.call(e,d):("number"==typeof d.top&&(d.top+="px"),"number"==typeof d.left&&(d.left+="px"),l.css(d))}},T.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each((function(t){T.offset.setOffset(this,e,t)}));var t,n,r=this[0];return r?r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],o={top:0,left:0};if("fixed"===T.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===T.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((o=T(e).offset()).top+=T.css(e,"borderTopWidth",!0),o.left+=T.css(e,"borderLeftWidth",!0))}return{top:t.top-o.top-T.css(r,"marginTop",!0),left:t.left-o.left-T.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map((function(){for(var e=this.offsetParent;e&&"static"===T.css(e,"position");)e=e.offsetParent;return e||se}))}}),T.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},(function(e,t){var n="pageYOffset"===t;T.fn[e]=function(r){return U(this,(function(e,r,o){var i;if(b(e)?i=e:9===e.nodeType&&(i=e.defaultView),void 0===o)return i?i[t]:e[r];i?i.scrollTo(n?i.pageXOffset:o,n?o:i.pageYOffset):e[r]=o}),e,r,arguments.length)}})),T.each(["top","left"],(function(e,t){T.cssHooks[t]=Ve(y.pixelPosition,(function(e,n){if(n)return n=Xe(e,t),Qe.test(n)?T(e).position()[t]+"px":n}))})),T.each({Height:"height",Width:"width"},(function(e,t){T.each({padding:"inner"+e,content:t,"":"outer"+e},(function(n,r){T.fn[r]=function(o,i){var a=arguments.length&&(n||"boolean"!=typeof o),s=n||(!0===o||!0===i?"margin":"border");return U(this,(function(t,n,o){var i;return b(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===o?T.css(t,n,s):T.style(t,n,o,s)}),t,a?o:void 0,a)}}))})),T.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],(function(e,t){T.fn[t]=function(e){return this.on(t,e)}})),T.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),T.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),(function(e,t){T.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}));var Kt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;T.proxy=function(e,t){var n,r,o;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=u.call(arguments,2),(o=function(){return e.apply(t||this,r.concat(u.call(arguments)))}).guid=e.guid=e.guid||T.guid++,o},T.holdReady=function(e){e?T.readyWait++:T.ready(!0)},T.isArray=Array.isArray,T.parseJSON=JSON.parse,T.nodeName=q,T.isFunction=g,T.isWindow=b,T.camelCase=J,T.type=C,T.now=Date.now,T.isNumeric=function(e){var t=T.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},T.trim=function(e){return null==e?"":(e+"").replace(Kt,"")},void 0===(r=function(){return T}.apply(t,[]))||(e.exports=r);var Zt=n.jQuery,en=n.$;return T.noConflict=function(e){return n.$===T&&(n.$=en),e&&n.jQuery===T&&(n.jQuery=Zt),T},void 0===o&&(n.jQuery=n.$=T),T},"object"===a(e)&&"object"===a(e.exports)?e.exports=o.document?i(o,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return i(e)}:i(o)},204:(e,t)=>
2{Object.defineProperty(t,"__esModule",{value:!0}),t.ucs2decode=f,t.default=t.toUnicode=t.toASCII=t.encode=t.decode=t.ucs2encode=void 0;var n=2147483647,r=36,o=/^xn--/,i=/[^\0-\x7E]/,a=/[\x2E\u3002\uFF0E\uFF61]/g,s={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},u=Math.floor,c=String.fromCharCode;function l(e){throw new RangeError(s[e])}function d(e,t){var n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]);var o=function(e,t){for(var n=[],r=e.length;r--;)n[r]=t(e[r]);return n}((e=e.replace(a,".")).split("."),t).join(".");return r+o}function f(e){for(var t=[],n=0,r=e.length;n<r;){var o=e.charCodeAt(n++);if(o>=55296&&o<=56319&&n<r){var i=e.charCodeAt(n++);56320==(64512&i)?t.push(((1023&o)<<10)+(1023&i)+65536):(t.push(o),n--)}else t.push(o)}return t}var p=function(e){return String.fromCodePoint.apply(String,function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(t=e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}());var t};t.ucs2encode=p;var h=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},v=function(e,t,n){var o=0;for(e=n?u(e/700):e>>1,e+=u(e/t);e>455;o+=r)e=u(e/35);return u(o+36*e/(e+38))},m=function(e){var t,o=[],i=e.length,a=0,s=128,c=72,d=e.lastIndexOf("-");d<0&&(d=0);for(var f=0;f<d;++f)e.charCodeAt(f)>=128&&l("not-basic"),o.push(e.charCodeAt(f));for(var p=d>0?d+1:0;p<i;){for(var h=a,m=1,y=r;;y+=r){p>=i&&l("invalid-input");var g=(t=e.charCodeAt(p++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:r;(g>=r||g>u((n-a)/m))&&l("overflow"),a+=g*m;var b=y<=c?1:y>=c+26?26:y-c;if(g<b)break;var x=r-b;m>u(n/x)&&l("overflow"),m*=x}var w=o.length+1;c=v(a-h,w,0==h),u(a/w)>n-s&&l("overflow"),s+=u(a/w),a%=w,o.splice(a++,0,s)}return String.fromCodePoint.apply(String,o)};t.decode=m;var y=function(e){var t=[],o=(e=f(e)).length,i=128,a=0,s=72,d=!0,p=!1,m=void 0;try{for(var y,g=e[Symbol.iterator]();!(d=(y=g.next()).done);d=!0){var b=y.value;b<128&&t.push(c(b))}}catch(e){p=!0,m=e}finally{try{d||null==g.return||g.return()}finally{if(p)throw m}}var x=t.length,w=x;for(x&&t.push("-");w<o;){var k=n,C=!0,j=!1,T=void 0;try{for(var S,A=e[Symbol.iterator]();!(C=(S=A.next()).done);C=!0){var E=S.value;E>=i&&E<k&&(k=E)}}catch(e){j=!0,T=e}finally{try{C||null==A.return||A.return()}finally{if(j)throw T}}var _=w+1;k-i>u((n-a)/_)&&l("overflow"),a+=(k-i)*_,i=k;var N=!0,q=!1,D=void 0;try{for(var L,O=e[Symbol.iterator]();!(N=(L=O.next()).done);N=!0){var P=L.value;if(P<i&&++a>n&&l("overflow"),P==i){for(var M=a,H=r;;H+=r){var R=H<=s?1:H>=s+26?26:H-s;if(M<R)break;var I=M-R,W=r-R;t.push(c(h(R+I%W,0))),M=u(I/W)}t.push(c(h(M,0))),s=v(a,_,w==x),a=0,++w}}}catch(e){q=!0,D=e}finally{try{N||null==O.return||O.return()}finally{if(q)throw D}}++a,++i}return t.join("")};t.encode=y;var g=function(e){return d(e,(function(e){return o.test(e)?m(e.slice(4).toLowerCase()):e}))};t.toUnicode=g;var b=function(e){return d(e,(function(e){return i.test(e)?"xn--"+y(e):e}))};t.toASCII=b;var x={version:"2.1.0",ucs2:{decode:f,encode:p},decode:m,encode:y,toASCII:b,toUnicode:g};t.default=x},825:e=>{e.exports=prestashop}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={id:r,loaded:!1,exports:{}};return e[r](i,i.exports,n),i.loaded=!0,i.exports}n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e=a(n(339)),t=a(n(825)),r=a(n(291));n(52),n(882),n(165),n(827),n(965),n(999),n(982),n(432),n(90),n(226),n(26);var o=n(988),i=a(n(247));function a(e){return e&&e.__esModule?e:{default:e}}for(var s in r.default.prototype)t.default[s]=r.default.prototype[s];window.$=e.default,window.jQuery=e.default,(0,e.default)(document).ready((function(){(0,o.psShowHide)(),(0,i.default)('input[type="email"]')}))})()})();/** 3* 2012-2017 Patryk Marek PrestaDev.pl 4* 5* Patryk Marek PrestaDev.pl - PD Free delivery left amount Pro for PS 1.5.x && 1.6.x © All rights reserved. 6* 7* DISCLAIMER 8*
9* Do not edit, modify or copy this file. 10* If you wish to customize it, contact us at [email protected]. 11* 12* @author Patryk Marek PrestaDev.pl <[email protected]> 13* @copyright 2012-2022 Patryk Marek - PrestaDev.pl 14* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) 15* @link http://prestadev.pl 16* @package PD Free delivery left amount for Pro PS 1.5.x && 1.6.x 17* @version 1.1.1 18* @date 18-12-2014 19*/ 20$(document).ready(()=>{prestashop.on('updatedCart',function(event){$.ajax({type:'POST',headers:{"cache-control":"no-cache"},url:pdfreedeliveryleftamountpro_ajax_link,async:!0,cache:!1,data:'action=calculateFreeDeliveryLeftAmount',success:function(jsonData){data=JSON.parse(jsonData);if(data.free_ship_from==0){$('.pdfla-cart').each(function(index,value){$(this).addClass('hidden')})}else{$('.pdfla-cart').each(function(index,value){$(this).removeClass('hidden')});$('.pdfla-delta-price').each(function(index,value){$(this).text(data.delta_display)});$('.pdfla-start-from-price').each(function(index,value){$(this).text(data.free_ship_from_display)})}}})});prestashop.on('updateCart',function(event){$.ajax({type:'POST',headers:{"cache-control":"no-cache"},url:pdfreedeliveryleftamountpro_ajax_link,async:!0,cache:!1,data:'action=calculateFreeDeliveryLeftAmount',success:function(jsonData){data=JSON.parse(jsonData);if(data.free_ship_from==0){$('.pdfla-cart').each(function(index,value){$(this).addClass('hidden')})}else{$('.pdfla-cart').each(function(index,value){$(this).removeClass('hidden')});$('.pdfla-delta-price').each(function(index,value){$(this).text(data.delta_display)});$('.pdfla-start-from-price').each(function(index,value){$(this).text(data.free_ship_from_display)})}}})})});!function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=26)}([function(t,e){t.exports=jQuery},function(t,e){t.exports=prestashop},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=n(0),a=function(t){return t&&t.__esModule?t:{default:t}}(o),s=function(){function t(e){i(this,t),this.el=e}return r(t,[{key:"init",value:function(){this.el.on("show.bs.dropdown",function(t,e){e?(0,a.default)("#"+e).find(".dropdown-menu").first().stop(!0,!0).slideDown():(0,a.default)(t.target).find(".dropdown-menu").first().stop(!0,!0).slideDown()}),this.el.on("hide.bs.dropdown",function(t,e){e?(0,a.default)("#"+e).find(".dropdown-menu").first().stop(!0,!0).slideUp():(0,a.default)(t.target).find(".dropdown-menu").first().stop(!0,!0).slideUp()}),this.el.find("select.link").each(function(t,e){(0,a.default)(e).on("change",function(t){window.location=(0,a.default)(this).val()})})}}]),t}();e.default=s,t.exports=e.default},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=n(0),a=function(t){return t&&t.__esModule?t:{default:t}}(o),s=function(){function t(){i(this,t)}return r(t,[{key:"init",value:function(){(0,a.default)(".js-product-miniature").each(function(t,e){(0,a.default)(e).find(".color").length>5&&function(){var t=0;(0,a.default)(e).find(".color").each(function(e,n){e>4&&((0,a.default)(n).hide(),t++)}),(0,a.default)(e).find(".js-count").append("+"+t)}()})}}]),t}();
vendor: 44,449 bytes, line 20
20e.default=s,t.exports=e.default},function(t,e,n){"use strict";var i,r;!function(t){function e(t){var e=t.length,i=n.type(t);return"function"!==i&&!n.isWindow(t)&&(!(1!==t.nodeType||!e)||("array"===i||0===e||"number"==typeof e&&e>0&&e-1 in t))}if(!t.jQuery){var n=function t(e,n){return new t.fn.init(e,n)};n.isWindow=function(t){return t&&t===t.window},n.type=function(t){return t?"object"==typeof t||"function"==typeof t?r[a.call(t)]||"object":typeof t:t+""},n.isArray=Array.isArray||function(t){return"array"===n.type(t)},n.isPlainObject=function(t){var e;if(!t||"object"!==n.type(t)||t.nodeType||n.isWindow(t))return!1;try{if(t.constructor&&!o.call(t,"constructor")&&!o.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}for(e in t);return void 0===e||o.call(t,e)},n.each=function(t,n,i){var r=0,o=t.length,a=e(t);if(i){if(a)for(;r<o&&!1!==n.apply(t[r],i);r++);else for(r in t)if(t.hasOwnProperty(r)&&!1===n.apply(t[r],i))break}else if(a)for(;r<o&&!1!==n.call(t[r],r,t[r]);r++);else for(r in t)if(t.hasOwnProperty(r)&&!1===n.call(t[r],r,t[r]))break;return t},n.data=function(t,e,r){if(void 0===r){var o=t[n.expando],a=o&&i[o];if(void 0===e)return a;if(a&&e in a)return a[e]}else if(void 0!==e){var s=t[n.expando]||(t[n.expando]=++n.uuid);return i[s]=i[s]||{},i[s][e]=r,r}},n.removeData=function(t,e){var r=t[n.expando],o=r&&i[r];o&&(e?n.each(e,function(t,e){delete o[e]}):delete i[r])},n.extend=function(){var t,e,i,r,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[l]||{},l++),"object"!=typeof s&&"function"!==n.type(s)&&(s={}),l===u&&(s=this,l--);l<u;l++)if(o=arguments[l])for(r in o)o.hasOwnProperty(r)&&(t=s[r],i=o[r],s!==i&&(c&&i&&(n.isPlainObject(i)||(e=n.isArray(i)))?(e?(e=!1,a=t&&n.isArray(t)?t:[]):a=t&&n.isPlainObject(t)?t:{},s[r]=n.extend(c,a,i)):void 0!==i&&(s[r]=i)));return s},n.queue=function(t,i,r){if(t){i=(i||"fx")+"queue";var o=n.data(t,i);return r?(!o||n.isArray(r)?o=n.data(t,i,function(t,n){var i=n||[];return t&&(e(Object(t))?function(t,e){for(var n=+e.length,i=0,r=t.length;i<n;)t[r++]=e[i++];if(n!==n)for(;void 0!==e[i];)t[r++]=e[i++];t.length=r}(i,"string"==typeof t?[t]:t):[].push.call(i,t)),i}(r)):o.push(r),o):o||[]}},n.dequeue=function(t,e){n.each(t.nodeType?[t]:t,function(t,i){e=e||"fx";var r=n.queue(i,e),o=r.shift();"inprogress"===o&&(o=r.shift()),o&&("fx"===e&&r.unshift("inprogress"),o.call(i,function(){n.dequeue(i,e)}))})},n.fn=n.prototype={init:function(t){if(t.nodeType)return this[0]=t,this;throw new Error("Not a DOM node.")},offset:function(){var e=this[0].getBoundingClientRect?this[0].getBoundingClientRect():{top:0,left:0};return{top:e.top+(t.pageYOffset||document.scrollTop||0)-(document.clientTop||0),left:e.left+(t.pageXOffset||document.scrollLeft||0)-(document.clientLeft||0)}},position:function(){var t=this[0],e=function(t){for(var e=t.offsetParent;e&&"html"!==e.nodeName.toLowerCase()&&e.style&&"static"===e.style.position;)e=e.offsetParent;return e||document}(t),i=this.offset(),r=/^(?:body|html)$/i.test(e.nodeName)?{top:0,left:0}:n(e).offset();return i.top-=parseFloat(t.style.marginTop)||0,i.left-=parseFloat(t.style.marginLeft)||0,e.style&&(r.top+=parseFloat(e.style.borderTopWidth)||0,r.left+=parseFloat(e.style.borderLeftWidth)||0),{top:i.top-r.top,left:i.left-r.left}}};var i={};n.expando="velocity"+(new Date).getTime(),n.uuid=0;for(var r={},o=r.hasOwnProperty,a=r.toString,s="Boolean Number String Function Array Date RegExp Object Error".split(" "),l=0;l<s.length;l++)r["[object "+s[l]+"]"]=s[l].toLowerCase();n.fn.init.prototype=n.fn,t.Velocity={Utilities:n}}}(window),function(o){"object"==typeof t&&"object"==typeof t.exports?t.exports=o():(i=o,void 0!==(r="function"==typeof i?i.call(e,n,e,t):i)&&(t.exports=r))}(function(){return function(t,e,n,i){function r(t){for(var e=-1,n=t?t.length:0,i=[];++e<n;){var r=t[e];r&&i.push(r)}return i}function o(t){return _.isWrapped(t)?t=y.call(t):_.isNode(t)&&(t=[t]),t}function a(t){var e=h.data(t,"velocity");return null===e?i:e}function s(t,e){var n=a(t);n&&n.delayTimer&&!n.delayPaused&&(n.delayRemaining=n.delay-e+n.delayBegin,n.delayPaused=!0,clearTimeout(n.delayTimer.setTimeout))}function l(t,e){var n=a(t);n&&n.delayTimer&&n.delayPaused&&(n.delayPaused=!1,n.delayTimer.setTimeout=setTimeout(n.delayTimer.next,n.delayRemaining))}function u(t){return function(e){return Math.round(e*t)*(1/t)}}function c(t,n,i,r){function o(t,e){return 1-3*e+3*t}function a(t,e){return 3*e-6*t}function s(t){return 3*t}function l(t,e,n){return((o(e,n)*t+a(e,n))*t+s(e))*t}function u(t,e,n){return 3*o(e,n)*t*t+2*a(e,n)*t+s(e)}function c(e,n){for(var r=0;r<m;++r){var o=u(n,t,i);if(0===o)return n;n-=(l(n,t,i)-e)/o}return n}function f(){for(var e=0;e<b;++e)S[e]=l(e*_,t,i)}function d(e,n,r){var o,a,s=0;do{a=n+(r-n)/2,o=l(a,t,i)-e,o>0?r=a:n=a}while(Math.abs(o)>v&&++s<y);return a}function p(e){for(var n=0,r=1,o=b-1;r!==o&&S[r]<=e;++r)n+=_;--r;var a=(e-S[r])/(S[r+1]-S[r]),s=n+a*_,l=u(s,t,i);return l>=g?c(e,s):0===l?s:d(e,n,n+_)}function h(){E=!0,t===n&&i===r||f()}var m=4,g=.001,v=1e-7,y=10,b=11,_=1/(b-1),x="Float32Array"in e;if(4!==arguments.length)return!1;for(var w=0;w<4;++w)if("number"!=typeof arguments[w]||isNaN(arguments[w])||!isFinite(arguments[w]))return!1;t=Math.min(t,1),i=Math.min(i,1),t=Math.max(t,0),i=Math.max(i,0);var S=x?new Float32Array(b):new Array(b),E=!1,C=function(e){return E||h(),t===n&&i===r?e:0===e?0:1===e?1:l(p(e),n,r)};C.getControlPoints=function(){return[{x:t,y:n},{x:i,y:r}]};var T="generateBezier("+[t,n,i,r]+")";return C.toString=function(){return T},C}function f(t,e){var n=t;return _.isString(t)?E.Easings[t]||(n=!1):n=_.isArray(t)&&1===t.length?u.apply(null,t):_.isArray(t)&&2===t.length?C.apply(null,t.concat([e])):!(!_.isArray(t)||4!==t.length)&&c.apply(null,t),!1===n&&(n=E.Easings[E.defaults.easing]?E.defaults.easing:S),n}function d(t){if(t){var e=E.timestamp&&!0!==t?t:v.now(),n=E.State.calls.length;n>1e4&&(E.State.calls=r(E.State.calls),n=E.State.calls.length);for(var o=0;o<n;o++)if(E.State.calls[o]){var s=E.State.calls[o],l=s[0],u=s[2],c=s[3],f=!!c,g=null,y=s[5],b=s[6];if(c||(c=E.State.calls[o][3]=e-16),y){if(!0!==y.resume)continue;c=s[3]=Math.round(e-b-16),s[5]=null}b=s[6]=e-c;for(var x=Math.min(b/u.duration,1),w=0,S=l.length;w<S;w++){var C=l[w],A=C.element;if(a(A)){var O=!1;if(u.display!==i&&null!==u.display&&"none"!==u.display){if("flex"===u.display){var k=["-webkit-box","-moz-box","-ms-flexbox","-webkit-flex"];h.each(k,function(t,e){T.setPropertyValue(A,"display",e)})}T.setPropertyValue(A,"display",u.display)}u.visibility!==i&&"hidden"!==u.visibility&&T.setPropertyValue(A,"visibility",u.visibility);for(var D in C)if(C.hasOwnProperty(D)&&"element"!==D){var N,P=C[D],L=_.isString(P.easing)?E.Easings[P.easing]:P.easing;if(_.isString(P.pattern)){var j=1===x?function(t,e,n){var i=P.endValue[e];return n?Math.round(i):i}:function(t,e,n){var i=P.startValue[e],r=P.endValue[e]-i,o=i+r*L(x,u,r);return n?Math.round(o):o};N=P.pattern.replace(/{(\d+)(!)?}/g,j)}else if(1===x)N=P.endValue;else{var B=P.endValue-P.startValue;N=P.startValue+B*L(x,u,B)}if(!f&&N===P.currentValue)continue;if(P.currentValue=N,"tween"===D)g=N;else{var V;if(T.Hooks.registered[D]){V=T.Hooks.getRoot(D);var F=a(A).rootPropertyValueCache[V];F&&(P.rootPropertyValue=F)}var R=T.setPropertyValue(A,D,P.currentValue+(m<9&&0===parseFloat(N)?"":P.unitType),P.rootPropertyValue,P.scrollData);T.Hooks.registered[D]&&(T.Normalizations.registered[V]?a(A).rootPropertyValueCache[V]=T.Normalizations.registered[V]("extract",null,R[1]):a(A).rootPropertyValueCache[V]=R[1]),"transform"===R[0]&&(O=!0)}}u.mobileHA&&a(A).transformCache.translate3d===i&&(a(A).transformCache.translate3d="(0px, 0px, 0px)",O=!0),O&&T.flushTransformCache(A)}}u.display!==i&&"none"!==u.display&&(E.State.calls[o][2].display=!1),u.visibility!==i&&"hidden"!==u.visibility&&(E.State.calls[o][2].visibility=!1),u.progress&&u.progress.call(s[1],s[1],x,Math.max(0,c+u.duration-e),c,g),1===x&&p(o)}}E.State.isTicking&&I(d)}function p(t,e){if(!E.State.calls[t])return!1;for(var n=E.State.calls[t][0],r=E.State.calls[t][1],o=E.State.calls[t][2],s=E.State.calls[t][4],l=!1,u=0,c=n.length;u<c;u++){var f=n[u].element;e||o.loop||("none"===o.display&&T.setPropertyValue(f,"display",o.display),"hidden"===o.visibility&&T.setPropertyValue(f,"visibility",o.visibility));var d=a(f);if(!0!==o.loop&&(h.queue(f)[1]===i||!/\.velocityQueueEntryFlag/i.test(h.queue(f)[1]))&&d){d.isAnimating=!1,d.rootPropertyValueCache={};var p=!1;h.each(T.Lists.transforms3D,function(t,e){var n=/^scale/.test(e)?1:0,r=d.transformCache[e];d.transformCache[e]!==i&&new RegExp("^\\("+n+"[^.]").test(r)&&(p=!0,delete d.transformCache[e])}),o.mobileHA&&(p=!0,delete d.transformCache.translate3d),p&&T.flushTransformCache(f),T.Values.removeClass(f,"velocity-animating")}if(!e&&o.complete&&!o.loop&&u===c-1)try{o.complete.call(r,r)}catch(t){setTimeout(function(){throw t},1)}s&&!0!==o.loop&&s(r),d&&!0===o.loop&&!e&&(h.each(d.tweensContainer,function(t,e){if(/^rotate/.test(t)&&(parseFloat(e.startValue)-parseFloat(e.endValue))%360==0){var n=e.startValue;e.startValue=e.endValue,e.endValue=n}/^backgroundPosition/.test(t)&&100===parseFloat(e.endValue)&&"%"===e.unitType&&(e.endValue=0,e.startValue=100)}),E(f,"reverse",{loop:!0,delay:o.delay})),!1!==o.queue&&h.dequeue(f,o.queue)}E.State.calls[t]=!1;for(var m=0,g=E.State.calls.length;m<g;m++)if(!1!==E.State.calls[m]){l=!0;break}!1===l&&(E.State.isTicking=!1,delete E.State.calls,E.State.calls=[])}var h,m=function(){if(n.documentMode)return n.documentMode;for(var t=7;t>4;t--){var e=n.createElement("div");if(e.innerHTML="\x3c!--[if IE "+t+"]><span></span><![endif]--\x3e",e.getElementsByTagName("span").length)return e=null,t}return i}(),g=function(){var t=0;return e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||function(e){var n,i=(new Date).getTime();return n=Math.max(0,16-(i-t)),t=i+n,setTimeout(function(){e(i+n)},n)}}(),v=function(){var t=e.performance||{};if("function"!=typeof t.now){var n=t.timing&&t.timing.navigationStart?t.timing.navigationStart:(new Date).getTime();t.now=function(){return(new Date).getTime()-n}}return t}(),y=function(){var t=Array.prototype.slice;try{return t.call(n.documentElement),t}catch(e){return function(e,n){var i=this.length;if("number"!=typeof e&&(e=0),"number"!=typeof n&&(n=i),this.slice)return t.call(this,e,n);var r,o=[],a=e>=0?e:Math.max(0,i+e),s=n<0?i+n:Math.min(n,i),l=s-a;if(l>0)if(o=new Array(l),this.charAt)for(r=0;r<l;r++)o[r]=this.charAt(a+r);else for(r=0;r<l;r++)o[r]=this[a+r];return o}}}(),b=function(){return Array.prototype.includes?function(t,e){return t.includes(e)}:Array.prototype.indexOf?function(t,e){return t.indexOf(e)>=0}:function(t,e){for(var n=0;n<t.length;n++)if(t[n]===e)return!0;return!1}},_={isNumber:function(t){return"number"==typeof t},isString:function(t){return"string"==typeof t},isArray:Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},isFunction:function(t){return"[object Function]"===Object.prototype.toString.call(t)},isNode:function(t){return t&&t.nodeType},isWrapped:function(t){return t&&t!==e&&_.isNumber(t.length)&&!_.isString(t)&&!_.isFunction(t)&&!_.isNode(t)&&(0===t.length||_.isNode(t[0]))},isSVG:function(t){return e.SVGElement&&t instanceof e.SVGElement},isEmptyObject:function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}},x=!1;if(t.fn&&t.fn.jquery?(h=t,x=!0):h=e.Velocity.Utilities,m<=8&&!x)throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity.");if(m<=7)return void(jQuery.fn.velocity=jQuery.fn.animate);var w=400,S="swing",E={State:{isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),isAndroid:/Android/i.test(navigator.userAgent),isGingerbread:/Android 2\.3\.[3-7]/i.test(navigator.userAgent),isChrome:e.chrome,isFirefox:/Firefox/i.test(navigator.userAgent),prefixElement:n.createElement("div"),prefixMatches:{},scrollAnchor:null,scrollPropertyLeft:null,scrollPropertyTop:null,isTicking:!1,calls:[],delayedElements:{count:0}},CSS:{},Utilities:h,Redirects:{},Easings:{},Promise:e.Promise,defaults:{queue:"",duration:w,easing:S,begin:i,complete:i,progress:i,display:i,visibility:i,loop:!1,delay:!1,mobileHA:!0,_cacheValues:!0,promiseRejectEmpty:!0},init:function(t){h.data(t,"velocity",{isSVG:_.isSVG(t),isAnimating:!1,computedStyle:null,tweensContainer:null,rootPropertyValueCache:{},transformCache:{}})},hook:null,mock:!1,version:{major:1,minor:5,patch:0},debug:!1,timestamp:!0,pauseAll:function(t){var e=(new Date).getTime();h.each(E.State.calls,function(e,n){if(n){if(t!==i&&(n[2].queue!==t||!1===n[2].queue))return!0;n[5]={resume:!1}}}),h.each(E.State.delayedElements,function(t,n){n&&s(n,e)})},resumeAll:function(t){var e=(new Date).getTime();h.each(E.State.calls,function(e,n){if(n){if(t!==i&&(n[2].queue!==t||!1===n[2].queue))return!0;n[5]&&(n[5].resume=!0)}}),h.each(E.State.delayedElements,function(t,n){n&&l(n,e)})}};e.pageYOffset!==i?(E.State.scrollAnchor=e,E.State.scrollPropertyLeft="pageXOffset",E.State.scrollPropertyTop="pageYOffset"):(E.State.scrollAnchor=n.documentElement||n.body.parentNode||n.body,E.State.scrollPropertyLeft="scrollLeft",E.State.scrollPropertyTop="scrollTop");var C=function(){function t(t){return-t.tension*t.x-t.friction*t.v}function e(e,n,i){var r={x:e.x+i.dx*n,v:e.v+i.dv*n,tension:e.tension,friction:e.friction};return{dx:r.v,dv:t(r)}}function n(n,i){var r={dx:n.v,dv:t(n)},o=e(n,.5*i,r),a=e(n,.5*i,o),s=e(n,i,a),l=1/6*(r.dx+2*(o.dx+a.dx)+s.dx),u=1/6*(r.dv+2*(o.dv+a.dv)+s.dv);return n.x=n.x+l*i,n.v=n.v+u*i,n}return function t(e,i,r){var o,a,s,l={x:-1,v:0,tension:null,friction:null},u=[0],c=0;for(e=parseFloat(e)||500,i=parseFloat(i)||20,r=r||null,l.tension=e,l.friction=i,o=null!==r,o?(c=t(e,i),a=c/r*.016):a=.016;;)if(s=n(s||l,a),u.push(1+s.x),c+=16,!(Math.abs(s.x)>1e-4&&Math.abs(s.v)>1e-4))break;return o?function(t){return u[t*(u.length-1)|0]}:c}}();E.Easings={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},spring:function(t){return 1-Math.cos(4.5*t*Math.PI)*Math.exp(6*-t)}},h.each([["ease",[.25,.1,.25,1]],["ease-in",[.42,0,1,1]],["ease-out",[0,0,.58,1]],["ease-in-out",[.42,0,.58,1]],["easeInSine",[.47,0,.745,.715]],["easeOutSine",[.39,.575,.565,1]],["easeInOutSine",[.445,.05,.55,.95]],["easeInQuad",[.55,.085,.68,.53]],["easeOutQuad",[.25,.46,.45,.94]],["easeInOutQuad",[.455,.03,.515,.955]],["easeInCubic",[.55,.055,.675,.19]],["easeOutCubic",[.215,.61,.355,1]],["easeInOutCubic",[.645,.045,.355,1]],["easeInQuart",[.895,.03,.685,.22]],["easeOutQuart",[.165,.84,.44,1]],["easeInOutQuart",[.77,0,.175,1]],["easeInQuint",[.755,.05,.855,.06]],["easeOutQuint",[.23,1,.32,1]],["easeInOutQuint",[.86,0,.07,1]],["easeInExpo",[.95,.05,.795,.035]],["easeOutExpo",[.19,1,.22,1]],["easeInOutExpo",[1,0,0,1]],["easeInCirc",[.6,.04,.98,.335]],["easeOutCirc",[.075,.82,.165,1]],["easeInOutCirc",[.785,.135,.15,.86]]],function(t,e){E.Easings[e[0]]=c.apply(null,e[1])});var T=E.CSS={RegEx:{isHex:/^#([A-f\d]{3}){1,2}$/i,valueUnwrap:/^[A-z]+\((.*)\)$/i,wrappedValueAlreadyExtracted:/[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,valueSplit:/([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi},Lists:{colors:["fill","stroke","stopColor","color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor"],transformsBase:["translateX","translateY","scale","scaleX","scaleY","skewX","skewY","rotateZ"],transforms3D:["transformPerspective","translateZ","scaleZ","rotateX","rotateY"],units:["%","em","ex","ch","rem","vw","vh","vmin","vmax","cm","mm","Q","in","pc","pt","px","deg","grad","rad","turn","s","ms"],colorNames:{aliceblue:"240,248,255",antiquewhite:"250,235,215",aquamarine:"127,255,212",aqua:"0,255,255",azure:"240,255,255",beige:"245,245,220",bisque:"255,228,196",black:"0,0,0",blanchedalmond:"255,235,205",blueviolet:"138,43,226",blue:"0,0,255",brown:"165,42,42",burlywood:"222,184,135",cadetblue:"95,158,160",chartreuse:"127,255,0",chocolate:"210,105,30",coral:"255,127,80",cornflowerblue:"100,149,237",cornsilk:"255,248,220",crimson:"220,20,60",cyan:"0,255,255",darkblue:"0,0,139",darkcyan:"0,139,139",darkgoldenrod:"184,134,11",darkgray:"169,169,169",darkgrey:"169,169,169",darkgreen:"0,100,0",darkkhaki:"189,183,107",darkmagenta:"139,0,139",darkolivegreen:"85,107,47",darkorange:"255,140,0",darkorchid:"153,50,204",darkred:"139,0,0",darksalmon:"233,150,122",darkseagreen:"143,188,143",darkslateblue:"72,61,139",darkslategray:"47,79,79",darkturquoise:"0,206,209",darkviolet:"148,0,211",deeppink:"255,20,147",deepskyblue:"0,191,255",dimgray:"105,105,105",dimgrey:"105,105,105",dodgerblue:"30,144,255",firebrick:"178,34,34",floralwhite:"255,250,240",forestgreen:"34,139,34",fuchsia:"255,0,255",gainsboro:"220,220,220",ghostwhite:"248,248,255",gold:"255,215,0",goldenrod:"218,165,32",gray:"128,128,128",grey:"128,128,128",greenyellow:"173,255,47",green:"0,128,0",honeydew:"240,255,240",hotpink:"255,105,180",indianred:"205,92,92",indigo:"75,0,130",ivory:"255,255,240",khaki:"240,230,140",lavenderblush:"255,240,245",lavender:"230,230,250",lawngreen:"124,252,0",lemonchiffon:"255,250,205",lightblue:"173,216,230",lightcoral:"240,128,128",lightcyan:"224,255,255",lightgoldenrodyellow:"250,250,210",lightgray:"211,211,211",lightgrey:"211,211,211",lightgreen:"144,238,144",lightpink:"255,182,193",lightsalmon:"255,160,122",lightseagreen:"32,178,170",lightskyblue:"135,206,250",lightslategray:"119,136,153",lightsteelblue:"176,196,222",lightyellow:"255,255,224",limegreen:"50,205,50",lime:"0,255,0",linen:"250,240,230",magenta:"255,0,255",maroon:"128,0,0",mediumaquamarine:"102,205,170",mediumblue:"0,0,205",mediumorchid:"186,85,211",mediumpurple:"147,112,219",mediumseagreen:"60,179,113",mediumslateblue:"123,104,238",mediumspringgreen:"0,250,154",mediumturquoise:"72,209,204",mediumvioletred:"199,21,133",midnightblue:"25,25,112",mintcream:"245,255,250",mistyrose:"255,228,225",moccasin:"255,228,181",navajowhite:"255,222,173",navy:"0,0,128",oldlace:"253,245,230",olivedrab:"107,142,35",olive:"128,128,0",orangered:"255,69,0",orange:"255,165,0",orchid:"218,112,214",palegoldenrod:"238,232,170",palegreen:"152,251,152",paleturquoise:"175,238,238",palevioletred:"219,112,147",papayawhip:"255,239,213",peachpuff:"255,218,185",peru:"205,133,63",pink:"255,192,203",plum:"221,160,221",powderblue:"176,224,230",purple:"128,0,128",red:"255,0,0",rosybrown:"188,143,143",royalblue:"65,105,225",saddlebrown:"139,69,19",salmon:"250,128,114",sandybrown:"244,164,96",seagreen:"46,139,87",seashell:"255,245,238",sienna:"160,82,45",silver:"192,192,192",skyblue:"135,206,235",slateblue:"106,90,205",slategray:"112,128,144",snow:"255,250,250",springgreen:"0,255,127",steelblue:"70,130,180",tan:"210,180,140",teal:"0,128,128",thistle:"216,191,216",tomato:"255,99,71",turquoise:"64,224,208",violet:"238,130,238",wheat:"245,222,179",whitesmoke:"245,245,245",white:"255,255,255",yellowgreen:"154,205,50",yellow:"255,255,0"}},Hooks:{templates:{textShadow:["Color X Y Blur","black 0px 0px 0px"],boxShadow:["Color X Y Blur Spread","black 0px 0px 0px 0px"],clip:["Top Right Bottom Left","0px 0px 0px 0px"],backgroundPosition:["X Y","0% 0%"],transformOrigin:["X Y Z","50% 50% 0px"],perspectiveOrigin:["X Y","50% 50%"]},registered:{},register:function(){for(var t=0;t<T.Lists.colors.length;t++){var e="color"===T.Lists.colors[t]?"0 0 0 1":"255 255 255 1";T.Hooks.templates[T.Lists.colors[t]]=["Red Green Blue Alpha",e]}var n,i,r;if(m)for(n in T.Hooks.templates)if(T.Hooks.templates.hasOwnProperty(n)){i=T.Hooks.templates[n],r=i[0].split(" ");var o=i[1].match(T.RegEx.valueSplit);"Color"===r[0]&&(r.push(r.shift()),o.push(o.shift()),T.Hooks.templates[n]=[r.join(" "),o.join(" ")])}for(n in T.Hooks.templates)if(T.Hooks.templates.hasOwnProperty(n)){i=T.Hooks.templates[n],r=i[0].split(" ");for(var a in r)if(r.hasOwnProperty(a)){var s=n+r[a],l=a;T.Hooks.registered[s]=[n,l]}}},getRoot:function(t){var e=T.Hooks.registered[t];return e?e[0]:t},getUnit:function(t,e){var n=(t.substr(e||0,5).match(/^[a-z%]+/)||[])[0]||"";return n&&b(T.Lists.units,n)?n:""},fixColors:function(t){return t.replace(/(rgba?\(\s*)?(\b[a-z]+\b)/g,function(t,e,n){return T.Lists.colorNames.hasOwnProperty(n)?(e||"rgba(")+T.Lists.colorNames[n]+(e?"":",1)"):e+n})},cleanRootPropertyValue:function(t,e){return T.RegEx.valueUnwrap.test(e)&&(e=e.match(T.RegEx.valueUnwrap)[1]),T.Values.isCSSNullValue(e)&&(e=T.Hooks.templates[t][1]),e},extractValue:function(t,e){var n=T.Hooks.registered[t];if(n){var i=n[0],r=n[1];return e=T.Hooks.cleanRootPropertyValue(i,e),e.toString().match(T.RegEx.valueSplit)[r]}return e},injectValue:function(t,e,n){var i=T.Hooks.registered[t];if(i){var r,o=i[0],a=i[1];return n=T.Hooks.cleanRootPropertyValue(o,n),r=n.toString().match(T.RegEx.valueSplit),r[a]=e,r.join(" ")}return n}},Normalizations:{registered:{clip:function(t,e,n){switch(t){case"name":return"clip";case"extract":var i;return T.RegEx.wrappedValueAlreadyExtracted.test(n)?i=n:(i=n.toString().match(T.RegEx.valueUnwrap),i=i?i[1].replace(/,(\s+)?/g," "):n),i;case"inject":return"rect("+n+")"}},blur:function(t,e,n){switch(t){case"name":return E.State.isFirefox?"filter":"-webkit-filter";case"extract":var i=parseFloat(n);if(!i&&0!==i){var r=n.toString().match(/blur\(([0-9]+[A-z]+)\)/i);i=r?r[1]:0}return i;case"inject":return parseFloat(n)?"blur("+n+")":"none"}},opacity:function(t,e,n){if(m<=8)switch(t){case"name":return"filter";case"extract":var i=n.toString().match(/alpha\(opacity=(.*)\)/i);return n=i?i[1]/100:1;case"inject":return e.style.zoom=1,parseFloat(n)>=1?"":"alpha(opacity="+parseInt(100*parseFloat(n),10)+")"}else switch(t){case"name":return"opacity";case"extract":case"inject":return n}}},register:function(){function t(t,e,n){if("border-box"===T.getPropertyValue(e,"boxSizing").toString().toLowerCase()===(n||!1)){var i,r,o=0,a="width"===t?["Left","Right"]:["Top","Bottom"],s=["padding"+a[0],"padding"+a[1],"border"+a[0]+"Width","border"+a[1]+"Width"];for(i=0;i<s.length;i++)r=parseFloat(T.getPropertyValue(e,s[i])),isNaN(r)||(o+=r);return n?-o:o}return 0}function e(e,n){return function(i,r,o){switch(i){case"name":return e;case"extract":return parseFloat(o)+t(e,r,n);case"inject":return parseFloat(o)-t(e,r,n)+"px"}}}m&&!(m>9)||E.State.isGingerbread||(T.Lists.transformsBase=T.Lists.transformsBase.concat(T.Lists.transforms3D));for(var n=0;n<T.Lists.transformsBase.length;n++)!function(){var t=T.Lists.transformsBase[n];T.Normalizations.registered[t]=function(e,n,r){switch(e){case"name":return"transform";case"extract":return a(n)===i||a(n).transformCache[t]===i?/^scale/i.test(t)?1:0:a(n).transformCache[t].replace(/[()]/g,"");case"inject":var o=!1;switch(t.substr(0,t.length-1)){case"translate":o=!/(%|px|em|rem|vw|vh|\d)$/i.test(r);break;case"scal":case"scale":E.State.isAndroid&&a(n).transformCache[t]===i&&r<1&&(r=1),o=!/(\d)$/i.test(r);break;case"skew":case"rotate":o=!/(deg|\d)$/i.test(r)}return o||(a(n).transformCache[t]="("+r+")"),a(n).transformCache[t]}}}();for(var r=0;r<T.Lists.colors.length;r++)!function(){var t=T.Lists.colors[r];T.Normalizations.registered[t]=function(e,n,r){switch(e){case"name":return t;case"extract":var o;if(T.RegEx.wrappedValueAlreadyExtracted.test(r))o=r;else{var a,s={black:"rgb(0, 0, 0)",blue:"rgb(0, 0, 255)",gray:"rgb(128, 128, 128)",green:"rgb(0, 128, 0)",red:"rgb(255, 0, 0)",white:"rgb(255, 255, 255)"};/^[A-z]+$/i.test(r)?a=s[r]!==i?s[r]:s.black:T.RegEx.isHex.test(r)?a="rgb("+T.Values.hexToRgb(r).join(" ")+")":/^rgba?\(/i.test(r)||(a=s.black),o=(a||r).toString().match(T.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g," ")}return(!m||m>8)&&3===o.split(" ").length&&(o+=" 1"),o;case"inject":return/^rgb/.test(r)?r:(m<=8?4===r.split(" ").length&&(r=r.split(/\s+/).slice(0,3).join(" ")):3===r.split(" ").length&&(r+=" 1"),(m<=8?"rgb":"rgba")+"("+r.replace(/\s+/g,",").replace(/\.(\d)+(?=,)/g,"")+")")}}}();T.Normalizations.registered.innerWidth=e("width",!0),T.Normalizations.registered.innerHeight=e("height",!0),T.Normalizations.registered.outerWidth=e("width"),T.Normalizations.registered.outerHeight=e("height")}},Names:{camelCase:function(t){return t.replace(/-(\w)/g,function(t,e){return e.toUpperCase()})},SVGAttribute:function(t){var e="width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";return(m||E.State.isAndroid&&!E.State.isChrome)&&(e+="|transform"),new RegExp("^("+e+")$","i").test(t)},prefixCheck:function(t){if(E.State.prefixMatches[t])return[E.State.prefixMatches[t],!0];for(var e=["","Webkit","Moz","ms","O"],n=0,i=e.length;n<i;n++){var r;if(r=0===n?t:e[n]+t.replace(/^\w/,function(t){return t.toUpperCase()}),_.isString(E.State.prefixElement.style[r]))return E.State.prefixMatches[t]=r,[r,!0]}return[t,!1]}},Values:{hexToRgb:function(t){var e,n=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;return t=t.replace(n,function(t,e,n,i){return e+e+n+n+i+i}),e=i.exec(t),e?[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]:[0,0,0]},isCSSNullValue:function(t){return!t||/^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(t)},getUnitType:function(t){return/^(rotate|skew)/i.test(t)?"deg":/(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(t)?"":"px"},getDisplayType:function(t){var e=t&&t.tagName.toString().toLowerCase();return/^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(e)?"inline":/^(li)$/i.test(e)?"list-item":/^(tr)$/i.test(e)?"table-row":/^(table)$/i.test(e)?"table":/^(tbody)$/i.test(e)?"table-row-group":"block"},addClass:function(t,e){if(t)if(t.classList)t.classList.add(e);else if(_.isString(t.className))t.className+=(t.className.length?" ":"")+e;else{var n=t.getAttribute(m<=7?"className":"class")||"";t.setAttribute("class",n+(n?" ":"")+e)}},removeClass:function(t,e){if(t)if(t.classList)t.classList.remove(e);else if(_.isString(t.className))t.className=t.className.toString().replace(new RegExp("(^|\\s)"+e.split(" ").join("|")+"(\\s|$)","gi")," ");else{var n=t.getAttribute(m<=7?"className":"class")||"";t.setAttribute("class",n.replace(new RegExp("(^|s)"+e.split(" ").join("|")+"(s|$)","gi")," "))}}},getPropertyValue:function(t,n,r,o){function s(t,n){var r=0;if(m<=8)r=h.css(t,n);else{var l=!1;/^(width|height)$/.test(n)&&0===T.getPropertyValue(t,"display")&&(l=!0,T.setPropertyValue(t,"display",T.Values.getDisplayType(t)));var u=function(){l&&T.setPropertyValue(t,"display","none")};if(!o){if("height"===n&&"border-box"!==T.getPropertyValue(t,"boxSizing").toString().toLowerCase()){var c=t.offsetHeight-(parseFloat(T.getPropertyValue(t,"borderTopWidth"))||0)-(parseFloat(T.getPropertyValue(t,"borderBottomWidth"))||0)-(parseFloat(T.getPropertyValue(t,"paddingTop"))||0)-(parseFloat(T.getPropertyValue(t,"paddingBottom"))||0);return u(),c}if("width"===n&&"border-box"!==T.getPropertyValue(t,"boxSizing").toString().toLowerCase()){var f=t.offsetWidth-(parseFloat(T.getPropertyValue(t,"borderLeftWidth"))||0)-(parseFloat(T.getPropertyValue(t,"borderRightWidth"))||0)-(parseFloat(T.getPropertyValue(t,"paddingLeft"))||0)-(parseFloat(T.getPropertyValue(t,"paddingRight"))||0);return u(),f}}var d;d=a(t)===i?e.getComputedStyle(t,null):a(t).computedStyle?a(t).computedStyle:a(t).computedStyle=e.getComputedStyle(t,null),"borderColor"===n&&(n="borderTopColor"),r=9===m&&"filter"===n?d.getPropertyValue(n):d[n],""!==r&&null!==r||(r=t.style[n]),u()}if("auto"===r&&/^(top|right|bottom|left)$/i.test(n)){var p=s(t,"position");("fixed"===p||"absolute"===p&&/top|left/i.test(n))&&(r=h(t).position()[n]+"px")}return r}var l;if(T.Hooks.registered[n]){var u=n,c=T.Hooks.getRoot(u);r===i&&(r=T.getPropertyValue(t,T.Names.prefixCheck(c)[0])),T.Normalizations.registered[c]&&(r=T.Normalizations.registered[c]("extract",t,r)),l=T.Hooks.extractValue(u,r)}else if(T.Normalizations.registered[n]){var f,d;f=T.Normalizations.registered[n]("name",t),"transform"!==f&&(d=s(t,T.Names.prefixCheck(f)[0]),T.Values.isCSSNullValue(d)&&T.Hooks.templates[n]&&(d=T.Hooks.templates[n][1])),l=T.Normalizations.registered[n]("extract",t,d)}if(!/^[\d-]/.test(l)){var p=a(t);if(p&&p.isSVG&&T.Names.SVGAttribute(n))if(/^(height|width)$/i.test(n))try{l=t.getBBox()[n]}catch(t){l=0}else l=t.getAttribute(n);else l=s(t,T.Names.prefixCheck(n)[0])}return T.Values.isCSSNullValue(l)&&(l=0),E.debug,l},setPropertyValue:function(t,n,i,r,o){var s=n;if("scroll"===n)o.container?o.container["scroll"+o.direction]=i:"Left"===o.direction?e.scrollTo(i,o.alternateValue):e.scrollTo(o.alternateValue,i);else if(T.Normalizations.registered[n]&&"transform"===T.Normalizations.registered[n]("name",t))T.Normalizations.registered[n]("inject",t,i),s="transform",i=a(t).transformCache[n];else{if(T.Hooks.registered[n]){var l=n,u=T.Hooks.getRoot(n);r=r||T.getPropertyValue(t,u),i=T.Hooks.injectValue(l,i,r),n=u}if(T.Normalizations.registered[n]&&(i=T.Normalizations.registered[n]("inject",t,i),n=T.Normalizations.registered[n]("name",t)),s=T.Names.prefixCheck(n)[0],m<=8)try{t.style[s]=i}catch(t){E.debug}else{var c=a(t);c&&c.isSVG&&T.Names.SVGAttribute(n)?t.setAttribute(n,i):t.style[s]=i}E.debug}return[s,i]},flushTransformCache:function(t){var e="",n=a(t);if((m||E.State.isAndroid&&!E.State.isChrome)&&n&&n.isSVG){var i=function(e){return parseFloat(T.getPropertyValue(t,e))},r={translate:[i("translateX"),i("translateY")],skewX:[i("skewX")],skewY:[i("skewY")],scale:1!==i("scale")?[i("scale"),i("scale")]:[i("scaleX"),i("scaleY")],rotate:[i("rotateZ"),0,0]};h.each(a(t).transformCache,function(t){/^translate/i.test(t)?t="translate":/^scale/i.test(t)?t="scale":/^rotate/i.test(t)&&(t="rotate"),r[t]&&(e+=t+"("+r[t].join(" ")+") ",delete r[t])})}else{var o,s;h.each(a(t).transformCache,function(n){if(o=a(t).transformCache[n],"transformPerspective"===n)return s=o,!0;9===m&&"rotateZ"===n&&(n="rotate"),e+=n+o+" "}),s&&(e="perspective"+s+" "+e)}T.setPropertyValue(t,"transform",e)}};T.Hooks.register(),T.Normalizations.register(),E.hook=function(t,e,n){var r;return t=o(t),h.each(t,function(t,o){if(a(o)===i&&E.init(o),n===i)r===i&&(r=T.getPropertyValue(o,e));else{var s=T.setPropertyValue(o,e,n);"transform"===s[0]&&E.CSS.flushTransformCache(o),r=s}}),r};var A=function t(){function r(){return m?A.promise||null:g}function u(t,r){function o(o){var c,p;if(l.begin&&0===O)try{l.begin.call(y,y)}catch(t){setTimeout(function(){throw t},1)}if("scroll"===N){var m,g,v,w=/^x$/i.test(l.axis)?"Left":"Top",C=parseFloat(l.offset)||0;l.container?_.isWrapped(l.container)||_.isNode(l.container)?(l.container=l.container[0]||l.container,m=l.container["scroll"+w],v=m+h(t).position()[w.toLowerCase()]+C):l.container=null:(m=E.State.scrollAnchor[E.State["scrollProperty"+w]],g=E.State.scrollAnchor[E.State["scrollProperty"+("Left"===w?"Top":"Left")]],v=h(t).offset()[w.toLowerCase()]+C),u={scroll:{rootPropertyValue:!1,startValue:m,currentValue:m,endValue:v,unitType:"",easing:l.easing,scrollData:{container:l.container,direction:w,alternateValue:g}},element:t},E.debug}else if("reverse"===N){if(!(c=a(t)))return;if(!c.tweensContainer)return void h.dequeue(t,l.queue);"none"===c.opts.display&&(c.opts.display="auto"),"hidden"===c.opts.visibility&&(c.opts.visibility="visible"),c.opts.loop=!1,c.opts.begin=null,c.opts.complete=null,S.easing||delete l.easing,S.duration||delete l.duration,l=h.extend({},c.opts,l),p=h.extend(!0,{},c?c.tweensContainer:null);for(var k in p)if(p.hasOwnProperty(k)&&"element"!==k){var D=p[k].startValue;p[k].startValue=p[k].currentValue=p[k].endValue,p[k].endValue=D,_.isEmptyObject(S)||(p[k].easing=l.easing),E.debug}u=p}else if("start"===N){c=a(t),c&&c.tweensContainer&&!0===c.isAnimating&&(p=c.tweensContainer);var P=function(r,o){var a,f=T.Hooks.getRoot(r),d=!1,m=o[0],g=o[1],v=o[2];if(!(c&&c.isSVG||"tween"===f||!1!==T.Names.prefixCheck(f)[1]||T.Normalizations.registered[f]!==i))return void E.debug;(l.display!==i&&null!==l.display&&"none"!==l.display||l.visibility!==i&&"hidden"!==l.visibility)&&/opacity|filter/.test(r)&&!v&&0!==m&&(v=0),l._cacheValues&&p&&p[r]?(v===i&&(v=p[r].endValue+p[r].unitType),d=c.rootPropertyValueCache[f]):T.Hooks.registered[r]?v===i?(d=T.getPropertyValue(t,f),v=T.getPropertyValue(t,r,d)):d=T.Hooks.templates[f][1]:v===i&&(v=T.getPropertyValue(t,r));var y,b,x,w=!1,S=function(t,e){var n,i;return i=(e||"0").toString().toLowerCase().replace(/[%A-z]+$/,function(t){return n=t,""}),n||(n=T.Values.getUnitType(t)),[i,n]};if(v!==m&&_.isString(v)&&_.isString(m)){a="";var C=0,A=0,I=[],O=[],k=0,D=0,N=0;for(v=T.Hooks.fixColors(v),m=T.Hooks.fixColors(m);C<v.length&&A<m.length;){var P=v[C],L=m[A];if(/[\d\.-]/.test(P)&&/[\d\.-]/.test(L)){for(var j=P,B=L,V=".",R=".";++C<v.length;){if((P=v[C])===V)V="..";else if(!/\d/.test(P))break;j+=P}for(;++A<m.length;){if((L=m[A])===R)R="..";else if(!/\d/.test(L))break;B+=L}var M=T.Hooks.getUnit(v,C),H=T.Hooks.getUnit(m,A);if(C+=M.length,A+=H.length,M===H)j===B?a+=j+M:(a+="{"+I.length+(D?"!":"")+"}"+M,I.push(parseFloat(j)),O.push(parseFloat(B)));else{var W=parseFloat(j),U=parseFloat(B);a+=(k<5?"calc":"")+"("+(W?"{"+I.length+(D?"!":"")+"}":"0")+M+" + "+(U?"{"+(I.length+(W?1:0))+(D?"!":"")+"}":"0")+H+")",W&&(I.push(W),O.push(0)),U&&(I.push(0),O.push(U))}}else{if(P!==L){k=0;break}a+=P,C++,A++,0===k&&"c"===P||1===k&&"a"===P||2===k&&"l"===P||3===k&&"c"===P||k>=4&&"("===P?k++:(k&&k<5||k>=4&&")"===P&&--k<5)&&(k=0),0===D&&"r"===P||1===D&&"g"===P||2===D&&"b"===P||3===D&&"a"===P||D>=3&&"("===P?(3===D&&"a"===P&&(N=1),D++):N&&","===P?++N>3&&(D=N=0):(N&&D<(N?5:4)||D>=(N?4:3)&&")"===P&&--D<(N?5:4))&&(D=N=0)}}C===v.length&&A===m.length||(E.debug,a=i),a&&(I.length?(E.debug,v=I,m=O,b=x=""):a=i)}a||(y=S(r,v),v=y[0],x=y[1],y=S(r,m),m=y[0].replace(/^([+-\/*])=/,function(t,e){return w=e,""}),b=y[1],v=parseFloat(v)||0,m=parseFloat(m)||0,"%"===b&&(/^(fontSize|lineHeight)$/.test(r)?(m/=100,b="em"):/^scale/.test(r)?(m/=100,b=""):/(Red|Green|Blue)$/i.test(r)&&(m=m/100*255,b="")));if(/[\/*]/.test(w))b=x;else if(x!==b&&0!==v)if(0===m)b=x;else{s=s||function(){var i={myParent:t.parentNode||n.body,position:T.getPropertyValue(t,"position"),fontSize:T.getPropertyValue(t,"fontSize")},r=i.position===F.lastPosition&&i.myParent===F.lastParent,o=i.fontSize===F.lastFontSize;F.lastParent=i.myParent,F.lastPosition=i.position,F.lastFontSize=i.fontSize;var a={};if(o&&r)a.emToPx=F.lastEmToPx,a.percentToPxWidth=F.lastPercentToPxWidth,a.percentToPxHeight=F.lastPercentToPxHeight;else{var s=c&&c.isSVG?n.createElementNS("http://www.w3.org/2000/svg","rect"):n.createElement("div");E.init(s),i.myParent.appendChild(s),h.each(["overflow","overflowX","overflowY"],function(t,e){E.CSS.setPropertyValue(s,e,"hidden")}),E.CSS.setPropertyValue(s,"position",i.position),E.CSS.setPropertyValue(s,"fontSize",i.fontSize),E.CSS.setPropertyValue(s,"boxSizing","content-box"),h.each(["minWidth","maxWidth","width","minHeight","maxHeight","height"],function(t,e){E.CSS.setPropertyValue(s,e,"100%")}),E.CSS.setPropertyValue(s,"paddingLeft","100em"),a.percentToPxWidth=F.lastPercentToPxWidth=(parseFloat(T.getPropertyValue(s,"width",null,!0))||1)/100,a.percentToPxHeight=F.lastPercentToPxHeight=(parseFloat(T.getPropertyValue(s,"height",null,!0))||1)/100,a.emToPx=F.lastEmToPx=(parseFloat(T.getPropertyValue(s,"paddingLeft"))||1)/100,i.myParent.removeChild(s)}return null===F.remToPx&&(F.remToPx=parseFloat(T.getPropertyValue(n.body,"fontSize"))||16),null===F.vwToPx&&(F.vwToPx=parseFloat(e.innerWidth)/100,F.vhToPx=parseFloat(e.innerHeight)/100),a.remToPx=F.remToPx,a.vwToPx=F.vwToPx,a.vhToPx=F.vhToPx,E.debug,a}();var q=/margin|padding|left|right|width|text|word|letter/i.test(r)||/X$/.test(r)||"x"===r?"x":"y";switch(x){case"%":v*="x"===q?s.percentToPxWidth:s.percentToPxHeight;break;case"px":break;default:v*=s[x+"ToPx"]}switch(b){case"%":v*=1/("x"===q?s.percentToPxWidth:s.percentToPxHeight);break;case"px":break;default:v*=1/s[b+"ToPx"]}}switch(w){case"+":m=v+m;break;case"-":m=v-m;break;case"*":m*=v;break;case"/":m=v/m}u[r]={rootPropertyValue:d,startValue:v,currentValue:v,endValue:m,unitType:b,easing:g},a&&(u[r].pattern=a),E.debug};for(var L in x)if(x.hasOwnProperty(L)){var j=T.Names.camelCase(L),B=function(e,n){var i,o,a;return _.isFunction(e)&&(e=e.call(t,r,I)),_.isArray(e)?(i=e[0],!_.isArray(e[1])&&/^[\d-]/.test(e[1])||_.isFunction(e[1])||T.RegEx.isHex.test(e[1])?a=e[1]:_.isString(e[1])&&!T.RegEx.isHex.test(e[1])&&E.Easings[e[1]]||_.isArray(e[1])?(o=n?e[1]:f(e[1],l.duration),a=e[2]):a=e[1]||e[2]):i=e,n||(o=o||l.easing),_.isFunction(i)&&(i=i.call(t,r,I)),_.isFunction(a)&&(a=a.call(t,r,I)),[i||0,o,a]}(x[L]);if(b(T.Lists.colors,j)){var V=B[0],M=B[1],H=B[2];if(T.RegEx.isHex.test(V)){for(var W=["Red","Green","Blue"],U=T.Values.hexToRgb(V),q=H?T.Values.hexToRgb(H):i,z=0;z<W.length;z++){var $=[U[z]];M&&$.push(M),q!==i&&$.push(q[z]),P(j+W[z],$)}continue}}P(j,B)}u.element=t}u.element&&(T.Values.addClass(t,"velocity-animating"),R.push(u),c=a(t),c&&(""===l.queue&&(c.tweensContainer=u,c.opts=l),c.isAnimating=!0),O===I-1?(E.State.calls.push([R,y,l,null,A.resolver,null,0]),!1===E.State.isTicking&&(E.State.isTicking=!0,d())):O++)}var s,l=h.extend({},E.defaults,S),u={};switch(a(t)===i&&E.init(t),parseFloat(l.delay)&&!1!==l.queue&&h.queue(t,l.queue,function(e){E.velocityQueueEntryFlag=!0;var n=E.State.delayedElements.count++;E.State.delayedElements[n]=t;var i=function(t){return function(){E.State.delayedElements[t]=!1,e()}}(n);a(t).delayBegin=(new Date).getTime(),a(t).delay=parseFloat(l.delay),a(t).delayTimer={setTimeout:setTimeout(e,parseFloat(l.delay)),next:i}}),l.duration.toString().toLowerCase()){case"fast":l.duration=200;break;case"normal":l.duration=w;break;case"slow":l.duration=600;break;default:l.duration=parseFloat(l.duration)||1}if(!1!==E.mock&&(!0===E.mock?l.duration=l.delay=1:(l.duration*=parseFloat(E.mock)||1,l.delay*=parseFloat(E.mock)||1)),l.easing=f(l.easing,l.duration),l.begin&&!_.isFunction(l.begin)&&(l.begin=null),l.progress&&!_.isFunction(l.progress)&&(l.progress=null),l.complete&&!_.isFunction(l.complete)&&(l.complete=null),l.display!==i&&null!==l.display&&(l.display=l.display.toString().toLowerCase(),"auto"===l.display&&(l.display=E.CSS.Values.getDisplayType(t))),l.visibility!==i&&null!==l.visibility&&(l.visibility=l.visibility.toString().toLowerCase()),l.mobileHA=l.mobileHA&&E.State.isMobile&&!E.State.isGingerbread,!1===l.queue)if(l.delay){var c=E.State.delayedElements.count++;E.State.delayedElements[c]=t;var p=function(t){return function(){E.State.delayedElements[t]=!1,o()}}(c);a(t).delayBegin=(new Date).getTime(),a(t).delay=parseFloat(l.delay),a(t).delayTimer={setTimeout:setTimeout(o,parseFloat(l.delay)),next:p}}else o();else h.queue(t,l.queue,function(t,e){if(!0===e)return A.promise&&A.resolver(y),!0;E.velocityQueueEntryFlag=!0,o(t)});""!==l.queue&&"fx"!==l.queue||"inprogress"===h.queue(t)[0]||h.dequeue(t)}var c,m,g,v,y,x,S,C=arguments[0]&&(arguments[0].p||h.isPlainObject(arguments[0].properties)&&!arguments[0].properties.names||_.isString(arguments[0].properties));_.isWrapped(this)?(m=!1,v=0,y=this,g=this):(m=!0,v=1,y=C?arguments[0].elements||arguments[0].e:arguments[0]);var A={promise:null,resolver:null,rejecter:null};if(m&&E.Promise&&(A.promise=new E.Promise(function(t,e){A.resolver=t,A.rejecter=e})),C?(x=arguments[0].properties||arguments[0].p,S=arguments[0].options||arguments[0].o):(x=arguments[v],S=arguments[v+1]),!(y=o(y)))return void(A.promise&&(x&&S&&!1===S.promiseRejectEmpty?A.resolver():A.rejecter()));var I=y.length,O=0;if(!/^(stop|finish|finishAll|pause|resume)$/i.test(x)&&!h.isPlainObject(S)){var k=v+1;S={};for(var D=k;D<arguments.length;D++)_.isArray(arguments[D])||!/^(fast|normal|slow)$/i.test(arguments[D])&&!/^\d/.test(arguments[D])?_.isString(arguments[D])||_.isArray(arguments[D])?S.easing=arguments[D]:_.isFunction(arguments[D])&&(S.complete=arguments[D]):S.duration=arguments[D]}var N;switch(x){case"scroll":N="scroll";break;case"reverse":N="reverse";break;case"pause":var P=(new Date).getTime();return h.each(y,function(t,e){s(e,P)}),h.each(E.State.calls,function(t,e){var n=!1;e&&h.each(e[1],function(t,r){var o=S===i?"":S;return!0!==o&&e[2].queue!==o&&(S!==i||!1!==e[2].queue)||(h.each(y,function(t,i){if(i===r)return e[5]={resume:!1},n=!0,!1}),!n&&void 0)})}),r();case"resume":return h.each(y,function(t,e){l(e,P)}),h.each(E.State.calls,function(t,e){var n=!1;e&&h.each(e[1],function(t,r){var o=S===i?"":S;return!0!==o&&e[2].queue!==o&&(S!==i||!1!==e[2].queue)||(!e[5]||(h.each(y,function(t,i){if(i===r)return e[5].resume=!0,n=!0,!1}),!n&&void 0))})}),r();case"finish":case"finishAll":case"stop":h.each(y,function(t,e){a(e)&&a(e).delayTimer&&(clearTimeout(a(e).delayTimer.setTimeout),a(e).delayTimer.next&&a(e).delayTimer.next(),delete a(e).delayTimer),"finishAll"!==x||!0!==S&&!_.isString(S)||(h.each(h.queue(e,_.isString(S)?S:""),function(t,e){_.isFunction(e)&&e()}),h.queue(e,_.isString(S)?S:"",[]))});var L=[];return h.each(E.State.calls,function(t,e){e&&h.each(e[1],function(n,r){var o=S===i?"":S;if(!0!==o&&e[2].queue!==o&&(S!==i||!1!==e[2].queue))return!0;h.each(y,function(n,i){if(i===r)if((!0===S||_.isString(S))&&(h.each(h.queue(i,_.isString(S)?S:""),function(t,e){_.isFunction(e)&&e(null,!0)}),h.queue(i,_.isString(S)?S:"",[])),"stop"===x){var s=a(i);s&&s.tweensContainer&&!1!==o&&h.each(s.tweensContainer,function(t,e){e.endValue=e.currentValue}),L.push(t)}else"finish"!==x&&"finishAll"!==x||(e[2].duration=1)})})}),"stop"===x&&(h.each(L,function(t,e){p(e,!0)}),A.promise&&A.resolver(y)),r();default:if(!h.isPlainObject(x)||_.isEmptyObject(x)){if(_.isString(x)&&E.Redirects[x]){c=h.extend({},S);var j=c.duration,B=c.delay||0;return!0===c.backwards&&(y=h.extend(!0,[],y).reverse()),h.each(y,function(t,e){parseFloat(c.stagger)?c.delay=B+parseFloat(c.stagger)*t:_.isFunction(c.stagger)&&(c.delay=B+c.stagger.call(e,t,I)),c.drag&&(c.duration=parseFloat(j)||(/^(callout|transition)/.test(x)?1e3:w),c.duration=Math.max(c.duration*(c.backwards?1-t/I:(t+1)/I),.75*c.duration,200)),E.Redirects[x].call(e,e,c||{},t,I,y,A.promise?A:i)}),r()}var V="Velocity: First argument ("+x+") was not a property map, a known action, or a registered redirect. Aborting.";return A.promise?A.rejecter(new Error(V)):e.console,r()}N="start"}var F={lastParent:null,lastPosition:null,lastFontSize:null,lastPercentToPxWidth:null,lastPercentToPxHeight:null,lastEmToPx:null,remToPx:null,vwToPx:null,vhToPx:null},R=[];h.each(y,function(t,e){_.isNode(e)&&u(e,t)}),c=h.extend({},E.defaults,S),c.loop=parseInt(c.loop,10);var M=2*c.loop-1;if(c.loop)for(var H=0;H<M;H++){var W={delay:c.delay,progress:c.progress};H===M-1&&(W.display=c.display,W.visibility=c.visibility,W.complete=c.complete),t(y,"reverse",W)}return r()};E=h.extend(A,E),E.animate=A;var I=e.requestAnimationFrame||g;if(!E.State.isMobile&&n.hidden!==i){var O=function(){n.hidden?(I=function(t){return setTimeout(function(){t(!0)},16)},d()):I=e.requestAnimationFrame||g};O(),n.addEventListener("visibilitychange",O)}return t.Velocity=E,t!==e&&(t.fn.velocity=A,t.fn.velocity.defaults=E.defaults),h.each(["Down","Up"],function(t,e){E.Redirects["slide"+e]=function(t,n,r,o,a,s){var l=h.extend({},n),u=l.begin,c=l.complete,f={},d={height:"",marginTop:"",marginBottom:"",paddingTop:"",paddingBottom:""};l.display===i&&(l.display="Down"===e?"inline"===E.CSS.Values.getDisplayType(t)?"inline-block":"block":"none"),l.begin=function(){0===r&&u&&u.call(a,a);for(var n in d)if(d.hasOwnProperty(n)){f[n]=t.style[n];var i=T.getPropertyValue(t,n);d[n]="Down"===e?[i,0]:[0,i]}f.overflow=t.style.overflow,t.style.overflow="hidden"},l.complete=function(){for(var e in f)f.hasOwnProperty(e)&&(t.style[e]=f[e]);r===o-1&&(c&&c.call(a,a),s&&s.resolver(a))},E(t,d,l)}}),h.each(["In","Out"],function(t,e){E.Redirects["fade"+e]=function(t,n,r,o,a,s){var l=h.extend({},n),u=l.complete,c={opacity:"In"===e?1:0};0!==r&&(l.begin=null),l.complete=r!==o-1?null:function(){u&&u.call(a,a),s&&s.resolver(a)},l.display===i&&(l.display="In"===e?"auto":"none"),E(this,c,l)}}),E}(window.jQuery||window.Zepto||window,window,window?window.document:void 0)})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}n(25),n(20),n(22),n(19),n(18),n(8),n(13),n(16),n(17),n(7);var r=n(2),o=i(r),a=n(10),s=i(a),l=n(3),u=i(l),c=n(11),f=i(c),d=n(12),p=i(d),h=n(1),m=i(h),g=n(21),v=i(g);n(14),n(15),n(9);for(var y in v.default.prototype)m.default[y]=v.default.prototype[y];$(document).ready(function(){var t=$(".js-dropdown"),e=new s.default,n=$('.js-top-menu ul[data-depth="0"]'),i=new o.default(t),r=new p.default(n),a=new u.default,l=new f.default;
20i.init(),e.init(),r.init(),a.init(),l.init()})},function(t,e){},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(){a.default.each((0,a.default)(u),function(t,e){(0,a.default)(e).TouchSpin({verticalbuttons:!0,verticalupclass:"material-icons touchspin-up",verticaldownclass:"material-icons touchspin-down",buttondown_class:"btn btn-touchspin js-touchspin js-increase-product-quantity",buttonup_class:"btn btn-touchspin js-touchspin js-decrease-product-quantity",min:parseInt((0,a.default)(e).attr("min"),10),max:1e6})}),p.switchErrorStat()}var o=n(0),a=i(o),s=n(1),l=i(s);l.default.cart=l.default.cart||{},l.default.cart.active_inputs=null;var u='input[name="product-quantity-spin"]',c=!1,f=!1,d="";(0,a.default)(document).ready(function(){function t(t){return"on.startupspin"===t||"on.startdownspin"===t}function e(t){return"on.startupspin"===t}function n(t){var e=t.parents(".bootstrap-touchspin").find(h);return e.is(":focus")?null:e}function i(t){var e=t.split("-"),n=void 0,i=void 0,r="";for(n=0;n<e.length;n++)i=e[n],0!==n&&(i=i.substring(0,1).toUpperCase()+i.substring(1)),r+=i;return r}function o(r,o){if(!t(o))return{url:r.attr("href"),type:i(r.data("link-action"))};var a=n(r);if(a){return e(o)?{url:a.data("up-url"),type:"increaseProductQuantity"}:{url:a.data("down-url"),type:"decreaseProductQuantity"}}}function s(t,e,n){return v(),a.default.ajax({url:t,method:"POST",data:e,dataType:"json",beforeSend:function(t){m.push(t)}}).then(function(t){p.checkUpdateOpertation(t),n.val(t.quantity);var e;e=n&&n.dataset?n.dataset:t,l.default.emit("updateCart",{reason:e,resp:t})}).fail(function(t){l.default.emit("handleError",{eventType:"updateProductQuantityInCart",resp:t})})}function c(t){return{ajax:"1",qty:Math.abs(t),action:"update",op:f(t)}}function f(t){return t>0?"up":"down"}function d(t){var e=(0,a.default)(t.currentTarget),n=e.data("update-url"),i=e.attr("value"),r=e.val();if(r!=parseInt(r)||r<0||isNaN(r))return void e.val(i);var o=r-i;0!==o&&(e.attr("value",r),s(n,c(o),e))}var h=".js-cart-line-product-quantity",m=[];l.default.on("updateCart",function(){(0,a.default)(".quickview").modal("hide")}),l.default.on("updatedCart",function(){r()}),r();var g=(0,a.default)("body"),v=function(){for(var t;m.length>0;)t=m.pop(),t.abort()},y=function(t){return(0,a.default)(t.parents(".bootstrap-touchspin").find("input"))},b=function(t){t.preventDefault();var e=(0,a.default)(t.currentTarget),n=t.currentTarget.dataset,i=o(e,t.namespace),r={ajax:"1",action:"update"};void 0!==i&&(v(),a.default.ajax({url:i.url,method:"POST",data:r,dataType:"json",beforeSend:function(t){m.push(t)}}).then(function(t){p.checkUpdateOpertation(t),y(e).val(t.quantity),l.default.emit("updateCart",{reason:n,resp:t})}).fail(function(t){l.default.emit("handleError",{eventType:"updateProductInCart",resp:t,cartAction:i.type})}))};g.on("click",'[data-link-action="delete-from-cart"], [data-link-action="remove-voucher"]',b),g.on("touchspin.on.startdownspin",u,b),g.on("touchspin.on.startupspin",u,b),g.on("focusout keyup",h,function(t){if("keyup"===t.type)return 13===t.keyCode&&d(t),!1;d(t)});g.on("hidden.bs.collapse","#promo-code",function(){(0,a.default)(".display-promo").show(400)}),g.on("click",".promo-code-button",function(t){t.preventDefault(),(0,a.default)("#promo-code").collapse("toggle")}),g.on("click",".display-promo",function(t){(0,a.default)(t.currentTarget).hide(400)}),g.on("click",".js-discount .code",function(t){t.stopPropagation();var e=(0,a.default)(t.currentTarget);return(0,a.default)("[name=discount_name]").val(e.text()),(0,a.default)("#promo-code").collapse("show"),(0,a.default)(".display-promo").hide(400),!1})});var p={switchErrorStat:function(){var t=(0,a.default)(".checkout a");if(((0,a.default)("#notifications article.alert-danger").length||""!==d&&!c)&&t.addClass("disabled"),""!==d){var e=' <article class="alert alert-danger" role="alert" data-alert="danger"><ul><li>'+d+"</li></ul></article>";(0,a.default)("#notifications .container").html(e),d="",f=!1,c&&t.removeClass("disabled")}else!c&&f&&(c=!1,f=!1,(0,a.default)("#notifications .container").html(""),t.removeClass("disabled"))},checkUpdateOpertation:function(t){c=t.hasOwnProperty("hasError");var e=t.errors||"";d=e instanceof Array?e.join(" "):e,f=!0}}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(){(0,s.default)(".js-terms a").on("click",function(t){t.preventDefault();var e=(0,s.default)(t.target).attr("href");e&&(e+="?content_only=1",s.default.get(e,function(t){(0,s.default)("#modal").find(".js-modal-content").html((0,s.default)(t).find(".page-cms").contents())}).fail(function(t){u.default.emit("handleError",{eventType:"clickTerms",resp:t})})),(0,s.default)("#modal").modal("show")}),(0,s.default)(".js-gift-checkbox").on("click",function(t){(0,s.default)("#gift").collapse("toggle")})}function o(){(0,s.default)(".card-block .cart-summary-products p a").on("click",function(t){t=(0,s.default)(this).find("i.material-icons"),"expand_more"==t.text()?t.text("exp
20and_less"):t.text("expand_more")})}var a=n(0),s=i(a),l=n(1),u=i(l);(0,s.default)(document).ready(function(){1===(0,s.default)("body#checkout").length&&(r(),o()),u.default.on("updatedDeliveryForm",function(t){void 0!==t.deliveryOption&&0!==t.deliveryOption.length&&((0,s.default)(".carrier-extra-content").hide(),t.deliveryOption.next(".carrier-extra-content").slideDown())})})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}var r=n(1),o=i(r),a=n(0),s=i(a);o.default.blockcart=o.default.blockcart||{},o.default.blockcart.showModal=function(t){function e(){return(0,s.default)("#blockcart-modal")}var n=e();n.length&&n.remove(),(0,s.default)("body").append(t),n=e(),n.modal("show").on("hidden.bs.modal",function(t){o.default.emit("updateProduct",{reason:t.currentTarget.dataset,event:t})})}},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=n(0),a=function(t){return t&&t.__esModule?t:{default:t}}(o),s=function(){function t(){i(this,t)}return r(t,[{key:"init",value:function(){this.parentFocus(),this.togglePasswordVisibility()}},{key:"parentFocus",value:function(){(0,a.default)(".js-child-focus").focus(function(){(0,a.default)(this).closest(".js-parent-focus").addClass("focus")}),(0,a.default)(".js-child-focus").focusout(function(){(0,a.default)(this).closest(".js-parent-focus").removeClass("focus")})}},{key:"togglePasswordVisibility",value:function(){(0,a.default)('button[data-action="show-password"]').on("click",function(){var t=(0,a.default)(this).closest(".input-group").children("input.js-visible-password");"password"===t.attr("type")?(t.attr("type","text"),(0,a.default)(this).text((0,a.default)(this).data("textHide"))):(t.attr("type","password"),(0,a.default)(this).text((0,a.default)(this).data("textShow")))})}}]),t}();e.default=s,t.exports=e.default},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=n(0),a=function(t){return t&&t.__esModule?t:{default:t}}(o);n(4);var s=function(){function t(){i(this,t)}return r(t,[{key:"init",value:function(){var t=this,e=(0,a.default)(".js-modal-arrows"),n=(0,a.default)(".js-modal-product-images");(0,a.default)("body").on("click",".js-modal-thumb",function(t){(0,a.default)(".js-modal-thumb").hasClass("selected")&&(0,a.default)(".js-modal-thumb").removeClass("selected"),(0,a.default)(t.currentTarget).addClass("selected"),(0,a.default)(".js-modal-product-cover").attr("src",(0,a.default)(t.target).data("image-large-src")),(0,a.default)(".js-modal-product-cover").attr("title",(0,a.default)(t.target).attr("title")),(0,a.default)(".js-modal-product-cover").attr("alt",(0,a.default)(t.target).attr("alt"))}).on("click","aside#thumbnails",function(t){"thumbnails"==t.target.id&&(0,a.default)("#product-modal").modal("hide")}),(0,a.default)(".js-modal-product-images li").length<=5?e.css("opacity",".2"):e.on("click",function(e){(0,a.default)(e.target).hasClass("arrow-up")&&n.position().top<0?(t.move("up"),(0,a.default)(".js-modal-arrow-down").css("opacity","1")):(0,a.default)(e.target).hasClass("arrow-down")&&n.position().top+n.height()>(0,a.default)(".js-modal-mask").height()&&(t.move("down"),(0,a.default)(".js-modal-arrow-up").css("opacity","1"))})}},{key:"move",value:function(t){var e=(0,a.default)(".js-modal-product-images"),n=(0,a.default)(".js-modal-product-images li img").height()+10,i=e.position().top;e.velocity({translateY:"up"===t?i+n:i-n},function(){e.position().top>=0?(0,a.default)(".js-modal-arrow-up").css("opacity",".2"):e.position().top+e.height()<=(0,a.default)(".js-modal-mask").height()&&(0,a.default)(".js-modal-arrow-down").css("opacity",".2")})}}]),t}();
20e.default=s,t.exports=e.default},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),s=function(t,e,n){for(var i=!0;i;){var r=t,o=e,a=n;i=!1,null===r&&(r=Function.prototype);var s=Object.getOwnPropertyDescriptor(r,o);if(void 0!==s){if("value"in s)return s.value;var l=s.get;if(void 0===l)return;return l.call(a)}var u=Object.getPrototypeOf(r);if(null===u)return;t=u,e=o,n=a,i=!0,s=u=void 0}},l=n(0),u=i(l),c=n(2),f=i(c),d=function(t){function e(){r(this,e),s(Object.getPrototypeOf(e.prototype),"constructor",this).apply(this,arguments)}return o(e,t),a(e,[{key:"init",value:function(){var t=this,n=void 0,i=this;this.el.find("li").hover(function(e){t.el.parent().hasClass("mobile")||(n!==(0,u.default)(e.currentTarget).attr("id")&&(0===(0,u.default)(e.target).data("depth")&&(0,u.default)("#"+n+" .js-sub-menu").hide(),n=(0,u.default)(e.currentTarget).attr("id")),n&&0===(0,u.default)(e.target).data("depth")&&(0,u.default)("#"+n+" .js-sub-menu").css({top:(0,u.default)("#"+n).height()+(0,u.default)("#"+n).position().top}))}),(0,u.default)("#menu-icon").on("click",function(){(0,u.default)("#mobile_top_menu_wrapper").toggle(),i.toggleMobileMenu()}),(0,u.default)(".js-top-menu .category").mouseleave(function(){t.el.parent().hasClass("mobile")}),this.el.on("click",function(e){t.el.parent().hasClass("mobile")||e.stopPropagation()}),prestashop.on("responsive update",function(t){(0,u.default)(".js-sub-menu").removeAttr("style"),i.toggleMobileMenu()}),s(Object.getPrototypeOf(e.prototype),"init",this).call(this)}},{key:"toggleMobileMenu",value:function(){(0,u.default)("#header").toggleClass("is-open"),(0,u.default)("#mobile_top_menu_wrapper").is(":visible")?(0,u.default)("#notifications, #wrapper, #footer").hide():(0,u.default)("#notifications, #wrapper, #footer").show()}}]),e}(f.default);e.default=d,t.exports=e.default},function(t,e,n){"use strict";function i(){(0,a.default)("#order-return-form table thead input[type=checkbox]").on("click",function(){var t=(0,a.default)(this).prop("checked");(0,a.default)("#order-return-form table tbody input[type=checkbox]").each(function(e,n){(0,a.default)(n).prop("checked",t)})})}function r(){(0,a.default)("body#order-detail")&&i()}var o=n(0),a=function(t){return t&&t.__esModule?t:{default:t}}(o);(0,a.default)(document).ready(r)},function(t,e,n){"use strict";!function(t){var e=0,n=function(e,n){this.options=n,this.$elementFilestyle=[],this.$element=t(e)};n.prototype={clear:function(){this.$element.val(""),this.$elementFilestyle.find(":text").val(""),this.$elementFilestyle.find(".badge").remove()},destroy:function(){this.$element.removeAttr("style").removeData("filestyle"),this.$elementFilestyle.remove()},disabled:function(t){if(!0===t)this.options.disabled||(this.$element.attr("disabled","true"),this.$elementFilestyle.find("label").attr("disabled","true"),this.options.disabled=!0);else{if(!1!==t)return this.options.disabled;this.options.disabled&&(this.$element.removeAttr("disabled"),this.$elementFilestyle.find("label").removeAttr("disabled"),this.options.disabled=!1)}},buttonBefore:function(t){if(!0===t)this.options.buttonBefore||(this.options.buttonBefore=!0,this.options.input&&(this.$elementFilestyle.remove(),this.constructor(),this.pushNameFiles()));else{if(!1!==t)return this.options.buttonBefore;this.options.buttonBefore&&(this.options.buttonBefore=!1,this.options.input&&(this.$elementFilestyle.remove(),this.constructor(),this.pushNameFiles()))}},icon:function(t){if(!0===t)this.options.icon||(this.options.icon=!0,this.$elementFilestyle.find("label").prepend(this.htmlIcon()));else{if(!1!==t)return this.options.icon;this.options.icon&&(this.options.icon=!1,this.$elementFilestyle.find(".
20icon-span-filestyle").remove())}},input:function(t){if(!0===t)this.options.input||(this.options.input=!0,this.options.buttonBefore?this.$elementFilestyle.append(this.htmlInput()):this.$elementFilestyle.prepend(this.htmlInput()),this.$elementFilestyle.find(".badge").remove(),this.pushNameFiles(),this.$elementFilestyle.find(".group-span-filestyle").addClass("input-group-btn"));else{if(!1!==t)return this.options.input;if(this.options.input){this.options.input=!1,this.$elementFilestyle.find(":text").remove();var e=this.pushNameFiles();e.length>0&&this.options.badge&&this.$elementFilestyle.find("label").append(' <span class="badge">'+e.length+"</span>"),this.$elementFilestyle.find(".group-span-filestyle").removeClass("input-group-btn")}}},size:function(t){if(void 0===t)return this.options.size;var e=this.$elementFilestyle.find("label"),n=this.$elementFilestyle.find("input");e.removeClass("btn-lg btn-sm"),n.removeClass("input-lg input-sm"),"nr"!=t&&(e.addClass("btn-"+t),n.addClass("input-"+t))},placeholder:function(t){if(void 0===t)return this.options.placeholder;this.options.placeholder=t,this.$elementFilestyle.find("input").attr("placeholder",t)},buttonText:function(t){if(void 0===t)return this.options.buttonText;this.options.buttonText=t,this.$elementFilestyle.find("label .buttonText").html(this.options.buttonText)},buttonName:function(t){if(void 0===t)return this.options.buttonName;this.options.buttonName=t,this.$elementFilestyle.find("label").attr({class:"btn "+this.options.buttonName})},iconName:function(t){if(void 0===t)return this.options.iconName;this.$elementFilestyle.find(".icon-span-filestyle").attr({class:"icon-span-filestyle "+this.options.iconName})},htmlIcon:function(){return this.options.icon?'<span class="icon-span-filestyle '+this.options.iconName+'"></span> ':""},htmlInput:function(){return this.options.input?'<input type="text" class="form-control '+("nr"==this.options.size?"":"input-"+this.options.size)+'" placeholder="'+this.options.placeholder+'" disabled> ':""},pushNameFiles:function(){var t="",e=[];void 0===this.$element[0].files?e[0]={name:this.$element[0]&&this.$element[0].value}:e=this.$element[0].files;for(var n=0;n<e.length;n++)t+=e[n].name.split("\\").pop()+", ";return""!==t?this.$elementFilestyle.find(":text").val(t.replace(/\, $/g,"")):this.$elementFilestyle.find(":text").val(""),e},constructor:function(){var n=this,i="",r=n.$element.attr("id"),o="";""!==r&&r||(r="filestyle-"+e,n.$element.attr({id:r}),e++),o='<span class="group-span-filestyle '+(n.options.input?"input-group-btn":"")+'"><label for="'+r+'" class="btn '+n.options.buttonName+" "+("nr"==n.options.size?"":"btn-"+n.options.size)+'" '+(n.options.disabled?'disabled="true"':"")+">"+n.htmlIcon()+'<span class="buttonText">'+n.options.buttonText+"</span></label></span>",i=n.options.buttonBefore?o+n.htmlInput():n.htmlInput()+o,n.$elementFilestyle=t('<div class="bootstrap-filestyle input-group">'+i+"</div>"),n.$elementFilestyle.find(".group-span-filestyle").attr("tabindex","0").keypress(function(t){if(13===t.keyCode||32===t.charCode)return n.$elementFilestyle.find("label").click(),!1}),n.$element.css({position:"absolute",clip:"rect(0px 0px 0px 0px)"}).attr("tabindex","-1").after(n.$elementFilestyle),n.options.disabled&&n.$element.attr("disabled","true"),n.$element.change(function(){var t=n.pushNameFiles();0==n.options.input&&n.options.badge?0==n.$elementFilestyle.find(".badge").length?n.$elementFilestyle.find("label").append(' <span class="badge">'+t.length+"</span>"):0==t.length?n.$elementFilestyle.find(".badge").remove():n.$elementFilestyle.find(".badge").html(t.length):n.$elementFilestyle.find(".badge").remove()}
20),window.navigator.userAgent.search(/firefox/i)>-1&&n.$elementFilestyle.find("label").click(function(){return n.$element.click(),!1})}};var i=t.fn.filestyle;t.fn.filestyle=function(e,i){var r="",o=this.each(function(){if("file"===t(this).attr("type")){var o=t(this),a=o.data("filestyle"),s=t.extend({},t.fn.filestyle.defaults,e,"object"==typeof e&&e);a||(o.data("filestyle",a=new n(this,s)),a.constructor()),"string"==typeof e&&(r=a[e](i))}});return void 0!==typeof r?r:o},t.fn.filestyle.defaults={buttonText:"Choose file",iconName:"glyphicon glyphicon-folder-open",buttonName:"btn-default",size:"nr",input:!0,badge:!0,icon:!0,buttonBefore:!1,disabled:!1,placeholder:""},t.fn.filestyle.noConflict=function(){return t.fn.filestyle=i,this},t(function(){t(".filestyle").each(function(){var e=t(this),n={input:"false"!==e.attr("data-input"),icon:"false"!==e.attr("data-icon"),buttonBefore:"true"===e.attr("data-buttonBefore"),disabled:"true"===e.attr("data-disabled"),size:e.attr("data-size"),buttonText:e.attr("data-buttonText"),buttonName:e.attr("data-buttonName"),iconName:e.attr("data-iconName"),badge:"false"!==e.attr("data-badge"),placeholder:e.attr("data-placeholder")};e.filestyle(n)})})}(window.jQuery)},function(t,e,n){"use strict";!function(t){t.fn.scrollbox=function(e){var n={linear:!1,startDelay:2,delay:3,step:5,speed:32,switchItems:1,direction:"vertical",distance:"auto",autoPlay:!0,onMouseOverPause:!0,paused:!1,queue:null,listElement:"ul",listItemElement:"li",infiniteLoop:!0,switchAmount:0,afterForward:null,afterBackward:null,triggerStackable:!1};return e=t.extend(n,e),e.scrollOffset="vertical"===e.direction?"scrollTop":"scrollLeft",e.queue&&(e.queue=t("#"+e.queue)),this.each(function(){var n,i,r,o,a,s,l,u,c,f=t(this),d=null,p=null,h=!1,m=0,g=0;e.onMouseOverPause&&(f.bind("mouseover",function(){h=!0}),f.bind("mouseout",function(){h=!1})),n=f.children(e.listElement+":first-child"),!1===e.infiniteLoop&&0===e.switchAmount&&(e.switchAmount=n.children().length),s=function(){if(!h){var r,a,s,l,u;if(r=n.children(e.listItemElement+":first-child"),l="auto"!==e.distance?e.distance:"vertical"===e.direction?r.outerHeight(!0):r.outerWidth(!0),e.linear?s=Math.min(f[0][e.scrollOffset]+e.step,l):(u=Math.max(3,parseInt(.3*(l-f[0][e.scrollOffset]),10)),s=Math.min(f[0][e.scrollOffset]+u,l)),f[0][e.scrollOffset]=s,s>=l){for(a=0;a<e.switchItems;a++)e.queue&&e.queue.find(e.listItemElement).length>0?(n.append(e.queue.find(e.listItemElement)[0]),n.children(e.listItemElement+":first-child").remove()):n.append(n.children(e.listItemElement+":first-child")),++m;if(f[0][e.scrollOffset]=0,clearInterval(d),d=null,t.isFunction(e.afterForward)&&e.afterForward.call(f,{switchCount:m,currentFirstChild:n.children(e.listItemElement+":first-child")}),e.triggerStackable&&0!==g)return void i();if(!1===e.infiniteLoop&&m>=e.switchAmount)return;e.autoPlay&&(p=setTimeout(o,1e3*e.delay))}}},l=function(){if(!h){var r,a,s,l,u;if(0===f[0][e.scrollOffset]){for(a=0;a<e.switchItems;a++)n.children(e.listItemElement+":last-child").insertBefore(n.children(e.listItemElement+":first-child"));r=n.children(e.listItemElement+":first-child"),l="auto"!==e.distance?e.distance:"vertical"===e.direction?r.height():r.width(),f[0][e.scrollOffset]=l}if(e.linear?s=Math.max(f[0][e.scrollOffset]-e.step,0):(u=Math.max(3,parseInt(.3*f[0][e.scrollOffset],10)),s=Math.max(f[0][e.scrollOffset]-u,0)),f[0][e.scrollOffset]=s,0===s){if(--m,clearInterval(d),d=null,t.isFunction(e.afterBackward)&&e.afterBackward.call(f,{switchCount:m,currentFirstChild:n.children(e.listItemElement+":first-child")}),e.triggerStackable&&0!==g)return void i();e.autoPlay&&(p=setTimeout(o,1e3*e.delay))}}},i=function(){0!==g&&(g>0?(g--,p=setTimeout(o,0)):(g++,p=setTimeout(r,0)))},o=function(){clearInterval(d),d=setInterval(s,e.speed)},r=function(){clearInterval(d),d=setInterval(l,e.speed)},u=function(){e.autoPlay=!0,h=!1,clearInterval(d),d=setInterval(s,e.speed)},c=function(){h=!0},a=function(t){e.delay=t||e.delay,clearTimeout(p),e.autoPlay&&(p=setTimeout(o,1e3*e.delay))},e.autoPlay&&(p=setTimeout(o,1e3*e.startDelay)),f.bind("resetClock",function(t){a(t)}),f.bind("forward",function(){e.triggerStackable?null!==d?g++:o():(clearTimeout(p),o())}),f.bind("backward",function(){e.triggerStackable?null!==d?g--:r():(clearTimeout(p),r())}),f.bind("pauseHover",function(){c()}),f.bind("forwardHover",function(){u()}),f.bind("speedUp",function(t,n){"undefined"===n&&(n=Math.max(1,parseInt(e.speed/2,10))),e.speed=n}),f.bind("speedDown",function(t,n){"undefined"===n&&(n=2*e.speed),e.speed=n}),f.bind("updateConfig",function(n,i){e=t.extend(e,i)})})}}(jQuery)},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t){(0,a.default)("#search_filters").replaceWith(t.rendered_facets),(0,a.default)("#js-active-search-filters").replaceWith(t.rendered_active_filters),(0,a.default)("#js-product-list-top").replaceWith(t.rendered_products_top),(0,a.default)("#js-product-list").replaceWith(t.rendered_products),(0,a.default)("#js-product-list-bottom").replaceWith(t.rendered_products_bottom),t.rendered_products_header&&(0,a.default)("#js-product-list-header").replaceWith(t.rendered_products_header),(new c.default).init()}var o=n(0),a=i(o),s=n(1),l=i(s);n(4);var u=n(3),c=i(u);(0,a.default)(document).ready(function(){l.default.on("clickQuickView",function(e){var n={action:"quickview",id_product:e.dataset.idProduct,id_product_attribute:e.dataset.idProductAttribute};a.default.post(l.default.urls.pages.product,n,null,"json").then(function(e){(0,a.default)("body").append(e.quickview_html);var n=(0,a.default)("#quickview-modal-"+e.product.id+"-"+e.product.id_product_attribute);n.modal("show"),t(n),n.on("hidden.bs.modal",function(){n.remove()})}).fail(function(t){l.default.emit("handleError",{eventType:"clickQuickView",resp:t})})});var t=function(t){var n=(0,a.default)(".js-arrows"),i=t.find(".js-qv-product-images");(0,a.default)(".js-thumb").on("click",function(t){(0,a.default)(".js-thumb").hasClass("selected")&&(0,a.default)(".js-thumb").removeClass("selected"),(0,a.default)(t.currentTarget).addClass("selected"),(0,a.default)(".js-qv-product-cover").attr("src",(0,a.default)(t.target).data("image-large-src"))}),i.find("li").length<=4?n.hide():n.on("click",function(t){(0,a.default)(t.target).hasClass("arrow-up")&&(0,a.default)(".js-qv-product-images").position().top<0?(e("up"),(0,a.default)(".arrow-down").css("opacity","1")):(0,a.default)(t.target).hasClass("arrow-down")&&i.position().top+i.height()>(0,a.default)(".js-qv-mask").height()&&(e("down"),(0,a.default)(".arrow-up").css("opacity","1"))}),t.find("#quantity_wanted").TouchSpin({verticalbuttons:!0,verticalupclass:"material-icons touchspin-up",verticaldownclass:"material-icons touchspin-down",buttondown_class:"btn btn-touchspin js-touchspin",buttonup_class:"btn btn-touchspin js-touchspin",min:1,max:1e6})},e=function(t){var e=(0,a.default)(".js-qv-product-images"),n=(0,a.default)(".js-qv-product-images li img").height()+20,i=e.position().top;e.velocity({translateY:"up"===t?i+n:i-n},function(){e.position().top>=0?(0,a.default)(".arrow-up").css("opacity",".2"):e.position().top+e.height()<=(0,a.default)(".js-qv-mask").height()&&(0,a.default)(".arrow-down").css("opacity",".2")})};(0,a.default)("body").on("click","#search_filter_toggler",function(){(0,a.default)("#search_filters_wrapper").removeClass("hidden-sm-down"),(0,a.default)("#content-wrapper").addClass("hidden-sm-down"),(0,a.default)("#footer").addClass("hidden-sm-down")}),(0,a.default)("#search_filter_controls .clear").on("click",function(){(0,a.default)("#search_filters_wrapper").addClass("hidden-sm-down"),(0,a.default)("#content-wrapper").removeClass("hidden-sm-down"),(0,a.default)("#footer").removeClass("hidden-sm-down")}),(0,a.default)("#search_filter_controls .ok").on("click",function(){(0,a.default)("#search_filters_wrapper").addClass("hidden-sm-down"),(0,a.default)("#content-wrapper").removeClass("hidden-sm-down"),(0,a.default)("#footer").removeClass("hidden-sm-down")});var n=function(t){if(void 0!==t.target.dataset.searchUrl)return t.target.dataset.searchUrl;if(void 0===(0,a.default)(t.target).parent()[0].dataset.searchUrl)throw new Error("Can not parse search U
20RL");return(0,a.default)(t.target).parent()[0].dataset.searchUrl};(0,a.default)("body").on("change","#search_filters input[data-search-url]",function(t){l.default.emit("updateFacets",n(t))}),(0,a.default)("body").on("click",".js-search-filters-clear-all",function(t){l.default.emit("updateFacets",n(t))}),(0,a.default)("body").on("click",".js-search-link",function(t){t.preventDefault(),l.default.emit("updateFacets",(0,a.default)(t.target).closest("a").get(0).href)}),(0,a.default)("body").on("change","#search_filters select",function(t){var e=(0,a.default)(t.target).closest("form");l.default.emit("updateFacets","?"+e.serialize())}),l.default.on("updateProductList",function(t){r(t),window.scrollTo(0,0)})})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}var r=n(0),o=i(r),a=n(1),s=i(a);(0,o.default)(document).ready(function(){function t(){(0,o.default)(".js-thumb").on("click",function(t){(0,o.default)(".js-modal-product-cover").attr("src",(0,o.default)(t.target).data("image-large-src")),(0,o.default)(".selected").removeClass("selected"),(0,o.default)(t.target).addClass("selected"),(0,o.default)(".js-qv-product-cover").prop("src",(0,o.default)(t.currentTarget).data("image-large-src"))})}function e(){(0,o.default)("#main .js-qv-product-images li").length>2?((0,o.default)("#main .js-qv-mask").addClass("scroll"),(0,o.default)(".scroll-box-arrows").addClass("scroll"),(0,o.default)("#main .js-qv-mask").scrollbox({direction:"h",distance:113,autoPlay:!1}),(0,o.default)(".scroll-box-arrows .left").click(function(){(0,o.default)("#main .js-qv-mask").trigger("backward")}),(0,o.default)(".scroll-box-arrows .right").click(function(){(0,o.default)("#main .js-qv-mask").trigger("forward")})):((0,o.default)("#main .js-qv-mask").removeClass("scroll"),(0,o.default)(".scroll-box-arrows").removeClass("scroll"))}function n(){(0,o.default)(".js-file-input").on("change",function(t){var e=void 0,n=void 0;(e=(0,o.default)(t.currentTarget)[0])&&(n=e.files[0])&&(0,o.default)(e).prev().text(n.name)})}!function(){var t=(0,o.default)("#quantity_wanted");t.TouchSpin({verticalbuttons:!0,verticalupclass:"material-icons touchspin-up",verticaldownclass:"material-icons touchspin-down",buttondown_class:"btn btn-touchspin js-touchspin",buttonup_class:"btn btn-touchspin js-touchspin",min:parseInt(t.attr("min"),10),max:1e6}),(0,o.default)("body").on("change keyup","#quantity_wanted",function(t){(0,o.default)(t.currentTarget).trigger("touchspin.stopspin"),s.default.emit("updateProduct",{eventType:"updatedProductQuantity",event:t})})}(),n(),t(),e(),s.default.on("updatedProduct",function(i){if(n(),t(),i&&i.product_minimal_quantity){var r=parseInt(i.product_minimal_quantity,10);(0,o.default)("#quantity_wanted").trigger("touchspin.updatesettings",{min:r})}e(),(0,o.default)((0,o.default)(".tabs .nav-link.active").attr("href")).addClass("active").removeClass("fade"),(0,o.default)(".js-product-images-modal").replaceWith(i.product_images_modal)})})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){var n=e.children().detach();e.empty().append(t.children().detach()),t.append(n)}function o(){u.default.responsive.mobile?(0,s.default)("*[id^='_desktop_']").each(function(t,e){var n=(0,s.default)("#"+e.id.replace("_desktop_","_mobile_"));n.length&&r((0,s.default)(e),n)}):(0,s.default)("*[id^='_mobile_']").each(function(t,e){var n=(0,s.default)("#"+e.id.replace("_mobile_","_desktop_"));n.length&&r((0,s.default)(e),n)}),u.default.emit("responsive update",{mobile:u.default.responsive.mobile})}var a=n(0),s=i(a),l=n(1),u=i(l);u.default.responsive=u.default.responsive||{},u.default.responsive.current_width=window.innerWidth,u.default.responsive.min_width=768,u.default.responsive.mobile=u.default.responsive.current_width<u.default.responsive.min_width,(0,s.default)(window).on("resize",function(){var t=u.default.responsive.current_width,e=u.default.responsive.min_width,n=window.innerWidth,i=t>=e&&n<e||t<e&&n>=e;u.default.responsive.current_width=n,u.default.responsive.mobile=u.default.responsive.current_width<u.default.responsive.min_width,i&&o()}),(0,s.default)(document).ready(function(){u.default.responsive.mobile&&o()})},function(t,e,n){"use strict";!function(t){function e(t,e){return t+".touchspin_"+e}function n(n,i){return t.map(n,function(t){return e(t,i)})}var i=0;t.fn.TouchSpin=function(e){if("destroy"===e)return void this.each(function(){var e=t(this),i=e.data();t(document).off(n(["mouseup","touchend","touchcancel","mousemove","touchmove","scroll","scrollstart"],i.spinnerid).join(" "))});var r={min:0,max:100,initval:"",replacementval:"",step:1,decimals:0,stepinterval:100,forcestepdivisibility:"round",stepintervaldelay:500,verticalbuttons:!1,verticalupclass:"glyphicon glyphicon-chevron-up",verticaldownclass:"glyphicon glyphicon-chevron-down",prefix:"",postfix:"",prefix_extraclass:"",postfix_extraclass:"",booster:!0,boostat:10,maxboostedstep:!1,mousewheel:!0,buttondown_class:"btn btn-default",buttonup_class:"btn btn-default",buttondown_txt:"-",buttonup_txt:"+"},o={min:"min",max:"max",initval:"init-val",replacementval:"replacement-val",step:"step",decimals:"decimals",stepinterval:"step-interval",verticalbuttons:"vertical-buttons",verticalupclass:"vertical-up-class",verticaldownclass:"vertical-down-class",forcestepdivisibility:"force-step-divisibility",stepintervaldelay:"step-interval-delay",prefix:"prefix",postfix:"postfix",prefix_extraclass:"prefix-extra-class",postfix_extraclass:"postfix-extra-class",booster:"booster",boostat:"boostat",maxboostedstep:"max-boosted-step",mousewheel:"mouse-wheel",buttondown_class:"button-down-class",buttonup_class:"button-up-class",buttondown_txt:"button-down-txt",buttonup_txt:"button-up-txt"};return this.each(function(){function a(){""!==T.initval&&""===L.val()&&L.val(T.initval)}function s(t){c(t),b();var e=I.input.val();""!==e&&(e=Number(I.input.val()),I.input.val(e.toFixed(T.decimals)))}function l(){T=t.extend({}
20,r,j,u(),e)}function u(){var e={};return t.each(o,function(t,n){var i="bts-"+n;L.is("[data-"+i+"]")&&(e[t]=L.data(i))}),e}function c(e){T=t.extend({},T,e)}function f(){var t=L.val(),e=L.parent();""!==t&&(t=Number(t).toFixed(T.decimals)),L.data("initvalue",t).val(t),L.addClass("form-control"),e.hasClass("input-group")?d(e):p()}function d(e){e.addClass("bootstrap-touchspin");var n,i,r=L.prev(),o=L.next(),a='<span class="input-group-addon bootstrap-touchspin-prefix">'+T.prefix+"</span>",s='<span class="input-group-addon bootstrap-touchspin-postfix">'+T.postfix+"</span>";r.hasClass("input-group-btn")?(n='<button class="'+T.buttondown_class+' bootstrap-touchspin-down" type="button">'+T.buttondown_txt+"</button>",r.append(n)):(n='<span class="input-group-btn"><button class="'+T.buttondown_class+' bootstrap-touchspin-down" type="button">'+T.buttondown_txt+"</button></span>",t(n).insertBefore(L)),o.hasClass("input-group-btn")?(i='<button class="'+T.buttonup_class+' bootstrap-touchspin-up" type="button">'+T.buttonup_txt+"</button>",o.prepend(i)):(i='<span class="input-group-btn"><button class="'+T.buttonup_class+' bootstrap-touchspin-up" type="button">'+T.buttonup_txt+"</button></span>",t(i).insertAfter(L)),t(a).insertBefore(L),t(s).insertAfter(L),A=e}function p(){var e;e=T.verticalbuttons?'<div class="input-group bootstrap-touchspin"><span class="input-group-addon bootstrap-touchspin-prefix">'+T.prefix+'</span><span class="input-group-addon bootstrap-touchspin-postfix">'+T.postfix+'</span><span class="input-group-btn-vertical"><button class="'+T.buttondown_class+' bootstrap-touchspin-up" type="button"><i class="'+T.verticalupclass+'"></i></button><button class="'+T.buttonup_class+' bootstrap-touchspin-down" type="button"><i class="'+T.verticaldownclass+'"></i></button></span></div>':'<div class="input-group bootstrap-touchspin"><span class="input-group-btn"><button class="'+T.buttondown_class+' bootstrap-touchspin-down" type="button">'+T.buttondown_txt+'</button></span><span class="input-group-addon bootstrap-touchspin-prefix">'+T.prefix+'</span><span class="input-group-addon bootstrap-touchspin-postfix">'+T.postfix+'</span><span class="input-group-btn"><button class="'+T.buttonup_class+' bootstrap-touchspin-up" type="button">'+T.buttonup_txt+"</button></span></div>",A=t(e).insertBefore(L),t(".bootstrap-touchspin-prefix",A).after(L),L.hasClass("input-sm")?A.addClass("input-group-sm"):L.hasClass("input-lg")&&A.addClass("input-group-lg")}function h(){I={down:t(".bootstrap-touchspin-down",A),up:t(".bootstrap-touchspin-up",A),input:t("input",A),prefix:t(".bootstrap-touchspin-prefix",A).addClass(T.prefix_extraclass),postfix:t(".bootstrap-touchspin-postfix",A).addClass(T.postfix_extraclass)}}function m(){""===T.prefix&&I.prefix.hide(),""===T.postfix&&I.postfix.hide()}function g(){L.on("keydown",function(t){var e=t.keyCode||t.which;38===e?("up"!==V&&(x(),E()),t.preventDefault()):40===e&&("down"!==V&&(w(),S()),t.preventDefault())}),L.on("keyup",function(t){var e=t.keyCode||t.which;38===e?C():40===e&&C()}),L.on("blur",function(){b()}),I.down.on("keydown",function(t){var e=t.keyCode||t.which;32!==e&&13!==e||("down"!==V&&(w(),S()),t.preventDefault())}),I.down.on("keyup",function(t){var e=t.keyCode||t.which;32!==e&&13!==e||C()}),I.up.on("keydown",function(t){var e=t.keyCode||t.which;32!==e&&13!==e||("up"!==V&&(x(),E()),t.preventDefault())}),I.up.on("keyup",function(t){var e=t.keyCode||t.which;32!==e&&13!==e||C()}),I.down.on("mousedown.touchspin",function(t){I.down.off("touchstart.touchspin"),L.is(":disabled")||(w(),S(),t.preventDefault(),t.stopPropagation())}),I.down.on("touchstart.touchspin",function(t){I.down.off("mousedown.touchspin"),L.is(":disabled")||(w(),S(),t.preventDefault(),t.stopPropagation())}),I.up.on("mousedown.touchspin",function(t){I.up.off("touchstart.touchspin"),L.is(":disabled")||(x(),E(),t.preventDefault(),t.stopPropagation())}),I.up.on("touchstart.touchspin",function(t){I.up.off("mousedown.touchspin"),L.is(":disabled")||(x(),E(),t.preventDefault(),t.stopPropagation())}),I.up.on("mouseout touchleave touchend touchcancel",function(t){V&&(t.stopPropagation(),C())}),I.down.on("mouseout touchleave touchend touchcancel",function(t){V&&(t.stopPropagation(),C())}),I.down.on("mousemove touchmove",function(t){V&&(t.stopPropagation(),t.preventDefault())}),I.up.on("mousemove touchmove",function(t){V&&(t.stopPropagation(),t.preventDefault())}),t(document).on(n(["mouseup","touchend","touchcancel"],i).join(" "),function(t){V&&(t.preventDefault(),C())}),t(document).on(n(["mousemove","touchmove","scroll","scrollstart"],i).join(" "),function(t){V&&(t.preventDefault(),C())}),L.on("mousewheel DOMMouseScroll",function(t){if(T.mousewheel&&L.is(":focus")){var e=t.originalEvent.wheelDelta||-t.originalEvent.deltaY||-t.originalEvent.detail;t.stopPropagation(),t.preventDefault(),e<0?w():x()}})}function v(){L.on("touchspin.uponce",function(){C(),x()}),L.on("touchspin.downonce",function(){C(),w()}),L.on("touchspin.startupspin",function(){E()}),L.on("touchspin.startdownspin",function(){S()}),L.on("touchspin.stopspin",function(){C()}),L.on("touchspin.updatesettings",function(t,e){s(e)})}function y(t){switch(T.forcestepdivisibility){case"round":return(Math.round(t/T.step)*T.step).toFixed(T.decimals);case"floor":return(Math.floor(t/T.step)*T.step).toFixed(T.decimals);case"ceil":return(Math.ceil(t/T.step)*T.step).toFixed(T.decimals);default:return t}}function b(){var t,e,n;if(""===(t=L.val()))return void(""!==T.replacementval&&(L.val(T.replacementval),L.trigger("change")));T.decimals>0&&"."===t||(e=parseFloat(t),isNaN(e)&&(e=""!==T.replacementval?T.replacementval:0),n=e,e.toString()!==t&&(n=e),e<T.min&&(n=T.min),e>T.max&&(n=T.max),n=y(n),Number(t).toString()!==n.toString()&&(L.val(n),L.trigger("change")))}function _(){if(T.booster){var t=Math.pow(2,Math.floor(B/T.boostat))*T.step;return T.maxboostedstep&&t>T.maxboostedstep&&(t=T.maxboostedstep,O=Math.round(O/t)*t),Math.max(T.step,t)}
20return T.step}function x(){b(),O=parseFloat(I.input.val()),isNaN(O)&&(O=0);var t=O,e=_();O+=e,O>T.max&&(O=T.max,L.trigger("touchspin.on.max"),C()),I.input.val(Number(O).toFixed(T.decimals)),t!==O&&L.trigger("change")}function w(){b(),O=parseFloat(I.input.val()),isNaN(O)&&(O=0);var t=O,e=_();O-=e,O<T.min&&(O=T.min,L.trigger("touchspin.on.min"),C()),I.input.val(O.toFixed(T.decimals)),t!==O&&L.trigger("change")}function S(){C(),B=0,V="down",L.trigger("touchspin.on.startspin"),L.trigger("touchspin.on.startdownspin"),N=setTimeout(function(){k=setInterval(function(){B++,w()},T.stepinterval)},T.stepintervaldelay)}function E(){C(),B=0,V="up",L.trigger("touchspin.on.startspin"),L.trigger("touchspin.on.startupspin"),P=setTimeout(function(){D=setInterval(function(){B++,x()},T.stepinterval)},T.stepintervaldelay)}function C(){switch(clearTimeout(N),clearTimeout(P),clearInterval(k),clearInterval(D),V){case"up":L.trigger("touchspin.on.stopupspin"),L.trigger("touchspin.on.stopspin");break;case"down":L.trigger("touchspin.on.stopdownspin"),L.trigger("touchspin.on.stopspin")}B=0,V=!1}var T,A,I,O,k,D,N,P,L=t(this),j=L.data(),B=0,V=!1;!function(){L.data("alreadyinitialized")||(L.data("alreadyinitialized",!0),i+=1,L.data("spinnerid",i),L.is("input")&&(l(),a(),b(),f(),h(),m(),g(),v(),I.input.css("display","block")))}()})}}(jQuery)},function(t,e,n){"use strict";if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),function(){function t(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function e(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=function(t){function e(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(t){return(t[0]||t).nodeType}function i(){return{bindType:a.end,delegateType:a.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}}function r(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in s)if(void 0!==t.style[e])return{end:s[e]};return!1}function o(e){var n=this,i=!1;return t(this).one(l.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||l.triggerTransitionEnd(n)},e),this}var a=!1,s={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},l={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");return e||(e=t.getAttribute("href")||"",e=/^#[a-z]/i.test(e)?e:null),e},reflow:function(t){new Function("bs","return bs")(t.offsetHeight)},triggerTransitionEnd:function(e){t(e).trigger(a.end)},supportsTransitionEnd:function(){return Boolean(a)},typeCheckConfig:function(t,i,r){for(var o in r)if(r.hasOwnProperty(o)){var a=r[o],s=i[o],l=void 0;if(l=s&&n(s)?"element":e(s),!new RegExp(a).test(l))throw new Error(t.toUpperCase()+': Option "'+o+'" provided type "'+l+'" but expected type "'+a+'".')}}};return function(){a=r(),t.fn.emulateTransitionEnd=o,l.supportsTransitionEnd()&&(t.event.special[l.TRANSITION_END]=i())}(),l}(jQuery),a=(function(t){var e="alert",i="bs.alert",a="."+i,s=t.fn[e],l={DISMISS:'[data-dismiss="alert"]'},u={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},c={ALERT:"alert",FADE:"fade",IN:"in"},f=function(){function e(t){n(this,e),this._element=t}return e.prototype.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.prototype.dispose=function(){t.removeData(this._element,i),this._element=null},e.prototype._getRootElement=function(e){var n=o.getSelectorFromElement(e),i=!1;return n&&(i=t(n)[0]),i||(i=t(e).closest("."+c.ALERT)[0]),i},e.prototype._triggerCloseEvent=function(e){var n=t.Event(u.CLOSE);return t(e).trigger(n),n},e.prototype._removeElement=function(e){return t(e).removeClass(c.IN),o.supportsTransitionEnd()&&t(e).hasClass(c.FADE)?void t(e).one(o.TRANSITION_END,t.proxy(this._destroyElement,this,e)).emulateTransitionEnd(150):void this._destroyElement(e)},e.prototype._destroyElement=function(e){t(e).detach().trigger(u.CLOSED).remove()},e._jQueryInterface=function(n){return this.each(function(){var r=t(this),o=r.data(i);o||(o=new e(this),r.data(i,o)),"close"===n&&o[n](this)})},e._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},r(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}}]),e}();t(document).on(u.CLICK_DATA_API,l.DISMISS,f._handleDismiss(new f)),t.fn[e]=f._jQueryInterface,t.fn[e].Constructor=f,t.fn[e].noConflict=function(){return t.fn[e]=s,f._jQueryInterface}}(jQuery),function(t){var e="button",i="bs.button",o="."+i,a=".data-api",s=t.fn[e],l={ACTIVE:"active",BUTTON:"bt
20n",FOCUS:"focus"},u={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},c={CLICK_DATA_API:"click"+o+a,FOCUS_BLUR_DATA_API:"focus"+o+a+" blur"+o+a},f=function(){function e(t){n(this,e),this._element=t}return e.prototype.toggle=function(){var e=!0,n=t(this._element).closest(u.DATA_TOGGLE)[0];if(n){var i=t(this._element).find(u.INPUT)[0];if(i){if("radio"===i.type)if(i.checked&&t(this._element).hasClass(l.ACTIVE))e=!1;else{var r=t(n).find(u.ACTIVE)[0];r&&t(r).removeClass(l.ACTIVE)}e&&(i.checked=!t(this._element).hasClass(l.ACTIVE),t(this._element).trigger("change")),i.focus()}}else this._element.setAttribute("aria-pressed",!t(this._element).hasClass(l.ACTIVE));e&&t(this._element).toggleClass(l.ACTIVE)},e.prototype.dispose=function(){t.removeData(this._element,i),this._element=null},e._jQueryInterface=function(n){return this.each(function(){var r=t(this).data(i);r||(r=new e(this),t(this).data(i,r)),"toggle"===n&&r[n]()})},r(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}}]),e}();t(document).on(c.CLICK_DATA_API,u.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var n=e.target;t(n).hasClass(l.BUTTON)||(n=t(n).closest(u.BUTTON)),f._jQueryInterface.call(t(n),"toggle")}).on(c.FOCUS_BLUR_DATA_API,u.DATA_TOGGLE_CARROT,function(e){var n=t(e.target).closest(u.BUTTON)[0];t(n).toggleClass(l.FOCUS,/^focus(in)?$/.test(e.type))}),t.fn[e]=f._jQueryInterface,t.fn[e].Constructor=f,t.fn[e].noConflict=function(){return t.fn[e]=s,f._jQueryInterface}}(jQuery),function(t){var e="carousel",a="bs.carousel",s="."+a,l=".data-api",u=t.fn[e],c={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},f={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},d={NEXT:"next",PREVIOUS:"prev"},p={SLIDE:"slide"+s,SLID:"slid"+s,KEYDOWN:"keydown"+s,MOUSEENTER:"mouseenter"+s,MOUSELEAVE:"mouseleave"+s,LOAD_DATA_API:"load"+s+l,CLICK_DATA_API:"click"+s+l},h={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"right",LEFT:"left",ITEM:"carousel-item"},m={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".next, .prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},g=function(){function l(e,i){n(this,l),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this._config=this._getConfig(i),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(m.INDICATORS)[0],this._addEventListeners()}return l.prototype.next=function(){this._isSliding||this._slide(d.NEXT)},l.prototype.nextWhenVisible=function(){document.hidden||this.next()},l.prototype.prev=function(){this._isSliding||this._slide(d.PREVIOUS)},l.prototype.pause=function(e){e||(this._isPaused=!0),t(this._element).find(m.NEXT_PREV)[0]&&o.supportsTransitionEnd()&&(o.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},l.prototype.cycle=function(e){e||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval(t.proxy(document.visibilityState?this.nextWhenVisible:this.next,this),this._config.interval))},l.prototype.to=function(e){var n=this;this._activeElement=t(this._element).find(m.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0)){if(this._isSliding)return void t(this._element).one(p.SLID,function(){return n.to(e)});if(i===e)return this.pause(),void this.cycle();var r=e>i?d.NEXT:d.PREVIOUS;this._slide(r,this._items[e])}},l.prototype.dispose=function(){t(this._element).off(s),t.removeData(this._element,a),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},l.prototype._getConfig=function(n){return n=t.extend({},c,n),o.typeCheckConfig(e,n,f),n},l.prototype._addEventListeners=function(){this._config.keyboard&&t(this._element).on(p.KEYDOWN,t.proxy(this._key
20down,this)),"hover"!==this._config.pause||"ontouchstart"in document.documentElement||t(this._element).on(p.MOUSEENTER,t.proxy(this.pause,this)).on(p.MOUSELEAVE,t.proxy(this.cycle,this))},l.prototype._keydown=function(t){if(t.preventDefault(),!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}},l.prototype._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(m.ITEM)),this._items.indexOf(e)},l.prototype._getItemByDirection=function(t,e){var n=t===d.NEXT,i=t===d.PREVIOUS,r=this._getItemIndex(e),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return e;var a=t===d.PREVIOUS?-1:1,s=(r+a)%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},l.prototype._triggerSlideEvent=function(e,n){var i=t.Event(p.SLIDE,{relatedTarget:e,direction:n});return t(this._element).trigger(i),i},l.prototype._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(m.ACTIVE).removeClass(h.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(h.ACTIVE)}},l.prototype._slide=function(e,n){var i=this,r=t(this._element).find(m.ACTIVE_ITEM)[0],a=n||r&&this._getItemByDirection(e,r),s=Boolean(this._interval),l=e===d.NEXT?h.LEFT:h.RIGHT;if(a&&t(a).hasClass(h.ACTIVE))return void(this._isSliding=!1);if(!this._triggerSlideEvent(a,l).isDefaultPrevented()&&r&&a){this._isSliding=!0,s&&this.pause(),this._setActiveIndicatorElement(a);var u=t.Event(p.SLID,{relatedTarget:a,direction:l});o.supportsTransitionEnd()&&t(this._element).hasClass(h.SLIDE)?(t(a).addClass(e),o.reflow(a),t(r).addClass(l),t(a).addClass(l),t(r).one(o.TRANSITION_END,function(){t(a).removeClass(l).removeClass(e),t(a).addClass(h.ACTIVE),t(r).removeClass(h.ACTIVE).removeClass(e).removeClass(l),i._isSliding=!1,setTimeout(function(){return t(i._element).trigger(u)},0)}).emulateTransitionEnd(600)):(t(r).removeClass(h.ACTIVE),t(a).addClass(h.ACTIVE),this._isSliding=!1,t(this._element).trigger(u)),s&&this.cycle()}},l._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),r=t.extend({},c,t(this).data());"object"===(void 0===e?"undefined":i(e))&&t.extend(r,e);var o="string"==typeof e?e:r.slide;if(n||(n=new l(this,r),t(this).data(a,n)),"number"==typeof e)n.to(e);else if("string"==typeof o){if(void 0===n[o])throw new Error('No method named "'+o+'"');n[o]()}else r.interval&&(n.pause(),n.cycle())})},l._dataApiClickHandler=function(e){var n=o.getSelectorFromElement(this);if(n){var i=t(n)[0];if(i&&t(i).hasClass(h.CAROUSEL)){var r=t.extend({},t(i).data(),t(this).data()),s=this.getAttribute("data-slide-to");s&&(r.interval=!1),l._jQueryInterface.call(t(i),r),s&&t(i).data(a).to(s),e.preventDefault()}}},r(l,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}},{key:"Default",get:function(){return c}}]),l}();t(document).on(p.CLICK_DATA_API,m.DATA_SLIDE,g._dataApiClickHandler),t(window).on(p.LOAD_DATA_API,function(){t(m.DATA_RIDE).each(function(){var e=t(this);g._jQueryInterface.call(e,e.data())})}),t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=u,g._jQueryInterface}}(jQuery),function(t){var e="collapse",a="bs.collapse",s="."+a,l=t.fn[e],u={toggle:!0,parent:""},c={toggle:"boolean",parent:"string"},f={SHOW:"show"+s,SHOWN:"shown"+s,HIDE:"hide"+s,HIDDEN:"hidden"+s,CLICK_DATA_API:"click"+s+".data-api"},d={IN:"in",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},p={WIDTH:"width",HEIGHT:"height"},h={ACTIVES:".card > .in, .card > .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},m=function(){function s(e,i){n(this,s),this._isTransitioning=!1,this._element=e,this._config=this._getConfig(i),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]')),this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}return s.prototype.toggle=function(){t(this._element).hasClass(d.IN)?this.hide():this.show()},s.prototype.show=function(){var e=this;if(!this._isTransitioning&&!t(this._element).hasClass(d.IN)){var n=void 0,i=void 0;if(this._parent&&(n=t.makeArray(t(h.ACTIVES)),n.length||(n=null)),!(n&&(i=t(n).data(a))&&i._isTransitioning)){var r=t.Event(f.SHOW);if(t(this._element).trigger(r),!r.isDefaultPrevented()){n&&(s._jQueryInterface.call(t(n),"hide"),i||t(n).data(a,null));var l=this._getDimension();t(this._element).removeClass(d.COLLAPSE).addClass(d.COLLAPSING),this._element.style[l]=0,this._element.setAttribute("aria-expanded",!0),this._triggerArray.length&&t(this._triggerArray).removeClass(d.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var u=function(){t(e._element).removeClass(d.COLLAPSING).addClass(d.COLLAPSE).addClass(d.IN),e._element.style[l]="",e.setTransitioning(!1),t(e._element).trigger(f.SHOWN)};if(!o.supportsTransitionEnd())return void u();var c=l[0].toUpperCase()+l.slice(1),p="scroll"+c;t(this._element).one(o.TRANSITION_END,u).emulateTransitionEnd(600),this._element.style[l]=this._element[p]+"px"}}}},s.prototype.hide=function(){var e=this;if(!this._isTransitioning&&t(this._element).hasClass(d.IN)){var n=t.Event(f.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension(),r=i===p.WIDTH?"offsetWidth":"offsetHeight";this._element.style[i]=this._element[r]+"px",o.reflow(this._element),t(this._element).addClass(d.COLLAPSING).removeClass(d.COLLAPSE).removeClass(d.IN),this._element.setAttribute("aria-expanded",!1),this._triggerArray.length&&t(this._triggerArray).addClass(d.COLLAPSED).attr("aria-expanded",!1),this.setTransitioning(!0);var a=function(){e.setTransitioning(!1),t(e._element).removeClass(d.COLLAPSING).addClass(d.COLLAPSE).trigger(f.HIDDEN)};return this._element.style[i]="",o.supportsTransitionEnd()?void t(this._element).one(o.TRANSITION_END,a).emulateTransitionEnd(600):void a()}}},s.prototype.setTransitioning=function(t){this._isTransitioning=t},s.prototype.dispose=function(){t.removeData(this._element,a),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},s.prototype._getConfig=function(n){return n=t.extend({},u,n),n.toggle=Boolean(n.toggle),o.typeCheckConfig(e,n,c),n},s.prototype._getDimension=function(){return t(this._element).hasClass(p.WIDTH)?p.WIDTH:p.HEIGHT},s.prototype._getParent=function(){var e=this,n=t(this._config.parent)[0],i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(i).each(function(t,n){e._addAriaAndCollapsedClass(s._getTargetFromElement(n),[n])}),n},s.prototype._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(d.IN);e.setAttribute("aria-expanded",i),n.length&&t(n).toggleClass(d.COLLAPSED,!i).attr("aria-expanded",i)}},s._getTargetFromElement=function(e){var n=o.getSelectorFromElement(e);return n?t(n)[0]:null},s._jQueryInterface=function(e){return this.each(function(){var n=t(this),r=n.data(a),o=t.extend({},u,n.data(),"object"===(void 0===e?"undefined":i(e))&&e);if(!r&&o.toggle&&/show|hide/.test(e)&&(o.toggle=!1),r||(r=new s(this,o),n.data(a,r)),"string"==typeof e){if(void 0===r[e])throw new Error('No method n
20amed "'+e+'"');r[e]()}})},r(s,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}},{key:"Default",get:function(){return u}}]),s}();t(document).on(f.CLICK_DATA_API,h.DATA_TOGGLE,function(e){e.preventDefault();var n=m._getTargetFromElement(this),i=t(n).data(a),r=i?"toggle":t(this).data();m._jQueryInterface.call(t(n),r)}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=l,m._jQueryInterface}}(jQuery),function(t){var e="dropdown",i="bs.dropdown",a="."+i,s=".data-api",l=t.fn[e],u={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK:"click"+a,CLICK_DATA_API:"click"+a+s,KEYDOWN_DATA_API:"keydown"+a+s},c={BACKDROP:"dropdown-backdrop",DISABLED:"disabled",OPEN:"open"},f={BACKDROP:".dropdown-backdrop",DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",ROLE_MENU:'[role="menu"]',ROLE_LISTBOX:'[role="listbox"]',NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:'[role="menu"] li:not(.disabled) a, [role="listbox"] li:not(.disabled) a'},d=function(){function e(t){n(this,e),this._element=t,this._addEventListeners()}return e.prototype.toggle=function(){if(this.disabled||t(this).hasClass(c.DISABLED))return!1;var n=e._getParentFromElement(this),i=t(n).hasClass(c.OPEN);if(e._clearMenus(),i)return!1;if("ontouchstart"in document.documentElement&&!t(n).closest(f.NAVBAR_NAV).length){var r=document.createElement("div");r.className=c.BACKDROP,t(r).insertBefore(this),t(r).on("click",e._clearMenus)}var o={relatedTarget:this},a=t.Event(u.SHOW,o);return t(n).trigger(a),!a.isDefaultPrevented()&&(this.focus(),this.setAttribute("aria-expanded","true"),t(n).toggleClass(c.OPEN),t(n).trigger(t.Event(u.SHOWN,o)),!1)},e.prototype.dispose=function(){t.removeData(this._element,i),t(this._element).off(a),this._element=null},e.prototype._addEventListeners=function(){t(this._element).on(u.CLICK,this.toggle)},e._jQueryInterface=function(n){return this.each(function(){var r=t(this).data(i);if(r||t(this).data(i,r=new e(this)),"string"==typeof n){if(void 0===r[n])throw new Error('No method named "'+n+'"');r[n].call(this)}})},e._clearMenus=function(n){if(!n||3!==n.which){var i=t(f.BACKDROP)[0];i&&i.parentNode.removeChild(i);for(var r=t.makeArray(t(f.DATA_TOGGLE)),o=0;o<r.length;o++){var a=e._getParentFromElement(r[o]),s={relatedTarget:r[o]};if(t(a).hasClass(c.OPEN)&&!(n&&"click"===n.type&&/input|textarea/i.test(n.target.tagName)&&t.contains(a,n.target))){var l=t.Event(u.HIDE,s);t(a).trigger(l),l.isDefaultPrevented()||(r[o].setAttribute("aria-expanded","false"),t(a).removeClass(c.OPEN).trigger(t.Event(u.HIDDEN,s)))}}}},e._getParentFromElement=function(e){var n=void 0,i=o.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},e._dataApiKeydownHandler=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)&&(n.preventDefault(),n.stopPropagation(),!this.disabled&&!t(this).hasClass(c.DISABLED))){var i=e._getParentFromElement(this),r=t(i).hasClass(c.OPEN);if(!r&&27!==n.which||r&&27===n.which){if(27===n.which){var o=t(i).find(f.DATA_TOGGLE)[0];t(o).trigger("focus")}return void t(this).trigger("click")}var a=t.makeArray(t(f.VISIBLE_ITEMS));if(a=a.filter(function(t){return t.offsetWidth||t.offsetHeight}),a.length){var s=a.indexOf(n.target);38===n.which&&s>0&&s--,40===n.which&&s<a.length-1&&s++,s<0&&(s=0),a[s].focus()}}},r(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}}]),e}();t(document).on(u.KEYDOWN_DATA_API,f.DATA_TOGGLE,d._dataApiKeydownHandler).on(u.KEYDOWN_DATA_API,f.ROLE_MENU,d._dataApiKeydownHandler).on(u.KEYDOWN_DATA_API,f.ROLE_LISTBOX,d._dataApiKeydownHandler).on(u.CLICK_DATA_API,d._clearMenus).on(u.CLICK_DATA_API,f.DATA_TOGGLE,d.prototype.toggle).on(u.CLICK_DATA_API,f.FORM_CHILD,function(t){t.stopPropagation()}),t.fn[e]=d._jQueryInterface,t.fn[e].Constructor=d,t.fn[e].noConflict=function(){return t.fn[e]=l,d._jQueryInterface}}(jQuery),function(t){var e="modal",a="bs.modal",s="."+a,l=t.fn[e],u={backdrop:!0,keyboard:!0,focus:!0,show:!0},c={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},f={HIDE:"hide"+s,HIDDEN:"hidden"+s,SHOW:"show"+s,SHOWN:"shown"+s,FOCUSIN:"focusin"+s,RESIZE:"resize"+s,CLICK_DISMISS:"click.dismiss"+s,KEYDOWN_DISMISS:"keydown.dismiss"+s,MOUSEUP_DISMISS:"mouseup.dismiss"+s,MOUSEDOWN_DISMISS:"mousedown.dismiss"+s,CLICK_DATA_API:"click"+s+".data-api"},d={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",IN:"in"},p={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".navbar-fixed-top, .navbar-fixed-bottom, .is-fixed"},h=function(){function l(e,i){n(this,l),this._config=this._getConfig(i),this._element=e,this._dialog=t
20(e).find(p.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}return l.prototype.toggle=function(t){return this._isShown?this.hide():this.show(t)},l.prototype.show=function(e){var n=this,i=t.Event(f.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),t(document.body).addClass(d.OPEN),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(f.CLICK_DISMISS,p.DATA_DISMISS,t.proxy(this.hide,this)),t(this._dialog).on(f.MOUSEDOWN_DISMISS,function(){t(n._element).one(f.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(t.proxy(this._showElement,this,e)))},l.prototype.hide=function(e){e&&e.preventDefault();var n=t.Event(f.HIDE);t(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()&&(this._isShown=!1,this._setEscapeEvent(),this._setResizeEvent(),t(document).off(f.FOCUSIN),t(this._element).removeClass(d.IN),t(this._element).off(f.CLICK_DISMISS),t(this._dialog).off(f.MOUSEDOWN_DISMISS),o.supportsTransitionEnd()&&t(this._element).hasClass(d.FADE)?t(this._element).one(o.TRANSITION_END,t.proxy(this._hideModal,this)).emulateTransitionEnd(300):this._hideModal())},l.prototype.dispose=function(){t.removeData(this._element,a),t(window).off(s),t(document).off(s),t(this._element).off(s),t(this._backdrop).off(s),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._originalBodyPadding=null,this._scrollbarWidth=null},l.prototype._getConfig=function(n){return n=t.extend({},u,n),o.typeCheckConfig(e,n,c),n},l.prototype._showElement=function(e){var n=this,i=o.supportsTransitionEnd()&&t(this._element).hasClass(d.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&o.reflow(this._element),t(this._element).addClass(d.IN),this._config.focus&&this._enforceFocus();var r=t.Event(f.SHOWN,{relatedTarget:e}),a=function(){n._config.focus&&n._element.focus(),t(n._element).trigger(r)};i?t(this._dialog).one(o.TRANSITION_END,a).emulateTransitionEnd(300):a()},l.prototype._enforceFocus=function(){var e=this;t(document).off(f.FOCUSIN).on(f.FOCUSIN,function(n){document===n.target||e._element===n.target||t(e._element).has(n.target).length||e._element.focus()})},l.prototype._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(f.KEYDOWN_DISMISS,function(t){27===t.which&&e.hide()}):this._isShown||t(this._element).off(f.KEYDOWN_DISMISS)},l.prototype._setResizeEvent=function(){this._isShown?t(window).on(f.RESIZE,t.proxy(this._handleUpdate,this)):t(window).off(f.RESIZE)},l.prototype._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden","true"),this._showBackdrop(function(){t(document.body).removeClass(d.OPEN),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(f.HIDDEN)})},l.prototype._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},l.prototype._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(d.FADE)?d.FADE:"";if(this._isShown&&this._config.backdrop){var r=o.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=d.BACKDROP,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(f.CLICK_DISMISS,function(t){return n._ignoreBackdropClick?void(n._ignoreBackdropClick=!1):void(t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide()))}),r&&o.reflow(this._backdrop),t(this._backdrop).addClass(d.IN),!e)return;if(!r)return void e();t(this._backdrop).one(o.TRANSITION_END,e).emulateTransitionEnd(150)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(d.IN);var a=function(){n._removeBackdrop(),e&&e()};o.supportsTransitionEnd()&&t(this._element).hasClass(d.FADE)?t(this._backdrop).one(o.TRANSITION_END,a).emulateTransitionEnd(150):a()}else e&&e()},l.prototype._handleUpdate=function(){this._adjustDialog()},l.prototype._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},l.prototype._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},l.prototype._checkScrollbar=function(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},l.prototype._setScrollbar=function(){var e=parseInt(t(p.FIXED_CONTENT).css("padding-right")||0,10);this._originalBodyPadding=document.body.style.paddingRight||"",this._isBodyOverflowing&&(document.body.style.paddingRight=e+this._scrollbarWidth+"px")},l.prototype._resetScrollbar=function(){document.body.style.paddingRight=this._originalBodyPadding},l.prototype._getScrollbarWidth=function(){var t=document.createElement("div");t.className=d.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),e},l._jQueryInterface=function(e,n){return this.each(function(){var r=t(this).data(a),o=t.extend({},l.Default,t(this).data(),"object"===(void 0===e?"undefined":i(e))&&e);if(r||(r=new l(this,o),t(this).data(a,r)),"string"==typeof e){if(void 0===r[e])throw new Error('No method n
20amed "'+e+'"');r[e](n)}else o.show&&r.show(n)})},r(l,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}},{key:"Default",get:function(){return u}}]),l}();t(document).on(f.CLICK_DATA_API,p.DATA_TOGGLE,function(e){var n=this,i=void 0,r=o.getSelectorFromElement(this);r&&(i=t(r)[0]);var s=t(i).data(a)?"toggle":t.extend({},t(i).data(),t(this).data());"A"===this.tagName&&e.preventDefault();var l=t(i).one(f.SHOW,function(e){e.isDefaultPrevented()||l.one(f.HIDDEN,function(){t(n).is(":visible")&&n.focus()})});h._jQueryInterface.call(t(i),s,this)}),t.fn[e]=h._jQueryInterface,t.fn[e].Constructor=h,t.fn[e].noConflict=function(){return t.fn[e]=l,h._jQueryInterface}}(jQuery),function(t){var e="scrollspy",a="bs.scrollspy",s="."+a,l=t.fn[e],u={offset:10,method:"auto",target:""},c={offset:"number",method:"string",target:"(string|element)"},f={ACTIVATE:"activate"+s,SCROLL:"scroll"+s,LOAD_DATA_API:"load"+s+".data-api"},d={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",NAV_LINK:"nav-link",NAV:"nav",ACTIVE:"active"},p={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",LIST_ITEM:".list-item",LI:"li",LI_DROPDOWN:"li.dropdown",NAV_LINKS:".nav-link",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},h={OFFSET:"offset",POSITION:"position"},m=function(){function l(e,i){n(this,l),this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(i),this._selector=this._config.target+" "+p.NAV_LINKS+","+this._config.target+" "+p.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(f.SCROLL,t.proxy(this._process,this)),this.refresh(),this._process()}return l.prototype.refresh=function(){var e=this,n=this._scrollElement!==this._scrollElement.window?h.POSITION:h.OFFSET,i="auto"===this._config.method?n:this._config.method,r=i===h.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.makeArray(t(this._selector)).map(function(e){var n=void 0,a=o.getSelectorFromElement(e);return a&&(n=t(a)[0]),n&&(n.offsetWidth||n.offsetHeight)?[t(n)[i]().top+r,a]:null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},l.prototype.dispose=function(){t.removeData(this._element,a),t(this._scrollElement).off(s),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},l.prototype._getConfig=function(n){if(n=t.extend({},u,n),"string"!=typeof n.target){var i=t(n.target).attr("id");i||(i=o.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return o.typeCheckConfig(e,n,c),n},l.prototype._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.scrollY:this._scrollElement.scrollTop},l.prototype._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},l.prototype._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._scrollElement.offsetHeight;if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}if(this._activeTarget&&t<this._offsets[0])return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&t>=this._offsets[r]&&(void 0===this._offsets[r+1]||t<this._offsets[r+1])&&this._activate(this._targets[r])}},l.prototype._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var i=t(n.join(","));i.hasClass(d.DROPDOWN_ITEM)?(i.closest(p.DROPDOWN).find(p.DROPDOWN_TOGGLE).addClass(d.ACTIVE),i.addClass(d.ACTIVE)):i.parents(p.LI).find(p.NAV_LINKS).addClass(d.ACTIVE),t(this._scrollElement).trigger(f.ACTIVATE,{relatedTarget:e})},l.prototype._clear=function(){t(this._selector).filter(p.ACTIVE).removeClass(d.ACTIVE)},l._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),r="object"===(void 0===e?"undefined":i(e))&&e||null;if(n||(n=new l(this,r),t(this).data(a,n)),"string"==typeof e){if(void 0===n[e])throw new Error('No method n
20amed "'+e+'"');n[e]()}})},r(l,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}},{key:"Default",get:function(){return u}}]),l}();t(window).on(f.LOAD_DATA_API,function(){for(var e=t.makeArray(t(p.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);m._jQueryInterface.call(i,i.data())}}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=l,m._jQueryInterface}}(jQuery),function(t){var e="tab",i="bs.tab",a="."+i,s=t.fn[e],l={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK_DATA_API:"click"+a+".data-api"},u={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",FADE:"fade",IN:"in"},c={A:"a",LI:"li",DROPDOWN:".dropdown",UL:"ul:not(.dropdown-menu)",FADE_CHILD:"> .nav-item .fade, > .fade",ACTIVE:".active",ACTIVE_CHILD:"> .nav-item > .active, > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},f=function(){function e(t){n(this,e),this._element=t}return e.prototype.show=function(){var e=this;if(!this._element.parentNode||this._element.parentNode.nodeType!==Node.ELEMENT_NODE||!t(this._element).hasClass(u.ACTIVE)){var n=void 0,i=void 0,r=t(this._element).closest(c.UL)[0],a=o.getSelectorFromElement(this._element);r&&(i=t.makeArray(t(r).find(c.ACTIVE)),i=i[i.length-1]);var s=t.Event(l.HIDE,{relatedTarget:this._element}),f=t.Event(l.SHOW,{relatedTarget:i});if(i&&t(i).trigger(s),t(this._element).trigger(f),!f.isDefaultPrevented()&&!s.isDefaultPrevented()){a&&(n=t(a)[0]),this._activate(this._element,r);var d=function(){var n=t.Event(l.HIDDEN,{relatedTarget:e._element}),r=t.Event(l.SHOWN,{relatedTarget:i});t(i).trigger(n),t(e._element).trigger(r)};n?this._activate(n,n.parentNode,d):d()}}},e.prototype.dispose=function(){t.removeClass(this._element,i),this._element=null},e.prototype._activate=function(e,n,i){var r=t(n).find(c.ACTIVE_CHILD)[0],a=i&&o.supportsTransitionEnd()&&(r&&t(r).hasClass(u.FADE)||Boolean(t(n).find(c.FADE_CHILD)[0])),s=t.proxy(this._transitionComplete,this,e,r,a,i);r&&a?t(r).one(o.TRANSITION_END,s).emulateTransitionEnd(150):s(),r&&t(r).removeClass(u.IN)},e.prototype._transitionComplete=function(e,n,i,r){if(n){t(n).removeClass(u.ACTIVE);var a=t(n).find(c.DROPDOWN_ACTIVE_CHILD)[0];a&&t(a).removeClass(u.ACTIVE),n.setAttribute("aria-expanded",!1)}if(t(e).addClass(u.ACTIVE),e.setAttribute("aria-expanded",!0),i?(o.reflow(e),t(e).addClass(u.IN)):t(e).removeClass(u.FADE),e.parentNode&&t(e.parentNode).hasClass(u.DROPDOWN_MENU)){var s=t(e).closest(c.DROPDOWN)[0];s&&t(s).find(c.DROPDOWN_TOGGLE).addClass(u.ACTIVE),e.setAttribute("aria-expanded",!0)}r&&r()},e._jQueryInterface=function(n){return this.each(function(){var r=t(this),o=r.data(i);if(o||(o=o=new e(this),r.data(i,o)),"string"==typeof n){if(void 0===o[n])throw new Error('No method named "'+n+'"');o[n]()}})},r(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}}]),e}();t(document).on(l.CLICK_DATA_API,c.DATA_TOGGLE,function(e){e.preventDefault(),f._jQueryInterface.call(t(this),"show")}),t.fn[e]=f._jQueryInterface,t.fn[e].Constructor=f,t.fn[e].noConflict=function(){return t.fn[e]=s,f._jQueryInterface}}(jQuery),function(t){if(void 0===window.Tether)throw new Error("Bootstrap tooltips require Tether (http://tether.io/)");var e="tooltip",a="bs.tooltip",s="."+a,l=t.fn[e],u={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:"0 0",constraints:[]},c={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"string",constraints:"array"},f={TOP:"bottom center",RIGHT:"middle left",BOTTOM:"top center",LEFT:"middle right"},d={IN:"in",OUT:"out"},p={HIDE:"hide"+s,HIDDEN:"hidden"+s,SHOW:"show"+s,SHOWN:"shown"+s,INSERTED:"inserted"+s,CLICK:"click"+s,FOCUSIN:"focusin"+s,FOCUSOUT:"focusout"+s,MOUSEENTER:"mouseenter"+s,MOUSELEAVE:"mouseleave"+s},h={FADE:"fade",IN:"in"},m={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner"},g={element:!1,enabled:!1},v={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},y=function(){function l(t,e){n(this,l),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._tether=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}return l.prototype.enable=function(){this._isEnabled=!0},l.prototype.disable=function(){this._isEnabled=!1},l.prototype.toggleEnabled=function(){this._isEnabled=!this._isEnabled},l.prototype.toggle=function(e){if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(h.IN))return void this._leave(null,this);this._enter(null,this)}},l.prototype.dispose=function(){clearTimeout(this._timeout),this.cleanupTether(),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._tether=null,this.element=null,this.config=null,this.tip=null},l.prototype.show=function(){var e=this,n=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){t(this.element).trigger(n);var i=t.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!i)return;var r=this.getTipElement(),a=o.getUID(this.constructor.NAME);r.setAttribute("id",a),this.element.setAttribute("aria-describedby",a),this.setContent(),this.config.animation&&t(r).addClass(h.FADE);var s="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,u=this._getAttachment(s);t(r).data(this.constructor.DATA_KEY,this).appendTo(document.body),t(this.element).trigger(this.constructor.Event.INSERTED),this._tether=new Tether({attachment:u,element:r,target:this.element,classes:g,classPrefix:"bs-tether",offset:this.config.offset,constraints:this.config.constraints,addTargetClasses:!1}),o.reflow(r),this._tether.position(),t(r).addClass(h.IN);var c=function(){var n=e._hoverState;e._hoverState=null,t(e.element).trigger(e.constructor.Event.SHOWN),n===d.OUT&&e._leave(null,e)};if(o.supportsTransitionEnd()&&t(this.tip).hasClass(h.FADE))return void t(this.tip).one(o.TRANSITION_END,c).emulateTransitionEnd(l._TRANSITION_DURATION);c()}},l.prototype.hide=function(e){var n=this,i=this.getTipElement(),r=t.Event(this.constructor.Event.HIDE),a=function(){n._hoverState!==d.IN&&i.parentNode&&i.parentNode.removeChild(i),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),n.cleanupTether(),e&&e()};t(this.element).trigger(r),r.isDefaultPrevented()||(t(i).removeClass(h.IN),o.supportsTransitionEnd()&&t(this.tip).hasClass(h.FADE)?t(i).one(o.TRANSITION_END,a).emulateTransitionEnd(150):a(),this._hoverState="")},l.prototype.isWithContent=function(){return Boolean(this.getTitle())},l.prototype.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0]},l.prototype.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(m.TOOLTIP_INNER),this.getTitle()),e.removeClass(h.FADE).removeClass(h.IN),this.cleanupTether()},l.prototype.setElementContent=function(e,n){var r=this.config.html;"object"===(void 0===n?"undefined":i(n))&&(n.nodeType||n.jquery)?r?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[r?"html":"text"](n)},l.prototype.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},l.prototype.cleanupTether=function(){this._tether&&this._tether.destroy()},l.prototype._getAttachment=function(t){return f[t.toUpperCase()]},l.prototype._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,t.proxy(e.toggle,e));else if(n!==v.MANUAL){var i=n===v.HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,r=n===v.HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,t.proxy(e._enter,e)).on(r,e.config.selector,t.proxy(e._leave,e))}}),this.config.selector?this.config=t.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},l.prototype._fixTitle=function(){var t=i(this.element.getAttribute("data-original-title"));(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},l.prototype._enter=function(e,n){var i=this.constructor.DATA_KEY;return n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?v.FOCUS:v.HOVER]=!0),t(n.getTipElement()).hasClass(h.IN)||n._hoverState===d.IN?void(n._hoverState=d.IN):(clearTimeout(n._timeout),n._hoverState=d.IN,n.config.delay&&n.config.delay.show?void(n._timeout=setTimeout(function(){n._hoverState===d.IN&&n.show()},n.config.delay.show)):void n.show())},l.prototype._leave=function(e,n){var i=this.constructor.DATA_KEY;if(n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?v.FOCUS:v.HOVER]=!1),!n._isWithActiveTrigger())return clearTimeout(n._timeout),n._hoverState=d.OUT,n.config.delay&&n.config.delay.hide?void(n._timeout=setTimeout(function(){n._hoverState===d.OUT&&n.hide()},n.config.delay.hide)):void n.hide()},l.prototype._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},l.prototype._getConfig=function(n){return n=t.extend({},this.constructor.Default,t(this.element).data(),n),n.delay&&"number"==typeof n.delay&&(n.delay={show:n.delay,hide:n.delay}),o.typeCheckConfig(e,n,this.constructor.DefaultType),n},l.prototype._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},l._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),r="object"===(void 0===e?"undefined":i(e))?e:null;if((n||!/dispose|hide/.test(e))&&(n||(n=new l(this,r),t(this).data(a,n)),"string"==typeof e)){if(void 0===n[e])throw new Error('No method n
20amed "'+e+'"');n[e]()}})},r(l,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}},{key:"Default",get:function(){return u}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return a}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return s}},{key:"DefaultType",get:function(){return c}}]),l}();return t.fn[e]=y._jQueryInterface,t.fn[e].Constructor=y,t.fn[e].noConflict=function(){return t.fn[e]=l,y._jQueryInterface},y}(jQuery));!function(o){var s="popover",l="bs.popover",u="."+l,c=o.fn[s],f=o.extend({},a.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),d=o.extend({},a.DefaultType,{content:"(string|element|function)"}),p={FADE:"fade",IN:"in"},h={TITLE:".popover-title",CONTENT:".popover-content"},m={HIDE:"hide"+u,HIDDEN:"hidden"+u,SHOW:"show"+u,SHOWN:"shown"+u,INSERTED:"inserted"+u,CLICK:"click"+u,FOCUSIN:"focusin"+u,FOCUSOUT:"focusout"+u,MOUSEENTER:"mouseenter"+u,MOUSELEAVE:"mouseleave"+u},g=function(a){function c(){return n(this,c),t(this,a.apply(this,arguments))}return e(c,a),c.prototype.isWithContent=function(){return this.getTitle()||this._getContent()},c.prototype.getTipElement=function(){return this.tip=this.tip||o(this.config.template)[0]},c.prototype.setContent=function(){var t=o(this.getTipElement());this.setElementContent(t.find(h.TITLE),this.getTitle()),this.setElementContent(t.find(h.CONTENT),this._getContent()),t.removeClass(p.FADE).removeClass(p.IN),this.cleanupTether()},c.prototype._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},c._jQueryInterface=function(t){return this.each(function(){var e=o(this).data(l),n="object"===(void 0===t?"undefined":i(t))?t:null;if((e||!/destroy|hide/.test(t))&&(e||(e=new c(this,n),o(this).data(l,e)),"string"==typeof t)){if(void 0===e[t])throw new Error('No method named "'+t+'"');e[t]()}})},r(c,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}},{key:"Default",get:function(){return f}},{key:"NAME",get:function(){return s}},{key:"DATA_KEY",get:function(){return l}},{key:"Event",get:function(){return m}},{key:"EVENT_KEY",get:function(){return u}},{key:"DefaultType",get:function(){return d}}]),c}(a);o.fn[s]=g._jQueryInterface,o.fn[s].Constructor=g,o.fn[s].noConflict=function(){return o.fn[s]=c,g._jQueryInterface}}(jQuery)}()},function(t,e,n){"use strict";function i(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(t){return"function"==typeof t}function o(t){return"number"==typeof t}function a(t){return"object"==typeof t&&null!==t}function s(t){return void 0===t}t.exports=i,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._maxListeners=void 0,i.defaultMaxListeners=10,i.prototype.setMaxListeners=function(t){if(!o(t)||t<0||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},i.prototype.emit=function(t){var e,n,i,o,l,u;if(this._events||(this._events={}),"error"===t&&(!this._events.error||a(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var c=new Error('Uncaught, unspecified "error" event. ('+e+")");throw c.context=e,c}if(n=this._events[t],s(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:o=Array.prototype.slice.call(arguments,1),n.apply(this,o)}else if(a(n))for(o=Array.prototype.slice.call(arguments,1),u=n.slice(),i=u.length,l=0;l<i;l++)u[l].apply(this,o);return!0},i.prototype.addListener=function(t,e){var n;if(!r(e))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",t,r(e.listener)?e.listener:e),this._events[t]?a(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,a(this._events[t])&&!this._events[t].warned&&(n=s(this._maxListeners)?i.defaultMaxListeners:this._maxListeners)&&n>0&&this._events[t].length>n&&(this._events[t].warned=!0,console.trace),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(t,e){function n(){this.removeListener(t,n),i||(i=!0,e.a
20pply(this,arguments))}if(!r(e))throw TypeError("listener must be a function");var i=!1;return n.listener=e,this.on(t,n),this},i.prototype.removeListener=function(t,e){var n,i,o,s;if(!r(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(n=this._events[t],o=n.length,i=-1,n===e||r(n.listener)&&n.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(a(n)){for(s=o;s-->0;)if(n[s]===e||n[s].listener&&n[s].listener===e){i=s;break}if(i<0)return this;1===n.length?(n.length=0,delete this._events[t]):n.splice(i,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},i.prototype.removeAllListeners=function(t){var e,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[t],r(n))this.removeListener(t,n);else if(n)for(;n.length;)this.removeListener(t,n[n.length-1]);return delete this._events[t],this},i.prototype.listeners=function(t){return this._events&&this._events[t]?r(this._events[t])?[this._events[t]]:this._events[t].slice():[]},i.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(r(e))return 1;if(e)return e.length}return 0},i.listenerCount=function(t,e){return t.listenerCount(e)}},function(t,e,n){"use strict";var i,i;!function(e){t.exports=e()}(function(){return function t(e,n,r){function o(s,l){if(!n[s]){if(!e[s]){var u="function"==typeof i&&i;if(!l&&u)return i(s,!0);if(a)return a(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[s]={exports:{}};e[s][0].call(f.exports,function(t){var n=e[s][1][t];return o(n||t)},f,f.exports,t,e,n,r)}return n[s].exports}for(var a="function"==typeof i&&i,s=0;s<r.length;s++)o(r[s]);return o}({1:[function(t,e,n){e.exports=function(t){var e,n,i,r=-1;if(t.lines.length>1&&"flex-start"===t.style.alignContent)for(e=0;i=t.lines[++r];)i.crossStart=e,e+=i.cross;else if(t.lines.length>1&&"flex-end"===t.style.alignContent)for(e=t.flexStyle.crossSpace;i=t.lines[++r];)i.crossStart=e,e+=i.cross;else if(t.lines.length>1&&"center"===t.style.alignContent)for(e=t.flexStyle.crossSpace/2;i=t.lines[++r];)i.crossStart=e,e+=i.cross;else if(t.lines.length>1&&"space-between"===t.style.alignContent)for(n=t.flexStyle.crossSpace/(t.lines.length-1),e=0;i=t.lines[++r];)i.crossStart=e,e+=i.cross+n;else if(t.lines.length>1&&"space-around"===t.style.alignContent)for(n=2*t.flexStyle.crossSpace/(2*t.lines.length),e=n/2;i=t.lines[++r];)i.crossStart=e,e+=i.cross+n;else for(n=t.flexStyle.crossSpace/t.lines.length,e=t.flexStyle.crossInnerBefore;i=t.lines[++r];)i.crossStart=e,i.cross+=n,e+=i.cross}},{}],2:[function(t,e,n){e.exports=function(t){for(var e,n=-1;line=t.lines[++n];)for(e=-1;child=line.children[++e];){var i=child.style.alignSelf;"auto"===i&&(i=t.style.alignItems),"flex-start"===i?child.flexStyle.crossStart=line.crossStart:"flex-end"===i?child.flexStyle.crossStart=line.crossStart+line.cross-child.flexStyle.crossOuter:"center"===i?child.flexStyle.crossStart=line.crossStart+(line.cross-child.flexStyle.crossOuter)/2:(child.flexStyle.crossStart=line.crossStart,child.flexStyle.crossOuter=line.cross,child.flexStyle.cross=child.flexStyle.crossOuter-child.flexStyle.crossBefore-child.flexStyle.crossAfter)}}},{}],3:[function(t,e,n){e.exports=function(t,e){var n="row"===e||"row-reverse"===e,i=t.mainAxis;if(i){n&&"inline"===i||!n&&"block"===i||(t.flexStyle={main:t.flexStyle.cross,cross:t.flexStyle.main,mainOffset:t.flexStyle.crossOffset,crossOffset:t.flexStyle.mainOffset,mainBefore:t.flexStyle.crossBefore,mainAfter:t.flexStyle.crossAfter,crossBefore:t.flexStyle.mainBefore,crossAfter:t.flexStyle.mainAfter,mainInnerBefore:t.flexStyle.crossInnerBefore,mainInnerAfter:t.flexStyle.crossInnerAfter,crossInnerBefore:t.flexStyle.mainInnerBefore,crossInnerAfter:t.flexStyle.mainInnerAfter,mainBorderBefore:t.flexStyle.crossBorderBefore,mainBorderAfter:t.flexStyle.crossBorderAfter,crossBorderBefore:t.flexStyle.mainBorderBefore,crossBorderAfter:t.flexStyle.mainBorderAfter})}else t.flexStyle=n?{main:t.style.width,cross:t.style.height,mainOffset:t.style.offsetWidth,crossOffset:t.style.offsetHeight,mainBefore:t.style.marginLeft,mainAfter:t.style.marginRight,crossBefore:t.style.marginTop,crossAfter:t.style.marginBottom,mainInnerBefore:t.style.paddingLeft,mainInnerAfter:t.style.paddingRight,crossInnerBefore:t.style.paddingTop,crossInnerAfter:t.style.paddingBottom,mainBorderBefore:t.style.borderLeftWidth,mainBorderAfter:t.style.borderRightWidth,crossBorderBefore:t.style.borderTopWidth,crossBorderAfter:t.style.borderBottomWidth}:{main:t.style.height,cross:t.style.width,mainOffset:t.style.offsetHeight,crossOffset:t.style.offsetWidth,mainBefore:t.style.marginTop,mainAfter:t.style.marginBottom,crossBefore:t.style.marginLeft,crossAfter:t.style.marginRight,mainInnerBefore:t.style.paddingTop,mainInnerAfter:t.style.paddingBottom,crossInnerBefore:t.style.paddingLeft,crossInnerAfter:t.style.paddingRight,mainBorderBefore:t.style.borderTopWidth,mainBorderAfter:t.style.borderBottomWidth,crossBorderBefore:t.style.borderLeftWidth,crossBorderAfter:t.style.borderRightWidth},"content-box"===t.style.boxSizing&&("number"==typeof t.flexStyle.main&&(t.flexStyle.main+=t.flexStyle.mainInnerBefore+t.flexStyle.mainInnerAfter+t.flexStyle.mainBorderBefore+t.flexStyle.mainBorderAfter),"number"==typeof t.flexStyle.cross&&(t.flexStyle.cross+=t.flexStyle.crossInnerBefore+t.flexStyle.crossInnerAfter+t.flexStyle.crossBorderBefore+t.flexStyle.crossBorderAfter));
vendor: 4,925 bytes, line 20
20t.mainAxis=n?"inline":"block",t.crossAxis=n?"block":"inline","number"==typeof t.style.flexBasis&&(t.flexStyle.main=t.style.flexBasis+t.flexStyle.mainInnerBefore+t.flexStyle.mainInnerAfter+t.flexStyle.mainBorderBefore+t.flexStyle.mainBorderAfter),t.flexStyle.mainOuter=t.flexStyle.main,t.flexStyle.crossOuter=t.flexStyle.cross,"auto"===t.flexStyle.mainOuter&&(t.flexStyle.mainOuter=t.flexStyle.mainOffset),"auto"===t.flexStyle.crossOuter&&(t.flexStyle.crossOuter=t.flexStyle.crossOffset),"number"==typeof t.flexStyle.mainBefore&&(t.flexStyle.mainOuter+=t.flexStyle.mainBefore),"number"==typeof t.flexStyle.mainAfter&&(t.flexStyle.mainOuter+=t.flexStyle.mainAfter),"number"==typeof t.flexStyle.crossBefore&&(t.flexStyle.crossOuter+=t.flexStyle.crossBefore),"number"==typeof t.flexStyle.crossAfter&&(t.flexStyle.crossOuter+=t.flexStyle.crossAfter)}},{}],4:[function(t,e,n){var i=t("../reduce");e.exports=function(t){if(t.mainSpace>0){var e=i(t.children,function(t,e){return t+parseFloat(e.style.flexGrow)},0);e>0&&(t.main=i(t.children,function(n,i){return"auto"===i.flexStyle.main?i.flexStyle.main=i.flexStyle.mainOffset+parseFloat(i.style.flexGrow)/e*t.mainSpace:i.flexStyle.main+=parseFloat(i.style.flexGrow)/e*t.mainSpace,i.flexStyle.mainOuter=i.flexStyle.main+i.flexStyle.mainBefore+i.flexStyle.mainAfter,n+i.flexStyle.mainOuter},0),t.mainSpace=0)}}},{"../reduce":12}],5:[function(t,e,n){var i=t("../reduce");e.exports=function(t){if(t.mainSpace<0){var e=i(t.children,function(t,e){return t+parseFloat(e.style.flexShrink)},0);e>0&&(t.main=i(t.children,function(n,i){return i.flexStyle.main+=parseFloat(i.style.flexShrink)/e*t.mainSpace,i.flexStyle.mainOuter=i.flexStyle.main+i.flexStyle.mainBefore+i.flexStyle.mainAfter,n+i.flexStyle.mainOuter},0),t.mainSpace=0)}}},{"../reduce":12}],6:[function(t,e,n){var i=t("../reduce");e.exports=function(t){var e;t.lines=[e={main:0,cross:0,children:[]}];for(var n,r=-1;n=t.children[++r];)"nowrap"===t.style.flexWrap||0===e.children.length||"auto"===t.flexStyle.main||t.flexStyle.main-t.flexStyle.mainInnerBefore-t.flexStyle.mainInnerAfter-t.flexStyle.mainBorderBefore-t.flexStyle.mainBorderAfter>=e.main+n.flexStyle.mainOuter?(e.main+=n.flexStyle.mainOuter,e.cross=Math.max(e.cross,n.flexStyle.crossOuter)):t.lines.push(e={main:n.flexStyle.mainOuter,cross:n.flexStyle.crossOuter,children:[]}),e.children.push(n);t.flexStyle.mainLines=i(t.lines,function(t,e){return Math.max(t,e.main)},0),t.flexStyle.crossLines=i(t.lines,function(t,e){return t+e.cross},0),"auto"===t.flexStyle.main&&(t.flexStyle.main=Math.max(t.flexStyle.mainOffset,t.flexStyle.mainLines+t.flexStyle.mainInnerBefore+t.flexStyle.mainInnerAfter+t.flexStyle.mainBorderBefore+t.flexStyle.mainBorderAfter)),"auto"===t.flexStyle.cross&&(t.flexStyle.cross=Math.max(t.flexStyle.crossOffset,t.flexStyle.crossLines+t.flexStyle.crossInnerBefore+t.flexStyle.crossInnerAfter+t.flexStyle.crossBorderBefore+t.flexStyle.crossBorderAfter)),t.flexStyle.crossSpace=t.flexStyle.cross-t.flexStyle.crossInnerBefore-t.flexStyle.crossInnerAfter-t.flexStyle.crossBorderBefore-t.flexStyle.crossBorderAfter-t.flexStyle.crossLines,t.flexStyle.mainOuter=t.flexStyle.main+t.flexStyle.mainBefore+t.flexStyle.mainAfter,t.flexStyle.crossOuter=t.flexStyle.cross+t.flexStyle.crossBefore+t.flexStyle.crossAfter}},{"../reduce":12}],7:[function(t,e,n){function i(e){for(var n,i=-1;n=e.children[++i];)t("./flex-direction")(n,e.style.flexDirection);t("./flex-direction")(e,e.style.flexDirection),t("./order")(e),t("./flexbox-lines")(e),t("./align-content")(e),i=-1;for(var r;r=e.lines[++i];)r.mainSpace=e.flexStyle.main-e.flexStyle.mainInnerBefore-e.flexStyle.mainInnerAfter-e.flexStyle.mainBorderBefore-e.flexStyle.mainBorderAfter-r.main,t("./flex-grow")(r),t("./flex-shrink")(r),t("./margin-main")(r),t("./margin-cross")(r),t("./justify-content")(r,e.style.justifyContent,e);t("./align-items")(e)}e.exports=i},{"./align-content":1,"./align-items":2,"./flex-direction":3,"./flex-grow":4,"./flex-shrink":5,"./flexbox-lines":6,"./justify-content":8,"./margin-cross":9,"./margin-main":10,"./order":11}],8:[function(t,e,n){e.exports=function(t,e,n){var i,r,o,a=n.flexStyle.mainInnerBefore,s=-1;if("flex-end"===e)for(i=t.mainSpace,i+=a;o=t.children[++s];)o.flexStyle.mainStart=i,i+=o.flexStyle.mainOuter;else if("center"===e)for(i=t.mainSpace/2,i+=a;o=t.children[++s];)o.flexStyle.mainStart=i,i+=o.flexStyle.mainOuter;else if("space-between"===e)for(r=t.mainSpace/(t.children.length-1),i=0,i+=a;o=t.children[++s];)o.flexStyle.mainStart=i,i+=o.flexStyle.mainOuter+r;else if("space-around"===e)for(r=2*t.mainSpace/(2*t.children.length),i=r/2,i+=a;o=t.children[++s];)o.flexStyle.mainStart=i,i+=o.flexStyle.mainOuter+r;else for(i=0,i+=a;o=t.children[++s];)o.flexStyle.mainStart=i,i+=o.flexStyle.mainOuter}},{}],9:[function(t,e,n){e.exports=function(t){for(var e,n=-1;e=t.children[++n];){var i=0;"auto"===e.flexStyle.crossBefore&&++i,"auto"===e.flexStyle.crossAfter&&
20++i;var r=t.cross-e.flexStyle.crossOuter;"auto"===e.flexStyle.crossBefore&&(e.flexStyle.crossBefore=r/i),"auto"===e.flexStyle.crossAfter&&(e.flexStyle.crossAfter=r/i),"auto"===e.flexStyle.cross?e.flexStyle.crossOuter=e.flexStyle.crossOffset+e.flexStyle.crossBefore+e.flexStyle.crossAfter:e.flexStyle.crossOuter=e.flexStyle.cross+e.flexStyle.crossBefore+e.flexStyle.crossAfter}}},{}],10:[function(t,e,n){e.exports=function(t){for(var e,n=0,i=-1;e=t.children[++i];)"auto"===e.flexStyle.mainBefore&&++n,"auto"===e.flexStyle.mainAfter&&++n;if(n>0){for(i=-1;e=t.children[++i];)"auto"===e.flexStyle.mainBefore&&(e.flexStyle.mainBefore=t.mainSpace/n),"auto"===e.flexStyle.mainAfter&&(e.flexStyle.mainAfter=t.mainSpace/n),"auto"===e.flexStyle.main?e.flexStyle.mainOuter=e.flexStyle.mainOffset+e.flexStyle.mainBefore+e.flexStyle.mainAfter:e.flexStyle.mainOuter=e.flexStyle.main+e.flexStyle.mainBefore+e.flexStyle.mainAfter;t.mainSpace=0}}},{}],11:[function(t,e,n){var i=/^(column|row)-reverse$/;e.exports=function(t){t.children.sort(function(t,e){return t.style.order-e.style.order||t.index-e.index}),i.test(t.style.flexDirection)&&t.children.reverse()}},{}],12:[function(t,e,n){function i(t,e,n){for(var i=t.length,r=-1;++r<i;)r in t&&(n=e(n,t[r],r));return n}e.exports=i},{}],13:[function(t,e,n){function i(t){s(a(t))}var r=t("./read"),o=t("./write"),a=t("./readAll"),s=t("./writeAll");e.exports=i,e.exports.read=r,e.exports.write=o,e.exports.readAll=a,e.exports.writeAll=s},{"./read":15,"./readAll":16,"./write":17,"./writeAll":18}],14:[function(t,e,n){function i(t,e){var n=String(t).match(o);if(!n)return t;var i=n[1],a=n[2];return"px"===a?1*i:"cm"===a?.3937*i*96:"in"===a?96*i:"mm"===a?.3937*i*96/10:"pc"===a?12*i*96/72:"pt"===a?96*i/72:"rem"===a?16*i:r(t,e)}function r(t,e){a.style.cssText="border:none!important;clip:rect(0 0 0 0)!important;display:block!important;font-size:1em!important;height:0!important;margin:0!important;padding:0!important;position:relative!important;width:"+t+"!important",e.parentNode.insertBefore(a,e.nextSibling);var n=a.offsetWidth;return e.parentNode.removeChild(a),n}e.exports=i;var o=/^([-+]?\d*\.?\d+)(%|[a-z]+)$/,a=document.createElement("div")},{}],15:[function(t,e,n){function i(t){var e={alignContent:"stretch",alignItems:"stretch",alignSelf:"auto",borderBottomWidth:0,borderLeftWidth:0,borderRightWidth:0,borderTopWidth:0,boxSizing:"content-box",display:"inline",flexBasis:"auto",flexDirection:"row",flexGrow:0,flexShrink:1,flexWrap:"nowrap",justifyContent:"flex-start",height:"auto",marginTop:0,marginRight:0,marginLeft:0,marginBottom:0,paddingTop:0,paddingRight:0,paddingLeft:0,paddingBottom:0,maxHeight:"none",maxWidth:"none",minHeight:0,minWidth:0,order:0,position:"static",width:"auto"};if(t instanceof Element){var n=t.hasAttribute("data-style"),i=n?t.getAttribute("data-style"):t.getAttribute("style")||"";n||t.setAttribute("data-style",i),a(e,window.getComputedStyle&&getComputedStyle(t)||{}),r(e,t.currentStyle||{}),o(e,i);for(var s in e)e[s]=l(e[s],t);var u=t.getBoundingClientRect();e.offsetHeight=u.height||t.offsetHeight,e.offsetWidth=u.width||t.offsetWidth}return{element:t,style:e}}function r(t,e){for(var n in t){if(n in e)t[n]=e[n];else{var i=n.replace(/[A-Z]/g,"-$&").toLowerCase();i in e&&(t[n]=e[i])}}"-js-display"in e&&(t.display=e["-js-display"])}function o(t,e){for(var n;n=s.exec(e);){t[n[1].toLowerCase().replace(/-[a-z]/g,function(t){return t.slice(1).toUpperCase()})]=n[2]}}function a(t,e){for(var n in t){n in e&&!/^(alignSelf|height|width)$/.test(n)&&(t[n]=e[n])}}e.exports=i;var s=/([^\s:;]+)\s*:\s*([^;]+?)\s*(;|$)/g,l=t("./getComputedLength")},{"./getComputedLength":14}],16:[function(t,e,n){function i(t){var e=[];return r(t,e),e}function r(t,e){for(var n,i=o(t),s=[],l=-1;n=t.childNodes[++l];){var u=3===n.nodeType&&!/^\s*$/.test(n.nodeValue);if(i&&u){var c=n;n=t.insertBefore(document.createElement("flex-item"),c),n.appendChild(c)}if(n instanceof Element){var f=r(n,e);if(i){var d=n.style;d.display="inline-block",d.position="absolute",f.style=a(n).style,s.push(f)}}}var p={element:t,children:s};return i&&(p.style=a(t).style,e.push(p)),p}function o(t){var e=t instanceof Element,n=e&&t.getAttribute("data-style"),i=e&&t.currentStyle&&t.currentStyle["-js-display"];return s.test(n)||l.test(i)}e.exports=i;var a=t("../read"),s=/(^|;)\s*display\s*:\s*(inline-)?flex\s*(;|$)/i,l=/^(inline-)?flex$/i},{"../read":15}],17:[function(t,e,n){function i(t){o(t);var e=t.element.style,n="inline"===t.mainAxis?["main","cross"]:["cross","main"];e.boxSizing="content-box",e.display="block",e.position="relative",e.width=r(t.flexStyle[n[0]]-t.flexStyle[n[0]+"InnerBefore"]-t.flexStyle[n[0]+"InnerAfter"]-t.flexStyle[n[0]+"BorderBefore"]-t.flexStyle[n[0]+"BorderAfter"]),e.height=r(t.flexStyle[n[1]]-t.flexStyle[n[1]+"InnerBefore"]-t.flexStyle[n[1]+"InnerAfter"]-t.flexStyle[n[1]+"BorderBefore"]-t.flexStyle[n[1]+"BorderAfter"]);for(var i,a=-1;i=t.children[++a];){var s=i.element.style,l="inline"===i.mainAxis?["main","cross"]:["cross","main"];s.boxSizing="content-box",s.display="block",s.position="absolute","auto"!==i.flexStyle[l[0]]&&(s.width=r(i.flexStyle[l[0]]-i.flexStyle[l[0]+"InnerBefore"]-i.flexStyle[l[0]+"InnerAfter"]-i.flexStyle[l[0]+"BorderBefore"]-i.flexStyle[l[0]+"BorderAfter"])),"auto"!==i.flexStyle[l[1]]&&(s.height=r(i.flexStyle[l[1]]-i.flexStyle[l[1]+"InnerBefore"]-i.flexStyle[l[1]+"InnerAfter"]-i.flexStyle[l[1]+"BorderBefore"]-i.flexStyle[l[1]+"BorderAfter"])),s.top=r(i.flexStyle[l[1]+"Start"]),s.left=r(i.flexStyle[l[0]+"Start"]),s.marginTop=r(i.flexStyle[l[1]+"Before"]),s.marginRight=r(i.flexStyle[l[0]+"After"]),s.marginBottom=r(i.flexStyle[l[1]+"After"]),s.marginLeft=r(i.flexStyle[l[0]+"Before"])}}function r(t){return"string"==typeof t?t:Math.max(t,0)+"px"}e.exports=i;var o=t("../flexbox")},{"../flexbox":7}],18:[function(t,e,n){function i(t){for(var e,n=-1;e=t[++n];)r(e)}e.exports=i;var r=t("../write")},{"../write":17}]},{},[13])(13)})},function(t,e,n){"use strict";var i,r;!function(o,a){i=a,void 0!==(r="function"==typeof i?i.call(e,n,e,t):i)&&(t.exports=r)}(0,function(t,e,n){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t){var e=t.getBoundingClientRect(),n={};for(var i in e)n[i]=e[i];if(t.ownerDocument!==document){var o=t.ownerDocument.defaultView.frameElement;if(o){var a=r(o);n.top+=a.top,n.bottom+=a.top,n.left+=a.left,n.right+=a.left}}return n}function o(t){var e=getComputedStyle(t)||{},n=e.position,i=[];if("fixed"===n)return[t];for(var r=t;(r=r.parentNode)&&r&&1===r.nodeType;){var o=void 0;try{o=getComputedStyle(r)}catch(t){}if(void 0===o||null===o)return i.push(r),i;var a=o,s=a.overflow,l=a.overflowX;/(auto|scroll)/.test(s+a.overflowY+l)&&("absolute"!==n||["relative","absolute","fixed"].indexOf(o.position)>=0)&&i.push(r)}return i.push(t.ownerDocument.body),t.ownerDocument!==document&&i.push(t.ownerDocument.defaultView),i}function a(){C&&document.body.removeChild(C),C=null}function s(t){var e=void 0;t===document?(e=document,t=document.documentElement):e=t.ownerDocument;var n=e.documentElement,i=r(t),o=I();return i.top-=o.top,i.left-=o.left,void 0===i.width&&(i.width=document.body.scrollWidth-i.left-i.right),void 0===i.height&&(i.height=document.body.scrollHeight-i.top-i.bottom),i.top=i.top-n.clientTop,i.left=i.left-n.clientLeft,i.right=e.body.clientWidth-i.width-i.left,i.bottom=e.body.clientHeight-i.height-i.top,i}function l(t){return t.offsetParent||document.documentElement}function u(){if(O)return O;var t=document.createElement("div");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");c(e.style,{position:"absolute",top:0,left:0,pointerEvents:"none",visibility:"hidden",
20width:"200px",height:"150px",overflow:"hidden"}),e.appendChild(t),document.body.appendChild(e);var n=t.offsetWidth;e.style.overflow="scroll";var i=t.offsetWidth;n===i&&(i=e.clientWidth),document.body.removeChild(e);var r=n-i;return O={width:r,height:r}}function c(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],e=[];return Array.prototype.push.apply(e,arguments),e.slice(1).forEach(function(e){if(e)for(var n in e)({}).hasOwnProperty.call(e,n)&&(t[n]=e[n])}),t}function f(t,e){if(void 0!==t.classList)e.split(" ").forEach(function(e){e.trim()&&t.classList.remove(e)});else{var n=new RegExp("(^| )"+e.split(" ").join("|")+"( |$)","gi"),i=h(t).replace(n," ");m(t,i)}}function d(t,e){if(void 0!==t.classList)e.split(" ").forEach(function(e){e.trim()&&t.classList.add(e)});else{f(t,e);var n=h(t)+" "+e;m(t,n)}}function p(t,e){if(void 0!==t.classList)return t.classList.contains(e);var n=h(t);return new RegExp("(^| )"+e+"( |$)","gi").test(n)}function h(t){return t.className instanceof t.ownerDocument.defaultView.SVGAnimatedString?t.className.baseVal:t.className}function m(t,e){t.setAttribute("class",e)}function g(t,e,n){n.forEach(function(n){-1===e.indexOf(n)&&p(t,n)&&f(t,n)}),e.forEach(function(e){p(t,e)||d(t,e)})}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function v(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function y(t,e){var n=arguments.length<=2||void 0===arguments[2]?1:arguments[2];return t+n>=e&&e>=t-n}function b(){return"undefined"!=typeof performance&&void 0!==performance.now?performance.now():+new Date}function _(){for(var t={top:0,left:0},e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];return n.forEach(function(e){var n=e.top,i=e.left;"string"==typeof n&&(n=parseFloat(n,10)),"string"==typeof i&&(i=parseFloat(i,10)),t.top+=n,t.left+=i}),t}function x(t,e){return"string"==typeof t.left&&-1!==t.left.indexOf("%")&&(t.left=parseFloat(t.left,10)/100*e.width),"string"==typeof t.top&&-1!==t.top.indexOf("%")&&(t.top=parseFloat(t.top,10)/100*e.height),t}function w(t,e){return"scrollParent"===e?e=t.scrollParents[0]:"window"===e&&(e=[pageXOffset,pageYOffset,innerWidth+pageXOffset,innerHeight+pageYOffset]),e===document&&(e=e.documentElement),void 0!==e.nodeType&&function(){var t=e,n=s(e),i=n,r=getComputedStyle(e);if(e=[i.left,i.top,n.width+i.left,n.height+i.top],t.ownerDocument!==document){var o=t.ownerDocument.defaultView;e[0]+=o.pageXOffset,e[1]+=o.pageYOffset,e[2]+=o.pageXOffset,e[3]+=o.pageYOffset}Y.forEach(function(t,n){t=t[0].toUpperCase()+t.substr(1),"Top"===t||"Left"===t?e[n]+=parseFloat(r["border"+t+"Width"]):e[n]-=parseFloat(r["border"+t+"Width"])})}(),e}var S=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),E=void 0;void 0===E&&(E={modules:[]});var C=null,T=function(){var t=0;return function(){return++t}}(),A={},I=function(){var t=C;t&&document.body.contains(t)||(t=document.createElement("div"),t.setAttribute("data-tether-id",T()),c(t.style,{top:0,left:0,position:"absolute"}),document.body.appendChild(t),C=t);var e=t.getAttribute("data-tether-id");return void 0===A[e]&&(A[e]=r(t),D(function(){delete A[e]})),A[e]},O=null,k=[],D=function(t){k.push(t)},N=function(){for(var t=void 0;t=k.pop();)t()},P=function(){function t(){i(this,t)}return S(t,[{key:"on",value:function(t,e,n){var i=!(arguments.length<=3||void 0===arguments[3])&&arguments[3];void 0===this.bindings&&(this.bindings={}),void 0===this.bindings[t]&&(this.bindings[t]=[]),this.bindings[t].push({handler:e,ctx:n,once:i})}},{key:"once",value:function(t,e,n){this.on(t,e,n,!0)}},{key:"off",value:function(t,e){if(void 0!==this.bindings&&void 0!==this.bindings[t])if(void 0===e)delete this.bindings[t];else for(var n=0;n<this.bindings[t].length;)this.bindings[t][n].handler===e?this.bindings[t].splice(n,1):++n}},{key:"trigger",value:function(t){if(void 0!==this.bindings&&this.bindings[t]){for(var e=0,n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];for(;e<this.bindings[t].length;){var o=this.bindings[t][e],a=o.handler,s=o.ctx,l=o.once,u=s;void 0===u&&(u=this),a.apply(u,i),l?this.bindings[t].splice(e,1):++e}}}}]),t}();E.Utils={getActualBoundingClientRect:r,getScrollParents:o,getBounds:s,getOffsetParent:l,extend:c,addClass:d,removeClass:f,hasClass:p,updateClasses:g,defer:D,flush:N,uniqueId:T,Evented:P,getScrollBarSize:u,removeUtilElements:a};var L=function(){function t(t,e){var n=[],i=!0,r=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(i=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);i=!0);}catch(t){r=!0,o=t}finally{try{!i&&s.return&&s.return()}finally{if(r)throw o}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);
20throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),S=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),j=function(t,e,n){for(var i=!0;i;){var r=t,o=e,a=n;i=!1,null===r&&(r=Function.prototype);var s=Object.getOwnPropertyDescriptor(r,o);if(void 0!==s){if("value"in s)return s.value;var l=s.get;if(void 0===l)return;return l.call(a)}var u=Object.getPrototypeOf(r);if(null===u)return;t=u,e=o,n=a,i=!0,s=u=void 0}};if(void 0===E)throw new Error("You must include the utils.js file before tether.js");var B=E.Utils,o=B.getScrollParents,s=B.getBounds,l=B.getOffsetParent,c=B.extend,d=B.addClass,f=B.removeClass,g=B.updateClasses,D=B.defer,N=B.flush,u=B.getScrollBarSize,a=B.removeUtilElements,V=function(){if("undefined"==typeof document)return"";for(var t=document.createElement("div"),e=["transform","WebkitTransform","OTransform","MozTransform","msTransform"],n=0;n<e.length;++n){var i=e[n];if(void 0!==t.style[i])return i}}(),F=[],R=function(){F.forEach(function(t){t.position(!1)}),N()};!function(){var t=null,e=null,n=null,i=function i(){if(void 0!==e&&e>16)return e=Math.min(e-16,250),void(n=setTimeout(i,250));void 0!==t&&b()-t<10||(null!=n&&(clearTimeout(n),n=null),t=b(),R(),e=b()-t)};"undefined"!=typeof window&&void 0!==window.addEventListener&&["resize","scroll","touchmove"].forEach(function(t){window.addEventListener(t,i)})}();var M={center:"center",left:"right",right:"left"},H={middle:"middle",top:"bottom",bottom:"top"},W={top:0,left:0,middle:"50%",center:"50%",bottom:"100%",right:"100%"},U=function(t,e){var n=t.left,i=t.top;return"auto"===n&&(n=M[e.left]),"auto"===i&&(i=H[e.top]),{left:n,top:i}},q=function(t){var e=t.left,n=t.top;return void 0!==W[t.left]&&(e=W[t.left]),void 0!==W[t.top]&&(n=W[t.top]),{left:e,top:n}},z=function(t){var e=t.split(" "),n=L(e,2);return{top:n[0],left:n[1]}},$=z,Q=function(t){function e(t){var n=this;i(this,e),j(Object.getPrototypeOf(e.prototype),"constructor",this).call(this),this.position=this.position.bind(this),F.push(this),this.history=[],this.setOptions(t,!1),E.modules.forEach(function(t){void 0!==t.initialize&&t.initialize.call(n)}),this.position()}return v(e,t),S(e,[{key:"getClass",value:function(){var t=arguments.length<=0||void 0===arguments[0]?"":arguments[0],e=this.options.classes;return void 0!==e&&e[t]?this.options.classes[t]:this.options.classPrefix?this.options.classPrefix+"-"+t:t}},{key:"setOptions",value:function(t){var e=this,n=arguments.length<=1||void 0===arguments[1]||arguments[1],i={offset:"0 0",targetOffset:"0 0",targetAttachment:"auto auto",classPrefix:"tether"};this.options=c(i,t);var r=this.options,a=r.element,s=r.target,l=r.targetModifier;if(this.element=a,this.target=s,this.targetModifier=l,"viewport"===this.target?(this.target=document.body,this.targetModifier="visible"):"scroll-handle"===this.target&&(this.target=document.body,this.targetModifier="scroll-handle"),["element","target"].forEach(function(t){if(void 0===e[t])throw new Error("Tether Error: Both element and target must be defined");void 0!==e[t].jquery?e[t]=e[t][0]:"string"==typeof e[t]&&(e[t]=document.querySelector(e[t]))}),d(this.element,this.getClass("element")),!1!==this.options.addTargetClasses&&d(this.target,this.getClass("target")),!this.options.attachment)throw new Error("Tether Error: You must provide an attachment");this.targetAttachment=$(this.options.targetAttachment),this.attachment=$(this.options.attachment),this.offset=z(this.options.offset),this.targetOffset=z(this.options.targetOffset),void 0!==this.scrollParents&&this.disable(),"scroll-handle"===this.targetModifier?this.scrollParents=[this.target]:this.scrollParents=o(this.target),!1!==this.options.enabled&&this.enable(n)}},{key:"getTargetBounds",value:function(){if(void 0===this.targetModifier)return s(this.target);if("visible"===this.targetModifier){if(this.target===document.body)return{top:pageYOffset,left:pageXOffset,height:innerHeight,width:innerWidth};var t=s(this.target),e={height:t.height,width:t.width,top:t.top,left
20:t.left};return e.height=Math.min(e.height,t.height-(pageYOffset-t.top)),e.height=Math.min(e.height,t.height-(t.top+t.height-(pageYOffset+innerHeight))),e.height=Math.min(innerHeight,e.height),e.height-=2,e.width=Math.min(e.width,t.width-(pageXOffset-t.left)),e.width=Math.min(e.width,t.width-(t.left+t.width-(pageXOffset+innerWidth))),e.width=Math.min(innerWidth,e.width),e.width-=2,e.top<pageYOffset&&(e.top=pageYOffset),e.left<pageXOffset&&(e.left=pageXOffset),e}if("scroll-handle"===this.targetModifier){var t=void 0,n=this.target;n===document.body?(n=document.documentElement,t={left:pageXOffset,top:pageYOffset,height:innerHeight,width:innerWidth}):t=s(n);var i=getComputedStyle(n),r=n.scrollWidth>n.clientWidth||[i.overflow,i.overflowX].indexOf("scroll")>=0||this.target!==document.body,o=0;r&&(o=15);var a=t.height-parseFloat(i.borderTopWidth)-parseFloat(i.borderBottomWidth)-o,e={width:15,height:.975*a*(a/n.scrollHeight),left:t.left+t.width-parseFloat(i.borderLeftWidth)-15},l=0;a<408&&this.target===document.body&&(l=-11e-5*Math.pow(a,2)-.00727*a+22.58),this.target!==document.body&&(e.height=Math.max(e.height,24));var u=this.target.scrollTop/(n.scrollHeight-a);return e.top=u*(a-e.height-l)+t.top+parseFloat(i.borderTopWidth),this.target===document.body&&(e.height=Math.max(e.height,24)),e}}},{key:"clearCache",value:function(){this._cache={}}},{key:"cache",value:function(t,e){return void 0===this._cache&&(this._cache={}),void 0===this._cache[t]&&(this._cache[t]=e.call(this)),this._cache[t]}},{key:"enable",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]||arguments[0];!1!==this.options.addTargetClasses&&d(this.target,this.getClass("enabled")),d(this.element,this.getClass("enabled")),this.enabled=!0,this.scrollParents.forEach(function(e){e!==t.target.ownerDocument&&e.addEventListener("scroll",t.position)}),e&&this.position()}},{key:"disable",value:function(){var t=this;f(this.target,this.getClass("enabled")),f(this.element,this.getClass("enabled")),this.enabled=!1,void 0!==this.scrollParents&&this.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.position)})}},{key:"destroy",value:function(){var t=this;this.disable(),F.forEach(function(e,n){e===t&&F.splice(n,1)}),0===F.length&&a()}},{key:"updateAttachClasses",value:function(t,e){var n=this;t=t||this.attachment,e=e||this.targetAttachment;var i=["left","top","bottom","right","middle","center"];void 0!==this._addAttachClasses&&this._addAttachClasses.length&&this._addAttachClasses.splice(0,this._addAttachClasses.length),void 0===this._addAttachClasses&&(this._addAttachClasses=[]);var r=this._addAttachClasses;t.top&&r.push(this.getClass("element-attached")+"-"+t.top),t.left&&r.push(this.getClass("element-attached")+"-"+t.left),e.top&&r.push(this.getClass("target-attached")+"-"+e.top),e.left&&r.push(this.getClass("target-attached")+"-"+e.left);var o=[];i.forEach(function(t){o.push(n.getClass("element-attached")+"-"+t),o.push(n.getClass("target-attached")+"-"+t)}),D(function(){void 0!==n._addAttachClasses&&(g(n.element,n._addAttachClasses,o),!1!==n.options.addTargetClasses&&g(n.target,n._addAttachClasses,o),delete n._addAttachClasses)})}},{key:"position",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]||arguments[0];if(this.enabled){this.clearCache();var n=U(this.targetAttachment,this.attachment);this.updateAttachClasses(this.attachment,n);var i=this.cache("element-bounds",function(){return s(t.element)}),r=i.width,o=i.height;if(0===r&&0===o&&void 0!==this.lastSize){var a=this.lastSize;r=a.width,o=a.height}else this.lastSize={width:r,height:o};var c=this.cache("target-bounds",function(){return t.getTargetBounds()}),f=c,d=x(q(this.attachment),{width:r,height:o}),p=x(q(n),f),h=x(this.offset,{width:r,height:o}),m=x(this.targetOffset,f);d=_(d,h),p=_(p,m);for(var g=c.left+p.left-d.left,v=c.top+p.top-d.top,y=0;y<E.modules.length;++y){var b=E.modules[y],w=b.position.call(this,{left:g,top:v,targetAttachment:n,targetPos:c,elementPos:i,offset:d,targetOffset:p,manualOffset:h,manualTargetOffset:m,scrollbarSize:A,attachment:this.attachment});if(!1===w)return!1;void 0!==w&&"object"==typeof w&&(v=w.top,g=w.left)}var S={page:{top:v,left:g},viewport:{top:v-pageYOffset,bottom:pageYOffset-v-o+innerHeight,left:g-pageXOffset,right:pageXOffset-g-r+innerWidth}},C=this.target.ownerDocument,T=C.defaultView,A=void 0;
20return T.innerHeight>C.documentElement.clientHeight&&(A=this.cache("scrollbar-size",u),S.viewport.bottom-=A.height),T.innerWidth>C.documentElement.clientWidth&&(A=this.cache("scrollbar-size",u),S.viewport.right-=A.width),-1!==["","static"].indexOf(C.body.style.position)&&-1!==["","static"].indexOf(C.body.parentElement.style.position)||(S.page.bottom=C.body.scrollHeight-v-o,S.page.right=C.body.scrollWidth-g-r),void 0!==this.options.optimizations&&!1!==this.options.optimizations.moveElement&&void 0===this.targetModifier&&function(){var e=t.cache("target-offsetparent",function(){return l(t.target)}),n=t.cache("target-offsetparent-bounds",function(){return s(e)}),i=getComputedStyle(e),r=n,o={};if(["Top","Left","Bottom","Right"].forEach(function(t){o[t.toLowerCase()]=parseFloat(i["border"+t+"Width"])}),n.right=C.body.scrollWidth-n.left-r.width+o.right,n.bottom=C.body.scrollHeight-n.top-r.height+o.bottom,S.page.top>=n.top+o.top&&S.page.bottom>=n.bottom&&S.page.left>=n.left+o.left&&S.page.right>=n.right){var a=e.scrollTop,u=e.scrollLeft;S.offset={top:S.page.top-n.top+a-o.top,left:S.page.left-n.left+u-o.left}}}(),this.move(S),this.history.unshift(S),this.history.length>3&&this.history.pop(),e&&N(),!0}}},{key:"move",value:function(t){var e=this;if(void 0!==this.element.parentNode){var n={};for(var i in t){n[i]={};for(var r in t[i]){for(var o=!1,a=0;a<this.history.length;++a){var s=this.history[a];if(void 0!==s[i]&&!y(s[i][r],t[i][r])){o=!0;break}}o||(n[i][r]=!0)}}var u={top:"",left:"",right:"",bottom:""},f=function(t,n){if(!1!==(void 0!==e.options.optimizations?e.options.optimizations.gpu:null)){var i=void 0,r=void 0;t.top?(u.top=0,i=n.top):(u.bottom=0,i=-n.bottom),t.left?(u.left=0,r=n.left):(u.right=0,r=-n.right),window.matchMedia&&(window.matchMedia("only screen and (min-resolution: 1.3dppx)").matches||window.matchMedia("only screen and (-webkit-min-device-pixel-ratio: 1.3)").matches||(r=Math.round(r),i=Math.round(i))),u[V]="translateX("+r+"px) translateY("+i+"px)","msTransform"!==V&&(u[V]+=" translateZ(0)")}else t.top?u.top=n.top+"px":u.bottom=n.bottom+"px",t.left?u.left=n.left+"px":u.right=n.right+"px"},d=!1;if((n.page.top||n.page.bottom)&&(n.page.left||n.page.right)?(u.position="absolute",f(n.page,t.page)):(n.viewport.top||n.viewport.bottom)&&(n.viewport.left||n.viewport.right)?(u.position="fixed",f(n.viewport,t.viewport)):void 0!==n.offset&&n.offset.top&&n.offset.left?function(){u.position="absolute";var i=e.cache("target-offsetparent",function(){return l(e.target)});l(e.element)!==i&&D(function(){e.element.parentNode.removeChild(e.element),i.appendChild(e.element)}),f(n.offset,t.offset),d=!0}():(u.position="absolute",f({top:!0,left:!0},t.page)),!d)if(this.options.bodyElement)this.options.bodyElement.appendChild(this.element);else{for(var p=!0,h=this.element.parentNode;h&&1===h.nodeType&&"BODY"!==h.tagName;){if("static"!==getComputedStyle(h).position){p=!1;break}h=h.parentNode}p||(this.element.parentNode.removeChild(this.element),this.element.ownerDocument.body.appendChild(this.element))}var m={},g=!1;for(var r in u){var v=u[r];this.element.style[r]!==v&&(g=!0,m[r]=v)}g&&D(function(){c(e.element.style,m),e.trigger("repositioned")})}}}]),e}(P);Q.modules=[],E.position=R;var G=c(Q,E),L=function(){function t(t,e){var n=[],i=!0,r=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(i=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);i=!0);}catch(t){r=!0,o=t}finally{try{!i&&s.return&&s.return()}finally{if(r)throw o}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),B=E.Utils,s=B.getBounds,c=B.extend,g=B.updateClasses,D=B.defer,Y=["left","top","right","bottom"];E.modules.push({position:function(t){var e=this,n=t.top,i=t.left,r=t.targetAttachment;if(!this.options.constraints)return!0;var o=this.cache("element-bounds",function(){return s(e.element)}),a=o.height,l=o.width;if(0===l&&0===a&&void 0!==this.lastSize){var u=this.lastSize;l=u.width,a=u.height}var f=this.cache("target-bounds",function(){return e.getTargetBounds()}),d=f.height,p=f.width,h=[this.getClass("pinned"),this.getClass("out-of-bounds")];
20this.options.constraints.forEach(function(t){var e=t.outOfBoundsClass,n=t.pinnedClass;e&&h.push(e),n&&h.push(n)}),h.forEach(function(t){["left","top","right","bottom"].forEach(function(e){h.push(t+"-"+e)})});var m=[],v=c({},r),y=c({},this.attachment);return this.options.constraints.forEach(function(t){var o=t.to,s=t.attachment,u=t.pin;void 0===s&&(s="");var c=void 0,f=void 0;if(s.indexOf(" ")>=0){var h=s.split(" "),g=L(h,2);f=g[0],c=g[1]}else c=f=s;var b=w(e,o);"target"!==f&&"both"!==f||(n<b[1]&&"top"===v.top&&(n+=d,v.top="bottom"),n+a>b[3]&&"bottom"===v.top&&(n-=d,v.top="top")),"together"===f&&("top"===v.top&&("bottom"===y.top&&n<b[1]?(n+=d,v.top="bottom",n+=a,y.top="top"):"top"===y.top&&n+a>b[3]&&n-(a-d)>=b[1]&&(n-=a-d,v.top="bottom",y.top="bottom")),"bottom"===v.top&&("top"===y.top&&n+a>b[3]?(n-=d,v.top="top",n-=a,y.top="bottom"):"bottom"===y.top&&n<b[1]&&n+(2*a-d)<=b[3]&&(n+=a-d,v.top="top",y.top="top")),"middle"===v.top&&(n+a>b[3]&&"top"===y.top?(n-=a,y.top="bottom"):n<b[1]&&"bottom"===y.top&&(n+=a,y.top="top"))),"target"!==c&&"both"!==c||(i<b[0]&&"left"===v.left&&(i+=p,v.left="right"),i+l>b[2]&&"right"===v.left&&(i-=p,v.left="left")),"together"===c&&(i<b[0]&&"left"===v.left?"right"===y.left?(i+=p,v.left="right",i+=l,y.left="left"):"left"===y.left&&(i+=p,v.left="right",i-=l,y.left="right"):i+l>b[2]&&"right"===v.left?"left"===y.left?(i-=p,v.left="left",i-=l,y.left="right"):"right"===y.left&&(i-=p,v.left="left",i+=l,y.left="left"):"center"===v.left&&(i+l>b[2]&&"left"===y.left?(i-=l,y.left="right"):i<b[0]&&"right"===y.left&&(i+=l,y.left="left"))),"element"!==f&&"both"!==f||(n<b[1]&&"bottom"===y.top&&(n+=a,y.top="top"),n+a>b[3]&&"top"===y.top&&(n-=a,y.top="bottom")),"element"!==c&&"both"!==c||(i<b[0]&&("right"===y.left?(i+=l,y.left="left"):"center"===y.left&&(i+=l/2,y.left="left")),i+l>b[2]&&("left"===y.left?(i-=l,y.left="right"):"center"===y.left&&(i-=l/2,y.left="right"))),"string"==typeof u?u=u.split(",").map(function(t){return t.trim()}):!0===u&&(u=["top","left","right","bottom"]),u=u||[];var _=[],x=[];n<b[1]&&(u.indexOf("top")>=0?(n=b[1],_.push("top")):x.push("top")),n+a>b[3]&&(u.indexOf("bottom")>=0?(n=b[3]-a,_.push("bottom")):x.push("bottom")),i<b[0]&&(u.indexOf("left")>=0?(i=b[0],_.push("left")):x.push("left")),i+l>b[2]&&(u.indexOf("right")>=0?(i=b[2]-l,_.push("right")):x.push("right")),_.length&&function(){var t=void 0;t=void 0!==e.options.pinnedClass?e.options.pinnedClass:e.getClass("pinned"),m.push(t),_.forEach(function(e){m.push(t+"-"+e)})}(),x.length&&function(){var t=void 0;t=void 0!==e.options.outOfBoundsClass?e.options.outOfBoundsClass:e.getClass("out-of-bounds"),m.push(t),x.forEach(function(e){m.push(t+"-"+e)})}(),(_.indexOf("left")>=0||_.indexOf("right")>=0)&&(y.left=v.left=!1),(_.indexOf("top")>=0||_.indexOf("bottom")>=0)&&(y.top=v.top=!1),v.top===r.top&&v.left===r.left&&y.top===e.attachment.top&&y.left===e.attachment.left||(e.updateAttachClasses(y,v),e.trigger("update",{attachment:y,targetAttachment:v}))}),D(function(){!1!==e.options.addTargetClasses&&g(e.target,m,h),g(e.element,m,h)}),{top:n,left:i}}});var B=E.Utils,s=B.getBounds,g=B.updateClasses,D=B.defer;E.modules.push({position:function(t){var e=this,n=t.top,i=t.left,r=this.cache("element-bounds",function(){return s(e.element)}),o=r.height,a=r.width,l=this.getTargetBounds(),u=n+o,c=i+a,f=[];n<=l.bottom&&u>=l.top&&["left","right"].forEach(function(t){var e=l[t];e!==i&&e!==c||f.push(t)}),i<=l.right&&c>=l.left&&["top","bottom"].forEach(function(t){var e=l[t];e!==n&&e!==u||f.push(t)});var d=[],p=[],h=["left","top","right","bottom"];return d.push(this.getClass("abutted")),h.forEach(function(t){d.push(e.getClass("abutted")+"-"+t)}),f.length&&p.push(this.getClass("abutted")),f.forEach(function(t){p.push(e.getClass("abutted")+"-"+t)}),D(function(){!1!==e.options.addTargetClasses&&g(e.target,p,d),g(e.element,p,d)}),!0}});var L=function(){function t(t,e){var n=[],i=!0,r=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(i=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);i=!0);}catch(t){r=!0,o=t}finally{try{!i&&s.return&&s.return()}finally{if(r)throw o}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);
20throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();return E.modules.push({position:function(t){var e=t.top,n=t.left;if(this.options.shift){var i=this.options.shift;"function"==typeof this.options.shift&&(i=this.options.shift.call(this,{top:e,left:n}));var r=void 0,o=void 0;if("string"==typeof i){i=i.split(" "),i[1]=i[1]||i[0];var a=i,s=L(a,2);r=s[0],o=s[1],r=parseFloat(r,10),o=parseFloat(o,10)}else r=i.top,o=i.left;return e+=r,n+=o,{top:e,left:n}}}}),G})},function(t,e,n){"use strict";var i;i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(i=window)}t.exports=i},function(t,e,n){(function(e){t.exports=e.Tether=n(23)}).call(e,n(24))},function(t,e,n){n(5),t.exports=n(6)}]);!function(t){var e={},s={mode:"horizontal",slideSelector:"",infiniteLoop:!0,hideControlOnEnd:!1,speed:500,easing:null,slideMargin:0,startSlide:0,randomStart:!1,captions:!1,ticker:!1,tickerHover:!1,adaptiveHeight:!1,adaptiveHeightSpeed:500,video:!1,useCSS:!0,preloadImages:"visible",responsive:!0,slideZIndex:50,touchEnabled:!0,swipeThreshold:50,oneToOneTouch:!0,preventDefaultSwipeX:!0,preventDefaultSwipeY:!1,pager:!0,pagerType:"full",pagerShortSeparator:" / ",pagerSelector:null,buildPager:null,pagerCustom:null,controls:!0,nextText:"Next",prevText:"Prev",nextSelector:null,prevSelector:null,autoControls:!1,startText:"Start",stopText:"Stop",autoControlsCombine:!1,autoControlsSelector:null,auto:!1,pause:4e3,autoStart:!0,autoDirection:"next",autoHover:!1,autoDelay:0,minSlides:1,maxSlides:1,moveSlides:0,slideWidth:0,onSliderLoad:function(){},onSlideBefore:function(){},onSlideAfter:function(){},onSlideNext:function(){},onSlidePrev:function(){},onSliderResize:function(){}};t.fn.bxSlider=function(n){if(0==this.length)return this;if(this.length>1)return this.each(function(){t(this).bxSlider(n)}),this;var o={},r=this;e.el=this;var a=t(window).width(),l=t(window).height(),d=function(){o.settings=t.extend({},s,n),o.settings.slideWidth=parseInt(o.settings.slideWidth),o.children=r.children(o.settings.slideSelector),o.children.length<o.settings.minSlides&&(o.settings.minSlides=o.children.length),o.children.length<o.settings.maxSlides&&(o.settings.maxSlides=o.children.length),o.settings.randomStart&&(o.settings.startSlide=Math.floor(Math.random()*o.children.length)),o.active={index:o.settings.startSlide},o.carousel=o.settings.minSlides>1||o.settings.maxSlides>1,o.carousel&&(o.settings.preloadImages="all"),o.minThreshold=o.settings.minSlides*o.settings.slideWidth+(o.settings.minSlides-1)*o.settings.slideMargin,o.maxThreshold=o.settings.maxSlides*o.settings.slideWidth+(o.settings.maxSlides-1)*o.settings.slideMargin,o.working=!1,o.controls={},o.interval=null,o.animProp="vertical"==o.settings.mode?"top":"left",o.usingCSS=o.settings.useCSS&&"fade"!=o.settings.mode&&function(){var t=document.createElement("div"),e=["WebkitPerspective","MozPerspective","OPerspective","msPerspective"];for(var i in e)if(void 0!==t.style[e[i]])return o.cssPrefix=e[i].replace("Perspective","").toLowerCase(),o.animProp="-"+o.cssPrefix+"-transform",!0;return!1}(),"vertical"==o.settings.mode&&(o.settings.maxSlides=o.settings.minSlides),r.data("origStyle",r.attr("style")),r.children(o.settings.slideSelector).each(function(){t(this).data("origStyle",t(this).attr("style"))}),c()},c=function(){r.wrap('<div class="bx-wrapper"><div class="bx-viewport"></div></div>'),o.viewport=r.parent(),o.loader=t('<div class="bx-loading" />'),o.viewport.prepend(o.loader),r.css({width:"horizontal"==o.settings.mode?100*o.children.length+215+"%":"auto",position:"relative"}),o.usingCSS&&o.settings.easing?r.css("-"+o.cssPrefix+"-transition-timing-function",o.settings.easing):o.settings.easing||(o.settings.easing="swing"),f(),o.viewport.css({width:"100%",overflow:"hidden",position:"relative"}),o.viewport.parent().css({maxWidth:p()}),o.settings.pager||o.viewport.parent().css({margin:"0 auto 0px"}),o.children.css({"float":"horizontal"==o.settings.mode?"left":"none",listStyle:"none",position:"relative"}),o.children.css("width",u()),"horizontal"==o.settings.mode&&o.settings.slideMargin>0&&o.children.css("marginRight",o.settings.slideMargin),"vertical"==o.settings.mode&&o.settings.slideMargin>0&&o.children.css("marginBottom",o.settings.slideMargin),"fade"==o.settings.mode&&(o.children.css({position:"absolute",zIndex:0,display:"none"}),o.children.eq(o.settings.startSlide).css({zIndex:o.settings.slideZIndex,display:"block"})),o.controls.el=t('<div class="bx-controls" />'),o.settings.captions&&P(),o.active.last=o.settings.startSlide==x()-1,o.settings.video&&r.fitVids();var e=o.children.eq(o.settings.startSlide);"all"==o.settings.preloadImages&&(e=o.children),o.settings.ticker?o.settings.pager=!1:(o.settings.pager&&T(),o.settings.controls&&C(),o.settings.auto&&o.settings.autoControls&&E(),(o.settings.controls||o.settings.autoControls||o.settings.pager)&&o.viewport.after(o.controls.el)),g(e,h)},g=function(e,i){var s=e.find("img, iframe").length;if(0==s)return i(),void 0;var n=0;e.find("img, iframe").each(function(){t(this).one("load",function(){++n==s&&i()}).each(function(){this.complete&&t(this).load()})})},h=function(){if(o.settings.infiniteLoop&&"fade"!=o.settings.mode&&!o.settings.ticker){var e="vertical"==o.settings.mode?o.settings.minSlides:o.settings.maxSlides,i=o.children.slice(0,e).clone().addClass("bx-clone"),s=o.children.slice(-e).clone().addClass("bx-clone");r.append(i).prepend(s)}o.loader.remove(),S(),"vertical"==o.settings.mode&&(o.settings.adaptiveHeight=!0),o.viewport.height(v()),r.redrawSlider(),o.settings.onSliderLoad(o.active.index),o.initialized=!0,o.settings.responsive&&t(window).bind("resize",Z),o.settings.auto&&o.settings.autoStart&&H(),o.settings.ticker&&L(),o.settings.pager&&q(o.settings.startSlide),o.settings.controls&&W(),o.settings.touchEnabled&&!o.settings.ticker&&O()},v=function(){var e=0,s=t();if("vertical"==o.settings.mode||o.settings.adaptiveHeight)if(o.carousel){var n=1==o.settings.moveSlides?o.active.index:o.active.index*m();for(s=o.children.eq(n),i=1;i<=o.settings.maxSlides-1;i++)s=n+i>=o.children.length?s.add(o.children.eq(i-1)):s.add(o.children.eq(n+i))}else s=o.children.eq(o.active.index);else s=o.children;return"vertical"==o.settings.mode?(s.each(function(){e+=t(this).outerHeight()}),o.settings.slideMargin>0&&(e+=o.settings.slideMargin*(o.settings.minSlides-1))):e=Math.max.apply(Math,s.map(function(){return t(this).outerHeight(!1)}).get()),e},p=function(){var t="100%";return o.settings.slideWidth>0&&(t="horizontal"==o.settings.mode?o.settings.maxSlides*o.settings.slideWidth+(o.settings.maxSlides-1)*o.settings.slideMargin:o.settings.slideWidth),t},u=function(){var t=o.settings.slideWidth,e=o.viewport.width();return 0==o.settings.slideWidth||o.settings.slideWidth>e&&!o.carousel||"vertical"==o.settings.mode?t=e:o.settings.maxSlides>1&&"horizontal"==o.settings.mode&&(e>o.maxThreshold||e<o.minThreshold&&(t=(e-o.settings.slideMargin*(o.settings.minSlides-1))/o.settings.minSlides)),t},f=function(){var t=1;if("horizontal"==o.settings.mode&&o.settings.slideWidth>0)if(o.viewport.width()<o.minThreshold)t=o.settings.minSlides;else if(o.viewport.width()>o.maxThreshold)t=o.settings.maxSlides;else{var e=o.children.first().width();t=Math.floor(o.viewport.width()/e)}else"vertical"==o.settings.mode&&(t=o.settings.minSlides);return t},x=function(){var t=0;if(o.settings.moveSlides>0)if(o.settings.infiniteLoop)t=o.children.length/m();else for(var e=0,i=0;e<o.children.length;)++t,e=i+f(),i+=o.settings.moveSlides<=f()?o.settings.moveSlides:f();else t=Math.ceil(o.children.length/f());return t},m=function(){return o.settings.moveSlides>0&&o.settings.moveSlides<=f()?o.settings.moveSlides:f()},S=function(){if(o.children.length>o.settings.maxSlides&&o.active.last&&!o.settings.infiniteLoop){if("horizontal"==o.settings.mode){var t=o.children.last(
20),e=t.position();b(-(e.left-(o.viewport.width()-t.width())),"reset",0)}else if("vertical"==o.settings.mode){var i=o.children.length-o.settings.minSlides,e=o.children.eq(i).position();b(-e.top,"reset",0)}}else{var e=o.children.eq(o.active.index*m()).position();o.active.index==x()-1&&(o.active.last=!0),void 0!=e&&("horizontal"==o.settings.mode?b(-e.left,"reset",0):"vertical"==o.settings.mode&&b(-e.top,"reset",0))}},b=function(t,e,i,s){if(o.usingCSS){var n="vertical"==o.settings.mode?"translate3d(0, "+t+"px, 0)":"translate3d("+t+"px, 0, 0)";r.css("-"+o.cssPrefix+"-transition-duration",i/1e3+"s"),"slide"==e?(r.css(o.animProp,n),r.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){r.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),D()})):"reset"==e?r.css(o.animProp,n):"ticker"==e&&(r.css("-"+o.cssPrefix+"-transition-timing-function","linear"),r.css(o.animProp,n),r.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){r.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),b(s.resetValue,"reset",0),N()}))}else{var a={};a[o.animProp]=t,"slide"==e?r.animate(a,i,o.settings.easing,function(){D()}):"reset"==e?r.css(o.animProp,t):"ticker"==e&&r.animate(a,speed,"linear",function(){b(s.resetValue,"reset",0),N()})}},w=function(){for(var e="",i=x(),s=0;i>s;s++){var n="";o.settings.buildPager&&t.isFunction(o.settings.buildPager)?(n=o.settings.buildPager(s),o.pagerEl.addClass("bx-custom-pager")):(n=s+1,o.pagerEl.addClass("bx-default-pager")),e+='<div class="bx-pager-item"><a href="" data-slide-index="'+s+'" class="bx-pager-link">'+n+"</a></div>"}o.pagerEl.html(e)},T=function(){o.settings.pagerCustom?o.pagerEl=t(o.settings.pagerCustom):(o.pagerEl=t('<div class="bx-pager" />'),o.settings.pagerSelector?t(o.settings.pagerSelector).html(o.pagerEl):o.controls.el.addClass("bx-has-pager").append(o.pagerEl),w()),o.pagerEl.on("click","a",I)},C=function(){o.controls.next=t('<a class="bx-next" href="">'+o.settings.nextText+"</a>"),o.controls.prev=t('<a class="bx-prev" href="">'+o.settings.prevText+"</a>"),o.controls.next.bind("click",y),o.controls.prev.bind("click",z),o.settings.nextSelector&&t(o.settings.nextSelector).append(o.controls.next),o.settings.prevSelector&&t(o.settings.prevSelector).append(o.controls.prev),o.settings.nextSelector||o.settings.prevSelector||(o.controls.directionEl=t('<div class="bx-controls-direction" />'),o.controls.directionEl.append(o.controls.prev).append(o.controls.next),o.controls.el.addClass("bx-has-controls-direction").append(o.controls.directionEl))},E=function(){o.controls.start=t('<div class="bx-controls-auto-item"><a class="bx-start" href="">'+o.settings.startText+"</a></div>"),o.controls.stop=t('<div class="bx-controls-auto-item"><a class="bx-stop" href="">'+o.settings.stopText+"</a></div>"),o.controls.autoEl=t('<div class="bx-controls-auto" />'),o.controls.autoEl.on("click",".bx-start",k),o.controls.autoEl.on("click",".bx-stop",M),o.settings.autoControlsCombine?o.controls.autoEl.append(o.controls.start):o.controls.autoEl.append(o.controls.start).append(o.controls.stop),o.settings.autoControlsSelector?t(o.settings.autoControlsSelector).html(o.controls.autoEl):o.controls.el.addClass("bx-has-controls-auto").append(o.controls.autoEl),A(o.settings.autoStart?"stop":"start")},P=function(){o.children.each(function(){var e=t(this).find("img:first").attr("title");void 0!=e&&(""+e).length&&t(this).append('<div class="bx-caption"><span>'+e+"</span></div>")})},y=function(t){o.settings.auto&&r.stopAuto(),r.goToNextSlide(),t.preventDefault()},z=function(t){o.settings.auto&&r.stopAuto(),r.goToPrevSlide(),t.preventDefault()},k=function(t){r.startAuto(),t.preventDefault()},M=function(t){r.stopAuto(),t.preventDefault()},I=function(e){o.settings.auto&&r.stopAuto();var i=t(e.currentTarget),s=parseInt(i.attr("data-slide-index"));s!=o.active.index&&r.goToSlide(s),e.preventDefault()},q=function(e){var i=o.children.length;return"short"==o.settings.pagerType?(o.settings.maxSlides>1&&(i=Math.ceil(o.children.length/o.settings.maxSlides)),o.pagerEl.html(e+1+o.settings.pagerShortSeparator+i),void 0):(o.pagerEl.find("a").removeClass("active"),o.pagerEl.each(function(i,s){t(s).find("a").eq(e).addClass("active")}),void 0)},D=function(){if(o.settings.infiniteLoop){var t="";0==o.active.index?t=o.children.eq(0).position():o.active.index==x()-1&&o.carousel?t=o.children.eq((x()-1)*m()).position():o.active.index==o.children.length-1&&(t=o.children.eq(o.children.length-1).position()),t&&("horizontal"==o.settings.mode?b(-t.left,"reset",0):"vertical"==o.settings.mode&&b(-t.top,"reset",0))}o.working=!1,o.settings.onSlideAfter(o.children.eq(o.active.index),o.oldIndex,o.active.index)},A=function(t){o.settings.autoControlsCombine?o.controls.autoEl.html(o.controls[t]):(o.controls.autoEl.find("a").removeClass("active"),o.controls.autoEl.find("a:not(.bx-"+t+")").addClass("active"))},W=function(){1==x()?(o.controls.prev.addClass("disabled"),o.controls.next.addClass("disabled")):!o.settings.infiniteLoop&&o.settings.hideControlOnEnd&&(0==o.active.index?(o.controls.prev.addClass("disabled"),o.controls.next.removeClass("disabled")):o.active.index==x()-1?(o.controls.next.addClass("disabled"),o.controls.prev.removeClass("disabled")):(o.controls.prev.removeClass("disabled"),o.controls.next.removeClass("disabled")))},H=function(){o.settings.autoDelay>0?setTimeout(r.startAuto,o.settings.autoDelay):r.startAuto(),o.settings.autoHover&&r.hover(function(){o.interval&&(r.stopAuto(!0),o.autoPaused=!0)},function(){o.autoPaused&&(r.startAuto(!0),o.autoPaused=null)})},L=function(){var e=0;if("next"==o.settings.autoDirection)r.append(o.children.clone().addClass("bx-clone"));else{r.prepend(o.children.clone().addClass("bx-clone"));var i=o.children.first().position();e="horizontal"==o.settings.mode?-i.left:-i.top}b(e,"reset",0),o.settings.pager=!1,o.settings.controls=!1,o.settings.autoControls=!1,o.settings.tickerHover&&!o.usingCSS&&o.viewport.hover(function(){r.stop()},function(){var e=0;o.children.each(function(){e+="horizontal"==o.settings.mode?t(this).outerWidth(!0):t(this).outerHeight(!0)});
20var i=o.settings.speed/e,s="horizontal"==o.settings.mode?"left":"top",n=i*(e-Math.abs(parseInt(r.css(s))));N(n)}),N()},N=function(t){speed=t?t:o.settings.speed;var e={left:0,top:0},i={left:0,top:0};"next"==o.settings.autoDirection?e=r.find(".bx-clone").first().position():i=o.children.first().position();var s="horizontal"==o.settings.mode?-e.left:-e.top,n="horizontal"==o.settings.mode?-i.left:-i.top,a={resetValue:n};b(s,"ticker",speed,a)},O=function(){o.touch={start:{x:0,y:0},end:{x:0,y:0}},o.viewport.bind("touchstart",X)},X=function(t){if(o.working)t.preventDefault();else{o.touch.originalPos=r.position();var e=t.originalEvent;o.touch.start.x=e.changedTouches[0].pageX,o.touch.start.y=e.changedTouches[0].pageY,o.viewport.bind("touchmove",Y),o.viewport.bind("touchend",V)}},Y=function(t){var e=t.originalEvent,i=Math.abs(e.changedTouches[0].pageX-o.touch.start.x),s=Math.abs(e.changedTouches[0].pageY-o.touch.start.y);if(3*i>s&&o.settings.preventDefaultSwipeX?t.preventDefault():3*s>i&&o.settings.preventDefaultSwipeY&&t.preventDefault(),"fade"!=o.settings.mode&&o.settings.oneToOneTouch){var n=0;if("horizontal"==o.settings.mode){var r=e.changedTouches[0].pageX-o.touch.start.x;n=o.touch.originalPos.left+r}else{var r=e.changedTouches[0].pageY-o.touch.start.y;n=o.touch.originalPos.top+r}b(n,"reset",0)}},V=function(t){o.viewport.unbind("touchmove",Y);var e=t.originalEvent,i=0;if(o.touch.end.x=e.changedTouches[0].pageX,o.touch.end.y=e.changedTouches[0].pageY,"fade"==o.settings.mode){var s=Math.abs(o.touch.start.x-o.touch.end.x);s>=o.settings.swipeThreshold&&(o.touch.start.x>o.touch.end.x?r.goToNextSlide():r.goToPrevSlide(),r.stopAuto())}else{var s=0;"horizontal"==o.settings.mode?(s=o.touch.end.x-o.touch.start.x,i=o.touch.originalPos.left):(s=o.touch.end.y-o.touch.start.y,i=o.touch.originalPos.top),!o.settings.infiniteLoop&&(0==o.active.index&&s>0||o.active.last&&0>s)?b(i,"reset",200):Math.abs(s)>=o.settings.swipeThreshold?(0>s?r.goToNextSlide():r.goToPrevSlide(),r.stopAuto()):b(i,"reset",200)}o.viewport.unbind("touchend",V)},Z=function(){var e=t(window).width(),i=t(window).height();(a!=e||l!=i)&&(a=e,l=i,r.redrawSlider(),o.settings.onSliderResize.call(r,o.active.index))};return r.goToSlide=function(e,i){if(!o.working&&o.active.index!=e)if(o.working=!0,o.oldIndex=o.active.index,o.active.index=0>e?x()-1:e>=x()?0:e,o.settings.onSlideBefore(o.children.eq(o.active.index),o.oldIndex,o.active.index),"next"==i?o.settings.onSlideNext(o.children.eq(o.active.index),o.oldIndex,o.active.index):"prev"==i&&o.settings.onSlidePrev(o.children.eq(o.active.index),o.oldIndex,o.active.index),o.active.last=o.active.index>=x()-1,o.settings.pager&&q(o.active.index),o.settings.controls&&W(),"fade"==o.settings.mode)o.settings.adaptiveHeight&&o.viewport.height()!=v()&&o.viewport.animate({height:v()},o.settings.adaptiveHeightSpeed),o.children.filter(":visible").fadeOut(o.settings.speed).css({zIndex:0}),o.children.eq(o.active.index).css("zIndex",o.settings.slideZIndex+1).fadeIn(o.settings.speed,function(){t(this).css("zIndex",o.settings.slideZIndex),D()});else{o.settings.adaptiveHeight&&o.viewport.height()!=v()&&o.viewport.animate({height:v()},o.settings.adaptiveHeightSpeed);var s=0,n={left:0,top:0};if(!o.settings.infiniteLoop&&o.carousel&&o.active.last)if("horizontal"==o.settings.mode){var a=o.children.eq(o.children.length-1);n=a.position(),s=o.viewport.width()-a.outerWidth()}else{var l=o.children.length-o.settings.minSlides;n=o.children.eq(l).position()}else if(o.carousel&&o.active.last&&"prev"==i){var d=1==o.settings.moveSlides?o.settings.maxSlides-m():(x()-1)*m()-(o.children.length-o.settings.maxSlides),a=r.children(".bx-clone").eq(d);n=a.position()}else if("next"==i&&0==o.active.index)n=r.find("> .bx-clone").eq(o.settings.maxSlides).position(),o.active.last=!1;else if(e>=0){var c=e*m();n=o.children.eq(c).position()}if("undefined"!=typeof n){var g="horizontal"==o.settings.mode?-(n.left-s):-n.top;b(g,"slide",o.settings.speed)}}},r.goToNextSlide=function(){if(o.settings.infiniteLoop||!o.active.last){var t=parseInt(o.active.index)+1;r.goToSlide(t,"next")}},r.goToPrevSlide=function(){if(o.settings.infiniteLoop||0!=o.active.index){var t=parseInt(o.active.index)-1;r.goToSlide(t,"prev")}},r.startAuto=function(t){o.interval||(o.interval=setInterval(function(){"next"==o.settings.autoDirection?r.goToNextSlide():r.goToPrevSlide()},o.settings.pause),o.settings.autoControls&&1!=t&&A("stop"))},r.stopAuto=function(t){o.interval&&(clearInterval(o.interval),o.interval=null,o.settings.autoControls&&1!=t&&A("start"))},r.getCurrentSlide=function(){return o.active.index},r.getCurrentSlideElement=function(){return o.children.eq(o.active.index)},r.getSlideCount=function(){return o.children.length},r.redrawSlider=function(){o.children.add(r.find(".bx-clone")).outerWidth(u()),o.viewport.css("height",v()),o.settings.ticker||S(),o.active.last&&(o.active.index=x()-1),o.active.index>=x()&&(o.active.last=!0),o.settings.pager&&!o.settings.pagerCustom&&(w(),q(o.active.index))},r.destroySlider=function(){o.initialized&&(o.initialized=!1,t(".bx-clone",this).remove(),o.children.each(function(){void 0!=t(this).data("origStyle")?t(this).attr("style",t(this).data("origStyle")):t(this).removeAttr("style")}),void 0!=t(this).data("origStyle")?this.attr("style",t(this).data("origStyle")):t(this).removeAttr("style"),t(this).unwrap().unwrap(),o.controls.el&&o.controls.el.remove(),o.controls.next&&o.controls.next.remove(),o.controls.prev&&o.controls.prev.remove(),o.pagerEl&&o.settings.controls&&o.pagerEl.remove(),t(".bx-caption",this).remove(),o.controls.autoEl&&o.controls.autoEl.remove(),clearInterval(o.interval),o.settings.responsive&&t(window).unbind("resize",Z))},r.reloadSlider=function(t){void 0!=t&&(n=t),r.destroySlider(),d()},d(),this}}(jQuery);$(document).ready(function(){$('ul.tree.dhtml').hide();if(!$('ul.tree.dhtml').hasClass('dynamized')){$('ul.tree.dhtml ul').prev().before("<span class='grower OPEN'> </span>");$('ul.tree.dhtml ul li:last-child, ul.tree.dhtml li:last-child').addClass('last');$('ul.tree.dhtml span.grower.OPEN').addClass('CLOSE').removeClass('OPEN').parent().find('ul:first').hide();$('ul.tree.dhtml').show();$('ul.tree.dhtml .selected').parents().each(function(){if($(this).is('ul')) 21toggleBranch($(this).prev().prev(),!0)});toggleBranch($('ul.tree.dhtml .selected').prev(),!0);$('ul.tree.dhtml span.grower').click(function(){toggleBranch($(this))});$('ul.tree.dhtml').addClass('dynamized');$('ul.tree.dhtml').removeClass('dhtml')}});function openBranch(jQueryElement,noAnimation){jQueryElement.addClass('OPEN').removeClass('CLOSE');if(noAnimation) 22jQueryElement.parent().find('ul:first').show();else jQueryElement.parent().find('ul:first').slideDown()} 23function closeBranch(jQueryElement,noAnimation){jQueryElement.addClass('CLOSE').removeClass('OPEN');if(noAnimation) 24jQueryElement.parent().find('ul:first').hide();else jQueryElement.parent().find('ul:first').slideUp()} 25function toggleBranch(jQueryElement,noAnimation){if(jQueryElement.hasClass('OPEN')) 26closeBranch(jQueryElement,noAnimation);else openBranch(jQueryElement,noAnimation)} 27$(document).ready(function(){$('#home-page-tabs li:first a, #index .tab-content .tab-pane:first').addClass('active in')});$('#content-wrapper.col-sm-12 .bx_accessories').bxSlider({minSlides:1,maxSlides:6,slideWidth:297,pager:!1,nextSelector:'#next_accessories',prevSelector:'#prev_accessories',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('#content-wrapper.col-sm-12 .bx_prodcat').bxSlider({minSlides:1,maxSlides:6,slideWidth:297,pager:!1,nextSelector:'#next_prodcat',prevSelector:'#prev_prodcat',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('#content-wrapper.col-sm-12 .bx_cross').bxSlider({minSlides:1,maxSlides:6,slideWidth:297,pager:!1,nextSelector:'#next_cross',prevSelector:'#prev_cross',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('.standard_carusele #content-wrapper.col-md-9 .bx_accessories').bxSlider({minSlides:1,maxSlides:6,slideWidth:222,pager:!1,nextSelector:'#next_accessories',prevSelector:'#prev_accessories',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('.standard_carusele #content-wrapper.col-md-9 .bx_prodcat').bxSlider({minSlides:1,maxSlides:6,slideWidth:222,pager:!1,nextSelector:'#next_prodcat',prevSelector:'#prev_prodcat',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('.standard_carusele #content-wrapper.col-md-9 .bx_cross').bxSlider({minSlides:1,maxSlides:6,slideWidth:222,pager:!1,nextSelector:'#next_cross',prevSelector:'#prev_cross',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('.pl_2col_qty_3 #content-wrapper.col-md-9 .bx_accessories').bxSlider({minSlides:1,maxSlides:6,slideWidth:296,pager:!1,nextSelector:'#next_accessories',prevSelector:'#prev_accessories',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('.pl_2col_qty_3 #content-wrapper.col-md-9 .bx_prodcat').bxSlider({minSlides:1,maxSlides:6,slideWidth:296,pager:!1,nextSelector:'#next_prodcat',prevSelector:'#prev_prodcat',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('.pl_2col_qty_3 #content-wrapper.col-md-9 .bx_cross').bxSlider({minSlides:1,maxSlides:6,slideWidth:296,pager:!1,nextSelector:'#next_cross',prevSelector:'#prev_cross',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('#content-wrapper.col-md-6 .bx_accessories').bxSlider({minSlides:1,maxSlides:6,slideWidth:197,pager:!1,nextSelector:'#next_accessories',prevSelector:'#prev_accessories',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('#content-wrapper.col-md-6 .bx_prodcat').bxSlider({minSlides:1,maxSlides:6,slideWidth:197,pager:!1,nextSelector:'#next_prodcat',prevSelector:'#prev_prodcat',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('#content-wrapper.col-md-6 .bx_cross').bxSlider({minSlides:1,maxSlides:6,slideWidth:197,pager:!1,nextSelector:'#next_cross',prevSelector:'#prev_cross',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$(document).on('click','.comments_advices .reviews',function(e){if($('.comment_tab').length){$('.comment_tab').trigger('click');$('html, body').animate({scrollTop:$('.comment_tab').offset().top},500)} 28return!1});$(document).on('click','.product_tabs1 .comments_advices .reviews',function(e){$('.product_tabs1 .tabs ul.nav-tabs .comment_tab').click();$('html, body').animate({scrollTop:$('.product_tabs1 .comment_tab').offset().top},500)});$(document).on('click','.product_tabs2 .comments_advices .reviews',function(e){$('html, body').animate({scrollTop:$('.product_tabs2 #productC
28ommentsBlock .index_title').offset().top},500)});var responsiveflag=!1;$(document).ready(function(){responsiveResize();$(window).resize(responsiveResize);if(navigator.userAgent.match(/Android/i)){var viewport=document.querySelector('meta[name="viewport"]');viewport.setAttribute('content','initial-scale=1.0,maximum-scale=4.0,user-scalable=0,width=device-width,height=device-height');window.scrollTo(0,1)}});function scrollCompensate(){var inner=document.createElement('p');inner.style.width="100%";inner.style.height="200px";var outer=document.createElement('div');outer.style.position="absolute";outer.style.top="0px";outer.style.left="0px";outer.style.visibility="hidden";outer.style.width="200px";outer.style.height="150px";outer.style.overflow="hidden";outer.appendChild(inner);document.body.appendChild(outer);var w1=inner.offsetWidth;outer.style.overflow='scroll';var w2=inner.offsetWidth;if(w1==w2)w2=outer.clientWidth;document.body.removeChild(outer);return(w1-w2)} 29function responsiveResize(){compensante=scrollCompensate();if(($(window).width()+scrollCompensate())<=767&&responsiveflag==!1){accordion('enable');accordionFooter('enable');responsiveflag=!0}else if(($(window).width()+scrollCompensate())>=768){accordion('disable');accordionFooter('disable');responsiveflag=!1;if(typeof bindUniform!=='undefined') 30bindUniform()}} 31function accordionFooter(status){if(status=='enable'){$('#footer .footer-block h4').on('click',function(e){$(this).toggleClass('active').parent().find('.toggle-footer').stop().slideToggle('medium');e.preventDefault()}) 32$('#footer').addClass('accordion').find('.toggle-footer').slideUp('fast')}else{$('.footer-block h4').removeClass('active').off().parent().find('.toggle-footer').removeAttr('style').slideDown('fast');$('#footer').removeClass('accordion')}} 33function accordion(status){if(status=='enable'){var accordion_selector='.columns .h6.text-uppercase, .columns .title_block';$(accordion_selector).on('click',function(e){$(this).toggleClass('active').parent().find('.block_content').stop().slideToggle('fast')});$('.columns').addClass('accordion').find('.block_content').slideUp('fast');if(typeof(ajaxCart)!=='undefined') 34ajaxCart.collapse()}else{$('.columns .h6.text-uppercase').removeClass('active').off().parent().find('.block_content').removeAttr('style').slideDown('fast');$('.columns').removeClass('accordion')}} 35$('#menu-icon2').on('click',function(){$('#mobile_top_menu_wrapper2').slideToggle('fast');$('#mobile_search_wrapper').hide();$('#mobile_user_wrapper').hide()});$('#search-icon').on('click',function(){$('#mobile_search_wrapper').slideToggle('fast');$('#mobile_top_menu_wrapper2').hide();$('#mobile_user_wrapper').hide()});$('#user-icon').on('click',function(){$('#mobile_user_wrapper').slideToggle('fast');$('#mobile_top_menu_wrapper2').hide();$('#mobile_search_wrapper').hide()});$(document).ready(function(){$(window).scroll(function(){if($(this).scrollTop()>135){$('.stickymenu_yes').addClass("sticky_menu")}else{$('.stickymenu_yes').removeClass("sticky_menu")}})});$(document).ready(function(){$(window).scroll(function(){if($(this).scrollTop()>90){$('.stickymenu_yes').addClass("sticky_menu_rwd")}else{$('.stickymenu_yes').removeClass("sticky_menu_rwd")}})});$(document).ready(function(){$(window).scroll(function(){if($(this).scrollTop()>136){$('.stickycart_yes').addClass("sticky_cart2")}else{$('.stickycart_yes').removeClass("sticky_cart2")}})});$(document).ready(function(){$(window).scroll(function(){if($(this).scrollTop()>140){$('.stickycart_yes').addClass("sticky_cart")}else{$('.stickycart_yes').removeClass("sticky_cart")}})});$(document).ready(function(){$(window).scroll(function(){if($(this).scrollTop()>1){$('body').addClass("display_slider")}})});$(document).ready(function(){$('.show_list').click(function(){document.cookie="show_list=true; expires=Thu, 30 Jan 2100 12:00:00 UTC; path=/";document.cookie="show_grid=; expires=Thu, 30 Jan 1970 12:00:00 UTC; path=/";$('section#products').addClass('product_show_list')});$('.show_grid').click(function(){document.cookie="show_list=; expires=Thu, 30 Jan 1970 12:00:00 UTC; path=/";document.cookie="show_grid=true; expires=Thu, 30 Jan 2100 12:00:00 UTC; path=/";$('section#products').removeClass('product_show_list')})});/** 36 * 2007-2020 PrestaShop. 37 * 38 * NOTICE OF LICENSE 39 * 40 * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
41 * that is bundled with this package in the file LICENSE.txt. 42 * It is also available through the world-wide-web at this URL: 43 * https://opensource.org/licenses/AFL-3.0 44 * If you did not receive a copy of the license and are unable to 45 * obtain it through the world-wide-web, please send an email 46 * to [email protected] so we can send you a copy immediately. 47 * 48 * DISCLAIMER 49 * 50 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer 51 * versions in the future. If you wish to customize PrestaShop for your 52 * needs please refer to http://www.prestashop.com for more information. 53 * 54 * @author PrestaShop SA <[email protected]> 55 * @copyright 2007-2020 PrestaShop SA 56 * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) 57 * International Registered Trademark & Property of PrestaShop SA 58 */ 59$(document).ready(function(){$('.block_newsletter form').on('submit',function(){var psemailsubscriptionForm=$(this);if(typeof psemailsubscription_subscription==='undefined'){return!0} 60$('.block_newsletter_alert').remove();$.ajax({type:'POST',dataType:'JSON',url:psemailsubscription_subscription,cache:!1,data:$(this).serialize(),success:function(data){if(data.nw_error){psemailsubscriptionForm.prepend('<p class="alert alert-danger block_newsletter_alert">'+data.msg+'</p>')}else{psemailsubscriptionForm.prepend('<p class="alert alert-success block_newsletter_alert">'+data.msg+'</p>')}},error:function(err){console.log(err)}});return!1})});/*! For license information please see front.js.LICENSE.txt */ 61(()=>{var e={267:()=>{},379:e=>{"use strict";var t=[];function r(e){for(var r=-1,n=0;n<t.length;n++)if(t[n].identifier===e){r=n;break}return r}function n(e,n){for(var a={},o=[],i=0;i<e.length;i++){var c=e[i],u=n.base?c[0]+n.base:c[0],l=a[u]||0,d="".concat(u," ").concat(l);a[u]=l+1;var p=r(d),f={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==p)t[p].references++,t[p].updater(f);else{var v=s(f,n);n.byIndex=i,t.splice(i,0,{identifier:d,updater:v,references:1})}o.push(d)}return o}function s(e,t){var r=t.domAPI(t);return r.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;r.update(e=t)}else r.remove()}}e.exports=function(e,s){var a=n(e=e||[],s=s||{});return function(e){e=e||[];for(var o=0;o<a.length;o++){var i=r(a[o]);t[i].references--}for(var c=n(e,s),u=0;u<a.length;u++){var l=r(a[u]);0===t[l].references&&(t[l].updater(),t.splice(l,1))}a=c}}},569:e=>{"use strict";var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},565:(e,t,r)=>{"use strict";e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},795:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n="";r.supports&&(n+="@supports (".concat(r.supports,") {")),r.media&&(n+="@media ".concat(r.media," {"));var s=void 0!==r.layer;s&&(n+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),n+=r.css,s&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var a=r.sourceMap;a&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleTagTransform(n,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.n=e=>
61{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.nc=void 0,(()=>{"use strict";var e=r(379),t=r.n(e),n=r(795),s=r.n(n),a=r(569),o=r.n(a),i=r(565),c=r.n(i),u=r(216),l=r.n(u),d=r(589),p=r.n(d),f=r(267),v=r.n(f),m={};m.styleTagTransform=p(),m.setAttributes=c(),m.insert=o().bind(null,"head"),m.domAPI=s(),m.insertStyleElement=l(),t()(v(),m),v()&&v().locals&&v().locals,$(window).ready((()=>{const e=$(".blockreassurance_product img.svg, .blockreassurance img.svg").map((function(){return $(this).attr("src")})).toArray();e.filter(((t,r)=>e.indexOf(t)===r)).forEach((function(e){const t=$(`.blockreassurance_product img.svg.invisible[src="${e}"], .blockreassurance img.svg.invisible[src="${e}"]`);0!==t.length&&$.ajax({url:e,type:"GET",success(r){if($.isXMLDoc(r)){let n=$(r).find("svg");n=n.attr("data-img-url",e),n=n.removeAttr("xmlns:a"),n.find("path[fill]").attr("fill",window.psr_icon_color),n.find("path:not([fill])").css("fill",window.psr_icon_color),t.each((function(){const e=$(this).attr("id"),t=$(this).attr("class");let r=n.clone();r=void 0!==e?r.attr("id",e):r,r=void 0!==t?r.attr("class",`${t} replaced-svg`):r.attr("class"," replaced-svg"),r.removeClass("invisible"),$(this).replaceWith(r)}))}}})}))}))})()})();/** 62 * Copyright since 2007 PrestaShop SA and Contributors 63 * PrestaShop is an International Registered Trademark & Property of PrestaShop SA 64 * 65 * NOTICE OF LICENSE 66 * 67 * This source file is subject to the Academic Free License version 3.0 68 * that is bundled with this package in the file LICENSE.md. 69 * It is also available through the world-wide-web at this URL: 70 * https://opensource.org/licenses/AFL-3.0 71 * If you did not receive a copy of the license and are unable to 72 * obtain it through the world-wide-web, please send an email 73 * to [email protected] so we can send you a copy immediately. 74 * 75 * @author PrestaShop SA and Contributors <[email protected]> 76 * @copyright Since 2007 PrestaShop SA and Contributors 77 * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 78 */ 79function addNotification(productId,productAttributeId){if(typeof productId==='undefined'){var ids=$('div.js-mailalert > input[type=hidden]');productId=ids.eq(0).val();productIdAttribute=ids.eq(1).val()} 80$.ajax({type:'POST',url:$('div.js-mailalert').data('url'),data:'id_product='+productId+'&id_product_attribute='+productAttributeId+'&customer_email='+$('div.js-mailalert input[type=email]').val(),success:function(resp){resp=JSON.parse(resp);$('.js-mailalert-alerts').html('<article class="mt-1 alert alert-'+(resp.error?'danger':'success')+'" role="alert" data-alert="'+(resp.error?'error':'success')+'">'+resp.message+'</article>').show();if(!resp.error){$('div.js-mailalert > .js-mailalert-add, div.js-mailalert > input[type=email], div.js-mailalert .gdpr_consent_wrapper').hide()}}});return!1} 81$(document).on('ready',function(){const mailAlertSubmitButtonClass='.js-mailalert-add';const mailAlertWrapper=$('.js-mailalert');const mailAlertSubmitButton=mailAlertWrapper.find(mailAlertSubmitButtonClass);if(mailAlertWrapper.find('#gdpr_consent, .gdpr_consent').length){setTimeout(()=>{mailAlertSubmitButton.prop('disabled',!0);mailAlertWrapper.find('[name="psgdpr_consent_checkbox"]').on('change',function(e){e.stopPropagation();mailAlertSubmitButton.prop('disabled',!$(this).prop('checked'))})},0)} 82$(document).on('click',mailAlertSubmitButtonClass,function(e){e.preventDefault();addNotification($(this).data('product'),$(this).data('product-attribute'))});$(document).on('click','.js-remove-email-alert',function(){var self=$(this);var ids=self.attr('rel').replace('js-id-emailalerts-','');ids=ids.split('-');var id_product_mail_alert=ids[0];var id_product_attribute_mail_alert=ids[1];var parent=self.closest('li');$.ajax({url:self.data('url'),type:"POST",data:{'id_product':id_product_mail_alert,'id_product_attribute':id_product_attribute_mail_alert},success:function(result){if(result=='0'){parent.fadeOut("normal",function(){parent.remove()})}}})})});document.addEventListener("DOMContentLoaded",()=>{var x13PriceHistoryListPrices=(function(){var data={productIDs:[],loadingInProgress:!1,ajaxUrl:x13pricehistory_ajax_url,};var DOMStrings={priceHistoryListContainer:".product-miniature .x13pricehistory-product-list.x13pricehistory-product-list-ajaxed",};var DOMClasses={inProgress:"x13pricehistory-product-list-loading",pricesLoaded:"x13pricehistory-product-list-loaded",};function setEvents(){if(typeof prestashop!=="undefined"){prestashop.on("updateProductList",function(){setTimeout(function(){addProductsIDs()},100)})}}
83function getProductThumbnails(){var $productListAttributes=$(DOMStrings.priceHistoryListContainer).not("."+DOMClasses.pricesLoaded+", ."+DOMClasses.inProgress).addClass(DOMClasses.inProgress);return $productListAttributes} 84function addProductsIDs(){var $productsList=getProductThumbnails(),foundIds={};$productsList.each(function(){var id=$(this).data("product");foundIds[id]=!0});var IDsArray=Object.keys(foundIds);var prevDataIDs=data.productIDs.splice(0);data.productIDs=prevDataIDs.concat(IDsArray);if(!data.loadingInProgress){loadProductsData(data.productIDs)}} 85function getByProduct(dataProduct){loadProductsData([dataProduct])} 86function loadProductsData(productsIds){if(productsIds.length===0){return} 87data.loadingInProgress=!0;$.get(data.ajaxUrl,{token:x13pricehistory_ajax_token,id_products:productsIds},function(jsonData){if(jsonData){const products=JSON.parse(jsonData);$.each(products,function(idProduct,element){var $productData=element;var $priceHistoryListContainer=$('.x13pricehistory-product-list[data-product="'+idProduct+'"]');$priceHistoryListContainer.find(".x13pricehistory-product-list__omnibus-price").text($productData.lowest_price);$priceHistoryListContainer.find(".discount.discount-percentage").text($productData.real_discount_value);$priceHistoryListContainer.closest(DOMStrings.priceHistoryListContainer).addClass(DOMClasses.pricesLoaded);$priceHistoryListContainer.closest(DOMStrings.priceHistoryListContainer).removeClass(DOMClasses.inProgress);$priceHistoryListContainer.closest(DOMStrings.priceHistoryListContainer).find(".x13pricehistory-product-list__dummy").remove()});data.loadingInProgress=!1} 88$(DOMStrings.priceHistoryListContainer).removeClass(DOMClasses.inProgress);$(DOMStrings.priceHistoryListContainer).addClass(DOMClasses.pricesLoaded);$(".x13pricehistory-product-list__dummy").remove()})} 89return{getByProduct:function(dataProduct){getByProduct(dataProduct)},load:function(){addProductsIDs()},init:function(){setEvents()},}})();x13PriceHistoryListPrices.init();x13PriceHistoryListPrices.load()});/* 90* @author Przelewy24 91* @copyright Przelewy24 92* @license https://www.gnu.org/licenses/lgpl-3.0.en.html 93*/ 94var p24GetRawAdditionalFormsContainer=function(){var idVar='p24-additional-forms';var rawContainer=document.getElementById(idVar);if(!rawContainer){rawContainer=document.createElement('div');rawContainer.id=idVar;document.body.appendChild(rawContainer)} 95return rawContainer};function redirectAfterCardPayment(url){setTimeout(function(){window.location.href=$('#p24-card-config-element').data(url)},500)} 96function payInShopSuccess(){redirectAfterCardPayment('successUrl')} 97function payInShopFailure(){redirectAfterCardPayment('failureUrl')} 98$(function(){var $configElement;var armed=!1;var commonError=function(selector){var $section=$('#p24-blik-section');var $error=$section.find(selector);$error.show();$error.addClass('animate');setTimeout(function(){$error.removeClass('animate')},2000)};var blikError=function(){commonError('.error-code')};var regulationError=function(){commonError('.error-regulation')};var regulationNoError=function(){var $section=$('#p24-blik-section');var $error=$section.find('.error-regulation');$error.hide()};var prRegulationError=function(){commonError('.error-pr-regulation')};var prRegulationNoError=function(){var $section=$('#p24-blik-section');var $error=$section.find('.error-pr-regulation');$error.hide()};var executePaymentByBlikCode=function($form,cartId,blikCode){$form.find('button').prop('disabled',!0);var request={'action':'executeBlik','cartId':cartId,'blikCode':blikCode};$.ajax($configElement.data('ajaxurl'),{method:'POST',type:'POST',data:request,}).success(function(response){var response=JSON.parse(response);if(response.success||response.reload){var returnUrl=response.returnUrl;setTimeout(function(){window.location=returnUrl},3000)}else{blikError();$form.find('button').prop('disabled',!1)}}).error(function(){blikError();$form.find('button').prop('disabled',!1)})};var checkRegulations=function(){var $regulation;$regulation=$('#p24_regulation_accept');if(!$regulation.length){$regulation=$('#p24-blik-regulation-accept')} 99if(!$regulation.length){return!1} 100if($regulation.prop('checked')){regulationNoError();return!0}else{regulationError();return!1}};var checkPrRegulations=function(){var $regulation;$regulation=$('#conditions_to_approve\\[terms-and-conditions\\]');if(!$regulation.length){return!0} 101if($regulation.prop('checked')){prRegulationNoError();return!0}else{prRegulationError();return!1}};var showBlikSection=function(){var $section=$('#p24-blik-section');var $pad=$('#p24-additional-forms');$section.appendTo($pad);$section.show();var cartId=$configElement.data('cartid');var $form=$section.find('form');$form.on('submit',function(e){e.preventDefault();var regulations=checkRegulations();var prRegulations=checkPrRegulations();if(regulations&&prRegulations){var blikCode=$section.find('input[name=blik]').val();executePaymentByBlikCode($form,cartId,blikCode)}})};var hideBlikSection=function(){var $section=$('#p24-blik-section');$section.hide()} 102var tryArmBlikBoxPayment=function(){var $masterMethodId=$('#master-active-payment-method');$masterMethodId.on('change',function(){var val=parseInt($masterMethodId.val());if(181===val){showBlikSection()}else{hideBlikSection()}});armed=!0};var tryArmBlikBoxConfirmation=function(){var $input=$('input[data-module-name=przelewy24-method-181]');if($input.length){var rawFormContainer=p24GetRawAdditionalFormsContainer();$input.on('change',function(e){if(!$input.prop('checked')){return} 103var randomId=$input.attr('id');var $container=$('#'+randomId+'-container');var $formContainer=$(rawFormContainer);$container.append($formContainer);$formContainer.trigger('hide-old');var hideOldEvent=new Event('hide-old');
103rawFormContainer.dispatchEvent(hideOldEvent);showBlikSection()});rawFormContainer.addEventListener('hide-old',function(){hideBlikSection()});armed=!0}};var tryArmBlikBox=function(retries){if(armed||retries<=0){return} 104$configElement=$('#p24-blik-config-element');if($configElement.length){var pageType=$configElement.data('pagetype');switch(pageType){case 'payment':tryArmBlikBoxPayment();break;case 'confirmation':tryArmBlikBoxConfirmation();break}} 105if(!armed){setTimeout(tryArmBlikBox,1000,retries-1)}};tryArmBlikBox(10)});$(function(){var $configElement;var armed=!1;var commonError=function(selector){var $section=$('#p24-card-section');var $error=$section.find(selector);$error.show();$error.addClass('animate');setTimeout(function(){$error.removeClass('animate')},2000)};var otherError=function(){commonError('error-other')} 106var regulationError=function(){commonError('.error-regulation')};var regulationNoError=function(){var $section=$('#p24-card-section');var $error=$section.find('.error-regulation');$error.hide()};var prRegulationError=function(){commonError('.error-pr-regulation')};var prRegulationNoError=function(){var $section=$('#p24-card-section');var $error=$section.find('.error-pr-regulation');$error.hide()};var showCardLoader=function(){$('.p24-card-loader').fadeIn(400)} 107function hideCardLoader(){$('.p24-card-loader').fadeOut(300)} 108var register=function(cartId,method){if('object'===typeof P24_Transaction){return} 109var $formContainer=$('#P24FormContainer');var termsAcceptRequired=$configElement.data('termsConfirmRequired');if(termsAcceptRequired&&!$('#p24-card-regulation-accept').is(':checked')){return} 110showCardLoader();$.ajax($configElement.data('ajaxurl'),{method:'POST',type:'POST',data:{action:'register',cartId:cartId,method:method,},}).success(function(response){var response=JSON.parse(response);if(response.script&&response.signature){$formContainer.attr('data-sign',response.signature);$.getScript(response.script,function(){P24_Transaction.init();hideCardLoader()})}else{hideCardLoader();commonError()}}).error(function(){hideCardLoader();payInShopFailure()})};var checkRegulations=function(){var $regulation;$regulation=$('#p24_regulation_accept');if(!$regulation.length){$regulation=$('#p24-card-regulation-accept')} 111if(!$regulation.length){return!1} 112if($regulation.prop('checked')){regulationNoError();return!0}else{regulationError();return!1}};var checkPrRegulations=function(){var $regulation;$regulation=$('#conditions_to_approve\\[terms-and-conditions\\]');if(!$regulation.length){return!0} 113if($regulation.prop('checked')){prRegulationNoError();return!0}else{prRegulationError();return!1}};var getMethodId=function(){var $masterMethodId=$('#master-active-payment-method');var $primaryMethod=$('[data-module-name^="przelewy24-method-"]:checked');if($masterMethodId.length===0&&$primaryMethod.length>0){return parseInt($primaryMethod.data('moduleName').replace('przelewy24-method-',''))} 114return parseInt($masterMethodId.val())} 115var showCardSection=function(){var $section=$('#p24-card-section');var $pad=$('#p24-additional-forms');$section.appendTo($pad);$section.show();register($configElement.data('cartid'),getMethodId())};var hideCardSection=function(){var $section=$('#p24-card-section');$section.hide()} 116var tryArmCardBoxPayment=function($configElement){var ids=$configElement.data('ids').split(',');var $masterMethodId=$('#master-active-payment-method');$masterMethodId.on('change',function(){var val=parseInt($masterMethodId.val());var notSelected=ids.every(function(id){id=parseInt(id);return id!==val});if(notSelected){hideCardSection()}else{showCardSection()}});armed=!0} 117var tryArmCardBoxConfirmationOne=function(id){if(armed){return} 118var $input=$('input[data-module-name=przelewy24-method-'+id+']');if($input.length){var rawFormContainer=p24GetRawAdditionalFormsContainer();$input.on('change',function(e){if(!$input.prop('checked')){return} 119var randomId=$input.attr('id');var $container=$('#'+randomId+'-container');var $formContainer=$(rawFormContainer);$container.append($formContainer);$formContainer.trigger('hide-old');var hideOldEvent=new Event('hide-old');
119rawFormContainer.dispatchEvent(hideOldEvent);showCardSection()});rawFormContainer.addEventListener('hide-old',function(){hideCardSection()});armed=!0}};var tryArmCardBoxConfirmation=function(){var ids=$configElement.data('ids').split(',');ids.forEach(function(id){tryArmCardBoxConfirmationOne(id)})};var tryArmCardBox=function(retries){if(armed||retries<=0){return} 120$configElement=$('#p24-card-config-element');$(document).on('change','#p24-card-regulation-accept',function(){if($(this).is(':checked')){$('#P24FormContainer').show();register($configElement.data('cartid'),getMethodId())}else{$('#P24FormContainer').hide()}});if($configElement.length){var pageType=$configElement.data('pagetype');switch(pageType){case 'payment':tryArmCardBoxPayment($configElement);break;case 'confirmation':tryArmCardBoxConfirmation();break}} 121if(!armed){setTimeout(tryArmCardBox,1000,retries-1)}};tryArmCardBox(10)});$(function(){var armed=!1;var checkForBlikOrCard=function($configElement,number){var ids=$configElement.data('cardIds').split(',');ids.push('181');number=number.toString();return ids.indexOf(number)>=0};var tryArmOtherConfirmation=function($configElement){var rawFormContainer=p24GetRawAdditionalFormsContainer();var paymentOptions=document.querySelectorAll('input[name=payment-option]');paymentOptions.forEach(function(elm){var needArming;var result=/^przelewy24-method-(\d+)$/.exec(elm.dataset.moduleName);if(result){needArming=!checkForBlikOrCard($configElement,parseInt(result[1]))}else{needArming=!0} 122console.log(elm.dataset.moduleName,needArming) 123if(needArming){elm.addEventListener('change',function(e){var hideOldEvent=new Event('hide-old');rawFormContainer.dispatchEvent(hideOldEvent)})}});armed=!0};var tryArmOther=function(retries){if(armed||retries<=0){return} 124$configElement=$('#p24-other-config-element');if($configElement.length){var pageType=$configElement.data('pagetype');switch(pageType){case 'confirmation':tryArmOtherConfirmation($configElement);break}} 125if(!armed){setTimeout(tryArmOther,1000,retries-1)}};tryArmOther(10)});/* 126* @author Przelewy24 127* @copyright Przelewy24 128* @license https://www.gnu.org/licenses/lgpl-3.0.en.html 129*/ 130$(function(){var hideById=function(id){$('a.bank-box[data-id='+id+']').css('display','none');$('input[data-module-name=przelewy24-method-'+id+']').parent().parent().parent().css('display','none');$('input#paymethod-bank-id-'+id).parent().css('display','none')} 131var hasApplePay=window.ApplePaySession&&window.ApplePaySession.canMakePayments();if(!hasApplePay){[232,252,253,].forEach(hideById)}});/* 132* @author Krzysztof Pecak 133* @copyright 2017 Krzysztof Pecak 134* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) 135*/ 136$(document).ready(function(){initfb(document,'script','facebook-jssdk')});function initfb(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(d.getElementById(id)) 137return;js=d.createElement(s);js.id=id;js.src="//connect.facebook.net/en_EN/sdk.js#xfbml=1&version=v2.6";fjs.parentNode.insertBefore(js,fjs)} 138$(function(){$('.likebox_tab').click(function(){if($(this).css("margin-right")=="300px"){$('#likebox_content').animate({"margin-right":'-=300'});$('.likebox_tab').animate({"margin-right":'-=300'})}else{$('#likebox_content').animate({"margin-right":'+=300'});$('.likebox_tab').animate({"margin-right":'+=300'})}})});/* 139* @author Krzysztof Pecak 140* @copyright 2021 Krzysztof Pecak 141* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) 142*/ 143$(document).ready(function(){$(window).scroll(function(){if($(this).scrollTop()>100){$('#scroll_top').fadeIn()}else{$('#scroll_top').fadeOut()}});$('#scroll_top').click(function(){$("html, body").animate({scrollTop:0},600);return!1})});/*! lazysizes - v5.3.2 */ 144!function(e){var t=function(u,D,f){"use strict";var k,H;if(function(){var e;var t={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",fastLoadedClass:"ls-is-cached",iframeLoadMode:0,srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:!0,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:!0,ricTimeout:0,throttleDelay:125};H=u.lazySizesConfig||u.lazysizesConfig||{};for(e in t){if(!(e in H)){H[e]=t[e]}}}(),!D||!D.getElementsByClassName){return{init:function(){},cfg:H,noSupport:!0}}var O=D.documentElement,i=u.HTMLPictureElement,P="addEventListener",$="getAttribute",q=u[P].bind(u),I=u.setTimeout,U=u.requestAnimationFrame||I,o=u.requestIdleCallback,j=/^picture$/i,r=["load","error","lazyincluded","_lazyloaded"],a={},G=Array.prototype.forEach,J=function(e,t){if(!a[t]){a[t]=new RegExp("(\\s|^)"+t+"(\\s|$)")}return a[t].test(e[$]("class")||"")&&a[t]},K=function(e,t){if(!J(e,t)){e.setAttribute("class",(e[$]("class")||"").trim()+" "+t)}},Q=function(e,t){var a;if(a=J(e,t)){e.setAttribute("class",(e[$]("class")||"").replace(a," "))}},V=function(t,a,e){var i=e?P:"removeEventListener";if(e){V(t,a)}r.forEach(function(e){t[i](e,a)})},X=function(e,t,a,i,r){var n=D.createEvent("Event");
vendor: 5,605 bytes, line 144
144if(!a){a={}}a.instance=k;n.initEvent(t,!i,!r);n.detail=a;e.dispatchEvent(n);return n},Y=function(e,t){var a;if(!i&&(a=u.picturefill||H.pf)){if(t&&t.src&&!e[$]("srcset")){e.setAttribute("srcset",t.src)}a({reevaluate:!0,elements:[e]})}else if(t&&t.src){e.src=t.src}},Z=function(e,t){return(getComputedStyle(e,null)||{})[t]},s=function(e,t,a){a=a||e.offsetWidth;while(a<H.minSize&&t&&!e._lazysizesWidth){a=t.offsetWidth;t=t.parentNode}return a},ee=function(){var a,i;var t=[];var r=[];var n=t;var s=function(){var e=n;n=t.length?r:t;a=!0;i=!1;while(e.length){e.shift()()}a=!1};var e=function(e,t){if(a&&!t){e.apply(this,arguments)}else{n.push(e);if(!i){i=!0;(D.hidden?I:U)(s)}}};e._lsFlush=s;return e}(),te=function(a,e){return e?function(){ee(a)}:function(){var e=this;var t=arguments;ee(function(){a.apply(e,t)})}},ae=function(e){var a;var i=0;var r=H.throttleDelay;var n=H.ricTimeout;var t=function(){a=!1;i=f.now();e()};var s=o&&n>49?function(){o(t,{timeout:n});if(n!==H.ricTimeout){n=H.ricTimeout}}:te(function(){I(t)},!0);return function(e){var t;if(e=e===!0){n=33}if(a){return}a=!0;t=r-(f.now()-i);if(t<0){t=0}if(e||t<9){s()}else{I(s,t)}}},ie=function(e){var t,a;var i=99;var r=function(){t=null;e()};var n=function(){var e=f.now()-a;if(e<i){I(n,i-e)}else{(o||r)(r)}};return function(){a=f.now();if(!t){t=I(n,i)}}},e=function(){var v,m,c,h,e;var y,z,g,p,C,b,A;var n=/^img$/i;var d=/^iframe$/i;var E="onscroll"in u&&!/(gle|ing)bot/.test(navigator.userAgent);var _=0;var w=0;var M=0;var N=-1;var L=function(e){M--;if(!e||M<0||!e.target){M=0}};var x=function(e){if(A==null){A=Z(D.body,"visibility")=="hidden"}return A||!(Z(e.parentNode,"visibility")=="hidden"&&Z(e,"visibility")=="hidden")};var W=function(e,t){var a;var i=e;var r=x(e);g-=t;b+=t;p-=t;C+=t;while(r&&(i=i.offsetParent)&&i!=D.body&&i!=O){r=(Z(i,"opacity")||1)>0;if(r&&Z(i,"overflow")!="visible"){a=i.getBoundingClientRect();r=C>a.left&&p<a.right&&b>a.top-1&&g<a.bottom+1}}return r};var t=function(){var e,t,a,i,r,n,s,o,l,u,f,c;var d=k.elements;if((h=H.loadMode)&&M<8&&(e=d.length)){t=0;N++;for(;t<e;t++){if(!d[t]||d[t]._lazyRace){continue}if(!E||k.prematureUnveil&&k.prematureUnveil(d[t])){R(d[t]);continue}if(!(o=d[t][$]("data-expand"))||!(n=o*1)){n=w}if(!u){u=!H.expand||H.expand<1?O.clientHeight>500&&O.clientWidth>500?500:370:H.expand;k._defEx=u;f=u*H.expFactor;c=H.hFac;A=null;if(w<f&&M<1&&N>2&&h>2&&!D.hidden){w=f;N=0}else if(h>1&&N>1&&M<6){w=u}else{w=_}}if(l!==n){y=innerWidth+n*c;z=innerHeight+n;s=n*-1;l=n}a=d[t].getBoundingClientRect();if((b=a.bottom)>=s&&(g=a.top)<=z&&(C=a.right)>=s*c&&(p=a.left)<=y&&(b||C||p||g)&&(H.loadHidden||x(d[t]))&&(m&&M<3&&!o&&(h<3||N<4)||W(d[t],n))){R(d[t]);r=!0;if(M>9){break}}else if(!r&&m&&!i&&M<4&&N<4&&h>2&&(v[0]||H.preloadAfterLoad)&&(v[0]||!o&&(b||C||p||g||d[t][$](H.sizesAttr)!="auto"))){i=v[0]||d[t]}}if(i&&!r){R(i)}}};var a=ae(t);var S=function(e){var t=e.target;if(t._lazyCache){delete t._lazyCache;return}L(e);K(t,H.loadedClass);Q(t,H.loadingClass);V(t,B);X(t,"lazyloaded")};var i=te(S);var B=function(e){i({target:e.target})};var T=function(e,t){var a=e.getAttribute("data-load-mode")||H.iframeLoadMode;if(a==0){e.contentWindow.location.replace(t)}else if(a==1){e.src=t}};var F=function(e){var t;var a=e[$](H.srcsetAttr);if(t=H.customMedia[e[$]("data-media")||e[$]("media")]){e.setAttribute("media",t)}if(a){e.setAttribute("srcset",a)}};var s=te(function(t,e,a,i,r){var n,s,o,l,u,f;if(!(u=X(t,"lazybeforeunveil",e)).defaultPrevented){if(i){if(a){K(t,H.autosizesClass)}else{t.setAttribute("sizes",i)}}s=t[$](H.srcsetAttr);n=t[$](H.srcAttr);if(r){o=t.parentNode;l=o&&j.test(o.nodeName||"")}f=e.firesLoad||"src"in t&&(s||n||l);u={target:t};K(t,H.loadingClass);if(f){clearTimeout(c);c=I(L,2500);V(t,B,!0)}if(l){G.call(o.getElementsByTagName("source"),F)}if(s){t.setAttribute("srcset",s)}else if(n&&!l){if(d.test(t.nodeName)){T(t,n)}else{t.src=n}}if(r&&(s||l)){Y(t,{src:n})}}if(t._lazyRace){delete t._lazyRace}Q(t,H.lazyClass);ee(function(){var e=t.complete&&t.naturalWidth>1;if(!f||e){if(e){K(t,H.fastLoadedClass)}S(u);t._lazyCache=!0;I(function(){if("_lazyCache"in t){delete t._lazyCache}},9)}if(t.loading=="lazy"){M--}},!0)});var R=function(e){if(e._lazyRace){return}var t;var a=n.test(e.nodeName);var i=a&&(e[$](H.sizesAttr)||e[$]("sizes"));var r=i=="auto";if((r||!m)&&a&&(e[$]("src")||e.srcset)&&!e.complete&&!J(e,H.errorClass)&&J(e,H.lazyClass)){return}t=X(e,"lazyunveilread").detail;if(r){re.updateElem(e,!0,e.offsetWidth)}e._lazyRace=!0;M++;s(e,t,r,i,a)};var r=ie(function(){H.loadMode=3;a()});var o=function(){if(H.loadMode==3){H.loadMode=2}r()};var l=function(){if(m){return}if(f.now()-e<999){I(l,999);return}m=!0;H.loadMode=3;a();q("scroll",o,!0)};return{_:function(){e=f.now();k.elements=D.getElementsByClassName(H.lazyClass);v=D.getElementsByClassName(H.lazyClass+" "+H.preloadClass);q("scroll",a,!0);q("resize",a,!0);q("pageshow",function(e){if(e.persisted){var t=D.querySelectorAll("."+H.loadingClass);if(t.length&&t.forEach){U(function(){t.forEach(function(e){if(e.complete){R(e)}})})}}});if(u.MutationObserver){new MutationObserver(a).observe(O,{childList:!0,subtree:!0,attributes:!0})}else{O[P]("DOMNodeInserted",a,!0);O[P]("DOMAttrModified",a,!0);setInterval(a,999)}q("hashchange",a,!0);["focus","mouseover","click","load","transitionend","animationend"].forEach(function(e){D[P](e,a,!0)});if(/d$|^c/.test(D.readyState)){l()}else{q("load",l);D[P]("DOMContentLoaded",a);I(l,2e4)}if(k.elements.length){t();ee._lsFlush()}else{a()}},checkElems:a,unveil:R,_aLSL:o}}(),re=function(){var a;var n=te(function(e,t,a,i){var r,n,s;e._lazysizesWidth=i;i+="px";e.setAttribute("sizes",i);
144if(j.test(t.nodeName||"")){r=t.getElementsByTagName("source");for(n=0,s=r.length;n<s;n++){r[n].setAttribute("sizes",i)}}if(!a.detail.dataAttr){Y(e,a.detail)}});var i=function(e,t,a){var i;var r=e.parentNode;if(r){a=s(e,r,a);i=X(e,"lazybeforesizes",{width:a,dataAttr:!!t});if(!i.defaultPrevented){a=i.detail.width;if(a&&a!==e._lazysizesWidth){n(e,r,i,a)}}}};var e=function(){var e;var t=a.length;if(t){e=0;for(;e<t;e++){i(a[e])}}};var t=ie(e);return{_:function(){a=D.getElementsByClassName(H.autosizesClass);q("resize",t)},checkElems:t,updateElem:i}}(),t=function(){if(!t.i&&D.getElementsByClassName){t.i=!0;re._();e._()}};return I(function(){H.init&&t()}),k={cfg:H,autoSizer:re,loader:e,init:t,uP:Y,aC:K,rC:Q,hC:J,fire:X,gW:s,rAF:ee}}(e,e.document,Date);e.lazySizes=t,"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:{});/** 145 * Copyright ETS Software Technology Co., Ltd 146 * 147 * NOTICE OF LICENSE 148 * 149 * This file is not open source! Each license that you purchased is only available for 1 website only. 150 * If you want to use this file on more websites (or projects), you need to purchase additional licenses. 151 * You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party. 152 * 153 * DISCLAIMER 154 * 155 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer 156 * versions in the future. 157 * 158 * @author ETS Software Technology Co., Ltd 159 * @copyright ETS Software Technology Co., Ltd 160 * @license Valid for 1 website (or project) for each purchase of license 161 */ 162var PA_GOOGLE_V3_CAPTCHA_SITE_KEY=PA_GOOGLE_V3_CAPTCHA_SITE_KEY||!1;var PA_GOOGLE_V3_POSITION=PA_GOOGLE_V3_POSITION||'bottomright';var PA_GOOGLE_CAPTCHA_THEME=PA_GOOGLE_CAPTCHA_THEME||'light';var PA_TURNSTILE_SITE_KEY=typeof PA_TURNSTILE_SITE_KEY!=='undefined'?PA_TURNSTILE_SITE_KEY:'';var PA_TURNSTILE_THEME=typeof PA_TURNSTILE_THEME!=='undefined'?PA_TURNSTILE_THEME:'';var PA_TURNSTILE_LANGUAGE=typeof PA_TURNSTILE_LANGUAGE!=='undefined'?PA_TURNSTILE_LANGUAGE:'';var turnstileWidgets=typeof turnstileWidgets!=='undefined'?turnstileWidgets:[];var RECAPTCHA_V3_CONSTANTS={INPUT_NAME:'g-recaptcha-response',CLASS_LOADING:'g-loading',CLASS_LOADED:'g-loaded',SCRIPT_ID:'pa-recaptcha-v3',SELECTOR_INPUT:'textarea[name=g-recaptcha-response], input[name=g-recaptcha-response]',SELECTOR_PLACEHOLDER:'[id*=g-recaptcha-response-]',TIMEOUT_SCRIPT_CHECK:150,TIMEOUT_RETRY:800,TIMEOUT_REFRESH:100*1000};var v3_render_clientID={};var func_pa={buildCaptchaParams:function($context){var params='';if(!$context||typeof $context.find!=='function'){return params} 163var gResponse=$context.find(RECAPTCHA_V3_CONSTANTS.SELECTOR_INPUT);var gToken='';if(gResponse.length>0){gResponse.each(function(){if($(this).val()){gToken=$(this).val();return!1}})} 164if(gToken){params+='&'+RECAPTCHA_V3_CONSTANTS.INPUT_NAME+'='+gToken}else{var turnstileField=$context.find('input[name="cf-turnstile-response"], textarea[name="cf-turnstile-response"]');if(turnstileField.length>0){params+='&cf-turnstile-response='+turnstileField.val()}else{var paCaptcha=$context.find('input[name=pa_captcha]');if(paCaptcha.length>0){params+='&pa_captcha='+paCaptcha.val()}}} 165var posTo=$context.find('input[name=posTo]').first();if(posTo.length>0&&posTo.val()){params+='&posTo='+posTo.val()} 166return params},addNotificationCustom:function(productId,productAttributeId){if(typeof productId==='undefined'){var ids=$('div.js-mailalert').find('input[type=hidden]');productId=ids.eq(0).val();productIdAttribute=ids.eq(1).val()} 167var captchaParams=func_pa.buildCaptchaParams($('div.js-mailalert'));$.ajax({type:'POST',url:$('div.js-mailalert').data('url'),data:'id_product='+productId+'&id_product_attribute='+productAttributeId+'&customer_email='+$('div.js-mailalert').find('input[type=email]').val()+(captchaParams?captchaParams:''),success:function(resp){resp=JSON.parse(resp);$('.js-mailalert-alerts').html('<article class="mt-1 alert alert-'+(resp.error?'danger':'success')+'" role="alert" data-alert="'+(resp.error?'error':'success')+'">'+resp.message+'</article>').show();if(!resp.error){$('div.js-mailalert').find('.js-mailalert-add, input[type=email], .gdpr_consent_wrapper, .captcha_out_of_stock').hide()}}});if($('div.js-mailalert img.pa_captcha_img_data').length>0){func_pa.refreshCaptcha($('div.js-mailalert img.pa_captcha_img_data').removeClass('loaded'))}else{func_pa.resetReCaptcha()} 168return!1},addNotification:function(){var evt=window.event||arguments.callee.caller.arguments[0];if(evt&&typeof evt.preventDefault==='function'){evt.preventDefault()} 169var $container=$('div.js-mailalert');if($container.hasClass('submitting')){return!0} 170$container.addClass('submitting');$container.find('button, input[type="submit"]').prop('disabled',!0);var ids=$container.find('input[type=hidden]');var captchaParams=func_pa.buildCaptchaParams($container);$.ajax({type:'POST',url:$container.data('url'),data:'id_product='+ids[0].value+'&id_product_attribute='+ids[1].value+'&customer_email='+$container.find('input[type=email]').val()+(captchaParams?captchaParams:''),success:function(resp){$container.removeClass('submitting');$container.find('button, input[type="submit"]').prop('disabled',!1);resp=JSON.parse(resp);var $msgContainer=$container.find('span');if($msgContainer.length===0){$container.append('<span></span>');$msgContainer=$container.find('span')} 171$msgContainer.html('<article class="alert alert-'+(resp.error?'danger':'success')+'" role="alert" data-alert="'+(resp.error?'error':'success')+'">'+resp.message+'</article>').show();if(!resp.error){$container.find('button, input[type=email], #gdpr_consent, .captcha_out_of_stock').hide()} 172if($('div.js-mailalert input[name=pa_captcha]').length>0){$('div.js-mailalert input[name=pa_captcha]').val('')}},error:function(){$container.removeClass('submitting');$container.find('button, input[type="submit"]').prop('disabled',!1)}});if($('div.js-mailalert img.pa_captcha_img_data').length>0){func_pa.refreshCaptcha($('div.js-mailalert img.pa_captcha_img_data').removeClass('loaded'))}else{func_pa.resetReCaptcha()} 173return!0},addNotification16:function(){if($('#oosHook .gdpr_hook.receive').length>0&&!$('.pa_notify input[name=gdpr_accept]').is(':checked')){$('#pa_mailalert_link').prop('disabled',!0);return!1} 174if($('#pa_oos_customer_email').val()==mailalerts_placeholder||(typeof mailalerts_url_add=='undefined')){return!1} 175var captchaParams=func_pa.buildCaptchaParams($('.pa_notify'));$.ajax({type:'POST',url:mailalerts_url_add,data:'id_product='+id_product+'&id_product_attribute='+$('#idCombination').val()+'&customer_email='+$('#pa_oos_customer_email').val()+(captchaParams?captchaParams:''),success:function(json){if(json=='-1'){$('#pa_oos_customer_email_result').html(mailalerts_captcha_error);$('#pa_oos_customer_email_result').css('color','red').show()}else if(json=='1'){$('#pa_mailalert_link, #pa_oos_customer_email, .pa_notify .page_product').hide();$('#oosHook').find('#gdpr_consent').hide();$('#pa_oos_customer_email_result').html(mailalerts_registered);$('#pa_oos_customer_email_result').css('color','green').show()}else if(json=='2'){$('#pa_oos_customer_email_result').html(mailalerts_already);$('#pa_oos_customer_email_result').css('color','red').show()}else{$('#pa_oos_customer_email_result').html(mailalerts_invalid);$('#pa_oos_customer_email_result').css('color','red').show()} 176if($('.pa_notify input[name=pa_captcha]').length>0){$('.pa_notify input[name=pa_captcha]').val('')}}});if($('.pa_notify img.pa_captcha_img_data').length>0){func_pa.refreshCaptcha($('.pa_notify img.pa_captcha_img_data').removeClass('loaded'))}else{func_pa.resetReCaptcha()} 177return!1},refreshCaptcha:function(img){if(img.length&&!img.hasClass('loaded')){var orgLink=img.attr('src');var orgCode=img.attr('data-rand');var rand=Math.random();img.attr('src',orgLink.replace(orgCode,rand));img.attr('data-rand',rand);if(!img.hasClass('loaded')){img.addClass('loaded')}}},resetReCaptcha:function(){var hasWidgets=(typeof recaptchaWidgets!=="undefined"&&recaptchaWidgets.length);if(typeof grecaptcha!=="undefined"){if(grecaptcha.enterprise){if(typeof grecaptcha.enterprise.reset==='function'&&hasWidgets){for(var j=0;j<recaptchaWidgets.length;
177j++){grecaptcha.enterprise.reset(recaptchaWidgets[j])}} 178if(typeof PA_GOOGLE_SB_ENTERPRISE_KEY_ID!=='undefined'&&PA_GOOGLE_SB_ENTERPRISE_KEY_ID){var action=(document.body&&document.body.id)?document.body.id.replace(/(?=[^A-Za-z_])([^A-Za-z_])/g,'_'):'submit';grecaptcha.enterprise.execute(PA_GOOGLE_SB_ENTERPRISE_KEY_ID,{action:action}).then(function(token){if(token){$('textarea[name=g-recaptcha-response], input[name=g-recaptcha-response]').val(token)}})}}else if(typeof grecaptcha.reset==='function'){if(hasWidgets){for(var i=0;i<recaptchaWidgets.length;i++){grecaptcha.reset(recaptchaWidgets[i])}}else{grecaptcha.reset()}}} 179if(typeof turnstile!=="undefined"&&typeof turnstile.reset==='function'){if(turnstileWidgets&&turnstileWidgets.length){for(var k=0;k<turnstileWidgets.length;k++){try{turnstile.reset(turnstileWidgets[k])}catch(e){}}}else{try{turnstile.reset()}catch(e){}}}},renderTurnstile:function(context){if(typeof etsTurnstileRender==='function'){etsTurnstileRender(context||document)}},loadCaptcha:function(){var img=$('.pa_captcha_img_data:not(.loaded)').first();if(img.length>0){img.load(function(){if(!img.hasClass('loaded')){func_pa.refreshCaptcha(img)} 180if(img[0].complete&&img.hasClass('loaded')){func_pa.loadCaptcha()}}).filter(function(){return this.complete}).load()}},loadReCaptchaV3:function(form){if(!PA_GOOGLE_V3_CAPTCHA_SITE_KEY||!form||form.hasClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADED)||form.hasClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADING)){return!1} 181var g_captcha=form.find(RECAPTCHA_V3_CONSTANTS.SELECTOR_PLACEHOLDER);if(!g_captcha.length){form.removeClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADING+' '+RECAPTCHA_V3_CONSTANTS.CLASS_LOADED);return!1} 182form.addClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADING);var captchaId=g_captcha[0].id;var action=($('body').attr('id')||'submit').replace(/(?=[^A-Za-z_])([^A-Za-z_])/g,'_');func_pa._ensureReCaptchaScript(function(){func_pa._renderAndExecute(form,captchaId,action)});return!0},_ensureReCaptchaScript:function(callback){if(typeof window.grecaptcha!=='undefined'&&typeof window.grecaptcha.ready==='function'&&typeof window.grecaptcha.render==='function'){callback();return} 183if(!document.getElementById(RECAPTCHA_V3_CONSTANTS.SCRIPT_ID)){var s=document.createElement('script');s.id=RECAPTCHA_V3_CONSTANTS.SCRIPT_ID;s.async=!0;s.defer=!0;s.src='https://www.google.com/recaptcha/api.js?render='+encodeURIComponent(PA_GOOGLE_V3_CAPTCHA_SITE_KEY);s.onerror=function(){$('.'+RECAPTCHA_V3_CONSTANTS.CLASS_LOADING).removeClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADING)};document.head.appendChild(s)} 184setTimeout(function(){func_pa._ensureReCaptchaScript(callback)},RECAPTCHA_V3_CONSTANTS.TIMEOUT_SCRIPT_CHECK)},_renderAndExecute:function(form,captchaId,action){var clientId=v3_render_clientID[captchaId];if(typeof clientId==='undefined'){try{clientId=grecaptcha.render(captchaId,{sitekey:PA_GOOGLE_V3_CAPTCHA_SITE_KEY,badge:PA_GOOGLE_V3_POSITION,size:'invisible',theme:PA_GOOGLE_CAPTCHA_THEME});v3_render_clientID[captchaId]=clientId}catch(e){console.error('ReCaptcha render error:',e);return}} 185grecaptcha.ready(function(){grecaptcha.execute(clientId,{action:action}).then(function(token){func_pa._handleTokenSuccess(form,token)}).catch(function(err){console.error('ReCaptcha execute error:',err);form.removeClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADING);setTimeout(function(){func_pa.loadReCaptchaV3(form)},RECAPTCHA_V3_CONSTANTS.TIMEOUT_RETRY)})})},_handleTokenSuccess:function(form,token){if(!token)return;var gResponse=form.find(RECAPTCHA_V3_CONSTANTS.SELECTOR_INPUT);if(gResponse.length>0){gResponse.val(token)}else{var g_captcha=form.find(RECAPTCHA_V3_CONSTANTS.SELECTOR_PLACEHOLDER);if(g_captcha.length){g_captcha.append('<input type="hidden" name="'+RECAPTCHA_V3_CONSTANTS.INPUT_NAME+'" value="'+token+'"/>')}} 186form.removeClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADING).addClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADED);if(form.data('g-timeout')){clearTimeout(form.data('g-timeout'))} 187var timeoutID=setTimeout(function(){if(form.length&&document.body.contains(form[0])){form.removeClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADED);func_pa.loadReCaptchaV3(form)}},RECAPTCHA_V3_CONSTANTS.TIMEOUT_REFRESH);form.data('g-timeout',timeoutID)},};var FORCE_RECAPTCHA_FORMS=[];$(document).ready(function(){if(PA_GOOGLE_V3_CAPTCHA_SITE_KEY){var delayIndex=0;$('form:not(.'+RECAPTCHA_V3_CONSTANTS.CLASS_LOADED+'):not(.'+RECAPTCHA_V3_CONSTANTS.CLASS_LOADING+')').each(function(){var $form=$(this);var hasPlaceholder=$form.find(RECAPTCHA_V3_CONSTANTS.SELECTOR_PLACEHOLDER).length>0;var isForced=FORCE_RECAPTCHA_FORMS.some(function(sel){return $form.is(sel)});if(!hasPlaceholder&&!isForced){return} 188if(!hasPlaceholder&&isForced){$form.append('<div id="'+RECAPTCHA_V3_CONSTANTS.INPUT_NAME+'-'+Math.random().toString(36).slice(2)+'"></div>')} 189setTimeout(function(){func_pa.loadReCaptchaV3($form)},delayIndex*300);delayIndex++})} 190func_pa.renderTurnstile(document);$('.pa_captcha_img_data.loaded').removeClass('loaded');$(document).on('click','.js-mailalert-add-custom',function(e){e.preventDefault();func_pa.addNotificationCustom($(this).data('product'),$(this).data('product-attribute'))});$(document).on('click','#pa_captcha_refesh',function(e){e.preventDefault();func_pa.refreshCaptcha($(this).parents('.pa_captcha_img').find('.pa_captcha_img_data').removeClass('loaded'));$(this).parents('.pa-captcha-inf').find('input[name=pa_captcha]').val('')});$(document).on('keypress','#pa_oos_customer_email',function(e){if(e.keyCode==13){e.preventDefault();func_pa.addNotification16()}});$('email-subscription .form[action*=blockEmailSubscription]').on('submit',function(event){event.preventDefault();var psemailsubscriptionForm=$(this);if(typeof psemailsubscription_subscription==='undefined'){return!0} 191$('.block_newsletter_alert').remove();$.ajax({type:'POST',dataType:'JSON',url:psemailsubscription_subscription,cache:!1,data:$(this).serialize(),success:function(data){if(data.nw_error){psemailsubscriptionForm.prepend('<p class="alert alert-danger block_newsletter_alert">
191'+data.msg+'</p>')}else{psemailsubscriptionForm.prepend('<p class="alert alert-success block_newsletter_alert">'+data.msg+'</p>')}},error:function(err){console.log(err)}});return!1})});document.addEventListener("DOMContentLoaded",function(event){if($('.forgot-password').length>0&&$('.login.page_order').length>0&&$('#login-form .login.page_order').length<=0){$('.forgot-password').before($('.login.page_order').clone(!0).addClass('copy'));$('.login.page_order:not(.copy)').detach()}else if($('.cart-grid-right .login.page_order').length>0){$('.cart-grid-right .login.page_order').detach()}else{$('.login.page_order:not(#login-form .login.page_order)').detach()} 192if($('.pa_captcha_img_data').length>1){func_pa.loadCaptcha()}});$(document).ajaxComplete(function(event,xhr,options){func_pa.renderTurnstile(document);if($('.quickview').length&&typeof ets_captcha_load!=="undefined"){ets_captcha_load($('.quickview'));return} 193var data=options&&options.data;var dataStr=Array.isArray(data)?data.join('&'):(typeof data==='string'?data:'');if(dataStr&&$('body#authentication').length&&dataStr.indexOf('SubmitCreate')!==-1){var elapsed=0,step=150;var intervalSet=setInterval(function(){elapsed+=step;if(!$('#account-creation_form').hasClass('g-loaded')){if(PA_GOOGLE_V3_CAPTCHA_SITE_KEY){func_pa.loadReCaptchaV3($('#account-creation_form'))}else if(typeof ets_captcha_load!=="undefined"){ets_captcha_load($('#account-creation_form').addClass('g-loaded'))}} 194if(elapsed>step*10||$('#account-creation_form').hasClass('g-loaded')){clearInterval(intervalSet)}},step);return} 195if(dataStr&&($('body#order-opc').length||$('body#orderopc').length)&&$('[name=g-recaptcha-response]').length&&dataStr.indexOf('submitAccount')!==-1){if(PA_GOOGLE_V3_CAPTCHA_SITE_KEY){var $orderForm=$('form#new_account_form');if($orderForm.length){func_pa.loadReCaptchaV3($orderForm.removeClass('g-loaded'))}}else if(typeof grecaptcha!=="undefined"){func_pa.resetReCaptcha()} 196return} 197if(dataStr&&dataStr.indexOf('g-recaptcha-response')!==-1&&options.url&&options.url.indexOf('subscription')!==-1){var $form=$("form[action*=EmailSubscription]");if($form.length&&PA_GOOGLE_V3_CAPTCHA_SITE_KEY){var g_captcha=$form.find('[id*=g-recaptcha-response-]');if(g_captcha.length&&v3_render_clientID[g_captcha[0].id]){var bodyId=($('body').attr('id')||'submit').replace(/(?=[^A-Za-z_])([^A-Za-z_])/g,'_');grecaptcha.reset(v3_render_clientID[g_captcha[0].id]);grecaptcha.execute(v3_render_clientID[g_captcha[0].id],{action:bodyId}).then(function(token){if(token){var existing=g_captcha.find('input[name=g-recaptcha-response]');if(existing.length){existing.val(token)}else{g_captcha.append('<input type="hidden" name="g-recaptcha-response" value="'+token+'"/>')} 198$form.addClass('g-loaded')}})}}else if(typeof grecaptcha!=="undefined"){func_pa.resetReCaptcha()} 199return} 200if(xhr&&xhr.responseJSON&&xhr.responseJSON.product_additional_info){var $img=$('div.js-mailalert img.pa_captcha_img_data');if($img.length){func_pa.refreshCaptcha($img.removeClass('loaded'))}else if(PA_GOOGLE_V3_CAPTCHA_SITE_KEY){func_pa.loadReCaptchaV3($('form:not(.g-loaded)'))}else if(typeof ets_captcha_load!=="undefined"){ets_captcha_load(document.getElementsByTagName('form'))}}});$(document).ready(function(){if($('input[name="captcha"]').closest('.form-group').length&&$('.captcha_register').length){var div_clone=$('input[name="captcha"]').closest('.form-group').clone();$('input[name="captcha"]').closest('.form-group').hide();$('.captcha_register.register').after(div_clone)}}); 201/*! 202* FitVids 1.1 203* 204* Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com 205* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/ 206* Released under the WTFPL license - http://sam.zoy.org/wtfpl/ 207* 208*/ 209(function($){"use strict";$.fn.fitVids=function(options){var settings={customSelector:null,ignore:null,};if(!document.getElementById('fit-vids-style')){var head=document.head||document.getElementsByTagName('head')[0];var css='.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}';var div=document.createElement('div');div.innerHTML='<p>x</p><style id="fit-vids-style">'+css+'</style>';head.appendChild(div.childNodes[1])} 210if(options){$.extend(settings,options)} 211return this.each(function(){var selectors=["iframe[src*='player.vimeo.com']","iframe[src*='youtube.com']","iframe[src*='youtube-nocookie.com']","iframe[src*='kickstarter.com'][src*='video.html']","object","embed"];if(settings.customSelector){selectors.push(settings.customSelector)} 212var ignoreList='.fitvidsignore';if(settings.ignore){ignoreList=ignoreList+', '+settings.ignore} 213var $allVideos=$(this).find(selectors.join(','));$allVideos=$allVideos.not("object object");$allVideos=$allVideos.not(ignoreList);$allVideos.each(function(){var $this=$(this);if($this.parents(ignoreList).length>0){return} 214if(this.tagName.toLowerCase()==='embed'&&$this.parent('object').length||$this.parent('.fluid-width-video-wrapper').length){return} 215if((!$this.css('height')&&!$this.css('width'))&&(isNaN($this.attr('height'))||isNaN($this.attr('width')))){$this.attr('height',9);$this.attr('width',16)} 216var height=(this.tagName.toLowerCase()==='object'||($this.attr('height')&&!isNaN(parseInt($this.attr('height'),10))))?parseInt($this.attr('height'),10):$this.height(),width=!isNaN(parseInt($this.attr('width'),10))?parseInt($this.attr('width'),10):$this.width(),aspectRatio=height/width;if(!$this.attr('id')){var videoID='fitvid'+Math.floor(Math.random()*999999);$this.attr('id',videoID)} 217$this.wrap('<div class="fluid-width-video-wrapper"></div>').parent('.fluid-width-video-wrapper').css('padding-top',(aspectRatio*100)+"%");$this.removeAttr('height').removeAttr('width')})})}})(window.jQuery||window.Zepto);/** 218 * PrestaShop module created by VEKIA, a guy from official PrestaShop community ;-) 219 * 220 * @author VEKIA PL MILOSZ MYSZCZUK VATEU: PL9730945634 221 * @copyright 2010-2025 VEKIA 222 * @license This program is not free software and you can't resell and redistribute it 223 * 224 * CONTACT WITH DEVELOPER
225 * [email protected] 226 */ 227$(document).ready(function(){if(prestashop.page.page_name=='cart'){prestashop.on('updatedCart',function(event){$.ajax({type:"POST",url:myprestaloyaltyurl,success:function(data){$('#loylalty_cart_parent').html(data)}})});prestashop.emit('updatedCart')}});/** 228* 2014-2024 Presta-Mod.pl RafaÅ Zontek 229* 230* NOTICE OF LICENSE 231* 232* Poniższy kod jest kodem pÅatnym, rozpowszechanie bez pisemnej zgody autora zabronione 233* ModuÅ można zakupiÄ na stronie Presta-Mod.pl. Modyfikacja kodu jest zabroniona, 234* wszelkie modyfikacje powodujÄ utratÄ gwarancji 235* 236* http://presta-mod.pl 237* 238* DISCLAIMER 239* 240* 241* @author Presta-Mod.pl RafaÅ Zontek <[email protected]> 242* @copyright 2014-2024 Presta-Mod.pl 243* @license Licecnja na jednÄ domenÄ 244* Presta-Mod.pl RafaÅ Zontek 245*/ 246if(typeof jQuery==='undefined'){throw new Error('jquery-confirm requires jQuery')} 247var jconfirm,Jconfirm;(function($,window){"use strict";$.fn.confirm=function(options,option2){if(typeof options==='undefined')options={};if(typeof options==='string'){options={content:options,title:(option2)?option2:!1}} 248$(this).each(function(){var $this=$(this);if($this.attr('jc-attached')){console.warn('jConfirm has already been attached to this element ',$this[0]);return} 249$this.on('click',function(e){e.preventDefault();var jcOption=$.extend({},options);if($this.attr('data-title')) 250jcOption.title=$this.attr('data-title');if($this.attr('data-content')) 251jcOption.content=$this.attr('data-content');if(typeof jcOption.buttons=='undefined') 252jcOption.buttons={};jcOption['$target']=$this;if($this.attr('href')&&Object.keys(jcOption.buttons).length==0){var buttons=$.extend(!0,{},jconfirm.pluginDefaults.defaultButtons,(jconfirm.defaults||{}).defaultButtons||{});var firstBtn=Object.keys(buttons)[0];jcOption.buttons=buttons;jcOption.buttons[firstBtn].action=function(){location.href=$this.attr('href')}} 253jcOption.closeIcon=!1;var instance=$.confirm(jcOption)});$this.attr('jc-attached',!0)});return $(this)};$.confirm=function(options,option2){if(typeof options==='undefined')options={};if(typeof options==='string'){options={content:options,title:(option2)?option2:!1}} 254if(typeof options.buttons!='object') 255options.buttons={};if(Object.keys(options.buttons).length==0){var buttons=$.extend(!0,{},jconfirm.pluginDefaults.defaultButtons,(jconfirm.defaults||{}).defaultButtons||{});options.buttons=buttons} 256return jconfirm(options)};$.alert=function(options,option2){if(typeof options==='undefined')options={};if(typeof options==='string'){options={content:options,title:(option2)?option2:!1}} 257if(typeof options.buttons!='object') 258options.buttons={};if(Object.keys(options.buttons).length==0){var buttons=$.extend(!0,{},jconfirm.pluginDefaults.defaultButtons,(jconfirm.defaults||{}).defaultButtons||{});var firstBtn=Object.keys(buttons)[0];options.buttons[firstBtn]=buttons[firstBtn]} 259return jconfirm(options)};$.dialog=function(options,option2){if(typeof options==='undefined')options={};if(typeof options==='string'){options={content:options,title:(option2)?option2:!1,closeIcon:function(){}}} 260options.buttons={};if(typeof options.closeIcon=='undefined'){options.closeIcon=function(){}} 261options.confirmKeys=[13];return jconfirm(options)};jconfirm=function(options){if(typeof options==='undefined')options={};var pluginOptions=$.extend(!0,{},jconfirm.pluginDefaults);if(jconfirm.defaults){pluginOptions=$.extend(!0,pluginOptions,jconfirm.defaults)} 262pluginOptions=$.extend(!0,{},pluginOptions,options);var instance=new Jconfirm(pluginOptions);jconfirm.instances.push(instance);return instance};Jconfirm=function(options){$.extend(this,options);this._init()};Jconfirm.prototype={_init:function(){var that=this;if(!jconfirm.instances.length) 263jconfirm.lastFocused=$('body').find(':focus');this._id=Math.round(Math.random()*99999);this.contentParsed=$(document.createElement('div'));if(!this.lazyOpen){setTimeout(function(){that.open()},0)}},_buildHTML:function(){var that=this;this._parseAnimation(this.animation,'o');this._parseAnimation(this.closeAnimation,'c');this._parseBgDismissAnimation(this.backgroundDismissAnimation);this._parseColumnClass(this.columnClass);this._parseTheme(this.theme);this._parseType(this.type);var template=$(this.template);template.find('.jconfirm-box').addClass(this.animationParsed).addClass(this.backgroundDismissAnimationParsed).addClass(this.typeParsed);
263if(this.typeAnimated) 264template.find('.jconfirm-box').addClass('jconfirm-type-animated');if(this.useBootstrap){template.find('.jc-bs3-row').addClass(this.bootstrapClasses.row);template.find('.jc-bs3-row').addClass('justify-content-md-center justify-content-sm-center justify-content-xs-center justify-content-lg-center');template.find('.jconfirm-box-container').addClass(this.columnClassParsed);if(this.containerFluid) 265template.find('.jc-bs3-container').addClass(this.bootstrapClasses.containerFluid);else template.find('.jc-bs3-container').addClass(this.bootstrapClasses.container)}else{template.find('.jconfirm-box').css('width',this.boxWidth)} 266if(this.titleClass) 267template.find('.jconfirm-title-c').addClass(this.titleClass);template.addClass(this.themeParsed);var ariaLabel='jconfirm-box'+this._id;template.find('.jconfirm-box').attr('aria-labelledby',ariaLabel).attr('tabindex',-1);template.find('.jconfirm-content').attr('id',ariaLabel);if(this.bgOpacity!==null) 268template.find('.jconfirm-bg').css('opacity',this.bgOpacity);if(this.rtl) 269template.addClass('jconfirm-rtl');this.$el=template.appendTo(this.container);this.$jconfirmBoxContainer=this.$el.find('.jconfirm-box-container');this.$jconfirmBox=this.$body=this.$el.find('.jconfirm-box');this.$jconfirmBg=this.$el.find('.jconfirm-bg');this.$title=this.$el.find('.jconfirm-title');this.$titleContainer=this.$el.find('.jconfirm-title-c');this.$content=this.$el.find('div.jconfirm-content');this.$contentPane=this.$el.find('.jconfirm-content-pane');this.$icon=this.$el.find('.jconfirm-icon-c');this.$closeIcon=this.$el.find('.jconfirm-closeIcon');this.$holder=this.$el.find('.jconfirm-holder');this.$btnc=this.$el.find('.jconfirm-buttons');this.$scrollPane=this.$el.find('.jconfirm-scrollpane');that.setStartingPoint();this._contentReady=$.Deferred();this._modalReady=$.Deferred();this.$holder.css({'padding-top':this.offsetTop,'padding-bottom':this.offsetBottom,});this.setTitle();this.setIcon();this._setButtons();this._parseContent();this.initDraggable();if(this.isAjax) 270this.showLoading(!1);$.when(this._contentReady,this._modalReady).then(function(){if(that.isAjaxLoading) 271setTimeout(function(){that.isAjaxLoading=!1;that.setContent();that.setTitle();that.setIcon();setTimeout(function(){that.hideLoading(!1);that._updateContentMaxHeight()},100);if(typeof that.onContentReady==='function') 272that.onContentReady()},50);else{that._updateContentMaxHeight();that.setTitle();that.setIcon();if(typeof that.onContentReady==='function') 273that.onContentReady()} 274if(that.autoClose) 275that._startCountDown()});this._watchContent();if(this.animation==='none'){this.animationSpeed=1;this.animationBounce=1} 276this.$body.css(this._getCSS(this.animationSpeed,this.animationBounce));this.$contentPane.css(this._getCSS(this.animationSpeed,1));this.$jconfirmBg.css(this._getCSS(this.animationSpeed,1));this.$jconfirmBoxContainer.css(this._getCSS(this.animationSpeed,1))},_typePrefix:'jconfirm-type-',typeParsed:'',_parseType:function(type){this.typeParsed=this._typePrefix+type},setType:function(type){var oldClass=this.typeParsed;this._parseType(type);this.$jconfirmBox.removeClass(oldClass).addClass(this.typeParsed)},themeParsed:'',_themePrefix:'jconfirm-',setTheme:function(theme){var previous=this.theme;this.theme=theme||this.theme;this._parseTheme(this.theme);if(previous) 277this.$el.removeClass(previous);this.$el.addClass(this.themeParsed);this.theme=theme},_parseTheme:function(theme){var that=this;theme=theme.split(',');$.each(theme,function(k,a){if(a.indexOf(that._themePrefix)===-1) 278theme[k]=that._themePrefix+$.trim(a)});this.themeParsed=theme.join(' ').toLowerCase()},backgroundDismissAnimationParsed:'',_bgDismissPrefix:'jconfirm-hilight-',_parseBgDismissAnimation:function(bgDismissAnimation){var animation=bgDismissAnimation.split(',');var that=this;$.each(animation,function(k,a){if(a.indexOf(that._bgDismissPrefix)===-1) 279animation[k]=that._bgDismissPrefix+$.trim(a)});this.backgroundDismissAnimationParsed=animation.join(' ').toLowerCase()},animationParsed:'',closeAnimationParsed:'',_animationPrefix:'jconfirm-animation-',setAnimation:function(animation){this.animation=animation||this.animation;this._parseAnimation(this.animation,'o')},_parseAnimation:function(animation,which){which=which||'o';var animations=animation.split(',');var that=this;$.each(animations,function(k,a){if(a.indexOf(that._animationPrefix)===-1) 280animations[k]=that._animationPrefix+$.trim(a)});var a_string=animations.join(' ').toLowerCase();if(which==='o') 281this.animationParsed=a_string;else this.closeAnimationParsed=a_string;return a_string},setCloseAnimation:function(closeAnimation){this.closeAnimation=closeAnimation||this.closeAnimation;this._parseAnimation(this.closeAnimation,'c')},setAnimationSpeed:function(speed){this.animationSpeed=speed||this.animationSpeed},columnClassParsed:'',setColumnClass:function(colClass){if(!this.useBootstrap){console.warn("cannot set columnClass, useBootstrap is set to false");return} 282this.columnClass=colClass||this.columnClass;this._parseColumnClass(this.columnClass);this.$jconfirmBoxContainer.addClass(this.columnClassParsed)},_updateContentMaxHeight:function(){var height=$(window).height()-(this.$jconfirmBox.outerHeight()-this.$contentPane.outerHeight())-(this.offsetTop+this.offsetBottom);this.$contentPane.css({'max-height':height+'px'})},setBoxWidth:function(width){if(this.useBootstrap){console.warn("cannot set boxWidth, useBootstrap is set to true");return} 283this.boxWidth=width;this.$jconfirmBox.css('width',width)},_parseColumnClass:function(colClass){colClass=colClass.toLowerCase();var p;switch(colClass){case 'xl':case 'xlarge':p='col-md-12';break;case 'l':case 'large':p='col-md-8 col-md-offset-2';break;case 'm':case 'medium':p='col-md-6 col-md-offset-3';break;case 's':case 'small':p='col-md-4 col-md-offset-4';break;case 'xs':case 'xsmall':p='col-md-2 col-md-offset-5';break;default:p=colClass} 284this.columnClassParsed=p},initDraggable:function(){var that=this;var $t=this.$titleContainer;this.resetDrag();if(this.draggable){$t.on('mousedown',function(e){$t.addClass('jconfirm-hand');that.mouseX=e.clientX;that.mouseY=e.clientY;that.isDrag=!0});$(window).on('mousemove.'+this._id,function(e){if(that.isDrag){that.movingX=e.clientX-that.mouseX+that.initialX;that.movingY=e.clientY-that.mouseY+that.initialY;that.setDrag()}});$(window).on('mouseup.'+this._id,function(){$t.removeClass('jconfirm-hand');if(that.isDrag){that.isDrag=!1;that.initialX=that.movingX;that.initialY=that.movingY}})}},resetDrag:function(){this.isDrag=!1;this.initialX=0;this.initialY=0;this.movingX=0;this.movingY=0;this.mouseX=0;this.mouseY=0;this.$jconfirmBoxContainer.css('transform','translate('+0+'px, '+0+'px)')},setDrag:function(){if(!this.draggable) 285return;this.alignMiddle=!1;var boxWidth=this.$jconfirmBox.outerWidth();var boxHeight=this.$jconfirmBox.outerHeight();var windowWidth=$(window).width();var windowHeight=$(window).height();var that=this;var dragUpdate=1;if(that.movingX%dragUpdate===0||that.movingY%dragUpdate===0){if(that.dragWindowBorder){var leftDistance=(windowWidth/2)-boxWidth/2;var topDistance=(windowHeight/2)-boxHeight/2;topDistance-=that.dragWindowGap;leftDistance-=that.dragWindowGap;if(leftDistance+that.movingX<0){that.movingX=-leftDistance}else if(leftDistance-that.movingX<0){that.movingX=leftDistance} 286if(topDistance+that.movingY<0){that.movingY=-topDistance}else if(topDistance-that.movingY<0){that.movingY=topDistance}} 287that.$jconfirmBoxContainer.css('transform','translate('+that.movingX+'px, '+that.movingY+'px)')}},_scrollTop:function(){if(typeof pageYOffset!=='undefined'){return pageYOffset}else{var B=document.body;var D=document.documentElement;D=(D.clientHeight)?D:B;return D.scrollTop}},_watchContent:function(){var that=this;if(this._timer)clearInterval(this._timer);var prevContentHeight=0;this._timer=setInterval(function(){if(that.smoothContent){var contentHeight=that.$content.outerHeight()||0;if(contentHeight!==prevContentHeight){that.$contentPane.css({'height':contentHeight}).scrollTop(0);prevContentHeight=contentHeight} 288var wh=$(window).height();var total=that.offsetTop+that.offsetBottom+that.$jconfirmBox.height()-that.$contentPane.height()+that.$content.height();if(total<wh){that.$contentPane.addClass('no-scroll')}else{that.$contentPane.removeClass('no-scroll')}}},this.watchInterval)},_overflowClass:'jconfirm-overflow',_hilightAnimating:!1,highlight:function(){this.hiLightModal()},hiLightModal:function(){var that=this;if(this._hilightAnimating) 289return;that.$body.addClass('hilight');var duration=parseFloat(that.$body.css('animation-duration'))||2;this._hilightAnimating=!0;setTimeout(function(){that._hilightAnimating=!1;that.$body.removeClass('hilight')},duration*1000)},_bindEvents:function(){var that=this;this.boxClicked=!1;this.$scrollPane.click(function(e){if(!that.boxClicked){var buttonName=!1;
289var shouldClose=!1;var str;if(typeof that.backgroundDismiss=='function') 290str=that.backgroundDismiss();else str=that.backgroundDismiss;if(typeof str=='string'&&typeof that.buttons[str]!='undefined'){buttonName=str;shouldClose=!1}else if(typeof str=='undefined'||!!(str)==!0){shouldClose=!0}else{shouldClose=!1} 291if(buttonName){var btnResponse=that.buttons[buttonName].action.apply(that);shouldClose=(typeof btnResponse=='undefined')||!!(btnResponse)} 292if(shouldClose) 293that.close();else that.hiLightModal()} 294that.boxClicked=!1});this.$jconfirmBox.click(function(e){that.boxClicked=!0});var isKeyDown=!1;$(window).on('jcKeyDown.'+that._id,function(e){if(!isKeyDown){isKeyDown=!0}});$(window).on('keyup.'+that._id,function(e){if(isKeyDown){that.reactOnKey(e);isKeyDown=!1}});$(window).on('resize.'+this._id,function(){that._updateContentMaxHeight();setTimeout(function(){that.resetDrag()},100)})},_cubic_bezier:'0.36, 0.55, 0.19',_getCSS:function(speed,bounce){return{'-webkit-transition-duration':speed/1000+'s','transition-duration':speed/1000+'s','-webkit-transition-timing-function':'cubic-bezier('+this._cubic_bezier+', '+bounce+')','transition-timing-function':'cubic-bezier('+this._cubic_bezier+', '+bounce+')'}},_setButtons:function(){var that=this;var total_buttons=0;if(typeof this.buttons!=='object') 295this.buttons={};$.each(this.buttons,function(key,button){total_buttons+=1;if(typeof button==='function'){that.buttons[key]=button={action:button}} 296that.buttons[key].text=button.text||key;that.buttons[key].btnClass=button.btnClass||'btn-default';that.buttons[key].action=button.action||function(){};that.buttons[key].keys=button.keys||[];that.buttons[key].isHidden=button.isHidden||!1;that.buttons[key].isDisabled=button.isDisabled||!1;$.each(that.buttons[key].keys,function(i,a){that.buttons[key].keys[i]=a.toLowerCase()});var button_element=$('<button type="button" class="btn"></button>').html(that.buttons[key].text).addClass(that.buttons[key].btnClass).prop('disabled',that.buttons[key].isDisabled).css('display',that.buttons[key].isHidden?'none':'').click(function(e){e.preventDefault();var res=that.buttons[key].action.apply(that,[that.buttons[key]]);that.onAction.apply(that,[key,that.buttons[key]]);that._stopCountDown();if(typeof res==='undefined'||res) 297that.close()});that.buttons[key].el=button_element;that.buttons[key].setText=function(text){button_element.html(text)};that.buttons[key].addClass=function(className){button_element.addClass(className)};that.buttons[key].removeClass=function(className){button_element.removeClass(className)};that.buttons[key].disable=function(){that.buttons[key].isDisabled=!0;button_element.prop('disabled',!0)};that.buttons[key].enable=function(){that.buttons[key].isDisabled=!1;button_element.prop('disabled',!1)};that.buttons[key].show=function(){that.buttons[key].isHidden=!1;button_element.css('display','')};that.buttons[key].hide=function(){that.buttons[key].isHidden=!0;button_element.css('display','none')};that['$_'+key]=that['$$'+key]=button_element;that.$btnc.append(button_element)});if(total_buttons===0)this.$btnc.hide();if(this.closeIcon===null&&total_buttons===0){this.closeIcon=!0} 298if(this.closeIcon){if(this.closeIconClass){var closeHtml='<i class="'+this.closeIconClass+'"></i>';this.$closeIcon.html(closeHtml)} 299this.$closeIcon.click(function(e){e.preventDefault();var buttonName=!1;var shouldClose=!1;var str;if(typeof that.closeIcon=='function'){str=that.closeIcon()}else{str=that.closeIcon} 300if(typeof str=='string'&&typeof that.buttons[str]!='undefined'){buttonName=str;shouldClose=!1}else if(typeof str=='undefined'||!!(str)==!0){shouldClose=!0}else{shouldClose=!1} 301if(buttonName){var btnResponse=that.buttons[buttonName].action.apply(that);shouldClose=(typeof btnResponse=='undefined')||!!(btnResponse)} 302if(shouldClose){that.close()}});this.$closeIcon.show()}else{this.$closeIcon.hide()}},setTitle:function(string,force){force=force||!1;if(typeof string!=='undefined') 303if(typeof string=='string') 304this.title=string;else if(typeof string=='function'){if(typeof string.promise=='function') 305console.error('Promise was returned from title function, this is not supported.');var response=string();
305if(typeof response=='string') 306this.title=response;else this.title=!1}else this.title=!1;if(this.isAjaxLoading&&!force) 307return;this.$title.html(this.title||'');this.updateTitleContainer()},setIcon:function(iconClass,force){force=force||!1;if(typeof iconClass!=='undefined') 308if(typeof iconClass=='string') 309this.icon=iconClass;else if(typeof iconClass==='function'){var response=iconClass();if(typeof response=='string') 310this.icon=response;else this.icon=!1}else this.icon=!1;if(this.isAjaxLoading&&!force) 311return;this.$icon.html(this.icon?'<i class="'+this.icon+'"></i>':'');this.updateTitleContainer()},updateTitleContainer:function(){if(!this.title&&!this.icon){this.$titleContainer.hide()}else{this.$titleContainer.show()}},setContentPrepend:function(content,force){if(!content) 312return;this.contentParsed.prepend(content)},setContentAppend:function(content){if(!content) 313return;this.contentParsed.append(content)},setContent:function(content,force){force=!!force;var that=this;if(content) 314this.contentParsed.html('').append(content);if(this.isAjaxLoading&&!force) 315return;this.$content.html('');this.$content.append(this.contentParsed);setTimeout(function(){that.$body.find('input[autofocus]:visible:first').focus()},100)},loadingSpinner:!1,showLoading:function(disableButtons){this.loadingSpinner=!0;this.$jconfirmBox.addClass('loading');if(disableButtons) 316this.$btnc.find('button').prop('disabled',!0)},hideLoading:function(enableButtons){this.loadingSpinner=!1;this.$jconfirmBox.removeClass('loading');if(enableButtons) 317this.$btnc.find('button').prop('disabled',!1)},ajaxResponse:!1,contentParsed:'',isAjax:!1,isAjaxLoading:!1,_parseContent:function(){var that=this;var e=' ';if(typeof this.content=='function'){var res=this.content.apply(this);if(typeof res=='string'){this.content=res}
317else if(typeof res=='object'&&typeof res.always=='function'){this.isAjax=!0;this.isAjaxLoading=!0;res.always(function(data,status,xhr){that.ajaxResponse={data:data,status:status,xhr:xhr};that._contentReady.resolve(data,status,xhr);if(typeof that.contentLoaded=='function') 318that.contentLoaded(data,status,xhr)});this.content=e}else{this.content=e}} 319if(typeof this.content=='string'&&this.content.substr(0,4).toLowerCase()==='url:'){this.isAjax=!0;this.isAjaxLoading=!0;var u=this.content.substring(4,this.content.length);$.get(u).done(function(html){that.contentParsed.html(html)}).always(function(data,status,xhr){that.ajaxResponse={data:data,status:status,xhr:xhr};that._contentReady.resolve(data,status,xhr);if(typeof that.contentLoaded=='function') 320that.contentLoaded(data,status,xhr)})} 321if(!this.content) 322this.content=e;if(!this.isAjax){this.contentParsed.html(this.content);this.setContent();that._contentReady.resolve()}},_stopCountDown:function(){clearInterval(this.autoCloseInterval);if(this.$cd) 323this.$cd.remove()},_startCountDown:function(){var that=this;var opt=this.autoClose.split('|');if(opt.length!==2){console.error('Invalid option for autoClose. example \'close|10000\'');return!1} 324var button_key=opt[0];var time=parseInt(opt[1]);if(typeof this.buttons[button_key]==='undefined'){console.error('Invalid button key \''+button_key+'\' for autoClose');return!1} 325var seconds=Math.ceil(time/1000);this.$cd=$('<span class="countdown"> ('+seconds+')</span>').appendTo(this['$_'+button_key]);this.autoCloseInterval=setInterval(function(){that.$cd.html(' ('+(seconds-=1)+') ');if(seconds<=0){that['$$'+button_key].trigger('click');that._stopCountDown()}},1000)},_getKey:function(key){switch(key){case 192:return'tilde';case 13:return'enter';case 16:return'shift';case 9:return'tab';case 20:return'capslock';case 17:return'ctrl';case 91:return'win';case 18:return'alt';case 27:return'esc';case 32:return'space'} 326var initial=String.fromCharCode(key);if(/^[A-z0-9]+$/.test(initial)) 327return initial.toLowerCase();else return!1},reactOnKey:function(e){var that=this;var a=$('.jconfirm');if(a.eq(a.length-1)[0]!==this.$el[0]) 328return!1;var key=e.which;if(this.$content.find(':input').is(':focus')&&/13|32/.test(key)) 329return!1;var keyChar=this._getKey(key);if(keyChar==='esc'&&this.escapeKey){if(this.escapeKey===!0){this.$scrollPane.trigger('click')}else if(typeof this.escapeKey==='string'||typeof this.escapeKey==='function'){var buttonKey;if(typeof this.escapeKey==='function'){buttonKey=this.escapeKey()}else{buttonKey=this.escapeKey} 330if(buttonKey) 331if(typeof this.buttons[buttonKey]==='undefined'){console.warn('Invalid escapeKey, no buttons found with key '+buttonKey)}else{this['$_'+buttonKey].trigger('click')}}} 332$.each(this.buttons,function(key,button){if(button.keys.indexOf(keyChar)!=-1){that['$_'+key].trigger('click')}})},setDialogCenter:function(){console.info('setDialogCenter is deprecated, dialogs are centered with CSS3 tables')},_unwatchContent:function(){clearInterval(this._timer)},close:function(){var that=this;if(typeof this.onClose==='function') 333this.onClose();this._unwatchContent();$(window).unbind('resize.'+this._id);$(window).unbind('keyup.'+this._id);$(window).unbind('jcKeyDown.'+this._id);if(this.draggable){$(window).unbind('mousemove.'+this._id);$(window).unbind('mouseup.'+this._id);this.$titleContainer.unbind('mousedown')} 334that.$el.removeClass(that.loadedClass);$('body').removeClass('jconfirm-no-scroll-'+that._id);that.$jconfirmBoxContainer.removeClass('jconfirm-no-transition');setTimeout(function(){that.$body.addClass(that.closeAnimationParsed);that.$jconfirmBg.addClass('jconfirm-bg-h');var closeTimer=(that.closeAnimation==='none')?1:that.animationSpeed;setTimeout(function(){that.$el.remove();var l=jconfirm.instances;var i=jconfirm.instances.length-1;for(i;i>=0;i--){if(jconfirm.instances[i]._id===that._id){jconfirm.instances.splice(i,1)}} 335if(!jconfirm.instances.length){if(that.scrollToPreviousElement&&jconfirm.lastFocused&&jconfirm.lastFocused.length&&$.contains(document,jconfirm.lastFocused[0])){var $lf=jconfirm.lastFocused;if(that.scrollToPreviousElementAnimate){var st=$(window).scrollTop();var ot=jconfirm.lastFocused.offset().top;var wh=$(window).height();if(!(ot>st&&ot<(st+wh))){var scrollTo=(ot-Math.round((wh/3)));$('html, body').animate({scrollTop:scrollTo},that.animationSpeed,'swing',function(){$lf.focus()})}else{$lf.focus()}}else{$lf.focus()} 336jconfirm.lastFocused=!1}} 337if(typeof that.onDestroy==='function') 338that.onDestroy()},closeTimer*0.40)},50);return!0},open:function(){if(this.isOpen()) 339return!1;this._buildHTML();this._bindEvents();this._open();return!0},setStartingPoint:function(){var el=!1;if(this.animateFromElement!==!0&&this.animateFromElement){el=this.animateFromElement;jconfirm.lastClicked=!1}else if(jconfirm.lastClicked&&this.animateFromElement===!0){el=jconfirm.lastClicked;jconfirm.lastClicked=!1}else{return!1} 340if(!el) 341return!1;var offset=el.offset();var iTop=el.outerHeight()/2;var iLeft=el.outerWidth()/2;iTop-=this.$jconfirmBox.outerHeight()/2;iLeft-=this.$jconfirmBox.outerWidth()/2;var sourceTop=offset.top+iTop;sourceTop=sourceTop-this._scrollTop();var sourceLeft=offset.left+iLeft;var wh=$(window).height()/2;var ww=$(window).width()/2;var targetH=wh-this.$jconfirmBox.outerHeight()/2;var targetW=ww-this.$jconfirmBox.outerWidth()/2;sourceTop-=targetH;sourceLeft-=targetW;if(Math.abs(sourceTop)>wh||Math.abs(sourceLeft)>ww) 342return!1;this.$jconfirmBoxContainer.css('transform','translate('+sourceLeft+'px, '+sourceTop+'px)')},_open:function(){var that=this;if(typeof that.onOpenBefore==='function') 343that.onOpenBefore();this.$body.removeClass(this.animationParsed);
343this.$jconfirmBg.removeClass('jconfirm-bg-h');this.$body.focus();that.$jconfirmBoxContainer.css('transform','translate('+0+'px, '+0+'px)');setTimeout(function(){that.$body.css(that._getCSS(that.animationSpeed,1));that.$body.css({'transition-property':that.$body.css('transition-property')+', margin'});that.$jconfirmBoxContainer.addClass('jconfirm-no-transition');that._modalReady.resolve();if(typeof that.onOpen==='function') 344that.onOpen();that.$el.addClass(that.loadedClass)},this.animationSpeed)},loadedClass:'jconfirm-open',isClosed:function(){return!this.$el||this.$el.css('display')===''},isOpen:function(){return!this.isClosed()},toggle:function(){if(!this.isOpen()) 345this.open();else this.close()}};jconfirm.instances=[];jconfirm.lastFocused=!1;jconfirm.pluginDefaults={template:''+'<div class="jconfirm">'+'<div class="jconfirm-bg jconfirm-bg-h"></div>'+'<div class="jconfirm-scrollpane">'+'<div class="jconfirm-row">'+'<div class="jconfirm-cell">'+'<div class="jconfirm-holder">'+'<div class="jc-bs3-container">'+'<div class="jc-bs3-row">'+'<div class="jconfirm-box-container jconfirm-animated">'+'<div class="jconfirm-box" role="dialog" aria-labelledby="labelled" tabindex="-1">'+'<div class="jconfirm-closeIcon">×</div>'+'<div class="jconfirm-title-c">'+'<span class="jconfirm-icon-c"></span>'+'<span class="jconfirm-title"></span>'+'</div>'+'<div class="jconfirm-content-pane">'+'<div class="jconfirm-content"></div>'+'</div>'+'<div class="jconfirm-buttons">'+'</div>'+'<div class="jconfirm-clear">'+'</div>'+'</div>'+'</div>'+'</div>'+'</div>'+'</div>'+'</div>'+'</div>'+'</div></div>',title:'Hello',titleClass:'',type:'default',typeAnimated:!0,draggable:!0,dragWindowGap:15,dragWindowBorder:!0,animateFromElement:!0,alignMiddle:!0,smoothContent:!0,content:'Are you sure to continue?',buttons:{},defaultButtons:{ok:{action:function(){}},close:{action:function(){}}},contentLoaded:function(){},icon:'',lazyOpen:!1,bgOpacity:null,theme:'light',animation:'scale',closeAnimation:'scale',animationSpeed:400,animationBounce:1,escapeKey:!0,rtl:!1,container:'body',containerFluid:!1,backgroundDismiss:!1,backgroundDismissAnimation:'shake',autoClose:!1,closeIcon:null,closeIconClass:!1,watchInterval:100,columnClass:'col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1',boxWidth:'50%',scrollToPreviousElement:!0,scrollToPreviousElementAnimate:!0,useBootstrap:!0,offsetTop:40,offsetBottom:40,bootstrapClasses:{container:'container',containerFluid:'container-fluid',row:'row'},onContentReady:function(){},onOpenBefore:function(){},onOpen:function(){},onClose:function(){},onDestroy:function(){},onAction:function(){}};var keyDown=!1;$(window).on('keydown',function(e){if(!keyDown){var $target=$(e.target);var pass=!1;if($target.closest('.jconfirm-box').length) 346pass=!0;if(pass) 347$(window).trigger('jcKeyDown');keyDown=!0}});$(window).on('keyup',function(){keyDown=!1});jconfirm.lastClicked=!1;$(document).on('mousedown','button, a',function(){jconfirm.lastClicked=$(this)})})(jQuery,window);/** 348* 2014-2024 Presta-Mod.pl RafaÅ Zontek 349* 350* NOTICE OF LICENSE 351* 352* Poniższy kod jest kodem pÅatnym, rozpowszechanie bez pisemnej zgody autora zabronione 353* ModuÅ można zakupiÄ na stronie Presta-Mod.pl. Modyfikacja kodu jest zabroniona, 354* wszelkie modyfikacje powodujÄ utratÄ gwarancji 355* 356* http://presta-mod.pl 357* 358* DISCLAIMER 359* 360* 361* @author Presta-Mod.pl RafaÅ Zontek <[email protected]> 362* @copyright 2014-2024 Presta-Mod.pl 363* @license Licecnja na jednÄ domenÄ 364* Presta-Mod.pl RafaÅ Zontek 365*/ 366$(document).ready(function(){var pd_cookie_runed=!1;var pd_cookie_scroll_start=!1;var confirm=!1;var last=!1;function refreshTestTable(){$.ajax({method:'GET',url:pd_cookie_link,dataType:'JSON',data:{action:'refreshCookie',},success:function(data){if(data.success){$('.pdcookiepro-cookies-table').replaceWith(data.html)}}})} 367function getBoxWidth(){if($(window).width()<768){return'90%'}else if($(window).width()<1024){return'80%'}else{return'976px'}} 368$(window).resize(function(){if(last&&last!=$(window).width()){if(confirm){confirm.setBoxWidth(getBoxWidth())}} 369last=$(window).width()}) 370function submitCookies(all=!1){var conditions={condition:'all',action:'setCookie'} 371if(!all){conditions=$('form[name="pdcookiepro"]').serialize();
371if(pd_cookie_gv2){let consents=[];if($('.pdcookiepro-group-gv2:checked').length){$.each($('.pdcookiepro-group-gv2:checked'),function(){let names=$(this).data('gv2').split(',');if(typeof gtag==='function'){$.each(names,function(i,name){let cname=name.trim();consents[cname]='granted';console.log('Consent update not all: '+cname)})}});gtag('consent','update',consents)}else{let consents=['functionality_storage','security_storage'];if(typeof gtag==='function'){let consents_app=[];$.each(consents,function(i,name){consents_app[name]='granted';console.log('Consent update required: '+name)});gtag('consent','update',consents_app)}}}}else{if(pd_cookie_gv2){let consents=['functionality_storage','analytics_storage','ad_personalization','ad_storage','ad_user_data','personalization_storage','security_storage'];if(typeof gtag==='function'){let consents_app=[];$.each(consents,function(i,name){consents_app[name]='granted';console.log('Consent update all: '+name)});gtag('consent','update',consents_app)}}} 372$.ajax({method:'POST',url:pd_cookie_link,dataType:'JSON',data:conditions,success:function(result){if(pd_cookie_reload){window.location.reload()}}})} 373if(!pd_cookie_settings){function openAdvancedSettings(){$.ajax({method:'GET',url:pd_cookie_link,dataType:'JSON',data:{action:'getMessageAdvanced'},success:function(result){if(!pd_ca_show){delete buttons.selectall} 374if(!pd_ss_show){delete buttons.submit_selected} 375if(!result.error){confirm=$.confirm({true:!1,bgOpacity:pd_cookie_opacity,title:!1,animationSpeed:200,content:result.message,boxWidth:getBoxWidth(),draggable:!1,useBootstrap:!1,offsetTop:0,offsetBottom:0,onClose:function(){confirm=!1},buttons:{submit_selected:{text:pd_cookie_label['Submit selected'],btnClass:'pm-submit-selected',action:function(){submitCookies(!1)}},submit:{keys:['enter'],text:pd_cookie_label['Accept all'],btnClass:'pm-submit-color',action:function(){submitCookies(!0)}},}})}}})}} 376function showPmMessage(){if(pd_cookie_runed){return!1} 377pd_cookie_runed=!0;$.ajax({method:'GET',url:pd_cookie_link,dataType:'JSON',data:{action:'getMessage',},success:function(result){if(!result.error){confirm=$.confirm({true:!1,bgOpacity:pd_cookie_opacity,title:!1,animationSpeed:200,content:result.message,boxWidth:getBoxWidth(),draggable:!1,useBootstrap:!1,onClose:function(){confirm=!1},onOpenBefore:function(){$('.jconfirm-buttons').addClass('pmjconfirm-buttons')},onOpen:function(){$('.jconfirm-buttons').addClass('pmjconfirm-buttons')},offsetTop:0,offsetBottom:0,buttons:{cookie_settings:{text:pd_cookie_label.Settings,btnClass:'pdcookiepro-show-all pm-show-more-color pdcookiepro-left',action:function(){$('.pdcookiepro-show-all').fadeOut();openAdvancedSettings()}},submit:{text:pd_cookie_label['Accept all'],btnClass:'pdcookiepro-show-submit pm-submit-color',keys:['enter'],action:function(){submitCookies(!0)}},submit_required:{text:pd_cookie_label['Accept required'],btnClass:'pdcookiepro-show-submit pm-submit-required-color',action:function(){$.ajax({method:'POST',url:pd_cookie_link,dataType:'JSON',data:{action:'setCookie'},success:function(result){submitCookies(!1);if(pd_cookie_reload){window.location.reload()}}})}}}})}}})} 378function checkGroup(target){var checked=$('input[data-id="'+target+'"]:checked').length;var all=$('input[data-id="'+target+'"]').length;if(checked==0){$('input[data-target="'+target+'"]').parent().find('.pm-slider').removeClass('checked').removeClass('checked-half');$('input[data-target="'+target+'"]').prop('checked',!1)}else if(all==checked){$('input[data-target="'+target+'"]').parent().find('.pm-slider').addClass('checked').removeClass('checked-half');$('input[data-target="'+target+'"]').prop('checked',!0)}else{$('input[data-target="'+target+'"]').parent().find('.pm-slider').removeClass('checked').addClass('checked-half');$('input[data-target="'+target+'"]').prop('checked',!1)}} 379function setCheckedChildren(target,checked){$('input[data-id="'+target+'"]').prop('checked',!checked);$('input[data-id="'+target+'"]').parent().find('.pm-slider').toggleClass('checked',!checked)} 380$(document).on('click','.pm-switch-toogle',function(e){if(!$(e.target).is('input')){var checked=$(this).parent().find('input[type="checkbox"]').prop('checked');var target="";if($(this).parent().find('input').data('target')!=undefined){setCheckedChildren($(this).parent().find('input').data('target'),checked) 381target=$(this).parent().find('input').data('target');checkGroup(target)} 382$(this).parent().find('.pm-slider').removeClass('checked-half');if($(this).is('.pdcookiepro-select-all')){$('.pm-switch-toogle').find('input[type="checkbox"]').prop('checked',checked);$('.pm-switch-toogle').find('.pm-slider').toggleClass('checked',checked)}else{$(this).parent().find('input').prop('checked',checked);$(this).parent().find('.pm-slider').toggleClass('checked',!checked)} 383if($(this).parent().find('input').data('id')!=undefined){target=$(this).parent().find('input').data('id');setTimeout(function(){checkGroup(target)},300)}}});$(document).on('click','.pm-select-all',function(){$('.pm-select-all').prop('disabled',!0);$('.pm-switch-toogle').find('input[type="checkbox"]').prop('checked',!0);$('.pm-switch-toogle').find('.pm-slider').toggleClass('checked',!0).removeClass('checked-half');$('.pm-select-all').prop('disabled',!1)});$(document).on('click','.pmsubmit',function(){var conditions={condition:'all',action:'setCookie'} 384conditions=$('form[name="pdcookiepro"]').serialize();$.ajax({method:'POST',url:pd_cookie_link,dataType:'JSON',data:conditions,success:function(result){window.location.href=pd_cookie_link_conf}}) 385return!1});
385if(!pd_cookie_settings){if(pd_cookie_delay_time>0){if(pd_cookie_show_on_scroll==!1&&!pd_cookie_scroll_start){setTimeout(showPmMessage,pd_cookie_delay_time);pd_cookie_scroll_start=!0}else{$(document).on('scroll',function(){if(!pd_cookie_scroll_start){setTimeout(showPmMessage,pd_cookie_delay_time);pd_cookie_scroll_start=!0}})}}else{showPmMessage()}} 386$(document).on('click','.pdcookiepro-show-details',function(){var visible=$('#'+$(this).data('target')).is(':visible');$('.pdcookiepro-details').hide();$('.pdcookiepro-group-name').addClass('collapsed');if(visible){$('#'+$(this).data('target')).stop().fadeOut();$(this).find('.pdcookiepro-group-name').addClass('collapsed')}else{$('#'+$(this).data('target')).stop().fadeIn();$(this).find('.pdcookiepro-group-name').removeClass('collapsed')}});$.each($('.pdcookiepro-switch'),function(){if($(this).find('input').data('target')!=undefined){checkGroup($(this).find('input').data('target'))}});if($('.pdcookiepro-cookies-table').length){console.log('Cookie test mode');setInterval(function(){refreshTestTable()},3000);setTimeout(function(){refreshTestTable()},500)}});/** 387 * NOTICE OF LICENSE 388 * 389 * This source file is subject to the MIT License (MIT) 390 * that is bundled with this package in the file LICENSE.md. 391 * 392 * @author mElements S.A. 393 * @copyright mElements S.A. 394 * @license MIT License 395 **/ 396var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,n,f){a instanceof String&&(a=String(a));for(var p=a.length,k=0;k<p;k++){var b=a[k];if(n.call(f,b,k,a))return{i:k,v:b}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,n,f){a!=Array.prototype&&a!=Object.prototype&&(a[n]=f.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,n,f,p){if(n){f=$jscomp.global;a=a.split(".");for(p=0;p<a.length-1;p++){var k=a[p];k in f||(f[k]={});f=f[k]}a=a[a.length-1];p=f[a];n=n(p);n!=p&&null!=n&&$jscomp.defineProperty(f,a,{configurable:!0,writable:!0,value:n})}};$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,f){return $jscomp.findInternal(this,a,f).v}},"es6","es3");(function(a,n,f){"function"===typeof define&&define.amd?define(["jquery"],a):"object"===typeof exports&&"undefined"===typeof Meteor?module.exports=a(require("jquery")):a(n||f)})(function(a){var n=function(b,d,e){var c={invalid:[],getCaret:function(){try{var a=0,r=b.get(0),h=document.selection,d=r.selectionStart;if(h&&-1===navigator.appVersion.indexOf("MSIE 10")){var e=h.createRange();e.moveStart("character",-c.val().length);a=e.text.length}else if(d||"0"===d)a=d;return a}catch(C){}},setCaret:function(a){try{if(b.is(":focus")){var c=b.get(0);if(c.setSelectionRange)c.setSelectionRange(a,a);else{var g=c.createTextRange();g.collapse(!0);g.moveEnd("character",a);g.moveStart("character",a);g.select()}}}catch(B){}}
vendor: 6,223 bytes, line 396
396,events:function(){b.on("keydown.mask",function(a){b.data("mask-keycode",a.keyCode||a.which);b.data("mask-previus-value",b.val());b.data("mask-previus-caret-pos",c.getCaret());c.maskDigitPosMapOld=c.maskDigitPosMap}).on(a.jMaskGlobals.useInput?"input.mask":"keyup.mask",c.behaviour).on("paste.mask drop.mask",function(){setTimeout(function(){b.keydown().keyup()},100)}).on("change.mask",function(){b.data("changed",!0)}).on("blur.mask",function(){f===c.val()||b.data("changed")||b.trigger("change");b.data("changed",!1)}).on("blur.mask",function(){f=c.val()}).on("focus.mask",function(b){!0===e.selectOnFocus&&a(b.target).select()}).on("focusout.mask",function(){e.clearIfNotMatch&&!k.test(c.val())&&c.val("")})},getRegexMask:function(){for(var a=[],b,c,e,t,f=0;f<d.length;f++)(b=l.translation[d.charAt(f)])?(c=b.pattern.toString().replace(/.{1}$|^.{1}/g,""),e=b.optional,(b=b.recursive)?(a.push(d.charAt(f)),t={digit:d.charAt(f),pattern:c}):a.push(e||b?c+"?":c)):a.push(d.charAt(f).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"));a=a.join("");t&&(a=a.replace(new RegExp("("+t.digit+"(.*"+t.digit+")?)"),"($1)?").replace(new RegExp(t.digit,"g"),t.pattern));return new RegExp(a)},destroyEvents:function(){b.off("input keydown keyup paste drop blur focusout ".split(" ").join(".mask "))},val:function(a){var c=b.is("input")?"val":"text";if(0<arguments.length){if(b[c]()!==a)b[c](a);c=b}else c=b[c]();return c},calculateCaretPosition:function(a){var d=c.getMasked(),h=c.getCaret();if(a!==d){var e=b.data("mask-previus-caret-pos")||0;d=d.length;var g=a.length,f=a=0,l=0,k=0,m;for(m=h;m<d&&c.maskDigitPosMap[m];m++)f++;for(m=h-1;0<=m&&c.maskDigitPosMap[m];m--)a++;for(m=h-1;0<=m;m--)c.maskDigitPosMap[m]&&l++;for(m=e-1;0<=m;m--)c.maskDigitPosMapOld[m]&&k++;h>g?h=10*d:e>=h&&e!==g?c.maskDigitPosMapOld[h]||(e=h,h=h-(k-l)-a,c.maskDigitPosMap[h]&&(h=e)):h>e&&(h=h+(l-k)+f)}return h},behaviour:function(d){d=d||window.event;c.invalid=[];var e=b.data("mask-keycode");if(-1===a.inArray(e,l.byPassKeys)){e=c.getMasked();var h=c.getCaret(),g=b.data("mask-previus-value")||"";setTimeout(function(){c.setCaret(c.calculateCaretPosition(g))},a.jMaskGlobals.keyStrokeCompensation);c.val(e);c.setCaret(h);return c.callbacks(d)}},getMasked:function(a,b){var h=[],f=void 0===b?c.val():b+"",g=0,k=d.length,n=0,p=f.length,m=1,r="push",u=-1,w=0;b=[];if(e.reverse){r="unshift";m=-1;var x=0;g=k-1;n=p-1;var A=function(){return-1<g&&-1<n}}else x=k-1,A=function(){return g<k&&n<p};for(var z;A();){var y=d.charAt(g),v=f.charAt(n),q=l.translation[y];if(q)v.match(q.pattern)?(h[r](v),q.recursive&&(-1===u?u=g:g===x&&g!==u&&(g=u-m),x===u&&(g-=m)),g+=m):v===z?(w--,z=void 0):q.optional?(g+=m,n-=m):q.fallback?(h[r](q.fallback),g+=m,n-=m):c.invalid.push({p:n,v:v,e:q.pattern}),n+=m;else{if(!a)h[r](y);v===y?(b.push(n),n+=m):(z=y,b.push(n+w),w++);g+=m}}a=d.charAt(x);k!==p+1||l.translation[a]||h.push(a);h=h.join("");c.mapMaskdigitPositions(h,b,p);return h},mapMaskdigitPositions:function(a,b,d){a=e.reverse?a.length-d:0;c.maskDigitPosMap={};for(d=0;d<b.length;d++)c.maskDigitPosMap[b[d]+a]=1},callbacks:function(a){var g=c.val(),h=g!==f,k=[g,a,b,e],l=function(a,b,c){"function"===typeof e[a]&&b&&e[a].apply(this,c)};l("onChange",!0===h,k);l("onKeyPress",!0===h,k);l("onComplete",g.length===d.length,k);l("onInvalid",0<c.invalid.length,[g,a,b,c.invalid,e])}};b=a(b);var l=this,f=c.val(),k;d="function"===typeof d?d(c.val(),void 0,b,e):d;l.mask=d;l.options=e;l.remove=function(){var a=c.getCaret();l.options.placeholder&&b.removeAttr("placeholder");b.data("mask-maxlength")&&b.removeAttr("maxlength");c.destroyEvents();c.val(l.getCleanVal());c.setCaret(a);return b};l.getCleanVal=function(){return c.getMasked(!0)};l.getMaskedVal=function(a){return c.getMasked(!1,a)};l.init=function(g){g=g||!1;e=e||{};l.clearIfNotMatch=a.jMaskGlobals.clearIfNotMatch;l.byPassKeys=a.jMaskGlobals.byPassKeys;l.translation=a.extend({},a.jMaskGlobals.translation,e.translation);l=a.extend(!0,{},l,e);k=c.getRegexMask();if(g)c.events(),c.val(c.getMasked());else{e.placeholder&&b.attr("placeholder",e.placeholder);b.data("mask")&&b.attr("autocomplete","off");g=0;for(var f=!0;g<d.length;g++){var h=l.translation[d.charAt(g)];if(h&&h.recursive){f=!1;break}}f&&b.attr("maxlength",d.length).data("mask-maxlength",!0);c.destroyEvents();c.events();g=c.getCaret();c.val(c.getMasked());c.setCaret(g)}};l.init(!b.is("input"))};a.maskWatchers={};var f=function(){var b=a(this),d={},e=b.attr("data-mask");b.attr("data-mask-reverse")&&(d.reverse=!0);b.attr("data-mask-clearifnotmatch")&&(d.clearIfNotMatch=!0);"true"===b.attr("data-mask-selectonfocus")&&(d.selectOnFocus=!0);if(p(b,e,d))return b.data("mask",new n(this,e,d))},p=function(b,d,e){e=e||{};var c=a(b).data("mask"),f=JSON.stringify;b=a(b).val()||a(b).text();try{return"function"===typeof d&&(d=d(b)),"object"!==typeof c||f(c.options)!==f(e)||c.mask!==d}catch(w){}},k=function(a){var b=document.createElement("div");a="on"+a;var e=a in b;e||(b.setAttribute(a,"return;"),e="function"===typeof b[a]);return e};a.fn.mask=function(b,d){d=d||{};var e=this.selector,c=a.jMaskGlobals,f=c.watchInterval;c=d.watchInputs||c.watchInputs;var k=function(){if(p(this,b,d))return a(this).data("mask",new n(this,b,d))};a(this).each(k);e&&""!==e&&c&&(clearInterval(a.maskWatchers[e]),a.maskWatchers[e]=setInterval(function(){a(document).find(e).each(k)},f));return this};a.fn.masked=function(a){return this.data("mask").getMaskedVal(a)};a.fn.unmask=function(){clearInterval(a.maskWatchers[this.selector]);delete a.maskWatchers[this.selector];return this.each(function(){var b=a(this).data("mask");b&&b.remove().removeData("mask")})};a.fn.cleanVal=function(){return this.data("mask").getCleanVal()};a.applyDataMask=function(b){b=b||a.jMaskGlobals.maskElements;(b instanceof a?b:a(b)).filter(a.jMaskGlobals.dataMaskAttr).each(f)};k={maskElements:"input,td,span,div",dataMaskAttr:"*[data-mask]",dataMask:!0,watchInterval:300,watchInputs:!0,keyStrokeCompensation:10,useInput:!/Chrome\/[2-4][0-9]|SamsungBrowser/.test(window.navigator.userAgent)&&k("input"),watchDataMask:!1,byPassKeys:[9,16,17,18,36,37,38,39,40,91],translation:{0:{pattern:/\d/},9:{pattern:/\d/,optional:!0},"#":{pattern:/\d/,recursive:!0},A:{pattern:/[a-zA-Z0-9]/},S:{pattern:/[a-zA-Z]/}}};
396a.jMaskGlobals=a.jMaskGlobals||{};k=a.jMaskGlobals=a.extend(!0,{},k,a.jMaskGlobals);k.dataMask&&a.applyDataMask();setInterval(function(){a.jMaskGlobals.watchDataMask&&a.applyDataMask()},k.watchInterval)},window.jQuery,window.Zepto);var paynow={config:{allTermsHaveToBeChecked:!1,useCssClassDisabled:!1,validateTerms:!0},selectors:{form:'.paynow-blik-form',terms:'#conditions_to_approve\\[terms-and-conditions\\], #cgv',termsLabel:'label[for="conditions_to_approve\\[terms-and-conditions\\]"], label[for="cgv"]',paymentButton:'#payment-confirmation button',blikCode:'#paynow_blik_code',blikButton:'form.paynow-blik-form div.paynow-payment-option-container button',blikErrorLabel:'form.paynow-blik-form span.error',pblMethod:'div.paynow-payment-pbls input[name="paymentMethodId"]',cardMethod:'div.paynow-payment-card input[name="paymentMethodToken"]',cardMethodOptions:'div.paynow-payment-card .paynow-payment-card-option',paymentMethod:'input[name="payment-option"]',cardMethodMiniMenuOpen:'.paynow-payment-card-menu .paynow-payment-card-menu-button',cardMethodRemove:'[data-remove-saved-instrument]',},init:function(){paynow.overrideDefaults();paynow.config.useCssClassDisabled=$(paynow.selectors.paymentButton).hasClass('disabled');$(document).on('click',paynow.selectors.blikButton,paynow.blikFormSubmit);$(document).on('keyup',paynow.selectors.blikCode,paynow.blikValidate);$(document).on('change',paynow.selectors.pblMethod,paynow.pblValidate);$(document).on('change',paynow.selectors.cardMethod,paynow.cardValidate);$(document).on('change',paynow.selectors.paymentMethod,paynow.onPaymentOptionChange);$(document).on('change',paynow.selectors.terms,function(){paynow.onPaymentOptionChange() 397paynow.termsValidate()});$(document).on('click',paynow.selectors.cardMethodMiniMenuOpen,paynow.toggleCardMiniMenu);$(document).on('click',paynow.selectors.cardMethodRemove,paynow.removeSavedInstrument);$(document).on('click',function(ev){paynow.closeMiniMenu(ev)});paynow.addApplePayEnabledToCookie();paynow.addFingerprintToCardPayment()},overrideDefaults:function(){if(!window.hasOwnProperty('paynowOverrides')){return} 398if(window.paynowOverrides.hasOwnProperty('selectors')){for(const[key,value]of Object.entries(window.paynowOverrides.selectors)){if(paynow.selectors.hasOwnProperty(key)){paynow.selectors[key]=value}}} 399if(window.paynowOverrides.hasOwnProperty('config')){for(const[key,value]of Object.entries(window.paynowOverrides.config)){if(paynow.config.hasOwnProperty(key)){paynow.config[key]=value}}}},termsValidate:function(){if(paynow.config.validateTerms==!1){return!0} 400if(paynow.isTermsChecked()){$(paynow.selectors.blikErrorLabel).text('') 401return!0}else{return!1}},blikFormSubmit:function(e){if(e&&e.preventDefault){e.preventDefault()} 402$(paynow.selectors.blikErrorLabel).text('') 403if(paynow.termsValidate()==!1){$(paynow.selectors.blikErrorLabel).text($(paynow.selectors.form).data('terms-message')) 404prestashop.emit('paynow_event_blik_submit_fail',{type:'terms_not_accepted',}) 405return} 406if(paynow.isOnePageCheckout()){paynow.triggerOnePageCheckoutPlaceOrder() 407return} 408paynow.blikButton.disable() 409paynow.chargeBlik(function(data,textStatus,jqXHR){window.location.href=data.redirect_url},function(data,textStatus,jqXHR){paynow.blikButton.enable() 410$(paynow.selectors.blikErrorLabel).text(data.message) 411prestashop.emit('paynow_event_blik_submit_fail',{type:'xhr_ok_but_error',response:data,textStatus:textStatus,jqXHR:jqXHR,})},function(jqXHR,textStatus,errorThrown){paynow.blikButton.enable() 412$(paynow.selectors.blikErrorLabel).text($(paynow.selectors.form).data('error-message')) 413prestashop.emit('paynow_event_blik_submit_fail',{type:'xhr_error',jqXHR:jqXHR,textStatus:textStatus,errorThrown:errorThrown})})},onPaymentOptionChange:function(){if($(paynow.selectors.blikCode).length!=1){return} 414$(paynow.selectors.blikCode).mask('000 000',{placeholder:"___ ___"}) 415if($(paynow.selectors.form).data('blik-autofocus')=='1'){$(paynow.selectors.blikCode).focus()} 416if($(paynow.selectors.blikCode).is(':visible')){paynow.paymentButton.disable() 417paynow.paymentButton.hide()}else if($(paynow.selectors.cardMethodOptions).is(':visible')&&!$(paynow.selectors.cardMethod+':checked').length){paynow.paymentButton.disable()}else{paynow.paymentButton.enable() 418paynow.paymentButton.show()}},blikFormPrepare:function(){paynow.onPaymentOptionChange()},blikValidate:function(){blik_code_value=$(paynow.selectors.blikCode).val().replace(/\s/g,'');if(blik_code_value.length===6&&!isNaN(parseInt(blik_code_value))&&parseInt(blik_code_value)){$(paynow.selectors.blikErrorLabel).text('');paynow.blikButton.enable() 419return!0}else{paynow.blikButton.disable() 420return!1}},cardValidate:function(){const checkedCardOption=$(paynow.selectors.cardMethod+':checked');if(checkedCardOption.length&&(!paynow.config.validateTerms||$(paynow.selectors.terms).is(':checked'))){paynow.paymentButton.enable();return!0}else{paynow.paymentButton.disable();return!1}},pblValidate:function(){if(paynow.config.validateTerms&&paynow.isTermsChecked()){paynow.paymentButton.enable();return!0}else{paynow.paymentButton.disable();return!1}},isOnePageCheckout:function(){if($('#velsof_supercheckout_form').length){return!0} 421return!1},closeMiniMenu:function(e){if(!$(e.target).is(paynow.selectors.cardMethodRemove)&&!$(e.target).is(paynow.selectors.cardMethodMiniMenuOpen)){$(paynow.selectors.cardMethodRemove).addClass('--hidden')}},toggleCardMiniMenu:function(e){$(e.currentTarget).siblings().toggleClass('--hidden')},isTermsChecked:function(){if(paynow.config.allTermsHaveToBeChecked){return!$(paynow.selectors.terms).is(':not(:checked)')}else{return $(paynow.selectors.terms).is(':checked')}},triggerOnePageCheckoutPlaceOrder:function(){if($('#velsof_supercheckout_form').length){$("#supercheckout_confirm_order").trigger('click')}},chargeBlik:function(onSuccess,onFail,onError){$.ajax($(paynow.selectors.form).data('action'),{method:'POST',type:'POST',data:{'blikCode':$(paynow.selectors.blikCode).val().replace(/\s/g,""),'token':$(paynow.selectors.form).data('token')},}).success(function(data,textStatus,jqXHR){if(data.success===!0){if(typeof onSuccess=='function'){onSuccess(data,textStatus,jqXHR)}}else{if(typeof onFail=='function'){onFail(data,textStatus,jqXHR)}}}).error(function(jqXHR,textStatus,errorThrown){if(typeof onError=='function'){onError(jqXHR,textStatus,errorThrown)}})},addApplePayEnabledToCookie:function(){let applePayEnabled=!1;if(window.ApplePaySession){applePayEnabled=window.ApplePaySession.canMakePayments()} 422document.cookie='applePayEnabled='+(applePayEnabled?'1':'0')},addFingerprintToCardPayment:function(){const input=$('#payment-method-fingerprint');if(!input.length){return} 423try{const fpPromise=import('https://static.paynow.pl/scripts/PyG5QjFDUI.min.js').then(FingerprintJS=>FingerprintJS.load()) 424fpPromise.then(fp=>fp.get()).then(result=>{input.val(result.visitorId)})}catch(e){console.error('Cannot get fingerprint')}},removeSavedInstrument:function(e){const target=$(e.currentTarget);const savedInstrument=target.data('removeSavedInstrument');const errorMessage=target.data('errorMessage');const cardMethodOption=$('#wrapper-'+savedInstrument);cardMethodOption.addClass('loading');$.ajax(target.data('action'),{method:'POST',type:'POST',data:{'savedInstrumentToken':savedInstrument,'token':target.data('token'),},}).success(function(data,textStatus,jqXHR){if(data.success===!0){cardMethodOption.remove()}else{cardMethodOption.removeClass('loading');paynow.showRemoveSavedInstrumentErrorMessage(savedInstrument,errorMessage)}}).error(function(jqXHR,textStatus,errorThrown){cardMethodOption.removeClass('loading');paynow.showRemoveSavedInstrumentErrorMessage(savedInstrument,errorMessage)})},showRemoveSavedInstrumentErrorMessage:function(savedInstrument,errorMessage){const errorMessageWrapper=jQuery('#wrapper-'+savedInstrument+' .paynow-payment-card-error');errorMessageWrapper.text(errorMessage);setTimeout(()=>{errorMessageWrapper.text('')},5000)},paymentButton:{show:function(){$(paynow.selectors.paymentButton).show()},hide:function(){$(paynow.selectors.paymentButton).hide()},disable:function(){$(paynow.selectors.paymentButton).prop('disabled',!0);if(paynow.config.useCssClassDisabled){$(paynow.selectors.paymentButton).addClass('disabled')}},enable:function(){$(paynow.selectors.paymentButton).prop('disabled',!1);if(paynow.config.useCssClassDisabled){$(paynow.selectors.paymentButton).removeClass('disabled')}}},blikButton:{disable:function(){$(paynow.selectors.blikButton).prop('disabled',!0);if(paynow.config.useCssClassDisabled){$(paynow.selectors.blikButton).addClass('disabled')}},enable:function(){$(paynow.selectors.blikButton).prop('disabled',!1);if(paynow.config.useCssClassDisabled){$(paynow.selectors.blikButton).removeClass('disabled')}},show:function(){$(paynow.selectors.blikButton).show()},hide:function(){$(paynow.selectors.blikButton).hide()}}};$(document).ready(paynow.init);function enableBlikSupport(){paynow.blikFormPrepare()} 425function paynowPblPaymentBtnCheck(){paynow.pblValidate()} 426function enablePblSupport(){};/******/ (function(modules) { // webpackBootstrap 427/******/ // The module cache 428/******/ var installedModules = {}; 429/******/ 430/******/ // The require function 431/******/ function __webpack_require__(moduleId) { 432/******/ 433/******/ // Check if module is in cache 434/******/ if(installedModules[moduleId]) { 435/******/ return installedModules[moduleId].exports; 436/******/ } 437/******/ // Create a new module (and put it into the cache) 438/******/ var module = installedModules[moduleId] = { 439/******/ i: moduleId, 440/******/ l: false, 441/******/ exports: {} 442/******/ }; 443/******/ 444/******/ // Execute the module function 445/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 446/******/ 447/******/ // Flag the module as loaded
vendor: 2,842 bytes, lines 448-513
448/******/ module.l = true; 449/******/ 450/******/ // Return the exports of the module 451/******/ return module.exports; 452/******/ } 453/******/ 454/******/ 455/******/ // expose the modules object (__webpack_modules__) 456/******/ __webpack_require__.m = modules; 457/******/ 458/******/ // expose the module cache 459/******/ __webpack_require__.c = installedModules; 460/******/ 461/******/ // define getter function for harmony exports 462/******/ __webpack_require__.d = function(exports, name, getter) { 463/******/ if(!__webpack_require__.o(exports, name)) { 464/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 465/******/ } 466/******/ }; 467/******/ 468/******/ // define __esModule on exports 469/******/ __webpack_require__.r = function(exports) { 470/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 471/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 472/******/ } 473/******/ Object.defineProperty(exports, '__esModule', { value: true }); 474/******/ }; 475/******/ 476/******/ // create a fake namespace object 477/******/ // mode & 1: value is a module id, require it 478/******/ // mode & 2: merge all properties of value into the ns 479/******/ // mode & 4: return value when already ns object 480/******/ // mode & 8|1: behave like require 481/******/ __webpack_require__.t = function(value, mode) { 482/******/ if(mode & 1) value = __webpack_require__(value); 483/******/ if(mode & 8) return value; 484/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 485/******/ var ns = Object.create(null); 486/******/ __webpack_require__.r(ns); 487/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 488/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 489/******/ return ns; 490/******/ }; 491/******/ 492/******/ // getDefaultExport function for compatibility with non-harmony modules 493/******/ __webpack_require__.n = function(module) { 494/******/ var getter = module && module.__esModule ? 495/******/ function getDefault() { return module['default']; } : 496/******/ function getModuleExports() { return module; }; 497/******/ __webpack_require__.d(getter, 'a', getter); 498/******/ return getter; 499/******/ }; 500/******/ 501/******/ // Object.prototype.hasOwnProperty.call 502/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 503/******/ 504/******/ // __webpack_public_path__ 505/******/ __webpack_require__.p = ""; 506/******/ 507/******/ 508/******/ // Load entry module and return exports 509/******/ return __webpack_require__(__webpack_require__.s = "./src/app_front.tsx"); 510/******/ }) 511/************************************************************************/ 512/******/ ({ 513
vendor: 15,167 bytes, lines 514-1022
514/***/ "./node_modules/events/events.js": 515/*!***************************************!*\ 516 !*** ./node_modules/events/events.js ***! 517 \***************************************/ 518/*! no static exports found */ 519/***/ (function(module, exports, __webpack_require__) { 520 521"use strict"; 522// Copyright Joyent, Inc. and other Node contributors. 523// 524// Permission is hereby granted, free of charge, to any person obtaining a 525// copy of this software and associated documentation files (the 526// "Software"), to deal in the Software without restriction, including 527// without limitation the rights to use, copy, modify, merge, publish, 528// distribute, sublicense, and/or sell copies of the Software, and to permit 529// persons to whom the Software is furnished to do so, subject to the 530// following conditions: 531// 532// The above copyright notice and this permission notice shall be included 533// in all copies or substantial portions of the Software. 534// 535// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 536// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 537// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 538// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 539// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 540// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 541// USE OR OTHER DEALINGS IN THE SOFTWARE. 542 543 544 545var R = typeof Reflect === 'object' ? Reflect : null 546var ReflectApply = R && typeof R.apply === 'function' 547 ? R.apply 548 : function ReflectApply(target, receiver, args) { 549 return Function.prototype.apply.call(target, receiver, args); 550 } 551 552var ReflectOwnKeys 553if (R && typeof R.ownKeys === 'function') { 554 ReflectOwnKeys = R.ownKeys 555} else if (Object.getOwnPropertySymbols) { 556 ReflectOwnKeys = function ReflectOwnKeys(target) { 557 return Object.getOwnPropertyNames(target) 558 .concat(Object.getOwnPropertySymbols(target)); 559 }; 560} else { 561 ReflectOwnKeys = function ReflectOwnKeys(target) { 562 return Object.getOwnPropertyNames(target); 563 }; 564} 565 566function ProcessEmitWarning(warning) { 567 if (console && console.warn) console.warn(warning); 568} 569 570var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) { 571 return value !== value; 572} 573 574function EventEmitter() { 575 EventEmitter.init.call(this); 576} 577module.exports = EventEmitter; 578module.exports.once = once; 579 580// Backwards-compat with node 0.10.x 581EventEmitter.EventEmitter = EventEmitter; 582 583EventEmitter.prototype._events = undefined; 584EventEmitter.prototype._eventsCount = 0; 585EventEmitter.prototype._maxListeners = undefined; 586 587// By default EventEmitters will print a warning if more than 10 listeners are 588// added to it. This is a useful default which helps finding memory leaks. 589var defaultMaxListeners = 10; 590 591function checkListener(listener) { 592 if (typeof listener !== 'function') { 593 throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener); 594 } 595} 596 597Object.defineProperty(EventEmitter, 'defaultMaxListeners', { 598 enumerable: true, 599 get: function() { 600 return defaultMaxListeners; 601 }, 602 set: function(arg) { 603 if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) { 604 throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.'); 605 } 606 defaultMaxListeners = arg; 607 } 608}); 609 610EventEmitter.init = function() { 611 612 if (this._events === undefined || 613 this._events === Object.getPrototypeOf(this)._events) { 614 this._events = Object.create(null); 615 this._eventsCount = 0; 616 } 617 618 this._maxListeners = this._maxListeners || undefined; 619}; 620 621// Obviously not all Emitters should be limited to 10. This function allows 622// that to be increased. Set to zero for unlimited. 623EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) { 624 if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) { 625 throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.'); 626 } 627 this._maxListeners = n; 628 return this; 629}; 630 631function _getMaxListeners(that) { 632 if (that._maxListeners === undefined) 633 return EventEmitter.defaultMaxListeners; 634 return that._maxListeners; 635} 636 637EventEmitter.prototype.getMaxListeners = function getMaxListeners() { 638 return _getMaxListeners(this); 639}; 640 641EventEmitter.prototype.emit = function emit(type) { 642 var args = []; 643 for (var i = 1; i < arguments.length; i++) args.push(arguments[i]); 644 var doError = (type === 'error'); 645 646 var events = this._events; 647 if (events !== undefined) 648 doError = (doError && events.error === undefined); 649 else if (!doError) 650 return false; 651 652 // If there is no 'error' event listener then throw. 653 if (doError) { 654 var er; 655 if (args.length > 0) 656 er = args[0]; 657 if (er instanceof Error) { 658 // Note: The comments on the `throw` lines are intentional, they show 659 // up in Node's output if this results in an unhandled exception. 660 throw er; // Unhandled 'error' event 661 } 662 // At least give some kind of context to the user 663 var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : '')); 664 err.context = er; 665 throw err; // Unhandled 'error' event 666 } 667 668 var handler = events[type]; 669 670 if (handler === undefined) 671 return false; 672 673 if (typeof handler === 'function') { 674 ReflectApply(handler, this, args); 675 } else { 676 var len = handler.length; 677 var listeners = arrayClone(handler, len); 678 for (var i = 0; i < len; ++i) 679 ReflectApply(listeners[i], this, args); 680 } 681 682 return true; 683}; 684 685function _addListener(target, type, listener, prepend) { 686 var m; 687 var events; 688 var existing; 689 690 checkListener(listener); 691 692 events = target._events; 693 if (events === undefined) { 694 events = target._events = Object.create(null); 695 target._eventsCount = 0; 696 } else { 697 // To avoid recursion in the case that type === "newListener"! Before 698 // adding it to the listeners, first emit "newListener". 699 if (events.newListener !== undefined) { 700 target.emit('newListener', type, 701 listener.listener ? listener.listener : listener); 702 703 // Re-assign `events` because a newListener handler could have caused the 704 // this._events to be assigned to a new object 705 events = target._events; 706 } 707 existing = events[type]; 708 } 709 710 if (existing === undefined) { 711 // Optimize the case of one listener. Don't need the extra array object. 712 existing = events[type] = listener; 713 ++target._eventsCount; 714 } else { 715 if (typeof existing === 'function') { 716 // Adding the second element, need to change to array. 717 existing = events[type] = 718 prepend ? [listener, existing] : [existing, listener]; 719 // If we've already got an array, just append. 720 } else if (prepend) { 721 existing.unshift(listener); 722 } else { 723 existing.push(listener); 724 } 725 726 // Check for listener leak 727 m = _getMaxListeners(target); 728 if (m > 0 && existing.length > m && !existing.warned) { 729 existing.warned = true; 730 // No error code for this since it is a Warning 731 // eslint-disable-next-line no-restricted-syntax 732 var w = new Error('Possible EventEmitter memory leak detected. ' + 733 existing.length + ' ' + String(type) + ' listeners ' + 734 'added. Use emitter.setMaxListeners() to ' + 735 'increase limit'); 736 w.name = 'MaxListenersExceededWarning'; 737 w.emitter = target; 738 w.type = type; 739 w.count = existing.length; 740 ProcessEmitWarning(w); 741 } 742 } 743 744 return target; 745} 746 747EventEmitter.prototype.addListener = function addListener(type, listener) { 748 return _addListener(this, type, listener, false); 749}; 750 751EventEmitter.prototype.on = EventEmitter.prototype.addListener; 752 753EventEmitter.prototype.prependListener = 754 function prependListener(type, listener) { 755 return _addListener(this, type, listener, true); 756 }; 757 758function onceWrapper() { 759 if (!this.fired) { 760 this.target.removeListener(this.type, this.wrapFn); 761 this.fired = true; 762 if (arguments.length === 0) 763 return this.listener.call(this.target); 764 return this.listener.apply(this.target, arguments); 765 } 766} 767 768function _onceWrap(target, type, listener) { 769 var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener }; 770 var wrapped = onceWrapper.bind(state); 771 wrapped.listener = listener; 772 state.wrapFn = wrapped; 773 return wrapped; 774} 775 776EventEmitter.prototype.once = function once(type, listener) { 777 checkListener(listener); 778 this.on(type, _onceWrap(this, type, listener)); 779 return this; 780}; 781 782EventEmitter.prototype.prependOnceListener = 783 function prependOnceListener(type, listener) { 784 checkListener(listener); 785 this.prependListener(type, _onceWrap(this, type, listener)); 786 return this; 787 }; 788 789// Emits a 'removeListener' event if and only if the listener was removed. 790EventEmitter.prototype.removeListener = 791 function removeListener(type, listener) { 792 var list, events, position, i, originalListener; 793 794 checkListener(listener); 795 796 events = this._events; 797 if (events === undefined) 798 return this; 799 800 list = events[type]; 801 if (list === undefined) 802 return this; 803 804 if (list === listener || list.listener === listener) { 805 if (--this._eventsCount === 0) 806 this._events = Object.create(null); 807 else { 808 delete events[type]; 809 if (events.removeListener) 810 this.emit('removeListener', type, list.listener || listener); 811 } 812 } else if (typeof list !== 'function') { 813 position = -1; 814 815 for (i = list.length - 1; i >= 0; i--) { 816 if (list[i] === listener || list[i].listener === listener) { 817 originalListener = list[i].listener; 818 position = i; 819 break; 820 } 821 } 822 823 if (position < 0) 824 return this; 825 826 if (position === 0) 827 list.shift(); 828 else { 829 spliceOne(list, position); 830 } 831 832 if (list.length === 1) 833 events[type] = list[0]; 834 835 if (events.removeListener !== undefined) 836 this.emit('removeListener', type, originalListener || listener); 837 } 838 839 return this; 840 }; 841 842EventEmitter.prototype.off = EventEmitter.prototype.removeListener; 843 844EventEmitter.prototype.removeAllListeners = 845 function removeAllListeners(type) { 846 var listeners, events, i; 847 848 events = this._events; 849 if (events === undefined) 850 return this; 851 852 // not listening for removeListener, no need to emit 853 if (events.removeListener === undefined) { 854 if (arguments.length === 0) { 855 this._events = Object.create(null); 856 this._eventsCount = 0; 857 } else if (events[type] !== undefined) { 858 if (--this._eventsCount === 0) 859 this._events = Object.create(null); 860 else 861 delete events[type]; 862 } 863 return this; 864 } 865 866 // emit removeListener for all listeners on all events 867 if (arguments.length === 0) { 868 var keys = Object.keys(events); 869 var key; 870 for (i = 0; i < keys.length; ++i) { 871 key = keys[i]; 872 if (key === 'removeListener') continue; 873 this.removeAllListeners(key); 874 } 875 this.removeAllListeners('removeListener'); 876 this._events = Object.create(null); 877 this._eventsCount = 0; 878 return this; 879 } 880 881 listeners = events[type]; 882 883 if (typeof listeners === 'function') { 884 this.removeListener(type, listeners); 885 } else if (listeners !== undefined) { 886 // LIFO order 887 for (i = listeners.length - 1; i >= 0; i--) { 888 this.removeListener(type, listeners[i]); 889 } 890 } 891 892 return this; 893 }; 894 895function _listeners(target, type, unwrap) { 896 var events = target._events; 897 898 if (events === undefined) 899 return []; 900 901 var evlistener = events[type]; 902 if (evlistener === undefined) 903 return []; 904 905 if (typeof evlistener === 'function') 906 return unwrap ? [evlistener.listener || evlistener] : [evlistener]; 907 908 return unwrap ? 909 unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length); 910} 911 912EventEmitter.prototype.listeners = function listeners(type) { 913 return _listeners(this, type, true); 914}; 915 916EventEmitter.prototype.rawListeners = function rawListeners(type) { 917 return _listeners(this, type, false); 918}; 919 920EventEmitter.listenerCount = function(emitter, type) { 921 if (typeof emitter.listenerCount === 'function') { 922 return emitter.listenerCount(type); 923 } else { 924 return listenerCount.call(emitter, type); 925 } 926}; 927 928EventEmitter.prototype.listenerCount = listenerCount; 929function listenerCount(type) { 930 var events = this._events; 931 932 if (events !== undefined) { 933 var evlistener = events[type]; 934 935 if (typeof evlistener === 'function') { 936 return 1; 937 } else if (evlistener !== undefined) { 938 return evlistener.length; 939 } 940 } 941 942 return 0; 943} 944 945EventEmitter.prototype.eventNames = function eventNames() { 946 return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : []; 947}; 948 949function arrayClone(arr, n) { 950 var copy = new Array(n); 951 for (var i = 0; i < n; ++i) 952 copy[i] = arr[i]; 953 return copy; 954} 955 956function spliceOne(list, index) { 957 for (; index + 1 < list.length; index++) 958 list[index] = list[index + 1]; 959 list.pop(); 960} 961 962function unwrapListeners(arr) { 963 var ret = new Array(arr.length); 964 for (var i = 0; i < ret.length; ++i) { 965 ret[i] = arr[i].listener || arr[i]; 966 } 967 return ret; 968} 969 970function once(emitter, name) { 971 return new Promise(function (resolve, reject) { 972 function errorListener(err) { 973 emitter.removeListener(name, resolver); 974 reject(err); 975 } 976 977 function resolver() { 978 if (typeof emitter.removeListener === 'function') { 979 emitter.removeListener('error', errorListener); 980 } 981 resolve([].slice.call(arguments)); 982 }; 983 984 eventTargetAgnosticAddListener(emitter, name, resolver, { once: true }); 985 if (name !== 'error') { 986 addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true }); 987 } 988 }); 989} 990 991function addErrorHandlerIfEventEmitter(emitter, handler, flags) { 992 if (typeof emitter.on === 'function') { 993 eventTargetAgnosticAddListener(emitter, 'error', handler, flags); 994 } 995} 996 997function eventTargetAgnosticAddListener(emitter, name, listener, flags) { 998 if (typeof emitter.on === 'function') { 999 if (flags.once) { 1000 emitter.once(name, listener); 1001 } else { 1002 emitter.on(name, listener); 1003 } 1004 } else if (typeof emitter.addEventListener === 'function') { 1005 // EventTarget does not have `error` event semantics like Node 1006 // EventEmitters, we do not listen for `error` events here. 1007 emitter.addEventListener(name, function wrapListener(arg) { 1008 // IE does not have builtin `{ once: true }` support so we 1009 // have to do it manually. 1010 if (flags.once) { 1011 emitter.removeEventListener(name, wrapListener); 1012 } 1013 listener(arg); 1014 }); 1015 } else { 1016 throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter); 1017 } 1018} 1019 1020 1021/***/ }), 1022
vendor: 289,075 bytes, lines 1023-11915
1023/***/ "./node_modules/jquery/dist/jquery.js": 1024/*!********************************************!*\ 1025 !*** ./node_modules/jquery/dist/jquery.js ***! 1026 \********************************************/ 1027/*! no static exports found */ 1028/***/ (function(module, exports, __webpack_require__) { 1029 1030var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! 1031 * jQuery JavaScript Library v3.6.0 1032 * https://jquery.com/ 1033 * 1034 * Includes Sizzle.js 1035 * https://sizzlejs.com/ 1036 * 1037 * Copyright OpenJS Foundation and other contributors 1038 * Released under the MIT license 1039 * https://jquery.org/license 1040 * 1041 * Date: 2021-03-02T17:08Z 1042 */ 1043( function( global, factory ) { 1044 1045 "use strict"; 1046 1047 if ( true && typeof module.exports === "object" ) { 1048 1049 // For CommonJS and CommonJS-like environments where a proper `window` 1050 // is present, execute the factory and get jQuery. 1051 // For environments that do not have a `window` with a `document` 1052 // (such as Node.js), expose a factory as module.exports. 1053 // This accentuates the need for the creation of a real `window`. 1054 // e.g. var jQuery = require("jquery")(window); 1055 // See ticket #14549 for more info. 1056 module.exports = global.document ? 1057 factory( global, true ) : 1058 function( w ) { 1059 if ( !w.document ) { 1060 throw new Error( "jQuery requires a window with a document" ); 1061 } 1062 return factory( w ); 1063 }; 1064 } else { 1065 factory( global ); 1066 } 1067 1068// Pass this if window is not defined yet 1069} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { 1070 1071// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 1072// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode 1073// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common 1074// enough that all such attempts are guarded in a try block. 1075"use strict"; 1076 1077var arr = []; 1078 1079var getProto = Object.getPrototypeOf; 1080 1081var slice = arr.slice; 1082 1083var flat = arr.flat ? function( array ) { 1084 return arr.flat.call( array ); 1085} : function( array ) { 1086 return arr.concat.apply( [], array ); 1087}; 1088 1089 1090var push = arr.push; 1091 1092var indexOf = arr.indexOf; 1093 1094var class2type = {}; 1095 1096var toString = class2type.toString; 1097 1098var hasOwn = class2type.hasOwnProperty; 1099 1100var fnToString = hasOwn.toString; 1101 1102var ObjectFunctionString = fnToString.call( Object ); 1103 1104var support = {}; 1105 1106var isFunction = function isFunction( obj ) { 1107 1108 // Support: Chrome <=57, Firefox <=52 1109 // In some browsers, typeof returns "function" for HTML <object> elements 1110 // (i.e., `typeof document.createElement( "object" ) === "function"`). 1111 // We don't want to classify *any* DOM node as a function. 1112 // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 1113 // Plus for old WebKit, typeof returns "function" for HTML collections 1114 // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) 1115 return typeof obj === "function" && typeof obj.nodeType !== "number" && 1116 typeof obj.item !== "function"; 1117 }; 1118 1119 1120var isWindow = function isWindow( obj ) { 1121 return obj != null && obj === obj.window; 1122 }; 1123 1124 1125var document = window.document; 1126 1127 1128 1129 var preservedScriptAttributes = { 1130 type: true, 1131 src: true, 1132 nonce: true, 1133 noModule: true 1134 }; 1135 1136 function DOMEval( code, node, doc ) { 1137 doc = doc || document; 1138 1139 var i, val, 1140 script = doc.createElement( "script" ); 1141 1142 script.text = code; 1143 if ( node ) { 1144 for ( i in preservedScriptAttributes ) { 1145 1146 // Support: Firefox 64+, Edge 18+ 1147 // Some browsers don't support the "nonce" property on scripts. 1148 // On the other hand, just using `getAttribute` is not enough as 1149 // the `nonce` attribute is reset to an empty string whenever it 1150 // becomes browsing-context connected. 1151 // See https://github.com/whatwg/html/issues/2369 1152 // See https://html.spec.whatwg.org/#nonce-attributes 1153 // The `node.getAttribute` check was added for the sake of 1154 // `jQuery.globalEval` so that it can fake a nonce-containing node 1155 // via an object. 1156 val = node[ i ] || node.getAttribute && node.getAttribute( i ); 1157 if ( val ) { 1158 script.setAttribute( i, val ); 1159 } 1160 } 1161 } 1162 doc.head.appendChild( script ).parentNode.removeChild( script ); 1163 } 1164 1165 1166function toType( obj ) { 1167 if ( obj == null ) { 1168 return obj + ""; 1169 } 1170 1171 // Support: Android <=2.3 only (functionish RegExp) 1172 return typeof obj === "object" || typeof obj === "function" ? 1173 class2type[ toString.call( obj ) ] || "object" : 1174 typeof obj; 1175} 1176/* global Symbol */ 1177// Defining this global in .eslintrc.json would create a danger of using the global 1178// unguarded in another place, it seems safer to define global only for this module 1179 1180 1181 1182var 1183 version = "3.6.0", 1184 1185 // Define a local copy of jQuery 1186 jQuery = function( selector, context ) { 1187 1188 // The jQuery object is actually just the init constructor 'enhanced' 1189 // Need init if jQuery is called (just allow error to be thrown if not included) 1190 return new jQuery.fn.init( selector, context ); 1191 }; 1192 1193jQuery.fn = jQuery.prototype = { 1194 1195 // The current version of jQuery being used 1196 jquery: version, 1197 1198 constructor: jQuery, 1199 1200 // The default length of a jQuery object is 0 1201 length: 0, 1202 1203 toArray: function() { 1204 return slice.call( this ); 1205 }, 1206 1207 // Get the Nth element in the matched element set OR 1208 // Get the whole matched element set as a clean array 1209 get: function( num ) { 1210 1211 // Return all the elements in a clean array 1212 if ( num == null ) { 1213 return slice.call( this ); 1214 } 1215 1216 // Return just the one element from the set 1217 return num < 0 ? this[ num + this.length ] : this[ num ]; 1218 }, 1219 1220 // Take an array of elements and push it onto the stack 1221 // (returning the new matched element set) 1222 pushStack: function( elems ) { 1223 1224 // Build a new jQuery matched element set 1225 var ret = jQuery.merge( this.constructor(), elems ); 1226 1227 // Add the old object onto the stack (as a reference) 1228 ret.prevObject = this; 1229 1230 // Return the newly-formed element set 1231 return ret; 1232 }, 1233 1234 // Execute a callback for every element in the matched set. 1235 each: function( callback ) { 1236 return jQuery.each( this, callback ); 1237 }, 1238 1239 map: function( callback ) { 1240 return this.pushStack( jQuery.map( this, function( elem, i ) { 1241 return callback.call( elem, i, elem ); 1242 } ) ); 1243 }, 1244 1245 slice: function() { 1246 return this.pushStack( slice.apply( this, arguments ) ); 1247 }, 1248 1249 first: function() { 1250 return this.eq( 0 ); 1251 }, 1252 1253 last: function() { 1254 return this.eq( -1 ); 1255 }, 1256 1257 even: function() { 1258 return this.pushStack( jQuery.grep( this, function( _elem, i ) { 1259 return ( i + 1 ) % 2; 1260 } ) ); 1261 }, 1262 1263 odd: function() { 1264 return this.pushStack( jQuery.grep( this, function( _elem, i ) { 1265 return i % 2; 1266 } ) ); 1267 }, 1268 1269 eq: function( i ) { 1270 var len = this.length, 1271 j = +i + ( i < 0 ? len : 0 ); 1272 return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); 1273 }, 1274 1275 end: function() { 1276 return this.prevObject || this.constructor(); 1277 }, 1278 1279 // For internal use only. 1280 // Behaves like an Array's method, not like a jQuery method. 1281 push: push, 1282 sort: arr.sort, 1283 splice: arr.splice 1284}; 1285 1286jQuery.extend = jQuery.fn.extend = function() { 1287 var options, name, src, copy, copyIsArray, clone, 1288 target = arguments[ 0 ] || {}, 1289 i = 1, 1290 length = arguments.length, 1291 deep = false; 1292 1293 // Handle a deep copy situation 1294 if ( typeof target === "boolean" ) { 1295 deep = target; 1296 1297 // Skip the boolean and the target 1298 target = arguments[ i ] || {}; 1299 i++; 1300 } 1301 1302 // Handle case when target is a string or something (possible in deep copy) 1303 if ( typeof target !== "object" && !isFunction( target ) ) { 1304 target = {}; 1305 } 1306 1307 // Extend jQuery itself if only one argument is passed 1308 if ( i === length ) { 1309 target = this; 1310 i--; 1311 } 1312 1313 for ( ; i < length; i++ ) { 1314 1315 // Only deal with non-null/undefined values 1316 if ( ( options = arguments[ i ] ) != null ) { 1317 1318 // Extend the base object 1319 for ( name in options ) { 1320 copy = options[ name ]; 1321 1322 // Prevent Object.prototype pollution 1323 // Prevent never-ending loop 1324 if ( name === "__proto__" || target === copy ) { 1325 continue; 1326 } 1327 1328 // Recurse if we're merging plain objects or arrays 1329 if ( deep && copy && ( jQuery.isPlainObject( copy ) || 1330 ( copyIsArray = Array.isArray( copy ) ) ) ) { 1331 src = target[ name ]; 1332 1333 // Ensure proper type for the source value 1334 if ( copyIsArray && !Array.isArray( src ) ) { 1335 clone = []; 1336 } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { 1337 clone = {}; 1338 } else { 1339 clone = src; 1340 } 1341 copyIsArray = false; 1342 1343 // Never move original objects, clone them 1344 target[ name ] = jQuery.extend( deep, clone, copy ); 1345 1346 // Don't bring in undefined values 1347 } else if ( copy !== undefined ) { 1348 target[ name ] = copy; 1349 } 1350 } 1351 } 1352 } 1353 1354 // Return the modified object 1355 return target; 1356}; 1357 1358jQuery.extend( { 1359 1360 // Unique for each copy of jQuery on the page 1361 expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), 1362 1363 // Assume jQuery is ready without the ready module 1364 isReady: true, 1365 1366 error: function( msg ) { 1367 throw new Error( msg ); 1368 }, 1369 1370 noop: function() {}, 1371 1372 isPlainObject: function( obj ) { 1373 var proto, Ctor; 1374 1375 // Detect obvious negatives 1376 // Use toString instead of jQuery.type to catch host objects 1377 if ( !obj || toString.call( obj ) !== "[object Object]" ) { 1378 return false; 1379 } 1380 1381 proto = getProto( obj ); 1382 1383 // Objects with no prototype (e.g., `Object.create( null )`) are plain 1384 if ( !proto ) { 1385 return true; 1386 } 1387 1388 // Objects with prototype are plain iff they were constructed by a global Object function 1389 Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; 1390 return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; 1391 }, 1392 1393 isEmptyObject: function( obj ) { 1394 var name; 1395 1396 for ( name in obj ) { 1397 return false; 1398 } 1399 return true; 1400 }, 1401 1402 // Evaluates a script in a provided context; falls back to the global one 1403 // if not specified. 1404 globalEval: function( code, options, doc ) { 1405 DOMEval( code, { nonce: options && options.nonce }, doc ); 1406 }, 1407 1408 each: function( obj, callback ) { 1409 var length, i = 0; 1410 1411 if ( isArrayLike( obj ) ) { 1412 length = obj.length; 1413 for ( ; i < length; i++ ) { 1414 if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { 1415 break; 1416 } 1417 } 1418 } else { 1419 for ( i in obj ) { 1420 if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { 1421 break; 1422 } 1423 } 1424 } 1425 1426 return obj; 1427 }, 1428 1429 // results is for internal usage only 1430 makeArray: function( arr, results ) { 1431 var ret = results || []; 1432 1433 if ( arr != null ) { 1434 if ( isArrayLike( Object( arr ) ) ) { 1435 jQuery.merge( ret, 1436 typeof arr === "string" ? 1437 [ arr ] : arr 1438 ); 1439 } else { 1440 push.call( ret, arr ); 1441 } 1442 } 1443 1444 return ret; 1445 }, 1446 1447 inArray: function( elem, arr, i ) { 1448 return arr == null ? -1 : indexOf.call( arr, elem, i ); 1449 }, 1450 1451 // Support: Android <=4.0 only, PhantomJS 1 only 1452 // push.apply(_, arraylike) throws on ancient WebKit 1453 merge: function( first, second ) { 1454 var len = +second.length, 1455 j = 0, 1456 i = first.length; 1457 1458 for ( ; j < len; j++ ) { 1459 first[ i++ ] = second[ j ]; 1460 } 1461 1462 first.length = i; 1463 1464 return first; 1465 }, 1466 1467 grep: function( elems, callback, invert ) { 1468 var callbackInverse, 1469 matches = [], 1470 i = 0, 1471 length = elems.length, 1472 callbackExpect = !invert; 1473 1474 // Go through the array, only saving the items 1475 // that pass the validator function 1476 for ( ; i < length; i++ ) { 1477 callbackInverse = !callback( elems[ i ], i ); 1478 if ( callbackInverse !== callbackExpect ) { 1479 matches.push( elems[ i ] ); 1480 } 1481 } 1482 1483 return matches; 1484 }, 1485 1486 // arg is for internal usage only 1487 map: function( elems, callback, arg ) { 1488 var length, value, 1489 i = 0, 1490 ret = []; 1491 1492 // Go through the array, translating each of the items to their new values 1493 if ( isArrayLike( elems ) ) { 1494 length = elems.length; 1495 for ( ; i < length; i++ ) { 1496 value = callback( elems[ i ], i, arg ); 1497 1498 if ( value != null ) { 1499 ret.push( value ); 1500 } 1501 } 1502 1503 // Go through every key on the object, 1504 } else { 1505 for ( i in elems ) { 1506 value = callback( elems[ i ], i, arg ); 1507 1508 if ( value != null ) { 1509 ret.push( value ); 1510 } 1511 } 1512 } 1513 1514 // Flatten any nested arrays 1515 return flat( ret ); 1516 }, 1517 1518 // A global GUID counter for objects 1519 guid: 1, 1520 1521 // jQuery.support is not used in Core but other projects attach their 1522 // properties to it so it needs to exist. 1523 support: support 1524} ); 1525 1526if ( typeof Symbol === "function" ) { 1527 jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; 1528} 1529 1530// Populate the class2type map 1531jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), 1532 function( _i, name ) { 1533 class2type[ "[object " + name + "]" ] = name.toLowerCase(); 1534 } ); 1535 1536function isArrayLike( obj ) { 1537 1538 // Support: real iOS 8.2 only (not reproducible in simulator) 1539 // `in` check used to prevent JIT error (gh-2145) 1540 // hasOwn isn't used here due to false negatives 1541 // regarding Nodelist length in IE 1542 var length = !!obj && "length" in obj && obj.length, 1543 type = toType( obj ); 1544 1545 if ( isFunction( obj ) || isWindow( obj ) ) { 1546 return false; 1547 } 1548 1549 return type === "array" || length === 0 || 1550 typeof length === "number" && length > 0 && ( length - 1 ) in obj; 1551} 1552var Sizzle = 1553/*! 1554 * Sizzle CSS Selector Engine v2.3.6 1555 * https://sizzlejs.com/ 1556 * 1557 * Copyright JS Foundation and other contributors 1558 * Released under the MIT license 1559 * https://js.foundation/ 1560 * 1561 * Date: 2021-02-16 1562 */ 1563( function( window ) { 1564var i, 1565 support, 1566 Expr, 1567 getText, 1568 isXML, 1569 tokenize, 1570 compile, 1571 select, 1572 outermostContext, 1573 sortInput, 1574 hasDuplicate, 1575 1576 // Local document vars 1577 setDocument, 1578 document, 1579 docElem, 1580 documentIsHTML, 1581 rbuggyQSA, 1582 rbuggyMatches, 1583 matches, 1584 contains, 1585 1586 // Instance-specific data 1587 expando = "sizzle" + 1 * new Date(), 1588 preferredDoc = window.document, 1589 dirruns = 0, 1590 done = 0, 1591 classCache = createCache(), 1592 tokenCache = createCache(), 1593 compilerCache = createCache(), 1594 nonnativeSelectorCache = createCache(), 1595 sortOrder = function( a, b ) { 1596 if ( a === b ) { 1597 hasDuplicate = true; 1598 } 1599 return 0; 1600 }, 1601 1602 // Instance methods 1603 hasOwn = ( {} ).hasOwnProperty, 1604 arr = [], 1605 pop = arr.pop, 1606 pushNative = arr.push, 1607 push = arr.push, 1608 slice = arr.slice, 1609 1610 // Use a stripped-down indexOf as it's faster than native 1611 // https://jsperf.com/thor-indexof-vs-for/5 1612 indexOf = function( list, elem ) { 1613 var i = 0, 1614 len = list.length; 1615 for ( ; i < len; i++ ) { 1616 if ( list[ i ] === elem ) { 1617 return i; 1618 } 1619 } 1620 return -1; 1621 }, 1622 1623 booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + 1624 "ismap|loop|multiple|open|readonly|required|scoped", 1625 1626 // Regular expressions 1627 1628 // http://www.w3.org/TR/css3-selectors/#whitespace 1629 whitespace = "[\\x20\\t\\r\\n\\f]", 1630 1631 // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram 1632 identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + 1633 "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", 1634 1635 // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors 1636 attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + 1637 1638 // Operator (capture 2) 1639 "*([*^$|!~]?=)" + whitespace + 1640 1641 // "Attribute values must be CSS identifiers [capture 5] 1642 // or strings [capture 3 or capture 4]" 1643 "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + 1644 whitespace + "*\\]", 1645 1646 pseudos = ":(" + identifier + ")(?:\\((" + 1647 1648 // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: 1649 // 1. quoted (capture 3; capture 4 or capture 5) 1650 "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + 1651 1652 // 2. simple (capture 6) 1653 "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + 1654 1655 // 3. anything else (capture 2) 1656 ".*" + 1657 ")\\)|)", 1658 1659 // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter 1660 rwhitespace = new RegExp( whitespace + "+", "g" ), 1661 rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + 1662 whitespace + "+$", "g" ), 1663 1664 rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), 1665 rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + 1666 "*" ), 1667 rdescend = new RegExp( whitespace + "|>" ), 1668 1669 rpseudo = new RegExp( pseudos ), 1670 ridentifier = new RegExp( "^" + identifier + "$" ), 1671 1672 matchExpr = { 1673 "ID": new RegExp( "^#(" + identifier + ")" ), 1674 "CLASS": new RegExp( "^\\.(" + identifier + ")" ), 1675 "TAG": new RegExp( "^(" + identifier + "|[*])" ), 1676 "ATTR": new RegExp( "^" + attributes ), 1677 "PSEUDO": new RegExp( "^" + pseudos ), 1678 "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + 1679 whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + 1680 whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), 1681 "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), 1682 1683 // For use in libraries implementing .is() 1684 // We use this for POS matching in `select` 1685 "needsContext": new RegExp( "^" + whitespace + 1686 "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + 1687 "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) 1688 }, 1689 1690 rhtml = /HTML$/i, 1691 rinputs = /^(?:input|select|textarea|button)$/i, 1692 rheader = /^h\d$/i, 1693 1694 rnative = /^[^{]+\{\s*\[native \w/, 1695 1696 // Easily-parseable/retrievable ID or TAG or CLASS selectors 1697 rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, 1698 1699 rsibling = /[+~]/, 1700 1701 // CSS escapes 1702 // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters 1703 runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), 1704 funescape = function( escape, nonHex ) { 1705 var high = "0x" + escape.slice( 1 ) - 0x10000; 1706 1707 return nonHex ? 1708 1709 // Strip the backslash prefix from a non-hex escape sequence 1710 nonHex : 1711 1712 // Replace a hexadecimal escape sequence with the encoded Unicode code point 1713 // Support: IE <=11+ 1714 // For values outside the Basic Multilingual Plane (BMP), manually construct a 1715 // surrogate pair 1716 high < 0 ? 1717 String.fromCharCode( high + 0x10000 ) : 1718 String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); 1719 }, 1720 1721 // CSS string/identifier serialization 1722 // https://drafts.csswg.org/cssom/#common-serializing-idioms 1723 rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, 1724 fcssescape = function( ch, asCodePoint ) { 1725 if ( asCodePoint ) { 1726 1727 // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER 1728 if ( ch === "\0" ) { 1729 return "\uFFFD"; 1730 } 1731 1732 // Control characters and (dependent upon position) numbers get escaped as code points 1733 return ch.slice( 0, -1 ) + "\\" + 1734 ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; 1735 } 1736 1737 // Other potentially-special ASCII characters get backslash-escaped 1738 return "\\" + ch; 1739 }, 1740 1741 // Used for iframes 1742 // See setDocument() 1743 // Removing the function wrapper causes a "Permission Denied" 1744 // error in IE 1745 unloadHandler = function() { 1746 setDocument(); 1747 }, 1748 1749 inDisabledFieldset = addCombinator( 1750 function( elem ) { 1751 return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; 1752 }, 1753 { dir: "parentNode", next: "legend" } 1754 ); 1755 1756// Optimize for push.apply( _, NodeList ) 1757try { 1758 push.apply( 1759 ( arr = slice.call( preferredDoc.childNodes ) ), 1760 preferredDoc.childNodes 1761 ); 1762 1763 // Support: Android<4.0 1764 // Detect silently failing push.apply 1765 // eslint-disable-next-line no-unused-expressions 1766 arr[ preferredDoc.childNodes.length ].nodeType; 1767} catch ( e ) { 1768 push = { apply: arr.length ? 1769 1770 // Leverage slice if possible 1771 function( target, els ) { 1772 pushNative.apply( target, slice.call( els ) ); 1773 } : 1774 1775 // Support: IE<9 1776 // Otherwise append directly 1777 function( target, els ) { 1778 var j = target.length, 1779 i = 0; 1780 1781 // Can't trust NodeList.length 1782 while ( ( target[ j++ ] = els[ i++ ] ) ) {} 1783 target.length = j - 1; 1784 } 1785 }; 1786} 1787 1788function Sizzle( selector, context, results, seed ) { 1789 var m, i, elem, nid, match, groups, newSelector, 1790 newContext = context && context.ownerDocument, 1791 1792 // nodeType defaults to 9, since context defaults to document 1793 nodeType = context ? context.nodeType : 9; 1794 1795 results = results || []; 1796 1797 // Return early from calls with invalid selector or context 1798 if ( typeof selector !== "string" || !selector || 1799 nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { 1800 1801 return results; 1802 } 1803 1804 // Try to shortcut find operations (as opposed to filters) in HTML documents 1805 if ( !seed ) { 1806 setDocument( context ); 1807 context = context || document; 1808 1809 if ( documentIsHTML ) { 1810 1811 // If the selector is sufficiently simple, try using a "get*By*" DOM method 1812 // (excepting DocumentFragment context, where the methods don't exist) 1813 if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { 1814 1815 // ID selector 1816 if ( ( m = match[ 1 ] ) ) { 1817 1818 // Document context 1819 if ( nodeType === 9 ) { 1820 if ( ( elem = context.getElementById( m ) ) ) { 1821 1822 // Support: IE, Opera, Webkit 1823 // TODO: identify versions 1824 // getElementById can match elements by name instead of ID 1825 if ( elem.id === m ) { 1826 results.push( elem ); 1827 return results; 1828 } 1829 } else { 1830 return results; 1831 } 1832 1833 // Element context 1834 } else { 1835 1836 // Support: IE, Opera, Webkit 1837 // TODO: identify versions 1838 // getElementById can match elements by name instead of ID 1839 if ( newContext && ( elem = newContext.getElementById( m ) ) && 1840 contains( context, elem ) && 1841 elem.id === m ) { 1842 1843 results.push( elem ); 1844 return results; 1845 } 1846 } 1847 1848 // Type selector 1849 } else if ( match[ 2 ] ) { 1850 push.apply( results, context.getElementsByTagName( selector ) ); 1851 return results; 1852 1853 // Class selector 1854 } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && 1855 context.getElementsByClassName ) { 1856 1857 push.apply( results, context.getElementsByClassName( m ) ); 1858 return results; 1859 } 1860 } 1861 1862 // Take advantage of querySelectorAll 1863 if ( support.qsa && 1864 !nonnativeSelectorCache[ selector + " " ] && 1865 ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && 1866 1867 // Support: IE 8 only 1868 // Exclude object elements 1869 ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { 1870 1871 newSelector = selector; 1872 newContext = context; 1873 1874 // qSA considers elements outside a scoping root when evaluating child or 1875 // descendant combinators, which is not what we want. 1876 // In such cases, we work around the behavior by prefixing every selector in the 1877 // list with an ID selector referencing the scope context. 1878 // The technique has to be used as well when a leading combinator is used 1879 // as such selectors are not recognized by querySelectorAll. 1880 // Thanks to Andrew Dupont for this technique. 1881 if ( nodeType === 1 && 1882 ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { 1883 1884 // Expand context for sibling selectors 1885 newContext = rsibling.test( selector ) && testContext( context.parentNode ) || 1886 context; 1887 1888 // We can use :scope instead of the ID hack if the browser 1889 // supports it & if we're not changing the context. 1890 if ( newContext !== context || !support.scope ) { 1891 1892 // Capture the context ID, setting it first if necessary 1893 if ( ( nid = context.getAttribute( "id" ) ) ) { 1894 nid = nid.replace( rcssescape, fcssescape ); 1895 } else { 1896 context.setAttribute( "id", ( nid = expando ) ); 1897 } 1898 } 1899 1900 // Prefix every selector in the list 1901 groups = tokenize( selector ); 1902 i = groups.length; 1903 while ( i-- ) { 1904 groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + 1905 toSelector( groups[ i ] ); 1906 } 1907 newSelector = groups.join( "," ); 1908 } 1909 1910 try { 1911 push.apply( results, 1912 newContext.querySelectorAll( newSelector ) 1913 ); 1914 return results; 1915 } catch ( qsaError ) { 1916 nonnativeSelectorCache( selector, true ); 1917 } finally { 1918 if ( nid === expando ) { 1919 context.removeAttribute( "id" ); 1920 } 1921 } 1922 } 1923 } 1924 } 1925 1926 // All others 1927 return select( selector.replace( rtrim, "$1" ), context, results, seed ); 1928} 1929 1930/** 1931 * Create key-value caches of limited size 1932 * @returns {function(string, object)} Returns the Object data after storing it on itself with 1933 * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) 1934 * deleting the oldest entry 1935 */ 1936function createCache() { 1937 var keys = []; 1938 1939 function cache( key, value ) { 1940 1941 // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) 1942 if ( keys.push( key + " " ) > Expr.cacheLength ) { 1943 1944 // Only keep the most recent entries 1945 delete cache[ keys.shift() ]; 1946 } 1947 return ( cache[ key + " " ] = value ); 1948 } 1949 return cache; 1950} 1951 1952/** 1953 * Mark a function for special use by Sizzle 1954 * @param {Function} fn The function to mark 1955 */ 1956function markFunction( fn ) { 1957 fn[ expando ] = true; 1958 return fn; 1959} 1960 1961/** 1962 * Support testing using an element 1963 * @param {Function} fn Passed the created element and returns a boolean result 1964 */ 1965function assert( fn ) { 1966 var el = document.createElement( "fieldset" ); 1967 1968 try { 1969 return !!fn( el ); 1970 } catch ( e ) { 1971 return false; 1972 } finally { 1973 1974 // Remove from its parent by default 1975 if ( el.parentNode ) { 1976 el.parentNode.removeChild( el ); 1977 } 1978 1979 // release memory in IE 1980 el = null; 1981 } 1982} 1983 1984/** 1985 * Adds the same handler for all of the specified attrs 1986 * @param {String} attrs Pipe-separated list of attributes 1987 * @param {Function} handler The method that will be applied 1988 */ 1989function addHandle( attrs, handler ) { 1990 var arr = attrs.split( "|" ), 1991 i = arr.length; 1992 1993 while ( i-- ) { 1994 Expr.attrHandle[ arr[ i ] ] = handler; 1995 } 1996} 1997 1998/** 1999 * Checks document order of two siblings 2000 * @param {Element} a 2001 * @param {Element} b 2002 * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b 2003 */ 2004function siblingCheck( a, b ) { 2005 var cur = b && a, 2006 diff = cur && a.nodeType === 1 && b.nodeType === 1 && 2007 a.sourceIndex - b.sourceIndex; 2008 2009 // Use IE sourceIndex if available on both nodes 2010 if ( diff ) { 2011 return diff; 2012 } 2013 2014 // Check if b follows a 2015 if ( cur ) { 2016 while ( ( cur = cur.nextSibling ) ) { 2017 if ( cur === b ) { 2018 return -1; 2019 } 2020 } 2021 } 2022 2023 return a ? 1 : -1; 2024} 2025 2026/** 2027 * Returns a function to use in pseudos for input types 2028 * @param {String} type 2029 */ 2030function createInputPseudo( type ) { 2031 return function( elem ) { 2032 var name = elem.nodeName.toLowerCase(); 2033 return name === "input" && elem.type === type; 2034 }; 2035} 2036 2037/** 2038 * Returns a function to use in pseudos for buttons 2039 * @param {String} type 2040 */ 2041function createButtonPseudo( type ) { 2042 return function( elem ) { 2043 var name = elem.nodeName.toLowerCase(); 2044 return ( name === "input" || name === "button" ) && elem.type === type; 2045 }; 2046} 2047 2048/** 2049 * Returns a function to use in pseudos for :enabled/:disabled 2050 * @param {Boolean} disabled true for :disabled; false for :enabled 2051 */ 2052function createDisabledPseudo( disabled ) { 2053 2054 // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable 2055 return function( elem ) { 2056 2057 // Only certain elements can match :enabled or :disabled 2058 // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled 2059 // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled 2060 if ( "form" in elem ) { 2061 2062 // Check for inherited disabledness on relevant non-disabled elements: 2063 // * listed form-associated elements in a disabled fieldset 2064 // https://html.spec.whatwg.org/multipage/forms.html#category-listed 2065 // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled 2066 // * option elements in a disabled optgroup 2067 // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled 2068 // All such elements have a "form" property. 2069 if ( elem.parentNode && elem.disabled === false ) { 2070 2071 // Option elements defer to a parent optgroup if present 2072 if ( "label" in elem ) { 2073 if ( "label" in elem.parentNode ) { 2074 return elem.parentNode.disabled === disabled; 2075 } else { 2076 return elem.disabled === disabled; 2077 } 2078 } 2079 2080 // Support: IE 6 - 11 2081 // Use the isDisabled shortcut property to check for disabled fieldset ancestors 2082 return elem.isDisabled === disabled || 2083 2084 // Where there is no isDisabled, check manually 2085 /* jshint -W018 */ 2086 elem.isDisabled !== !disabled && 2087 inDisabledFieldset( elem ) === disabled; 2088 } 2089 2090 return elem.disabled === disabled; 2091 2092 // Try to winnow out elements that can't be disabled before trusting the disabled property. 2093 // Some victims get caught in our net (label, legend, menu, track), but it shouldn't 2094 // even exist on them, let alone have a boolean value. 2095 } else if ( "label" in elem ) { 2096 return elem.disabled === disabled; 2097 } 2098 2099 // Remaining elements are neither :enabled nor :disabled 2100 return false; 2101 }; 2102} 2103 2104/** 2105 * Returns a function to use in pseudos for positionals 2106 * @param {Function} fn 2107 */ 2108function createPositionalPseudo( fn ) { 2109 return markFunction( function( argument ) { 2110 argument = +argument; 2111 return markFunction( function( seed, matches ) { 2112 var j, 2113 matchIndexes = fn( [], seed.length, argument ), 2114 i = matchIndexes.length; 2115 2116 // Match elements found at the specified indexes 2117 while ( i-- ) { 2118 if ( seed[ ( j = matchIndexes[ i ] ) ] ) { 2119 seed[ j ] = !( matches[ j ] = seed[ j ] ); 2120 } 2121 } 2122 } ); 2123 } ); 2124} 2125 2126/** 2127 * Checks a node for validity as a Sizzle context 2128 * @param {Element|Object=} context 2129 * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value 2130 */ 2131function testContext( context ) { 2132 return context && typeof context.getElementsByTagName !== "undefined" && context; 2133} 2134 2135// Expose support vars for convenience 2136support = Sizzle.support = {}; 2137 2138/** 2139 * Detects XML nodes 2140 * @param {Element|Object} elem An element or a document 2141 * @returns {Boolean} True iff elem is a non-HTML XML node 2142 */ 2143isXML = Sizzle.isXML = function( elem ) { 2144 var namespace = elem && elem.namespaceURI, 2145 docElem = elem && ( elem.ownerDocument || elem ).documentElement; 2146 2147 // Support: IE <=8 2148 // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes 2149 // https://bugs.jquery.com/ticket/4833 2150 return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); 2151}; 2152 2153/** 2154 * Sets document-related variables once based on the current document 2155 * @param {Element|Object} [doc] An element or document object to use to set the document 2156 * @returns {Object} Returns the current document 2157 */ 2158setDocument = Sizzle.setDocument = function( node ) { 2159 var hasCompare, subWindow, 2160 doc = node ? node.ownerDocument || node : preferredDoc; 2161 2162 // Return early if doc is invalid or already selected 2163 // Support: IE 11+, Edge 17 - 18+ 2164 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 2165 // two documents; shallow comparisons work. 2166 // eslint-disable-next-line eqeqeq 2167 if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { 2168 return document; 2169 } 2170 2171 // Update global variables 2172 document = doc; 2173 docElem = document.documentElement; 2174 documentIsHTML = !isXML( document ); 2175 2176 // Support: IE 9 - 11+, Edge 12 - 18+ 2177 // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) 2178 // Support: IE 11+, Edge 17 - 18+ 2179 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 2180 // two documents; shallow comparisons work. 2181 // eslint-disable-next-line eqeqeq 2182 if ( preferredDoc != document && 2183 ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { 2184 2185 // Support: IE 11, Edge 2186 if ( subWindow.addEventListener ) { 2187 subWindow.addEventListener( "unload", unloadHandler, false ); 2188 2189 // Support: IE 9 - 10 only 2190 } else if ( subWindow.attachEvent ) { 2191 subWindow.attachEvent( "onunload", unloadHandler ); 2192 } 2193 } 2194 2195 // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, 2196 // Safari 4 - 5 only, Opera <=11.6 - 12.x only 2197 // IE/Edge & older browsers don't support the :scope pseudo-class. 2198 // Support: Safari 6.0 only 2199 // Safari 6.0 supports :scope but it's an alias of :root there. 2200 support.scope = assert( function( el ) { 2201 docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); 2202 return typeof el.querySelectorAll !== "undefined" && 2203 !el.querySelectorAll( ":scope fieldset div" ).length; 2204 } ); 2205 2206 /* Attributes 2207 ---------------------------------------------------------------------- */ 2208 2209 // Support: IE<8 2210 // Verify that getAttribute really returns attributes and not properties 2211 // (excepting IE8 booleans) 2212 support.attributes = assert( function( el ) { 2213 el.className = "i"; 2214 return !el.getAttribute( "className" ); 2215 } ); 2216 2217 /* getElement(s)By* 2218 ---------------------------------------------------------------------- */ 2219 2220 // Check if getElementsByTagName("*") returns only elements 2221 support.getElementsByTagName = assert( function( el ) { 2222 el.appendChild( document.createComment( "" ) ); 2223 return !el.getElementsByTagName( "*" ).length; 2224 } ); 2225 2226 // Support: IE<9 2227 support.getElementsByClassName = rnative.test( document.getElementsByClassName ); 2228 2229 // Support: IE<10 2230 // Check if getElementById returns elements by name 2231 // The broken getElementById methods don't pick up programmatically-set names, 2232 // so use a roundabout getElementsByName test 2233 support.getById = assert( function( el ) { 2234 docElem.appendChild( el ).id = expando; 2235 return !document.getElementsByName || !document.getElementsByName( expando ).length; 2236 } ); 2237 2238 // ID filter and find 2239 if ( support.getById ) { 2240 Expr.filter[ "ID" ] = function( id ) { 2241 var attrId = id.replace( runescape, funescape ); 2242 return function( elem ) { 2243 return elem.getAttribute( "id" ) === attrId; 2244 }; 2245 }; 2246 Expr.find[ "ID" ] = function( id, context ) { 2247 if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { 2248 var elem = context.getElementById( id ); 2249 return elem ? [ elem ] : []; 2250 } 2251 }; 2252 } else { 2253 Expr.filter[ "ID" ] = function( id ) { 2254 var attrId = id.replace( runescape, funescape ); 2255 return function( elem ) { 2256 var node = typeof elem.getAttributeNode !== "undefined" && 2257 elem.getAttributeNode( "id" ); 2258 return node && node.value === attrId; 2259 }; 2260 }; 2261 2262 // Support: IE 6 - 7 only 2263 // getElementById is not reliable as a find shortcut 2264 Expr.find[ "ID" ] = function( id, context ) { 2265 if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { 2266 var node, i, elems, 2267 elem = context.getElementById( id ); 2268 2269 if ( elem ) { 2270 2271 // Verify the id attribute 2272 node = elem.getAttributeNode( "id" ); 2273 if ( node && node.value === id ) { 2274 return [ elem ]; 2275 } 2276 2277 // Fall back on getElementsByName 2278 elems = context.getElementsByName( id ); 2279 i = 0; 2280 while ( ( elem = elems[ i++ ] ) ) { 2281 node = elem.getAttributeNode( "id" ); 2282 if ( node && node.value === id ) { 2283 return [ elem ]; 2284 } 2285 } 2286 } 2287 2288 return []; 2289 } 2290 }; 2291 } 2292 2293 // Tag 2294 Expr.find[ "TAG" ] = support.getElementsByTagName ? 2295 function( tag, context ) { 2296 if ( typeof context.getElementsByTagName !== "undefined" ) { 2297 return context.getElementsByTagName( tag ); 2298 2299 // DocumentFragment nodes don't have gEBTN 2300 } else if ( support.qsa ) { 2301 return context.querySelectorAll( tag ); 2302 } 2303 } : 2304 2305 function( tag, context ) { 2306 var elem, 2307 tmp = [], 2308 i = 0, 2309 2310 // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too 2311 results = context.getElementsByTagName( tag ); 2312 2313 // Filter out possible comments 2314 if ( tag === "*" ) { 2315 while ( ( elem = results[ i++ ] ) ) { 2316 if ( elem.nodeType === 1 ) { 2317 tmp.push( elem ); 2318 } 2319 } 2320 2321 return tmp; 2322 } 2323 return results; 2324 }; 2325 2326 // Class 2327 Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { 2328 if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { 2329 return context.getElementsByClassName( className ); 2330 } 2331 }; 2332 2333 /* QSA/matchesSelector 2334 ---------------------------------------------------------------------- */ 2335 2336 // QSA and matchesSelector support 2337 2338 // matchesSelector(:active) reports false when true (IE9/Opera 11.5) 2339 rbuggyMatches = []; 2340 2341 // qSa(:focus) reports false when true (Chrome 21) 2342 // We allow this because of a bug in IE8/9 that throws an error 2343 // whenever `document.activeElement` is accessed on an iframe 2344 // So, we allow :focus to pass through QSA all the time to avoid the IE error 2345 // See https://bugs.jquery.com/ticket/13378 2346 rbuggyQSA = []; 2347 2348 if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { 2349 2350 // Build QSA regex 2351 // Regex strategy adopted from Diego Perini 2352 assert( function( el ) { 2353 2354 var input; 2355 2356 // Select is set to empty string on purpose 2357 // This is to test IE's treatment of not explicitly 2358 // setting a boolean content attribute, 2359 // since its presence should be enough 2360 // https://bugs.jquery.com/ticket/12359 2361 docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + 2362 "<select id='" + expando + "-\r\\' msallowcapture=''>" + 2363 "<option selected=''></option></select>"; 2364 2365 // Support: IE8, Opera 11-12.16 2366 // Nothing should be selected when empty strings follow ^= or $= or *= 2367 // The test attribute must be unknown in Opera but "safe" for WinRT 2368 // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section 2369 if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { 2370 rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); 2371 } 2372 2373 // Support: IE8 2374 // Boolean attributes and "value" are not treated correctly 2375 if ( !el.querySelectorAll( "[selected]" ).length ) { 2376 rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); 2377 } 2378 2379 // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ 2380 if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { 2381 rbuggyQSA.push( "~=" ); 2382 } 2383 2384 // Support: IE 11+, Edge 15 - 18+ 2385 // IE 11/Edge don't find elements on a `[name='']` query in some cases. 2386 // Adding a temporary attribute to the document before the selection works 2387 // around the issue. 2388 // Interestingly, IE 10 & older don't seem to have the issue. 2389 input = document.createElement( "input" ); 2390 input.setAttribute( "name", "" ); 2391 el.appendChild( input ); 2392 if ( !el.querySelectorAll( "[name='']" ).length ) { 2393 rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + 2394 whitespace + "*(?:''|\"\")" ); 2395 } 2396 2397 // Webkit/Opera - :checked should return selected option elements 2398 // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked 2399 // IE8 throws error here and will not see later tests 2400 if ( !el.querySelectorAll( ":checked" ).length ) { 2401 rbuggyQSA.push( ":checked" ); 2402 } 2403 2404 // Support: Safari 8+, iOS 8+ 2405 // https://bugs.webkit.org/show_bug.cgi?id=136851 2406 // In-page `selector#id sibling-combinator selector` fails 2407 if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { 2408 rbuggyQSA.push( ".#.+[+~]" ); 2409 } 2410 2411 // Support: Firefox <=3.6 - 5 only 2412 // Old Firefox doesn't throw on a badly-escaped identifier. 2413 el.querySelectorAll( "\\\f" ); 2414 rbuggyQSA.push( "[\\r\\n\\f]" ); 2415 } ); 2416 2417 assert( function( el ) { 2418 el.innerHTML = "<a href='' disabled='disabled'></a>" + 2419 "<select disabled='disabled'><option/></select>"; 2420 2421 // Support: Windows 8 Native Apps 2422 // The type and name attributes are restricted during .innerHTML assignment 2423 var input = document.createElement( "input" ); 2424 input.setAttribute( "type", "hidden" ); 2425 el.appendChild( input ).setAttribute( "name", "D" ); 2426 2427 // Support: IE8 2428 // Enforce case-sensitivity of name attribute 2429 if ( el.querySelectorAll( "[name=d]" ).length ) { 2430 rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); 2431 } 2432 2433 // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) 2434 // IE8 throws error here and will not see later tests 2435 if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { 2436 rbuggyQSA.push( ":enabled", ":disabled" ); 2437 } 2438 2439 // Support: IE9-11+ 2440 // IE's :disabled selector does not pick up the children of disabled fieldsets 2441 docElem.appendChild( el ).disabled = true; 2442 if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { 2443 rbuggyQSA.push( ":enabled", ":disabled" ); 2444 } 2445 2446 // Support: Opera 10 - 11 only 2447 // Opera 10-11 does not throw on post-comma invalid pseudos 2448 el.querySelectorAll( "*,:x" ); 2449 rbuggyQSA.push( ",.*:" ); 2450 } ); 2451 } 2452 2453 if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || 2454 docElem.webkitMatchesSelector || 2455 docElem.mozMatchesSelector || 2456 docElem.oMatchesSelector || 2457 docElem.msMatchesSelector ) ) ) ) { 2458 2459 assert( function( el ) { 2460 2461 // Check to see if it's possible to do matchesSelector 2462 // on a disconnected node (IE 9) 2463 support.disconnectedMatch = matches.call( el, "*" ); 2464 2465 // This should fail with an exception 2466 // Gecko does not error, returns false instead 2467 matches.call( el, "[s!='']:x" ); 2468 rbuggyMatches.push( "!=", pseudos ); 2469 } ); 2470 } 2471 2472 rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); 2473 rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); 2474 2475 /* Contains 2476 ---------------------------------------------------------------------- */ 2477 hasCompare = rnative.test( docElem.compareDocumentPosition ); 2478 2479 // Element contains another 2480 // Purposefully self-exclusive 2481 // As in, an element does not contain itself 2482 contains = hasCompare || rnative.test( docElem.contains ) ? 2483 function( a, b ) { 2484 var adown = a.nodeType === 9 ? a.documentElement : a, 2485 bup = b && b.parentNode; 2486 return a === bup || !!( bup && bup.nodeType === 1 && ( 2487 adown.contains ? 2488 adown.contains( bup ) : 2489 a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 2490 ) ); 2491 } : 2492 function( a, b ) { 2493 if ( b ) { 2494 while ( ( b = b.parentNode ) ) { 2495 if ( b === a ) { 2496 return true; 2497 } 2498 } 2499 } 2500 return false; 2501 }; 2502 2503 /* Sorting 2504 ---------------------------------------------------------------------- */ 2505 2506 // Document order sorting 2507 sortOrder = hasCompare ? 2508 function( a, b ) { 2509 2510 // Flag for duplicate removal 2511 if ( a === b ) { 2512 hasDuplicate = true; 2513 return 0; 2514 } 2515 2516 // Sort on method existence if only one input has compareDocumentPosition 2517 var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; 2518 if ( compare ) { 2519 return compare; 2520 } 2521 2522 // Calculate position if both inputs belong to the same document 2523 // Support: IE 11+, Edge 17 - 18+ 2524 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 2525 // two documents; shallow comparisons work. 2526 // eslint-disable-next-line eqeqeq 2527 compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? 2528 a.compareDocumentPosition( b ) : 2529 2530 // Otherwise we know they are disconnected 2531 1; 2532 2533 // Disconnected nodes 2534 if ( compare & 1 || 2535 ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { 2536 2537 // Choose the first element that is related to our preferred document 2538 // Support: IE 11+, Edge 17 - 18+ 2539 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 2540 // two documents; shallow comparisons work. 2541 // eslint-disable-next-line eqeqeq 2542 if ( a == document || a.ownerDocument == preferredDoc && 2543 contains( preferredDoc, a ) ) { 2544 return -1; 2545 } 2546 2547 // Support: IE 11+, Edge 17 - 18+ 2548 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 2549 // two documents; shallow comparisons work. 2550 // eslint-disable-next-line eqeqeq 2551 if ( b == document || b.ownerDocument == preferredDoc && 2552 contains( preferredDoc, b ) ) { 2553 return 1; 2554 } 2555 2556 // Maintain original order 2557 return sortInput ? 2558 ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : 2559 0; 2560 } 2561 2562 return compare & 4 ? -1 : 1; 2563 } : 2564 function( a, b ) { 2565 2566 // Exit early if the nodes are identical 2567 if ( a === b ) { 2568 hasDuplicate = true; 2569 return 0; 2570 } 2571 2572 var cur, 2573 i = 0, 2574 aup = a.parentNode, 2575 bup = b.parentNode, 2576 ap = [ a ], 2577 bp = [ b ]; 2578 2579 // Parentless nodes are either documents or disconnected 2580 if ( !aup || !bup ) { 2581 2582 // Support: IE 11+, Edge 17 - 18+ 2583 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 2584 // two documents; shallow comparisons work. 2585 /* eslint-disable eqeqeq */ 2586 return a == document ? -1 : 2587 b == document ? 1 : 2588 /* eslint-enable eqeqeq */ 2589 aup ? -1 : 2590 bup ? 1 : 2591 sortInput ? 2592 ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : 2593 0; 2594 2595 // If the nodes are siblings, we can do a quick check 2596 } else if ( aup === bup ) { 2597 return siblingCheck( a, b ); 2598 } 2599 2600 // Otherwise we need full lists of their ancestors for comparison 2601 cur = a; 2602 while ( ( cur = cur.parentNode ) ) { 2603 ap.unshift( cur ); 2604 } 2605 cur = b; 2606 while ( ( cur = cur.parentNode ) ) { 2607 bp.unshift( cur ); 2608 } 2609 2610 // Walk down the tree looking for a discrepancy 2611 while ( ap[ i ] === bp[ i ] ) { 2612 i++; 2613 } 2614 2615 return i ? 2616 2617 // Do a sibling check if the nodes have a common ancestor 2618 siblingCheck( ap[ i ], bp[ i ] ) : 2619 2620 // Otherwise nodes in our document sort first 2621 // Support: IE 11+, Edge 17 - 18+ 2622 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 2623 // two documents; shallow comparisons work. 2624 /* eslint-disable eqeqeq */ 2625 ap[ i ] == preferredDoc ? -1 : 2626 bp[ i ] == preferredDoc ? 1 : 2627 /* eslint-enable eqeqeq */ 2628 0; 2629 }; 2630 2631 return document; 2632}; 2633 2634Sizzle.matches = function( expr, elements ) { 2635 return Sizzle( expr, null, null, elements ); 2636}; 2637 2638Sizzle.matchesSelector = function( elem, expr ) { 2639 setDocument( elem ); 2640 2641 if ( support.matchesSelector && documentIsHTML && 2642 !nonnativeSelectorCache[ expr + " " ] && 2643 ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && 2644 ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { 2645 2646 try { 2647 var ret = matches.call( elem, expr ); 2648 2649 // IE 9's matchesSelector returns false on disconnected nodes 2650 if ( ret || support.disconnectedMatch || 2651 2652 // As well, disconnected nodes are said to be in a document 2653 // fragment in IE 9 2654 elem.document && elem.document.nodeType !== 11 ) { 2655 return ret; 2656 } 2657 } catch ( e ) { 2658 nonnativeSelectorCache( expr, true ); 2659 } 2660 } 2661 2662 return Sizzle( expr, document, null, [ elem ] ).length > 0; 2663}; 2664 2665Sizzle.contains = function( context, elem ) { 2666 2667 // Set document vars if needed 2668 // Support: IE 11+, Edge 17 - 18+ 2669 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 2670 // two documents; shallow comparisons work. 2671 // eslint-disable-next-line eqeqeq 2672 if ( ( context.ownerDocument || context ) != document ) { 2673 setDocument( context ); 2674 } 2675 return contains( context, elem ); 2676}; 2677 2678Sizzle.attr = function( elem, name ) { 2679 2680 // Set document vars if needed 2681 // Support: IE 11+, Edge 17 - 18+ 2682 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 2683 // two documents; shallow comparisons work. 2684 // eslint-disable-next-line eqeqeq 2685 if ( ( elem.ownerDocument || elem ) != document ) { 2686 setDocument( elem ); 2687 } 2688 2689 var fn = Expr.attrHandle[ name.toLowerCase() ], 2690 2691 // Don't get fooled by Object.prototype properties (jQuery #13807) 2692 val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? 2693 fn( elem, name, !documentIsHTML ) : 2694 undefined; 2695 2696 return val !== undefined ? 2697 val : 2698 support.attributes || !documentIsHTML ? 2699 elem.getAttribute( name ) : 2700 ( val = elem.getAttributeNode( name ) ) && val.specified ? 2701 val.value : 2702 null; 2703}; 2704 2705Sizzle.escape = function( sel ) { 2706 return ( sel + "" ).replace( rcssescape, fcssescape ); 2707}; 2708 2709Sizzle.error = function( msg ) { 2710 throw new Error( "Syntax error, unrecognized expression: " + msg ); 2711}; 2712 2713/** 2714 * Document sorting and removing duplicates 2715 * @param {ArrayLike} results 2716 */ 2717Sizzle.uniqueSort = function( results ) { 2718 var elem, 2719 duplicates = [], 2720 j = 0, 2721 i = 0; 2722 2723 // Unless we *know* we can detect duplicates, assume their presence 2724 hasDuplicate = !support.detectDuplicates; 2725 sortInput = !support.sortStable && results.slice( 0 ); 2726 results.sort( sortOrder ); 2727 2728 if ( hasDuplicate ) { 2729 while ( ( elem = results[ i++ ] ) ) { 2730 if ( elem === results[ i ] ) { 2731 j = duplicates.push( i ); 2732 } 2733 } 2734 while ( j-- ) { 2735 results.splice( duplicates[ j ], 1 ); 2736 } 2737 } 2738 2739 // Clear input after sorting to release objects 2740 // See https://github.com/jquery/sizzle/pull/225 2741 sortInput = null; 2742 2743 return results; 2744}; 2745 2746/** 2747 * Utility function for retrieving the text value of an array of DOM nodes 2748 * @param {Array|Element} elem 2749 */ 2750getText = Sizzle.getText = function( elem ) { 2751 var node, 2752 ret = "", 2753 i = 0, 2754 nodeType = elem.nodeType; 2755 2756 if ( !nodeType ) { 2757 2758 // If no nodeType, this is expected to be an array 2759 while ( ( node = elem[ i++ ] ) ) { 2760 2761 // Do not traverse comment nodes 2762 ret += getText( node ); 2763 } 2764 } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { 2765 2766 // Use textContent for elements 2767 // innerText usage removed for consistency of new lines (jQuery #11153) 2768 if ( typeof elem.textContent === "string" ) { 2769 return elem.textContent; 2770 } else { 2771 2772 // Traverse its children 2773 for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { 2774 ret += getText( elem ); 2775 } 2776 } 2777 } else if ( nodeType === 3 || nodeType === 4 ) { 2778 return elem.nodeValue; 2779 } 2780 2781 // Do not include comment or processing instruction nodes 2782 2783 return ret; 2784}; 2785 2786Expr = Sizzle.selectors = { 2787 2788 // Can be adjusted by the user 2789 cacheLength: 50, 2790 2791 createPseudo: markFunction, 2792 2793 match: matchExpr, 2794 2795 attrHandle: {}, 2796 2797 find: {}, 2798 2799 relative: { 2800 ">": { dir: "parentNode", first: true }, 2801 " ": { dir: "parentNode" }, 2802 "+": { dir: "previousSibling", first: true }, 2803 "~": { dir: "previousSibling" } 2804 }, 2805 2806 preFilter: { 2807 "ATTR": function( match ) { 2808 match[ 1 ] = match[ 1 ].replace( runescape, funescape ); 2809 2810 // Move the given value to match[3] whether quoted or unquoted 2811 match[ 3 ] = ( match[ 3 ] || match[ 4 ] || 2812 match[ 5 ] || "" ).replace( runescape, funescape ); 2813 2814 if ( match[ 2 ] === "~=" ) { 2815 match[ 3 ] = " " + match[ 3 ] + " "; 2816 } 2817 2818 return match.slice( 0, 4 ); 2819 }, 2820 2821 "CHILD": function( match ) { 2822 2823 /* matches from matchExpr["CHILD"] 2824 1 type (only|nth|...) 2825 2 what (child|of-type) 2826 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) 2827 4 xn-component of xn+y argument ([+-]?\d*n|) 2828 5 sign of xn-component 2829 6 x of xn-component 2830 7 sign of y-component 2831 8 y of y-component 2832 */ 2833 match[ 1 ] = match[ 1 ].toLowerCase(); 2834 2835 if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { 2836 2837 // nth-* requires argument 2838 if ( !match[ 3 ] ) { 2839 Sizzle.error( match[ 0 ] ); 2840 } 2841 2842 // numeric x and y parameters for Expr.filter.CHILD 2843 // remember that false/true cast respectively to 0/1 2844 match[ 4 ] = +( match[ 4 ] ? 2845 match[ 5 ] + ( match[ 6 ] || 1 ) : 2846 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); 2847 match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); 2848 2849 // other types prohibit arguments 2850 } else if ( match[ 3 ] ) { 2851 Sizzle.error( match[ 0 ] ); 2852 } 2853 2854 return match; 2855 }, 2856 2857 "PSEUDO": function( match ) { 2858 var excess, 2859 unquoted = !match[ 6 ] && match[ 2 ]; 2860 2861 if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { 2862 return null; 2863 } 2864 2865 // Accept quoted arguments as-is 2866 if ( match[ 3 ] ) { 2867 match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; 2868 2869 // Strip excess characters from unquoted arguments 2870 } else if ( unquoted && rpseudo.test( unquoted ) && 2871 2872 // Get excess from tokenize (recursively) 2873 ( excess = tokenize( unquoted, true ) ) && 2874 2875 // advance to the next closing parenthesis 2876 ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { 2877 2878 // excess is a negative index 2879 match[ 0 ] = match[ 0 ].slice( 0, excess ); 2880 match[ 2 ] = unquoted.slice( 0, excess ); 2881 } 2882 2883 // Return only captures needed by the pseudo filter method (type and argument) 2884 return match.slice( 0, 3 ); 2885 } 2886 }, 2887 2888 filter: { 2889 2890 "TAG": function( nodeNameSelector ) { 2891 var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); 2892 return nodeNameSelector === "*" ? 2893 function() { 2894 return true; 2895 } : 2896 function( elem ) { 2897 return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; 2898 }; 2899 }, 2900 2901 "CLASS": function( className ) { 2902 var pattern = classCache[ className + " " ]; 2903 2904 return pattern || 2905 ( pattern = new RegExp( "(^|" + whitespace + 2906 ")" + className + "(" + whitespace + "|$)" ) ) && classCache( 2907 className, function( elem ) { 2908 return pattern.test( 2909 typeof elem.className === "string" && elem.className || 2910 typeof elem.getAttribute !== "undefined" && 2911 elem.getAttribute( "class" ) || 2912 "" 2913 ); 2914 } ); 2915 }, 2916 2917 "ATTR": function( name, operator, check ) { 2918 return function( elem ) { 2919 var result = Sizzle.attr( elem, name ); 2920 2921 if ( result == null ) { 2922 return operator === "!="; 2923 } 2924 if ( !operator ) { 2925 return true; 2926 } 2927 2928 result += ""; 2929 2930 /* eslint-disable max-len */ 2931 2932 return operator === "=" ? result === check : 2933 operator === "!=" ? result !== check : 2934 operator === "^=" ? check && result.indexOf( check ) === 0 : 2935 operator === "*=" ? check && result.indexOf( check ) > -1 : 2936 operator === "$=" ? check && result.slice( -check.length ) === check : 2937 operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : 2938 operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : 2939 false; 2940 /* eslint-enable max-len */ 2941 2942 }; 2943 }, 2944 2945 "CHILD": function( type, what, _argument, first, last ) { 2946 var simple = type.slice( 0, 3 ) !== "nth", 2947 forward = type.slice( -4 ) !== "last", 2948 ofType = what === "of-type"; 2949 2950 return first === 1 && last === 0 ? 2951 2952 // Shortcut for :nth-*(n) 2953 function( elem ) { 2954 return !!elem.parentNode; 2955 } : 2956 2957 function( elem, _context, xml ) { 2958 var cache, uniqueCache, outerCache, node, nodeIndex, start, 2959 dir = simple !== forward ? "nextSibling" : "previousSibling", 2960 parent = elem.parentNode, 2961 name = ofType && elem.nodeName.toLowerCase(), 2962 useCache = !xml && !ofType, 2963 diff = false; 2964 2965 if ( parent ) { 2966 2967 // :(first|last|only)-(child|of-type) 2968 if ( simple ) { 2969 while ( dir ) { 2970 node = elem; 2971 while ( ( node = node[ dir ] ) ) { 2972 if ( ofType ? 2973 node.nodeName.toLowerCase() === name : 2974 node.nodeType === 1 ) { 2975 2976 return false; 2977 } 2978 } 2979 2980 // Reverse direction for :only-* (if we haven't yet done so) 2981 start = dir = type === "only" && !start && "nextSibling"; 2982 } 2983 return true; 2984 } 2985 2986 start = [ forward ? parent.firstChild : parent.lastChild ]; 2987 2988 // non-xml :nth-child(...) stores cache data on `parent` 2989 if ( forward && useCache ) { 2990 2991 // Seek `elem` from a previously-cached index 2992 2993 // ...in a gzip-friendly way 2994 node = parent; 2995 outerCache = node[ expando ] || ( node[ expando ] = {} ); 2996 2997 // Support: IE <9 only 2998 // Defend against cloned attroperties (jQuery gh-1709) 2999 uniqueCache = outerCache[ node.uniqueID ] || 3000 ( outerCache[ node.uniqueID ] = {} ); 3001 3002 cache = uniqueCache[ type ] || []; 3003 nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; 3004 diff = nodeIndex && cache[ 2 ]; 3005 node = nodeIndex && parent.childNodes[ nodeIndex ]; 3006 3007 while ( ( node = ++nodeIndex && node && node[ dir ] || 3008 3009 // Fallback to seeking `elem` from the start 3010 ( diff = nodeIndex = 0 ) || start.pop() ) ) { 3011 3012 // When found, cache indexes on `parent` and break 3013 if ( node.nodeType === 1 && ++diff && node === elem ) { 3014 uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; 3015 break; 3016 } 3017 } 3018 3019 } else { 3020 3021 // Use previously-cached element index if available 3022 if ( useCache ) { 3023 3024 // ...in a gzip-friendly way 3025 node = elem; 3026 outerCache = node[ expando ] || ( node[ expando ] = {} ); 3027 3028 // Support: IE <9 only 3029 // Defend against cloned attroperties (jQuery gh-1709) 3030 uniqueCache = outerCache[ node.uniqueID ] || 3031 ( outerCache[ node.uniqueID ] = {} ); 3032 3033 cache = uniqueCache[ type ] || []; 3034 nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; 3035 diff = nodeIndex; 3036 } 3037 3038 // xml :nth-child(...) 3039 // or :nth-last-child(...) or :nth(-last)?-of-type(...) 3040 if ( diff === false ) { 3041 3042 // Use the same loop as above to seek `elem` from the start 3043 while ( ( node = ++nodeIndex && node && node[ dir ] || 3044 ( diff = nodeIndex = 0 ) || start.pop() ) ) { 3045 3046 if ( ( ofType ? 3047 node.nodeName.toLowerCase() === name : 3048 node.nodeType === 1 ) && 3049 ++diff ) { 3050 3051 // Cache the index of each encountered element 3052 if ( useCache ) { 3053 outerCache = node[ expando ] || 3054 ( node[ expando ] = {} ); 3055 3056 // Support: IE <9 only 3057 // Defend against cloned attroperties (jQuery gh-1709) 3058 uniqueCache = outerCache[ node.uniqueID ] || 3059 ( outerCache[ node.uniqueID ] = {} ); 3060 3061 uniqueCache[ type ] = [ dirruns, diff ]; 3062 } 3063 3064 if ( node === elem ) { 3065 break; 3066 } 3067 } 3068 } 3069 } 3070 } 3071 3072 // Incorporate the offset, then check against cycle size 3073 diff -= last; 3074 return diff === first || ( diff % first === 0 && diff / first >= 0 ); 3075 } 3076 }; 3077 }, 3078 3079 "PSEUDO": function( pseudo, argument ) { 3080 3081 // pseudo-class names are case-insensitive 3082 // http://www.w3.org/TR/selectors/#pseudo-classes 3083 // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters 3084 // Remember that setFilters inherits from pseudos 3085 var args, 3086 fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || 3087 Sizzle.error( "unsupported pseudo: " + pseudo ); 3088 3089 // The user may use createPseudo to indicate that 3090 // arguments are needed to create the filter function 3091 // just as Sizzle does 3092 if ( fn[ expando ] ) { 3093 return fn( argument ); 3094 } 3095 3096 // But maintain support for old signatures 3097 if ( fn.length > 1 ) { 3098 args = [ pseudo, pseudo, "", argument ]; 3099 return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? 3100 markFunction( function( seed, matches ) { 3101 var idx, 3102 matched = fn( seed, argument ), 3103 i = matched.length; 3104 while ( i-- ) { 3105 idx = indexOf( seed, matched[ i ] ); 3106 seed[ idx ] = !( matches[ idx ] = matched[ i ] ); 3107 } 3108 } ) : 3109 function( elem ) { 3110 return fn( elem, 0, args ); 3111 }; 3112 } 3113 3114 return fn; 3115 } 3116 }, 3117 3118 pseudos: { 3119 3120 // Potentially complex pseudos 3121 "not": markFunction( function( selector ) { 3122 3123 // Trim the selector passed to compile 3124 // to avoid treating leading and trailing 3125 // spaces as combinators 3126 var input = [], 3127 results = [], 3128 matcher = compile( selector.replace( rtrim, "$1" ) ); 3129 3130 return matcher[ expando ] ? 3131 markFunction( function( seed, matches, _context, xml ) { 3132 var elem, 3133 unmatched = matcher( seed, null, xml, [] ), 3134 i = seed.length; 3135 3136 // Match elements unmatched by `matcher` 3137 while ( i-- ) { 3138 if ( ( elem = unmatched[ i ] ) ) { 3139 seed[ i ] = !( matches[ i ] = elem ); 3140 } 3141 } 3142 } ) : 3143 function( elem, _context, xml ) { 3144 input[ 0 ] = elem; 3145 matcher( input, null, xml, results ); 3146 3147 // Don't keep the element (issue #299) 3148 input[ 0 ] = null; 3149 return !results.pop(); 3150 }; 3151 } ), 3152 3153 "has": markFunction( function( selector ) { 3154 return function( elem ) { 3155 return Sizzle( selector, elem ).length > 0; 3156 }; 3157 } ), 3158 3159 "contains": markFunction( function( text ) { 3160 text = text.replace( runescape, funescape ); 3161 return function( elem ) { 3162 return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; 3163 }; 3164 } ), 3165 3166 // "Whether an element is represented by a :lang() selector 3167 // is based solely on the element's language value 3168 // being equal to the identifier C, 3169 // or beginning with the identifier C immediately followed by "-". 3170 // The matching of C against the element's language value is performed case-insensitively. 3171 // The identifier C does not have to be a valid language name." 3172 // http://www.w3.org/TR/selectors/#lang-pseudo 3173 "lang": markFunction( function( lang ) { 3174 3175 // lang value must be a valid identifier 3176 if ( !ridentifier.test( lang || "" ) ) { 3177 Sizzle.error( "unsupported lang: " + lang ); 3178 } 3179 lang = lang.replace( runescape, funescape ).toLowerCase(); 3180 return function( elem ) { 3181 var elemLang; 3182 do { 3183 if ( ( elemLang = documentIsHTML ? 3184 elem.lang : 3185 elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { 3186 3187 elemLang = elemLang.toLowerCase(); 3188 return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; 3189 } 3190 } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); 3191 return false; 3192 }; 3193 } ), 3194 3195 // Miscellaneous 3196 "target": function( elem ) { 3197 var hash = window.location && window.location.hash; 3198 return hash && hash.slice( 1 ) === elem.id; 3199 }, 3200 3201 "root": function( elem ) { 3202 return elem === docElem; 3203 }, 3204 3205 "focus": function( elem ) { 3206 return elem === document.activeElement && 3207 ( !document.hasFocus || document.hasFocus() ) && 3208 !!( elem.type || elem.href || ~elem.tabIndex ); 3209 }, 3210 3211 // Boolean properties 3212 "enabled": createDisabledPseudo( false ), 3213 "disabled": createDisabledPseudo( true ), 3214 3215 "checked": function( elem ) { 3216 3217 // In CSS3, :checked should return both checked and selected elements 3218 // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked 3219 var nodeName = elem.nodeName.toLowerCase(); 3220 return ( nodeName === "input" && !!elem.checked ) || 3221 ( nodeName === "option" && !!elem.selected ); 3222 }, 3223 3224 "selected": function( elem ) { 3225 3226 // Accessing this property makes selected-by-default 3227 // options in Safari work properly 3228 if ( elem.parentNode ) { 3229 // eslint-disable-next-line no-unused-expressions 3230 elem.parentNode.selectedIndex; 3231 } 3232 3233 return elem.selected === true; 3234 }, 3235 3236 // Contents 3237 "empty": function( elem ) { 3238 3239 // http://www.w3.org/TR/selectors/#empty-pseudo 3240 // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), 3241 // but not by others (comment: 8; processing instruction: 7; etc.) 3242 // nodeType < 6 works because attributes (2) do not appear as children 3243 for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { 3244 if ( elem.nodeType < 6 ) { 3245 return false; 3246 } 3247 } 3248 return true; 3249 }, 3250 3251 "parent": function( elem ) { 3252 return !Expr.pseudos[ "empty" ]( elem ); 3253 }, 3254 3255 // Element/input types 3256 "header": function( elem ) { 3257 return rheader.test( elem.nodeName ); 3258 }, 3259 3260 "input": function( elem ) { 3261 return rinputs.test( elem.nodeName ); 3262 }, 3263 3264 "button": function( elem ) { 3265 var name = elem.nodeName.toLowerCase(); 3266 return name === "input" && elem.type === "button" || name === "button"; 3267 }, 3268 3269 "text": function( elem ) { 3270 var attr; 3271 return elem.nodeName.toLowerCase() === "input" && 3272 elem.type === "text" && 3273 3274 // Support: IE<8 3275 // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" 3276 ( ( attr = elem.getAttribute( "type" ) ) == null || 3277 attr.toLowerCase() === "text" ); 3278 }, 3279 3280 // Position-in-collection 3281 "first": createPositionalPseudo( function() { 3282 return [ 0 ]; 3283 } ), 3284 3285 "last": createPositionalPseudo( function( _matchIndexes, length ) { 3286 return [ length - 1 ]; 3287 } ), 3288 3289 "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { 3290 return [ argument < 0 ? argument + length : argument ]; 3291 } ), 3292 3293 "even": createPositionalPseudo( function( matchIndexes, length ) { 3294 var i = 0; 3295 for ( ; i < length; i += 2 ) { 3296 matchIndexes.push( i ); 3297 } 3298 return matchIndexes; 3299 } ), 3300 3301 "odd": createPositionalPseudo( function( matchIndexes, length ) { 3302 var i = 1; 3303 for ( ; i < length; i += 2 ) { 3304 matchIndexes.push( i ); 3305 } 3306 return matchIndexes; 3307 } ), 3308 3309 "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { 3310 var i = argument < 0 ? 3311 argument + length : 3312 argument > length ? 3313 length : 3314 argument; 3315 for ( ; --i >= 0; ) { 3316 matchIndexes.push( i ); 3317 } 3318 return matchIndexes; 3319 } ), 3320 3321 "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { 3322 var i = argument < 0 ? argument + length : argument; 3323 for ( ; ++i < length; ) { 3324 matchIndexes.push( i ); 3325 } 3326 return matchIndexes; 3327 } ) 3328 } 3329}; 3330 3331Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; 3332 3333// Add button/input type pseudos 3334for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { 3335 Expr.pseudos[ i ] = createInputPseudo( i ); 3336} 3337for ( i in { submit: true, reset: true } ) { 3338 Expr.pseudos[ i ] = createButtonPseudo( i ); 3339} 3340 3341// Easy API for creating new setFilters 3342function setFilters() {} 3343setFilters.prototype = Expr.filters = Expr.pseudos; 3344Expr.setFilters = new setFilters(); 3345 3346tokenize = Sizzle.tokenize = function( selector, parseOnly ) { 3347 var matched, match, tokens, type, 3348 soFar, groups, preFilters, 3349 cached = tokenCache[ selector + " " ]; 3350 3351 if ( cached ) { 3352 return parseOnly ? 0 : cached.slice( 0 ); 3353 } 3354 3355 soFar = selector; 3356 groups = []; 3357 preFilters = Expr.preFilter; 3358 3359 while ( soFar ) { 3360 3361 // Comma and first run 3362 if ( !matched || ( match = rcomma.exec( soFar ) ) ) { 3363 if ( match ) { 3364 3365 // Don't consume trailing commas as valid 3366 soFar = soFar.slice( match[ 0 ].length ) || soFar; 3367 } 3368 groups.push( ( tokens = [] ) ); 3369 } 3370 3371 matched = false; 3372 3373 // Combinators 3374 if ( ( match = rcombinators.exec( soFar ) ) ) { 3375 matched = match.shift(); 3376 tokens.push( { 3377 value: matched, 3378 3379 // Cast descendant combinators to space 3380 type: match[ 0 ].replace( rtrim, " " ) 3381 } ); 3382 soFar = soFar.slice( matched.length ); 3383 } 3384 3385 // Filters 3386 for ( type in Expr.filter ) { 3387 if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || 3388 ( match = preFilters[ type ]( match ) ) ) ) { 3389 matched = match.shift(); 3390 tokens.push( { 3391 value: matched, 3392 type: type, 3393 matches: match 3394 } ); 3395 soFar = soFar.slice( matched.length ); 3396 } 3397 } 3398 3399 if ( !matched ) { 3400 break; 3401 } 3402 } 3403 3404 // Return the length of the invalid excess 3405 // if we're just parsing 3406 // Otherwise, throw an error or return tokens 3407 return parseOnly ? 3408 soFar.length : 3409 soFar ? 3410 Sizzle.error( selector ) : 3411 3412 // Cache the tokens 3413 tokenCache( selector, groups ).slice( 0 ); 3414}; 3415 3416function toSelector( tokens ) { 3417 var i = 0, 3418 len = tokens.length, 3419 selector = ""; 3420 for ( ; i < len; i++ ) { 3421 selector += tokens[ i ].value; 3422 } 3423 return selector; 3424} 3425 3426function addCombinator( matcher, combinator, base ) { 3427 var dir = combinator.dir, 3428 skip = combinator.next, 3429 key = skip || dir, 3430 checkNonElements = base && key === "parentNode", 3431 doneName = done++; 3432 3433 return combinator.first ? 3434 3435 // Check against closest ancestor/preceding element 3436 function( elem, context, xml ) { 3437 while ( ( elem = elem[ dir ] ) ) { 3438 if ( elem.nodeType === 1 || checkNonElements ) { 3439 return matcher( elem, context, xml ); 3440 } 3441 } 3442 return false; 3443 } : 3444 3445 // Check against all ancestor/preceding elements 3446 function( elem, context, xml ) { 3447 var oldCache, uniqueCache, outerCache, 3448 newCache = [ dirruns, doneName ]; 3449 3450 // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching 3451 if ( xml ) { 3452 while ( ( elem = elem[ dir ] ) ) { 3453 if ( elem.nodeType === 1 || checkNonElements ) { 3454 if ( matcher( elem, context, xml ) ) { 3455 return true; 3456 } 3457 } 3458 } 3459 } else { 3460 while ( ( elem = elem[ dir ] ) ) { 3461 if ( elem.nodeType === 1 || checkNonElements ) { 3462 outerCache = elem[ expando ] || ( elem[ expando ] = {} ); 3463 3464 // Support: IE <9 only 3465 // Defend against cloned attroperties (jQuery gh-1709) 3466 uniqueCache = outerCache[ elem.uniqueID ] || 3467 ( outerCache[ elem.uniqueID ] = {} ); 3468 3469 if ( skip && skip === elem.nodeName.toLowerCase() ) { 3470 elem = elem[ dir ] || elem; 3471 } else if ( ( oldCache = uniqueCache[ key ] ) && 3472 oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { 3473 3474 // Assign to newCache so results back-propagate to previous elements 3475 return ( newCache[ 2 ] = oldCache[ 2 ] ); 3476 } else { 3477 3478 // Reuse newcache so results back-propagate to previous elements 3479 uniqueCache[ key ] = newCache; 3480 3481 // A match means we're done; a fail means we have to keep checking 3482 if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { 3483 return true; 3484 } 3485 } 3486 } 3487 } 3488 } 3489 return false; 3490 }; 3491} 3492 3493function elementMatcher( matchers ) { 3494 return matchers.length > 1 ? 3495 function( elem, context, xml ) { 3496 var i = matchers.length; 3497 while ( i-- ) { 3498 if ( !matchers[ i ]( elem, context, xml ) ) { 3499 return false; 3500 } 3501 } 3502 return true; 3503 } : 3504 matchers[ 0 ]; 3505} 3506 3507function multipleContexts( selector, contexts, results ) { 3508 var i = 0, 3509 len = contexts.length; 3510 for ( ; i < len; i++ ) { 3511 Sizzle( selector, contexts[ i ], results ); 3512 } 3513 return results; 3514} 3515 3516function condense( unmatched, map, filter, context, xml ) { 3517 var elem, 3518 newUnmatched = [], 3519 i = 0, 3520 len = unmatched.length, 3521 mapped = map != null; 3522 3523 for ( ; i < len; i++ ) { 3524 if ( ( elem = unmatched[ i ] ) ) { 3525 if ( !filter || filter( elem, context, xml ) ) { 3526 newUnmatched.push( elem ); 3527 if ( mapped ) { 3528 map.push( i ); 3529 } 3530 } 3531 } 3532 } 3533 3534 return newUnmatched; 3535} 3536 3537function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { 3538 if ( postFilter && !postFilter[ expando ] ) { 3539 postFilter = setMatcher( postFilter ); 3540 } 3541 if ( postFinder && !postFinder[ expando ] ) { 3542 postFinder = setMatcher( postFinder, postSelector ); 3543 } 3544 return markFunction( function( seed, results, context, xml ) { 3545 var temp, i, elem, 3546 preMap = [], 3547 postMap = [], 3548 preexisting = results.length, 3549 3550 // Get initial elements from seed or context 3551 elems = seed || multipleContexts( 3552 selector || "*", 3553 context.nodeType ? [ context ] : context, 3554 [] 3555 ), 3556 3557 // Prefilter to get matcher input, preserving a map for seed-results synchronization 3558 matcherIn = preFilter && ( seed || !selector ) ? 3559 condense( elems, preMap, preFilter, context, xml ) : 3560 elems, 3561 3562 matcherOut = matcher ? 3563 3564 // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, 3565 postFinder || ( seed ? preFilter : preexisting || postFilter ) ? 3566 3567 // ...intermediate processing is necessary 3568 [] : 3569 3570 // ...otherwise use results directly 3571 results : 3572 matcherIn; 3573 3574 // Find primary matches 3575 if ( matcher ) { 3576 matcher( matcherIn, matcherOut, context, xml ); 3577 } 3578 3579 // Apply postFilter 3580 if ( postFilter ) { 3581 temp = condense( matcherOut, postMap ); 3582 postFilter( temp, [], context, xml ); 3583 3584 // Un-match failing elements by moving them back to matcherIn 3585 i = temp.length; 3586 while ( i-- ) { 3587 if ( ( elem = temp[ i ] ) ) { 3588 matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); 3589 } 3590 } 3591 } 3592 3593 if ( seed ) { 3594 if ( postFinder || preFilter ) { 3595 if ( postFinder ) { 3596 3597 // Get the final matcherOut by condensing this intermediate into postFinder contexts 3598 temp = []; 3599 i = matcherOut.length; 3600 while ( i-- ) { 3601 if ( ( elem = matcherOut[ i ] ) ) { 3602 3603 // Restore matcherIn since elem is not yet a final match 3604 temp.push( ( matcherIn[ i ] = elem ) ); 3605 } 3606 } 3607 postFinder( null, ( matcherOut = [] ), temp, xml ); 3608 } 3609 3610 // Move matched elements from seed to results to keep them synchronized 3611 i = matcherOut.length; 3612 while ( i-- ) { 3613 if ( ( elem = matcherOut[ i ] ) && 3614 ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { 3615 3616 seed[ temp ] = !( results[ temp ] = elem ); 3617 } 3618 } 3619 } 3620 3621 // Add elements to results, through postFinder if defined 3622 } else { 3623 matcherOut = condense( 3624 matcherOut === results ? 3625 matcherOut.splice( preexisting, matcherOut.length ) : 3626 matcherOut 3627 ); 3628 if ( postFinder ) { 3629 postFinder( null, results, matcherOut, xml ); 3630 } else { 3631 push.apply( results, matcherOut ); 3632 } 3633 } 3634 } ); 3635} 3636 3637function matcherFromTokens( tokens ) { 3638 var checkContext, matcher, j, 3639 len = tokens.length, 3640 leadingRelative = Expr.relative[ tokens[ 0 ].type ], 3641 implicitRelative = leadingRelative || Expr.relative[ " " ], 3642 i = leadingRelative ? 1 : 0, 3643 3644 // The foundational matcher ensures that elements are reachable from top-level context(s) 3645 matchContext = addCombinator( function( elem ) { 3646 return elem === checkContext; 3647 }, implicitRelative, true ), 3648 matchAnyContext = addCombinator( function( elem ) { 3649 return indexOf( checkContext, elem ) > -1; 3650 }, implicitRelative, true ), 3651 matchers = [ function( elem, context, xml ) { 3652 var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( 3653 ( checkContext = context ).nodeType ? 3654 matchContext( elem, context, xml ) : 3655 matchAnyContext( elem, context, xml ) ); 3656 3657 // Avoid hanging onto element (issue #299) 3658 checkContext = null; 3659 return ret; 3660 } ]; 3661 3662 for ( ; i < len; i++ ) { 3663 if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { 3664 matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; 3665 } else { 3666 matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); 3667 3668 // Return special upon seeing a positional matcher 3669 if ( matcher[ expando ] ) { 3670 3671 // Find the next relative operator (if any) for proper handling 3672 j = ++i; 3673 for ( ; j < len; j++ ) { 3674 if ( Expr.relative[ tokens[ j ].type ] ) { 3675 break; 3676 } 3677 } 3678 return setMatcher( 3679 i > 1 && elementMatcher( matchers ), 3680 i > 1 && toSelector( 3681 3682 // If the preceding token was a descendant combinator, insert an implicit any-element `*` 3683 tokens 3684 .slice( 0, i - 1 ) 3685 .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) 3686 ).replace( rtrim, "$1" ), 3687 matcher, 3688 i < j && matcherFromTokens( tokens.slice( i, j ) ), 3689 j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), 3690 j < len && toSelector( tokens ) 3691 ); 3692 } 3693 matchers.push( matcher ); 3694 } 3695 } 3696 3697 return elementMatcher( matchers ); 3698} 3699 3700function matcherFromGroupMatchers( elementMatchers, setMatchers ) { 3701 var bySet = setMatchers.length > 0, 3702 byElement = elementMatchers.length > 0, 3703 superMatcher = function( seed, context, xml, results, outermost ) { 3704 var elem, j, matcher, 3705 matchedCount = 0, 3706 i = "0", 3707 unmatched = seed && [], 3708 setMatched = [], 3709 contextBackup = outermostContext, 3710 3711 // We must always have either seed elements or outermost context 3712 elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), 3713 3714 // Use integer dirruns iff this is the outermost matcher 3715 dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), 3716 len = elems.length; 3717 3718 if ( outermost ) { 3719 3720 // Support: IE 11+, Edge 17 - 18+ 3721 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 3722 // two documents; shallow comparisons work. 3723 // eslint-disable-next-line eqeqeq 3724 outermostContext = context == document || context || outermost; 3725 } 3726 3727 // Add elements passing elementMatchers directly to results 3728 // Support: IE<9, Safari 3729 // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id 3730 for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { 3731 if ( byElement && elem ) { 3732 j = 0; 3733 3734 // Support: IE 11+, Edge 17 - 18+ 3735 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 3736 // two documents; shallow comparisons work. 3737 // eslint-disable-next-line eqeqeq 3738 if ( !context && elem.ownerDocument != document ) { 3739 setDocument( elem ); 3740 xml = !documentIsHTML; 3741 } 3742 while ( ( matcher = elementMatchers[ j++ ] ) ) { 3743 if ( matcher( elem, context || document, xml ) ) { 3744 results.push( elem ); 3745 break; 3746 } 3747 } 3748 if ( outermost ) { 3749 dirruns = dirrunsUnique; 3750 } 3751 } 3752 3753 // Track unmatched elements for set filters 3754 if ( bySet ) { 3755 3756 // They will have gone through all possible matchers 3757 if ( ( elem = !matcher && elem ) ) { 3758 matchedCount--; 3759 } 3760 3761 // Lengthen the array for every element, matched or not 3762 if ( seed ) { 3763 unmatched.push( elem ); 3764 } 3765 } 3766 } 3767 3768 // `i` is now the count of elements visited above, and adding it to `matchedCount` 3769 // makes the latter nonnegative. 3770 matchedCount += i; 3771 3772 // Apply set filters to unmatched elements 3773 // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` 3774 // equals `i`), unless we didn't visit _any_ elements in the above loop because we have 3775 // no element matchers and no seed. 3776 // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that 3777 // case, which will result in a "00" `matchedCount` that differs from `i` but is also 3778 // numerically zero. 3779 if ( bySet && i !== matchedCount ) { 3780 j = 0; 3781 while ( ( matcher = setMatchers[ j++ ] ) ) { 3782 matcher( unmatched, setMatched, context, xml ); 3783 } 3784 3785 if ( seed ) { 3786 3787 // Reintegrate element matches to eliminate the need for sorting 3788 if ( matchedCount > 0 ) { 3789 while ( i-- ) { 3790 if ( !( unmatched[ i ] || setMatched[ i ] ) ) { 3791 setMatched[ i ] = pop.call( results ); 3792 } 3793 } 3794 } 3795 3796 // Discard index placeholder values to get only actual matches 3797 setMatched = condense( setMatched ); 3798 } 3799 3800 // Add matches to results 3801 push.apply( results, setMatched ); 3802 3803 // Seedless set matches succeeding multiple successful matchers stipulate sorting 3804 if ( outermost && !seed && setMatched.length > 0 && 3805 ( matchedCount + setMatchers.length ) > 1 ) { 3806 3807 Sizzle.uniqueSort( results ); 3808 } 3809 } 3810 3811 // Override manipulation of globals by nested matchers 3812 if ( outermost ) { 3813 dirruns = dirrunsUnique; 3814 outermostContext = contextBackup; 3815 } 3816 3817 return unmatched; 3818 }; 3819 3820 return bySet ? 3821 markFunction( superMatcher ) : 3822 superMatcher; 3823} 3824 3825compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { 3826 var i, 3827 setMatchers = [], 3828 elementMatchers = [], 3829 cached = compilerCache[ selector + " " ]; 3830 3831 if ( !cached ) { 3832 3833 // Generate a function of recursive functions that can be used to check each element 3834 if ( !match ) { 3835 match = tokenize( selector ); 3836 } 3837 i = match.length; 3838 while ( i-- ) { 3839 cached = matcherFromTokens( match[ i ] ); 3840 if ( cached[ expando ] ) { 3841 setMatchers.push( cached ); 3842 } else { 3843 elementMatchers.push( cached ); 3844 } 3845 } 3846 3847 // Cache the compiled function 3848 cached = compilerCache( 3849 selector, 3850 matcherFromGroupMatchers( elementMatchers, setMatchers ) 3851 ); 3852 3853 // Save selector and tokenization 3854 cached.selector = selector; 3855 } 3856 return cached; 3857}; 3858 3859/** 3860 * A low-level selection function that works with Sizzle's compiled 3861 * selector functions 3862 * @param {String|Function} selector A selector or a pre-compiled 3863 * selector function built with Sizzle.compile 3864 * @param {Element} context 3865 * @param {Array} [results] 3866 * @param {Array} [seed] A set of elements to match against 3867 */ 3868select = Sizzle.select = function( selector, context, results, seed ) { 3869 var i, tokens, token, type, find, 3870 compiled = typeof selector === "function" && selector, 3871 match = !seed && tokenize( ( selector = compiled.selector || selector ) ); 3872 3873 results = results || []; 3874 3875 // Try to minimize operations if there is only one selector in the list and no seed 3876 // (the latter of which guarantees us context) 3877 if ( match.length === 1 ) { 3878 3879 // Reduce context if the leading compound selector is an ID 3880 tokens = match[ 0 ] = match[ 0 ].slice( 0 ); 3881 if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && 3882 context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { 3883 3884 context = ( Expr.find[ "ID" ]( token.matches[ 0 ] 3885 .replace( runescape, funescape ), context ) || [] )[ 0 ]; 3886 if ( !context ) { 3887 return results; 3888 3889 // Precompiled matchers will still verify ancestry, so step up a level 3890 } else if ( compiled ) { 3891 context = context.parentNode; 3892 } 3893 3894 selector = selector.slice( tokens.shift().value.length ); 3895 } 3896 3897 // Fetch a seed set for right-to-left matching 3898 i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; 3899 while ( i-- ) { 3900 token = tokens[ i ]; 3901 3902 // Abort if we hit a combinator 3903 if ( Expr.relative[ ( type = token.type ) ] ) { 3904 break; 3905 } 3906 if ( ( find = Expr.find[ type ] ) ) { 3907 3908 // Search, expanding context for leading sibling combinators 3909 if ( ( seed = find( 3910 token.matches[ 0 ].replace( runescape, funescape ), 3911 rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || 3912 context 3913 ) ) ) { 3914 3915 // If seed is empty or no tokens remain, we can return early 3916 tokens.splice( i, 1 ); 3917 selector = seed.length && toSelector( tokens ); 3918 if ( !selector ) { 3919 push.apply( results, seed ); 3920 return results; 3921 } 3922 3923 break; 3924 } 3925 } 3926 } 3927 } 3928 3929 // Compile and execute a filtering function if one is not provided 3930 // Provide `match` to avoid retokenization if we modified the selector above 3931 ( compiled || compile( selector, match ) )( 3932 seed, 3933 context, 3934 !documentIsHTML, 3935 results, 3936 !context || rsibling.test( selector ) && testContext( context.parentNode ) || context 3937 ); 3938 return results; 3939}; 3940 3941// One-time assignments 3942 3943// Sort stability 3944support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; 3945 3946// Support: Chrome 14-35+ 3947// Always assume duplicates if they aren't passed to the comparison function 3948support.detectDuplicates = !!hasDuplicate; 3949 3950// Initialize against the default document 3951setDocument(); 3952 3953// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) 3954// Detached nodes confoundingly follow *each other* 3955support.sortDetached = assert( function( el ) { 3956 3957 // Should return 1, but returns 4 (following) 3958 return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; 3959} ); 3960 3961// Support: IE<8 3962// Prevent attribute/property "interpolation" 3963// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx 3964if ( !assert( function( el ) { 3965 el.innerHTML = "<a href='#'></a>"; 3966 return el.firstChild.getAttribute( "href" ) === "#"; 3967} ) ) { 3968 addHandle( "type|href|height|width", function( elem, name, isXML ) { 3969 if ( !isXML ) { 3970 return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); 3971 } 3972 } ); 3973} 3974 3975// Support: IE<9 3976// Use defaultValue in place of getAttribute("value") 3977if ( !support.attributes || !assert( function( el ) { 3978 el.innerHTML = "<input/>"; 3979 el.firstChild.setAttribute( "value", "" ); 3980 return el.firstChild.getAttribute( "value" ) === ""; 3981} ) ) { 3982 addHandle( "value", function( elem, _name, isXML ) { 3983 if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { 3984 return elem.defaultValue; 3985 } 3986 } ); 3987} 3988 3989// Support: IE<9 3990// Use getAttributeNode to fetch booleans when getAttribute lies 3991if ( !assert( function( el ) { 3992 return el.getAttribute( "disabled" ) == null; 3993} ) ) { 3994 addHandle( booleans, function( elem, name, isXML ) { 3995 var val; 3996 if ( !isXML ) { 3997 return elem[ name ] === true ? name.toLowerCase() : 3998 ( val = elem.getAttributeNode( name ) ) && val.specified ? 3999 val.value : 4000 null; 4001 } 4002 } ); 4003} 4004 4005return Sizzle; 4006 4007} )( window ); 4008 4009 4010 4011jQuery.find = Sizzle; 4012jQuery.expr = Sizzle.selectors; 4013 4014// Deprecated 4015jQuery.expr[ ":" ] = jQuery.expr.pseudos; 4016jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; 4017jQuery.text = Sizzle.getText; 4018jQuery.isXMLDoc = Sizzle.isXML; 4019jQuery.contains = Sizzle.contains; 4020jQuery.escapeSelector = Sizzle.escape; 4021 4022 4023 4024 4025var dir = function( elem, dir, until ) { 4026 var matched = [], 4027 truncate = until !== undefined; 4028 4029 while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { 4030 if ( elem.nodeType === 1 ) { 4031 if ( truncate && jQuery( elem ).is( until ) ) { 4032 break; 4033 } 4034 matched.push( elem ); 4035 } 4036 } 4037 return matched; 4038}; 4039 4040 4041var siblings = function( n, elem ) { 4042 var matched = []; 4043 4044 for ( ; n; n = n.nextSibling ) { 4045 if ( n.nodeType === 1 && n !== elem ) { 4046 matched.push( n ); 4047 } 4048 } 4049 4050 return matched; 4051}; 4052 4053 4054var rneedsContext = jQuery.expr.match.needsContext; 4055 4056 4057 4058function nodeName( elem, name ) { 4059 4060 return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); 4061 4062} 4063var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); 4064 4065 4066 4067// Implement the identical functionality for filter and not 4068function winnow( elements, qualifier, not ) { 4069 if ( isFunction( qualifier ) ) { 4070 return jQuery.grep( elements, function( elem, i ) { 4071 return !!qualifier.call( elem, i, elem ) !== not; 4072 } ); 4073 } 4074 4075 // Single element 4076 if ( qualifier.nodeType ) { 4077 return jQuery.grep( elements, function( elem ) { 4078 return ( elem === qualifier ) !== not; 4079 } ); 4080 } 4081 4082 // Arraylike of elements (jQuery, arguments, Array) 4083 if ( typeof qualifier !== "string" ) { 4084 return jQuery.grep( elements, function( elem ) { 4085 return ( indexOf.call( qualifier, elem ) > -1 ) !== not; 4086 } ); 4087 } 4088 4089 // Filtered directly for both simple and complex selectors 4090 return jQuery.filter( qualifier, elements, not ); 4091} 4092 4093jQuery.filter = function( expr, elems, not ) { 4094 var elem = elems[ 0 ]; 4095 4096 if ( not ) { 4097 expr = ":not(" + expr + ")"; 4098 } 4099 4100 if ( elems.length === 1 && elem.nodeType === 1 ) { 4101 return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; 4102 } 4103 4104 return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { 4105 return elem.nodeType === 1; 4106 } ) ); 4107}; 4108 4109jQuery.fn.extend( { 4110 find: function( selector ) { 4111 var i, ret, 4112 len = this.length, 4113 self = this; 4114 4115 if ( typeof selector !== "string" ) { 4116 return this.pushStack( jQuery( selector ).filter( function() { 4117 for ( i = 0; i < len; i++ ) { 4118 if ( jQuery.contains( self[ i ], this ) ) { 4119 return true; 4120 } 4121 } 4122 } ) ); 4123 } 4124 4125 ret = this.pushStack( [] ); 4126 4127 for ( i = 0; i < len; i++ ) { 4128 jQuery.find( selector, self[ i ], ret ); 4129 } 4130 4131 return len > 1 ? jQuery.uniqueSort( ret ) : ret; 4132 }, 4133 filter: function( selector ) { 4134 return this.pushStack( winnow( this, selector || [], false ) ); 4135 }, 4136 not: function( selector ) { 4137 return this.pushStack( winnow( this, selector || [], true ) ); 4138 }, 4139 is: function( selector ) { 4140 return !!winnow( 4141 this, 4142 4143 // If this is a positional/relative selector, check membership in the returned set 4144 // so $("p:first").is("p:last") won't return true for a doc with two "p". 4145 typeof selector === "string" && rneedsContext.test( selector ) ? 4146 jQuery( selector ) : 4147 selector || [], 4148 false 4149 ).length; 4150 } 4151} ); 4152 4153 4154// Initialize a jQuery object 4155 4156 4157// A central reference to the root jQuery(document) 4158var rootjQuery, 4159 4160 // A simple way to check for HTML strings 4161 // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) 4162 // Strict HTML recognition (#11290: must start with <) 4163 // Shortcut simple #id case for speed 4164 rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, 4165 4166 init = jQuery.fn.init = function( selector, context, root ) { 4167 var match, elem; 4168 4169 // HANDLE: $(""), $(null), $(undefined), $(false) 4170 if ( !selector ) { 4171 return this; 4172 } 4173 4174 // Method init() accepts an alternate rootjQuery 4175 // so migrate can support jQuery.sub (gh-2101) 4176 root = root || rootjQuery; 4177 4178 // Handle HTML strings 4179 if ( typeof selector === "string" ) { 4180 if ( selector[ 0 ] === "<" && 4181 selector[ selector.length - 1 ] === ">" && 4182 selector.length >= 3 ) { 4183 4184 // Assume that strings that start and end with <> are HTML and skip the regex check 4185 match = [ null, selector, null ]; 4186 4187 } else { 4188 match = rquickExpr.exec( selector ); 4189 } 4190 4191 // Match html or make sure no context is specified for #id 4192 if ( match && ( match[ 1 ] || !context ) ) { 4193 4194 // HANDLE: $(html) -> $(array) 4195 if ( match[ 1 ] ) { 4196 context = context instanceof jQuery ? context[ 0 ] : context; 4197 4198 // Option to run scripts is true for back-compat 4199 // Intentionally let the error be thrown if parseHTML is not present 4200 jQuery.merge( this, jQuery.parseHTML( 4201 match[ 1 ], 4202 context && context.nodeType ? context.ownerDocument || context : document, 4203 true 4204 ) ); 4205 4206 // HANDLE: $(html, props) 4207 if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { 4208 for ( match in context ) { 4209 4210 // Properties of context are called as methods if possible 4211 if ( isFunction( this[ match ] ) ) { 4212 this[ match ]( context[ match ] ); 4213 4214 // ...and otherwise set as attributes 4215 } else { 4216 this.attr( match, context[ match ] ); 4217 } 4218 } 4219 } 4220 4221 return this; 4222 4223 // HANDLE: $(#id) 4224 } else { 4225 elem = document.getElementById( match[ 2 ] ); 4226 4227 if ( elem ) { 4228 4229 // Inject the element directly into the jQuery object 4230 this[ 0 ] = elem; 4231 this.length = 1; 4232 } 4233 return this; 4234 } 4235 4236 // HANDLE: $(expr, $(...)) 4237 } else if ( !context || context.jquery ) { 4238 return ( context || root ).find( selector ); 4239 4240 // HANDLE: $(expr, context) 4241 // (which is just equivalent to: $(context).find(expr) 4242 } else { 4243 return this.constructor( context ).find( selector ); 4244 } 4245 4246 // HANDLE: $(DOMElement) 4247 } else if ( selector.nodeType ) { 4248 this[ 0 ] = selector; 4249 this.length = 1; 4250 return this; 4251 4252 // HANDLE: $(function) 4253 // Shortcut for document ready 4254 } else if ( isFunction( selector ) ) { 4255 return root.ready !== undefined ? 4256 root.ready( selector ) : 4257 4258 // Execute immediately if ready is not present 4259 selector( jQuery ); 4260 } 4261 4262 return jQuery.makeArray( selector, this ); 4263 }; 4264 4265// Give the init function the jQuery prototype for later instantiation 4266init.prototype = jQuery.fn; 4267 4268// Initialize central reference 4269rootjQuery = jQuery( document ); 4270 4271 4272var rparentsprev = /^(?:parents|prev(?:Until|All))/, 4273 4274 // Methods guaranteed to produce a unique set when starting from a unique set 4275 guaranteedUnique = { 4276 children: true, 4277 contents: true, 4278 next: true, 4279 prev: true 4280 }; 4281 4282jQuery.fn.extend( { 4283 has: function( target ) { 4284 var targets = jQuery( target, this ), 4285 l = targets.length; 4286 4287 return this.filter( function() { 4288 var i = 0; 4289 for ( ; i < l; i++ ) { 4290 if ( jQuery.contains( this, targets[ i ] ) ) { 4291 return true; 4292 } 4293 } 4294 } ); 4295 }, 4296 4297 closest: function( selectors, context ) { 4298 var cur, 4299 i = 0, 4300 l = this.length, 4301 matched = [], 4302 targets = typeof selectors !== "string" && jQuery( selectors ); 4303 4304 // Positional selectors never match, since there's no _selection_ context 4305 if ( !rneedsContext.test( selectors ) ) { 4306 for ( ; i < l; i++ ) { 4307 for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { 4308 4309 // Always skip document fragments 4310 if ( cur.nodeType < 11 && ( targets ? 4311 targets.index( cur ) > -1 : 4312 4313 // Don't pass non-elements to Sizzle 4314 cur.nodeType === 1 && 4315 jQuery.find.matchesSelector( cur, selectors ) ) ) { 4316 4317 matched.push( cur ); 4318 break; 4319 } 4320 } 4321 } 4322 } 4323 4324 return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); 4325 }, 4326 4327 // Determine the position of an element within the set 4328 index: function( elem ) { 4329 4330 // No argument, return index in parent 4331 if ( !elem ) { 4332 return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; 4333 } 4334 4335 // Index in selector 4336 if ( typeof elem === "string" ) { 4337 return indexOf.call( jQuery( elem ), this[ 0 ] ); 4338 } 4339 4340 // Locate the position of the desired element 4341 return indexOf.call( this, 4342 4343 // If it receives a jQuery object, the first element is used 4344 elem.jquery ? elem[ 0 ] : elem 4345 ); 4346 }, 4347 4348 add: function( selector, context ) { 4349 return this.pushStack( 4350 jQuery.uniqueSort( 4351 jQuery.merge( this.get(), jQuery( selector, context ) ) 4352 ) 4353 ); 4354 }, 4355 4356 addBack: function( selector ) { 4357 return this.add( selector == null ? 4358 this.prevObject : this.prevObject.filter( selector ) 4359 ); 4360 } 4361} ); 4362 4363function sibling( cur, dir ) { 4364 while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} 4365 return cur; 4366} 4367 4368jQuery.each( { 4369 parent: function( elem ) { 4370 var parent = elem.parentNode; 4371 return parent && parent.nodeType !== 11 ? parent : null; 4372 }, 4373 parents: function( elem ) { 4374 return dir( elem, "parentNode" ); 4375 }, 4376 parentsUntil: function( elem, _i, until ) { 4377 return dir( elem, "parentNode", until ); 4378 }, 4379 next: function( elem ) { 4380 return sibling( elem, "nextSibling" ); 4381 }, 4382 prev: function( elem ) { 4383 return sibling( elem, "previousSibling" ); 4384 }, 4385 nextAll: function( elem ) { 4386 return dir( elem, "nextSibling" ); 4387 }, 4388 prevAll: function( elem ) { 4389 return dir( elem, "previousSibling" ); 4390 }, 4391 nextUntil: function( elem, _i, until ) { 4392 return dir( elem, "nextSibling", until ); 4393 }, 4394 prevUntil: function( elem, _i, until ) { 4395 return dir( elem, "previousSibling", until ); 4396 }, 4397 siblings: function( elem ) { 4398 return siblings( ( elem.parentNode || {} ).firstChild, elem ); 4399 }, 4400 children: function( elem ) { 4401 return siblings( elem.firstChild ); 4402 }, 4403 contents: function( elem ) { 4404 if ( elem.contentDocument != null && 4405 4406 // Support: IE 11+ 4407 // <object> elements with no `data` attribute has an object 4408 // `contentDocument` with a `null` prototype. 4409 getProto( elem.contentDocument ) ) { 4410 4411 return elem.contentDocument; 4412 } 4413 4414 // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only 4415 // Treat the template element as a regular one in browsers that 4416 // don't support it. 4417 if ( nodeName( elem, "template" ) ) { 4418 elem = elem.content || elem; 4419 } 4420 4421 return jQuery.merge( [], elem.childNodes ); 4422 } 4423}, function( name, fn ) { 4424 jQuery.fn[ name ] = function( until, selector ) { 4425 var matched = jQuery.map( this, fn, until ); 4426 4427 if ( name.slice( -5 ) !== "Until" ) { 4428 selector = until; 4429 } 4430 4431 if ( selector && typeof selector === "string" ) { 4432 matched = jQuery.filter( selector, matched ); 4433 } 4434 4435 if ( this.length > 1 ) { 4436 4437 // Remove duplicates 4438 if ( !guaranteedUnique[ name ] ) { 4439 jQuery.uniqueSort( matched ); 4440 } 4441 4442 // Reverse order for parents* and prev-derivatives 4443 if ( rparentsprev.test( name ) ) { 4444 matched.reverse(); 4445 } 4446 } 4447 4448 return this.pushStack( matched ); 4449 }; 4450} ); 4451var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); 4452 4453 4454 4455// Convert String-formatted options into Object-formatted ones 4456function createOptions( options ) { 4457 var object = {}; 4458 jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { 4459 object[ flag ] = true; 4460 } ); 4461 return object; 4462} 4463 4464/* 4465 * Create a callback list using the following parameters: 4466 * 4467 * options: an optional list of space-separated options that will change how 4468 * the callback list behaves or a more traditional option object 4469 * 4470 * By default a callback list will act like an event callback list and can be 4471 * "fired" multiple times. 4472 * 4473 * Possible options: 4474 * 4475 * once: will ensure the callback list can only be fired once (like a Deferred) 4476 * 4477 * memory: will keep track of previous values and will call any callback added 4478 * after the list has been fired right away with the latest "memorized" 4479 * values (like a Deferred) 4480 * 4481 * unique: will ensure a callback can only be added once (no duplicate in the list) 4482 * 4483 * stopOnFalse: interrupt callings when a callback returns false 4484 * 4485 */ 4486jQuery.Callbacks = function( options ) { 4487 4488 // Convert options from String-formatted to Object-formatted if needed 4489 // (we check in cache first) 4490 options = typeof options === "string" ? 4491 createOptions( options ) : 4492 jQuery.extend( {}, options ); 4493 4494 var // Flag to know if list is currently firing 4495 firing, 4496 4497 // Last fire value for non-forgettable lists 4498 memory, 4499 4500 // Flag to know if list was already fired 4501 fired, 4502 4503 // Flag to prevent firing 4504 locked, 4505 4506 // Actual callback list 4507 list = [], 4508 4509 // Queue of execution data for repeatable lists 4510 queue = [], 4511 4512 // Index of currently firing callback (modified by add/remove as needed) 4513 firingIndex = -1, 4514 4515 // Fire callbacks 4516 fire = function() { 4517 4518 // Enforce single-firing 4519 locked = locked || options.once; 4520 4521 // Execute callbacks for all pending executions, 4522 // respecting firingIndex overrides and runtime changes 4523 fired = firing = true; 4524 for ( ; queue.length; firingIndex = -1 ) { 4525 memory = queue.shift(); 4526 while ( ++firingIndex < list.length ) { 4527 4528 // Run callback and check for early termination 4529 if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && 4530 options.stopOnFalse ) { 4531 4532 // Jump to end and forget the data so .add doesn't re-fire 4533 firingIndex = list.length; 4534 memory = false; 4535 } 4536 } 4537 } 4538 4539 // Forget the data if we're done with it 4540 if ( !options.memory ) { 4541 memory = false; 4542 } 4543 4544 firing = false; 4545 4546 // Clean up if we're done firing for good 4547 if ( locked ) { 4548 4549 // Keep an empty list if we have data for future add calls 4550 if ( memory ) { 4551 list = []; 4552 4553 // Otherwise, this object is spent 4554 } else { 4555 list = ""; 4556 } 4557 } 4558 }, 4559 4560 // Actual Callbacks object 4561 self = { 4562 4563 // Add a callback or a collection of callbacks to the list 4564 add: function() { 4565 if ( list ) { 4566 4567 // If we have memory from a past run, we should fire after adding 4568 if ( memory && !firing ) { 4569 firingIndex = list.length - 1; 4570 queue.push( memory ); 4571 } 4572 4573 ( function add( args ) { 4574 jQuery.each( args, function( _, arg ) { 4575 if ( isFunction( arg ) ) { 4576 if ( !options.unique || !self.has( arg ) ) { 4577 list.push( arg ); 4578 } 4579 } else if ( arg && arg.length && toType( arg ) !== "string" ) { 4580 4581 // Inspect recursively 4582 add( arg ); 4583 } 4584 } ); 4585 } )( arguments ); 4586 4587 if ( memory && !firing ) { 4588 fire(); 4589 } 4590 } 4591 return this; 4592 }, 4593 4594 // Remove a callback from the list 4595 remove: function() { 4596 jQuery.each( arguments, function( _, arg ) { 4597 var index; 4598 while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { 4599 list.splice( index, 1 ); 4600 4601 // Handle firing indexes 4602 if ( index <= firingIndex ) { 4603 firingIndex--; 4604 } 4605 } 4606 } ); 4607 return this; 4608 }, 4609 4610 // Check if a given callback is in the list. 4611 // If no argument is given, return whether or not list has callbacks attached. 4612 has: function( fn ) { 4613 return fn ? 4614 jQuery.inArray( fn, list ) > -1 : 4615 list.length > 0; 4616 }, 4617 4618 // Remove all callbacks from the list 4619 empty: function() { 4620 if ( list ) { 4621 list = []; 4622 } 4623 return this; 4624 }, 4625 4626 // Disable .fire and .add 4627 // Abort any current/pending executions 4628 // Clear all callbacks and values 4629 disable: function() { 4630 locked = queue = []; 4631 list = memory = ""; 4632 return this; 4633 }, 4634 disabled: function() { 4635 return !list; 4636 }, 4637 4638 // Disable .fire 4639 // Also disable .add unless we have memory (since it would have no effect) 4640 // Abort any pending executions 4641 lock: function() { 4642 locked = queue = []; 4643 if ( !memory && !firing ) { 4644 list = memory = ""; 4645 } 4646 return this; 4647 }, 4648 locked: function() { 4649 return !!locked; 4650 }, 4651 4652 // Call all callbacks with the given context and arguments 4653 fireWith: function( context, args ) { 4654 if ( !locked ) { 4655 args = args || []; 4656 args = [ context, args.slice ? args.slice() : args ]; 4657 queue.push( args ); 4658 if ( !firing ) { 4659 fire(); 4660 } 4661 } 4662 return this; 4663 }, 4664 4665 // Call all the callbacks with the given arguments 4666 fire: function() { 4667 self.fireWith( this, arguments ); 4668 return this; 4669 }, 4670 4671 // To know if the callbacks have already been called at least once 4672 fired: function() { 4673 return !!fired; 4674 } 4675 }; 4676 4677 return self; 4678}; 4679 4680 4681function Identity( v ) { 4682 return v; 4683} 4684function Thrower( ex ) { 4685 throw ex; 4686} 4687 4688function adoptValue( value, resolve, reject, noValue ) { 4689 var method; 4690 4691 try { 4692 4693 // Check for promise aspect first to privilege synchronous behavior 4694 if ( value && isFunction( ( method = value.promise ) ) ) { 4695 method.call( value ).done( resolve ).fail( reject ); 4696 4697 // Other thenables 4698 } else if ( value && isFunction( ( method = value.then ) ) ) { 4699 method.call( value, resolve, reject ); 4700 4701 // Other non-thenables 4702 } else { 4703 4704 // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: 4705 // * false: [ value ].slice( 0 ) => resolve( value ) 4706 // * true: [ value ].slice( 1 ) => resolve() 4707 resolve.apply( undefined, [ value ].slice( noValue ) ); 4708 } 4709 4710 // For Promises/A+, convert exceptions into rejections 4711 // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in 4712 // Deferred#then to conditionally suppress rejection. 4713 } catch ( value ) { 4714 4715 // Support: Android 4.0 only 4716 // Strict mode functions invoked without .call/.apply get global-object context 4717 reject.apply( undefined, [ value ] ); 4718 } 4719} 4720 4721jQuery.extend( { 4722 4723 Deferred: function( func ) { 4724 var tuples = [ 4725 4726 // action, add listener, callbacks, 4727 // ... .then handlers, argument index, [final state] 4728 [ "notify", "progress", jQuery.Callbacks( "memory" ), 4729 jQuery.Callbacks( "memory" ), 2 ], 4730 [ "resolve", "done", jQuery.Callbacks( "once memory" ), 4731 jQuery.Callbacks( "once memory" ), 0, "resolved" ], 4732 [ "reject", "fail", jQuery.Callbacks( "once memory" ), 4733 jQuery.Callbacks( "once memory" ), 1, "rejected" ] 4734 ], 4735 state = "pending", 4736 promise = { 4737 state: function() { 4738 return state; 4739 }, 4740 always: function() { 4741 deferred.done( arguments ).fail( arguments ); 4742 return this; 4743 }, 4744 "catch": function( fn ) { 4745 return promise.then( null, fn ); 4746 }, 4747 4748 // Keep pipe for back-compat 4749 pipe: function( /* fnDone, fnFail, fnProgress */ ) { 4750 var fns = arguments; 4751 4752 return jQuery.Deferred( function( newDefer ) { 4753 jQuery.each( tuples, function( _i, tuple ) { 4754 4755 // Map tuples (progress, done, fail) to arguments (done, fail, progress) 4756 var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; 4757 4758 // deferred.progress(function() { bind to newDefer or newDefer.notify }) 4759 // deferred.done(function() { bind to newDefer or newDefer.resolve }) 4760 // deferred.fail(function() { bind to newDefer or newDefer.reject }) 4761 deferred[ tuple[ 1 ] ]( function() { 4762 var returned = fn && fn.apply( this, arguments ); 4763 if ( returned && isFunction( returned.promise ) ) { 4764 returned.promise() 4765 .progress( newDefer.notify ) 4766 .done( newDefer.resolve ) 4767 .fail( newDefer.reject ); 4768 } else { 4769 newDefer[ tuple[ 0 ] + "With" ]( 4770 this, 4771 fn ? [ returned ] : arguments 4772 ); 4773 } 4774 } ); 4775 } ); 4776 fns = null; 4777 } ).promise(); 4778 }, 4779 then: function( onFulfilled, onRejected, onProgress ) { 4780 var maxDepth = 0; 4781 function resolve( depth, deferred, handler, special ) { 4782 return function() { 4783 var that = this, 4784 args = arguments, 4785 mightThrow = function() { 4786 var returned, then; 4787 4788 // Support: Promises/A+ section 2.3.3.3.3 4789 // https://promisesaplus.com/#point-59 4790 // Ignore double-resolution attempts 4791 if ( depth < maxDepth ) { 4792 return; 4793 } 4794 4795 returned = handler.apply( that, args ); 4796 4797 // Support: Promises/A+ section 2.3.1 4798 // https://promisesaplus.com/#point-48 4799 if ( returned === deferred.promise() ) { 4800 throw new TypeError( "Thenable self-resolution" ); 4801 } 4802 4803 // Support: Promises/A+ sections 2.3.3.1, 3.5 4804 // https://promisesaplus.com/#point-54 4805 // https://promisesaplus.com/#point-75 4806 // Retrieve `then` only once 4807 then = returned && 4808 4809 // Support: Promises/A+ section 2.3.4 4810 // https://promisesaplus.com/#point-64 4811 // Only check objects and functions for thenability 4812 ( typeof returned === "object" || 4813 typeof returned === "function" ) && 4814 returned.then; 4815 4816 // Handle a returned thenable 4817 if ( isFunction( then ) ) { 4818 4819 // Special processors (notify) just wait for resolution 4820 if ( special ) { 4821 then.call( 4822 returned, 4823 resolve( maxDepth, deferred, Identity, special ), 4824 resolve( maxDepth, deferred, Thrower, special ) 4825 ); 4826 4827 // Normal processors (resolve) also hook into progress 4828 } else { 4829 4830 // ...and disregard older resolution values 4831 maxDepth++; 4832 4833 then.call( 4834 returned, 4835 resolve( maxDepth, deferred, Identity, special ), 4836 resolve( maxDepth, deferred, Thrower, special ), 4837 resolve( maxDepth, deferred, Identity, 4838 deferred.notifyWith ) 4839 ); 4840 } 4841 4842 // Handle all other returned values 4843 } else { 4844 4845 // Only substitute handlers pass on context 4846 // and multiple values (non-spec behavior) 4847 if ( handler !== Identity ) { 4848 that = undefined; 4849 args = [ returned ]; 4850 } 4851 4852 // Process the value(s) 4853 // Default process is resolve 4854 ( special || deferred.resolveWith )( that, args ); 4855 } 4856 }, 4857 4858 // Only normal processors (resolve) catch and reject exceptions 4859 process = special ? 4860 mightThrow : 4861 function() { 4862 try { 4863 mightThrow(); 4864 } catch ( e ) { 4865 4866 if ( jQuery.Deferred.exceptionHook ) { 4867 jQuery.Deferred.exceptionHook( e, 4868 process.stackTrace ); 4869 } 4870 4871 // Support: Promises/A+ section 2.3.3.3.4.1 4872 // https://promisesaplus.com/#point-61 4873 // Ignore post-resolution exceptions 4874 if ( depth + 1 >= maxDepth ) { 4875 4876 // Only substitute handlers pass on context 4877 // and multiple values (non-spec behavior) 4878 if ( handler !== Thrower ) { 4879 that = undefined; 4880 args = [ e ]; 4881 } 4882 4883 deferred.rejectWith( that, args ); 4884 } 4885 } 4886 }; 4887 4888 // Support: Promises/A+ section 2.3.3.3.1 4889 // https://promisesaplus.com/#point-57 4890 // Re-resolve promises immediately to dodge false rejection from 4891 // subsequent errors 4892 if ( depth ) { 4893 process(); 4894 } else { 4895 4896 // Call an optional hook to record the stack, in case of exception 4897 // since it's otherwise lost when execution goes async 4898 if ( jQuery.Deferred.getStackHook ) { 4899 process.stackTrace = jQuery.Deferred.getStackHook(); 4900 } 4901 window.setTimeout( process ); 4902 } 4903 }; 4904 } 4905 4906 return jQuery.Deferred( function( newDefer ) { 4907 4908 // progress_handlers.add( ... ) 4909 tuples[ 0 ][ 3 ].add( 4910 resolve( 4911 0, 4912 newDefer, 4913 isFunction( onProgress ) ? 4914 onProgress : 4915 Identity, 4916 newDefer.notifyWith 4917 ) 4918 ); 4919 4920 // fulfilled_handlers.add( ... ) 4921 tuples[ 1 ][ 3 ].add( 4922 resolve( 4923 0, 4924 newDefer, 4925 isFunction( onFulfilled ) ? 4926 onFulfilled : 4927 Identity 4928 ) 4929 ); 4930 4931 // rejected_handlers.add( ... ) 4932 tuples[ 2 ][ 3 ].add( 4933 resolve( 4934 0, 4935 newDefer, 4936 isFunction( onRejected ) ? 4937 onRejected : 4938 Thrower 4939 ) 4940 ); 4941 } ).promise(); 4942 }, 4943 4944 // Get a promise for this deferred 4945 // If obj is provided, the promise aspect is added to the object 4946 promise: function( obj ) { 4947 return obj != null ? jQuery.extend( obj, promise ) : promise; 4948 } 4949 }, 4950 deferred = {}; 4951 4952 // Add list-specific methods 4953 jQuery.each( tuples, function( i, tuple ) { 4954 var list = tuple[ 2 ], 4955 stateString = tuple[ 5 ]; 4956 4957 // promise.progress = list.add 4958 // promise.done = list.add 4959 // promise.fail = list.add 4960 promise[ tuple[ 1 ] ] = list.add; 4961 4962 // Handle state 4963 if ( stateString ) { 4964 list.add( 4965 function() { 4966 4967 // state = "resolved" (i.e., fulfilled) 4968 // state = "rejected" 4969 state = stateString; 4970 }, 4971 4972 // rejected_callbacks.disable 4973 // fulfilled_callbacks.disable 4974 tuples[ 3 - i ][ 2 ].disable, 4975 4976 // rejected_handlers.disable 4977 // fulfilled_handlers.disable 4978 tuples[ 3 - i ][ 3 ].disable, 4979 4980 // progress_callbacks.lock 4981 tuples[ 0 ][ 2 ].lock, 4982 4983 // progress_handlers.lock 4984 tuples[ 0 ][ 3 ].lock 4985 ); 4986 } 4987 4988 // progress_handlers.fire 4989 // fulfilled_handlers.fire 4990 // rejected_handlers.fire 4991 list.add( tuple[ 3 ].fire ); 4992 4993 // deferred.notify = function() { deferred.notifyWith(...) } 4994 // deferred.resolve = function() { deferred.resolveWith(...) } 4995 // deferred.reject = function() { deferred.rejectWith(...) } 4996 deferred[ tuple[ 0 ] ] = function() { 4997 deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); 4998 return this; 4999 }; 5000 5001 // deferred.notifyWith = list.fireWith 5002 // deferred.resolveWith = list.fireWith 5003 // deferred.rejectWith = list.fireWith 5004 deferred[ tuple[ 0 ] + "With" ] = list.fireWith; 5005 } ); 5006 5007 // Make the deferred a promise 5008 promise.promise( deferred ); 5009 5010 // Call given func if any 5011 if ( func ) { 5012 func.call( deferred, deferred ); 5013 } 5014 5015 // All done! 5016 return deferred; 5017 }, 5018 5019 // Deferred helper 5020 when: function( singleValue ) { 5021 var 5022 5023 // count of uncompleted subordinates 5024 remaining = arguments.length, 5025 5026 // count of unprocessed arguments 5027 i = remaining, 5028 5029 // subordinate fulfillment data 5030 resolveContexts = Array( i ), 5031 resolveValues = slice.call( arguments ), 5032 5033 // the primary Deferred 5034 primary = jQuery.Deferred(), 5035 5036 // subordinate callback factory 5037 updateFunc = function( i ) { 5038 return function( value ) { 5039 resolveContexts[ i ] = this; 5040 resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; 5041 if ( !( --remaining ) ) { 5042 primary.resolveWith( resolveContexts, resolveValues ); 5043 } 5044 }; 5045 }; 5046 5047 // Single- and empty arguments are adopted like Promise.resolve 5048 if ( remaining <= 1 ) { 5049 adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, 5050 !remaining ); 5051 5052 // Use .then() to unwrap secondary thenables (cf. gh-3000) 5053 if ( primary.state() === "pending" || 5054 isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { 5055 5056 return primary.then(); 5057 } 5058 } 5059 5060 // Multiple arguments are aggregated like Promise.all array elements 5061 while ( i-- ) { 5062 adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); 5063 } 5064 5065 return primary.promise(); 5066 } 5067} ); 5068 5069 5070// These usually indicate a programmer mistake during development, 5071// warn about them ASAP rather than swallowing them by default. 5072var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; 5073 5074jQuery.Deferred.exceptionHook = function( error, stack ) { 5075 5076 // Support: IE 8 - 9 only 5077 // Console exists when dev tools are open, which can happen at any time 5078 if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { 5079 window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); 5080 } 5081}; 5082 5083 5084 5085 5086jQuery.readyException = function( error ) { 5087 window.setTimeout( function() { 5088 throw error; 5089 } ); 5090}; 5091 5092 5093 5094 5095// The deferred used on DOM ready 5096var readyList = jQuery.Deferred(); 5097 5098jQuery.fn.ready = function( fn ) { 5099 5100 readyList 5101 .then( fn ) 5102 5103 // Wrap jQuery.readyException in a function so that the lookup 5104 // happens at the time of error handling instead of callback 5105 // registration. 5106 .catch( function( error ) { 5107 jQuery.readyException( error ); 5108 } ); 5109 5110 return this; 5111}; 5112 5113jQuery.extend( { 5114 5115 // Is the DOM ready to be used? Set to true once it occurs. 5116 isReady: false, 5117 5118 // A counter to track how many items to wait for before 5119 // the ready event fires. See #6781 5120 readyWait: 1, 5121 5122 // Handle when the DOM is ready 5123 ready: function( wait ) { 5124 5125 // Abort if there are pending holds or we're already ready 5126 if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { 5127 return; 5128 } 5129 5130 // Remember that the DOM is ready 5131 jQuery.isReady = true; 5132 5133 // If a normal DOM Ready event fired, decrement, and wait if need be 5134 if ( wait !== true && --jQuery.readyWait > 0 ) { 5135 return; 5136 } 5137 5138 // If there are functions bound, to execute 5139 readyList.resolveWith( document, [ jQuery ] ); 5140 } 5141} ); 5142 5143jQuery.ready.then = readyList.then; 5144 5145// The ready event handler and self cleanup method 5146function completed() { 5147 document.removeEventListener( "DOMContentLoaded", completed ); 5148 window.removeEventListener( "load", completed ); 5149 jQuery.ready(); 5150} 5151 5152// Catch cases where $(document).ready() is called 5153// after the browser event has already occurred. 5154// Support: IE <=9 - 10 only 5155// Older IE sometimes signals "interactive" too soon 5156if ( document.readyState === "complete" || 5157 ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { 5158 5159 // Handle it asynchronously to allow scripts the opportunity to delay ready 5160 window.setTimeout( jQuery.ready ); 5161 5162} else { 5163 5164 // Use the handy event callback 5165 document.addEventListener( "DOMContentLoaded", completed ); 5166 5167 // A fallback to window.onload, that will always work 5168 window.addEventListener( "load", completed ); 5169} 5170 5171 5172 5173 5174// Multifunctional method to get and set values of a collection 5175// The value/s can optionally be executed if it's a function 5176var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { 5177 var i = 0, 5178 len = elems.length, 5179 bulk = key == null; 5180 5181 // Sets many values 5182 if ( toType( key ) === "object" ) { 5183 chainable = true; 5184 for ( i in key ) { 5185 access( elems, fn, i, key[ i ], true, emptyGet, raw ); 5186 } 5187 5188 // Sets one value 5189 } else if ( value !== undefined ) { 5190 chainable = true; 5191 5192 if ( !isFunction( value ) ) { 5193 raw = true; 5194 } 5195 5196 if ( bulk ) { 5197 5198 // Bulk operations run against the entire set 5199 if ( raw ) { 5200 fn.call( elems, value ); 5201 fn = null; 5202 5203 // ...except when executing function values 5204 } else { 5205 bulk = fn; 5206 fn = function( elem, _key, value ) { 5207 return bulk.call( jQuery( elem ), value ); 5208 }; 5209 } 5210 } 5211 5212 if ( fn ) { 5213 for ( ; i < len; i++ ) { 5214 fn( 5215 elems[ i ], key, raw ? 5216 value : 5217 value.call( elems[ i ], i, fn( elems[ i ], key ) ) 5218 ); 5219 } 5220 } 5221 } 5222 5223 if ( chainable ) { 5224 return elems; 5225 } 5226 5227 // Gets 5228 if ( bulk ) { 5229 return fn.call( elems ); 5230 } 5231 5232 return len ? fn( elems[ 0 ], key ) : emptyGet; 5233}; 5234 5235 5236// Matches dashed string for camelizing 5237var rmsPrefix = /^-ms-/, 5238 rdashAlpha = /-([a-z])/g; 5239 5240// Used by camelCase as callback to replace() 5241function fcamelCase( _all, letter ) { 5242 return letter.toUpperCase(); 5243} 5244 5245// Convert dashed to camelCase; used by the css and data modules 5246// Support: IE <=9 - 11, Edge 12 - 15 5247// Microsoft forgot to hump their vendor prefix (#9572) 5248function camelCase( string ) { 5249 return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); 5250} 5251var acceptData = function( owner ) { 5252 5253 // Accepts only: 5254 // - Node 5255 // - Node.ELEMENT_NODE 5256 // - Node.DOCUMENT_NODE 5257 // - Object 5258 // - Any 5259 return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); 5260}; 5261 5262 5263 5264 5265function Data() { 5266 this.expando = jQuery.expando + Data.uid++; 5267} 5268 5269Data.uid = 1; 5270 5271Data.prototype = { 5272 5273 cache: function( owner ) { 5274 5275 // Check if the owner object already has a cache 5276 var value = owner[ this.expando ]; 5277 5278 // If not, create one 5279 if ( !value ) { 5280 value = {}; 5281 5282 // We can accept data for non-element nodes in modern browsers, 5283 // but we should not, see #8335. 5284 // Always return an empty object. 5285 if ( acceptData( owner ) ) { 5286 5287 // If it is a node unlikely to be stringify-ed or looped over 5288 // use plain assignment 5289 if ( owner.nodeType ) { 5290 owner[ this.expando ] = value; 5291 5292 // Otherwise secure it in a non-enumerable property 5293 // configurable must be true to allow the property to be 5294 // deleted when data is removed 5295 } else { 5296 Object.defineProperty( owner, this.expando, { 5297 value: value, 5298 configurable: true 5299 } ); 5300 } 5301 } 5302 } 5303 5304 return value; 5305 }, 5306 set: function( owner, data, value ) { 5307 var prop, 5308 cache = this.cache( owner ); 5309 5310 // Handle: [ owner, key, value ] args 5311 // Always use camelCase key (gh-2257) 5312 if ( typeof data === "string" ) { 5313 cache[ camelCase( data ) ] = value; 5314 5315 // Handle: [ owner, { properties } ] args 5316 } else { 5317 5318 // Copy the properties one-by-one to the cache object 5319 for ( prop in data ) { 5320 cache[ camelCase( prop ) ] = data[ prop ]; 5321 } 5322 } 5323 return cache; 5324 }, 5325 get: function( owner, key ) { 5326 return key === undefined ? 5327 this.cache( owner ) : 5328 5329 // Always use camelCase key (gh-2257) 5330 owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; 5331 }, 5332 access: function( owner, key, value ) { 5333 5334 // In cases where either: 5335 // 5336 // 1. No key was specified 5337 // 2. A string key was specified, but no value provided 5338 // 5339 // Take the "read" path and allow the get method to determine 5340 // which value to return, respectively either: 5341 // 5342 // 1. The entire cache object 5343 // 2. The data stored at the key 5344 // 5345 if ( key === undefined || 5346 ( ( key && typeof key === "string" ) && value === undefined ) ) { 5347 5348 return this.get( owner, key ); 5349 } 5350 5351 // When the key is not a string, or both a key and value 5352 // are specified, set or extend (existing objects) with either: 5353 // 5354 // 1. An object of properties 5355 // 2. A key and value 5356 // 5357 this.set( owner, key, value ); 5358 5359 // Since the "set" path can have two possible entry points 5360 // return the expected data based on which path was taken[*] 5361 return value !== undefined ? value : key; 5362 }, 5363 remove: function( owner, key ) { 5364 var i, 5365 cache = owner[ this.expando ]; 5366 5367 if ( cache === undefined ) { 5368 return; 5369 } 5370 5371 if ( key !== undefined ) { 5372 5373 // Support array or space separated string of keys 5374 if ( Array.isArray( key ) ) { 5375 5376 // If key is an array of keys... 5377 // We always set camelCase keys, so remove that. 5378 key = key.map( camelCase ); 5379 } else { 5380 key = camelCase( key ); 5381 5382 // If a key with the spaces exists, use it. 5383 // Otherwise, create an array by matching non-whitespace 5384 key = key in cache ? 5385 [ key ] : 5386 ( key.match( rnothtmlwhite ) || [] ); 5387 } 5388 5389 i = key.length; 5390 5391 while ( i-- ) { 5392 delete cache[ key[ i ] ]; 5393 } 5394 } 5395 5396 // Remove the expando if there's no more data 5397 if ( key === undefined || jQuery.isEmptyObject( cache ) ) { 5398 5399 // Support: Chrome <=35 - 45 5400 // Webkit & Blink performance suffers when deleting properties 5401 // from DOM nodes, so set to undefined instead 5402 // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) 5403 if ( owner.nodeType ) { 5404 owner[ this.expando ] = undefined; 5405 } else { 5406 delete owner[ this.expando ]; 5407 } 5408 } 5409 }, 5410 hasData: function( owner ) { 5411 var cache = owner[ this.expando ]; 5412 return cache !== undefined && !jQuery.isEmptyObject( cache ); 5413 } 5414}; 5415var dataPriv = new Data(); 5416 5417var dataUser = new Data(); 5418 5419 5420 5421// Implementation Summary 5422// 5423// 1. Enforce API surface and semantic compatibility with 1.9.x branch 5424// 2. Improve the module's maintainability by reducing the storage 5425// paths to a single mechanism. 5426// 3. Use the same single mechanism to support "private" and "user" data. 5427// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) 5428// 5. Avoid exposing implementation details on user objects (eg. expando properties) 5429// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 5430 5431var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, 5432 rmultiDash = /[A-Z]/g; 5433 5434function getData( data ) { 5435 if ( data === "true" ) { 5436 return true; 5437 } 5438 5439 if ( data === "false" ) { 5440 return false; 5441 } 5442 5443 if ( data === "null" ) { 5444 return null; 5445 } 5446 5447 // Only convert to a number if it doesn't change the string 5448 if ( data === +data + "" ) { 5449 return +data; 5450 } 5451 5452 if ( rbrace.test( data ) ) { 5453 return JSON.parse( data ); 5454 } 5455 5456 return data; 5457} 5458 5459function dataAttr( elem, key, data ) { 5460 var name; 5461 5462 // If nothing was found internally, try to fetch any 5463 // data from the HTML5 data-* attribute 5464 if ( data === undefined && elem.nodeType === 1 ) { 5465 name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); 5466 data = elem.getAttribute( name ); 5467 5468 if ( typeof data === "string" ) { 5469 try { 5470 data = getData( data ); 5471 } catch ( e ) {} 5472 5473 // Make sure we set the data so it isn't changed later 5474 dataUser.set( elem, key, data ); 5475 } else { 5476 data = undefined; 5477 } 5478 } 5479 return data; 5480} 5481 5482jQuery.extend( { 5483 hasData: function( elem ) { 5484 return dataUser.hasData( elem ) || dataPriv.hasData( elem ); 5485 }, 5486 5487 data: function( elem, name, data ) { 5488 return dataUser.access( elem, name, data ); 5489 }, 5490 5491 removeData: function( elem, name ) { 5492 dataUser.remove( elem, name ); 5493 }, 5494 5495 // TODO: Now that all calls to _data and _removeData have been replaced 5496 // with direct calls to dataPriv methods, these can be deprecated. 5497 _data: function( elem, name, data ) { 5498 return dataPriv.access( elem, name, data ); 5499 }, 5500 5501 _removeData: function( elem, name ) { 5502 dataPriv.remove( elem, name ); 5503 } 5504} ); 5505 5506jQuery.fn.extend( { 5507 data: function( key, value ) { 5508 var i, name, data, 5509 elem = this[ 0 ], 5510 attrs = elem && elem.attributes; 5511 5512 // Gets all values 5513 if ( key === undefined ) { 5514 if ( this.length ) { 5515 data = dataUser.get( elem ); 5516 5517 if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { 5518 i = attrs.length; 5519 while ( i-- ) { 5520 5521 // Support: IE 11 only 5522 // The attrs elements can be null (#14894) 5523 if ( attrs[ i ] ) { 5524 name = attrs[ i ].name; 5525 if ( name.indexOf( "data-" ) === 0 ) { 5526 name = camelCase( name.slice( 5 ) ); 5527 dataAttr( elem, name, data[ name ] ); 5528 } 5529 } 5530 } 5531 dataPriv.set( elem, "hasDataAttrs", true ); 5532 } 5533 } 5534 5535 return data; 5536 } 5537 5538 // Sets multiple values 5539 if ( typeof key === "object" ) { 5540 return this.each( function() { 5541 dataUser.set( this, key ); 5542 } ); 5543 } 5544 5545 return access( this, function( value ) { 5546 var data; 5547 5548 // The calling jQuery object (element matches) is not empty 5549 // (and therefore has an element appears at this[ 0 ]) and the 5550 // `value` parameter was not undefined. An empty jQuery object 5551 // will result in `undefined` for elem = this[ 0 ] which will 5552 // throw an exception if an attempt to read a data cache is made. 5553 if ( elem && value === undefined ) { 5554 5555 // Attempt to get data from the cache 5556 // The key will always be camelCased in Data 5557 data = dataUser.get( elem, key ); 5558 if ( data !== undefined ) { 5559 return data; 5560 } 5561 5562 // Attempt to "discover" the data in 5563 // HTML5 custom data-* attrs 5564 data = dataAttr( elem, key ); 5565 if ( data !== undefined ) { 5566 return data; 5567 } 5568 5569 // We tried really hard, but the data doesn't exist. 5570 return; 5571 } 5572 5573 // Set the data... 5574 this.each( function() { 5575 5576 // We always store the camelCased key 5577 dataUser.set( this, key, value ); 5578 } ); 5579 }, null, value, arguments.length > 1, null, true ); 5580 }, 5581 5582 removeData: function( key ) { 5583 return this.each( function() { 5584 dataUser.remove( this, key ); 5585 } ); 5586 } 5587} ); 5588 5589 5590jQuery.extend( { 5591 queue: function( elem, type, data ) { 5592 var queue; 5593 5594 if ( elem ) { 5595 type = ( type || "fx" ) + "queue"; 5596 queue = dataPriv.get( elem, type ); 5597 5598 // Speed up dequeue by getting out quickly if this is just a lookup 5599 if ( data ) { 5600 if ( !queue || Array.isArray( data ) ) { 5601 queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); 5602 } else { 5603 queue.push( data ); 5604 } 5605 } 5606 return queue || []; 5607 } 5608 }, 5609 5610 dequeue: function( elem, type ) { 5611 type = type || "fx"; 5612 5613 var queue = jQuery.queue( elem, type ), 5614 startLength = queue.length, 5615 fn = queue.shift(), 5616 hooks = jQuery._queueHooks( elem, type ), 5617 next = function() { 5618 jQuery.dequeue( elem, type ); 5619 }; 5620 5621 // If the fx queue is dequeued, always remove the progress sentinel 5622 if ( fn === "inprogress" ) { 5623 fn = queue.shift(); 5624 startLength--; 5625 } 5626 5627 if ( fn ) { 5628 5629 // Add a progress sentinel to prevent the fx queue from being 5630 // automatically dequeued 5631 if ( type === "fx" ) { 5632 queue.unshift( "inprogress" ); 5633 } 5634 5635 // Clear up the last queue stop function 5636 delete hooks.stop; 5637 fn.call( elem, next, hooks ); 5638 } 5639 5640 if ( !startLength && hooks ) { 5641 hooks.empty.fire(); 5642 } 5643 }, 5644 5645 // Not public - generate a queueHooks object, or return the current one 5646 _queueHooks: function( elem, type ) { 5647 var key = type + "queueHooks"; 5648 return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { 5649 empty: jQuery.Callbacks( "once memory" ).add( function() { 5650 dataPriv.remove( elem, [ type + "queue", key ] ); 5651 } ) 5652 } ); 5653 } 5654} ); 5655 5656jQuery.fn.extend( { 5657 queue: function( type, data ) { 5658 var setter = 2; 5659 5660 if ( typeof type !== "string" ) { 5661 data = type; 5662 type = "fx"; 5663 setter--; 5664 } 5665 5666 if ( arguments.length < setter ) { 5667 return jQuery.queue( this[ 0 ], type ); 5668 } 5669 5670 return data === undefined ? 5671 this : 5672 this.each( function() { 5673 var queue = jQuery.queue( this, type, data ); 5674 5675 // Ensure a hooks for this queue 5676 jQuery._queueHooks( this, type ); 5677 5678 if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { 5679 jQuery.dequeue( this, type ); 5680 } 5681 } ); 5682 }, 5683 dequeue: function( type ) { 5684 return this.each( function() { 5685 jQuery.dequeue( this, type ); 5686 } ); 5687 }, 5688 clearQueue: function( type ) { 5689 return this.queue( type || "fx", [] ); 5690 }, 5691 5692 // Get a promise resolved when queues of a certain type 5693 // are emptied (fx is the type by default) 5694 promise: function( type, obj ) { 5695 var tmp, 5696 count = 1, 5697 defer = jQuery.Deferred(), 5698 elements = this, 5699 i = this.length, 5700 resolve = function() { 5701 if ( !( --count ) ) { 5702 defer.resolveWith( elements, [ elements ] ); 5703 } 5704 }; 5705 5706 if ( typeof type !== "string" ) { 5707 obj = type; 5708 type = undefined; 5709 } 5710 type = type || "fx"; 5711 5712 while ( i-- ) { 5713 tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); 5714 if ( tmp && tmp.empty ) { 5715 count++; 5716 tmp.empty.add( resolve ); 5717 } 5718 } 5719 resolve(); 5720 return defer.promise( obj ); 5721 } 5722} ); 5723var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; 5724 5725var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); 5726 5727 5728var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; 5729 5730var documentElement = document.documentElement; 5731 5732 5733 5734 var isAttached = function( elem ) { 5735 return jQuery.contains( elem.ownerDocument, elem ); 5736 }, 5737 composed = { composed: true }; 5738 5739 // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only 5740 // Check attachment across shadow DOM boundaries when possible (gh-3504) 5741 // Support: iOS 10.0-10.2 only 5742 // Early iOS 10 versions support `attachShadow` but not `getRootNode`, 5743 // leading to errors. We need to check for `getRootNode`. 5744 if ( documentElement.getRootNode ) { 5745 isAttached = function( elem ) { 5746 return jQuery.contains( elem.ownerDocument, elem ) || 5747 elem.getRootNode( composed ) === elem.ownerDocument; 5748 }; 5749 } 5750var isHiddenWithinTree = function( elem, el ) { 5751 5752 // isHiddenWithinTree might be called from jQuery#filter function; 5753 // in that case, element will be second argument 5754 elem = el || elem; 5755 5756 // Inline style trumps all 5757 return elem.style.display === "none" || 5758 elem.style.display === "" && 5759 5760 // Otherwise, check computed style 5761 // Support: Firefox <=43 - 45 5762 // Disconnected elements can have computed display: none, so first confirm that elem is 5763 // in the document. 5764 isAttached( elem ) && 5765 5766 jQuery.css( elem, "display" ) === "none"; 5767 }; 5768 5769 5770 5771function adjustCSS( elem, prop, valueParts, tween ) { 5772 var adjusted, scale, 5773 maxIterations = 20, 5774 currentValue = tween ? 5775 function() { 5776 return tween.cur(); 5777 } : 5778 function() { 5779 return jQuery.css( elem, prop, "" ); 5780 }, 5781 initial = currentValue(), 5782 unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), 5783 5784 // Starting value computation is required for potential unit mismatches 5785 initialInUnit = elem.nodeType && 5786 ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && 5787 rcssNum.exec( jQuery.css( elem, prop ) ); 5788 5789 if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { 5790 5791 // Support: Firefox <=54 5792 // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) 5793 initial = initial / 2; 5794 5795 // Trust units reported by jQuery.css 5796 unit = unit || initialInUnit[ 3 ]; 5797 5798 // Iteratively approximate from a nonzero starting point 5799 initialInUnit = +initial || 1; 5800 5801 while ( maxIterations-- ) { 5802 5803 // Evaluate and update our best guess (doubling guesses that zero out). 5804 // Finish if the scale equals or crosses 1 (making the old*new product non-positive). 5805 jQuery.style( elem, prop, initialInUnit + unit ); 5806 if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { 5807 maxIterations = 0; 5808 } 5809 initialInUnit = initialInUnit / scale; 5810 5811 } 5812 5813 initialInUnit = initialInUnit * 2; 5814 jQuery.style( elem, prop, initialInUnit + unit ); 5815 5816 // Make sure we update the tween properties later on 5817 valueParts = valueParts || []; 5818 } 5819 5820 if ( valueParts ) { 5821 initialInUnit = +initialInUnit || +initial || 0; 5822 5823 // Apply relative offset (+=/-=) if specified 5824 adjusted = valueParts[ 1 ] ? 5825 initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : 5826 +valueParts[ 2 ]; 5827 if ( tween ) { 5828 tween.unit = unit; 5829 tween.start = initialInUnit; 5830 tween.end = adjusted; 5831 } 5832 } 5833 return adjusted; 5834} 5835 5836 5837var defaultDisplayMap = {}; 5838 5839function getDefaultDisplay( elem ) { 5840 var temp, 5841 doc = elem.ownerDocument, 5842 nodeName = elem.nodeName, 5843 display = defaultDisplayMap[ nodeName ]; 5844 5845 if ( display ) { 5846 return display; 5847 } 5848 5849 temp = doc.body.appendChild( doc.createElement( nodeName ) ); 5850 display = jQuery.css( temp, "display" ); 5851 5852 temp.parentNode.removeChild( temp ); 5853 5854 if ( display === "none" ) { 5855 display = "block"; 5856 } 5857 defaultDisplayMap[ nodeName ] = display; 5858 5859 return display; 5860} 5861 5862function showHide( elements, show ) { 5863 var display, elem, 5864 values = [], 5865 index = 0, 5866 length = elements.length; 5867 5868 // Determine new display value for elements that need to change 5869 for ( ; index < length; index++ ) { 5870 elem = elements[ index ]; 5871 if ( !elem.style ) { 5872 continue; 5873 } 5874 5875 display = elem.style.display; 5876 if ( show ) { 5877 5878 // Since we force visibility upon cascade-hidden elements, an immediate (and slow) 5879 // check is required in this first loop unless we have a nonempty display value (either 5880 // inline or about-to-be-restored) 5881 if ( display === "none" ) { 5882 values[ index ] = dataPriv.get( elem, "display" ) || null; 5883 if ( !values[ index ] ) { 5884 elem.style.display = ""; 5885 } 5886 } 5887 if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { 5888 values[ index ] = getDefaultDisplay( elem ); 5889 } 5890 } else { 5891 if ( display !== "none" ) { 5892 values[ index ] = "none"; 5893 5894 // Remember what we're overwriting 5895 dataPriv.set( elem, "display", display ); 5896 } 5897 } 5898 } 5899 5900 // Set the display of the elements in a second loop to avoid constant reflow 5901 for ( index = 0; index < length; index++ ) { 5902 if ( values[ index ] != null ) { 5903 elements[ index ].style.display = values[ index ]; 5904 } 5905 } 5906 5907 return elements; 5908} 5909 5910jQuery.fn.extend( { 5911 show: function() { 5912 return showHide( this, true ); 5913 }, 5914 hide: function() { 5915 return showHide( this ); 5916 }, 5917 toggle: function( state ) { 5918 if ( typeof state === "boolean" ) { 5919 return state ? this.show() : this.hide(); 5920 } 5921 5922 return this.each( function() { 5923 if ( isHiddenWithinTree( this ) ) { 5924 jQuery( this ).show(); 5925 } else { 5926 jQuery( this ).hide(); 5927 } 5928 } ); 5929 } 5930} ); 5931var rcheckableType = ( /^(?:checkbox|radio)$/i ); 5932 5933var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); 5934 5935var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); 5936 5937 5938 5939( function() { 5940 var fragment = document.createDocumentFragment(), 5941 div = fragment.appendChild( document.createElement( "div" ) ), 5942 input = document.createElement( "input" ); 5943 5944 // Support: Android 4.0 - 4.3 only 5945 // Check state lost if the name is set (#11217) 5946 // Support: Windows Web Apps (WWA) 5947 // `name` and `type` must use .setAttribute for WWA (#14901) 5948 input.setAttribute( "type", "radio" ); 5949 input.setAttribute( "checked", "checked" ); 5950 input.setAttribute( "name", "t" ); 5951 5952 div.appendChild( input ); 5953 5954 // Support: Android <=4.1 only 5955 // Older WebKit doesn't clone checked state correctly in fragments 5956 support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; 5957 5958 // Support: IE <=11 only 5959 // Make sure textarea (and checkbox) defaultValue is properly cloned 5960 div.innerHTML = "<textarea>x</textarea>"; 5961 support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; 5962 5963 // Support: IE <=9 only 5964 // IE <=9 replaces <option> tags with their contents when inserted outside of 5965 // the select element. 5966 div.innerHTML = "<option></option>"; 5967 support.option = !!div.lastChild; 5968} )(); 5969 5970 5971// We have to close these tags to support XHTML (#13200) 5972var wrapMap = { 5973 5974 // XHTML parsers do not magically insert elements in the 5975 // same way that tag soup parsers do. So we cannot shorten 5976 // this by omitting <tbody> or other required elements. 5977 thead: [ 1, "<table>", "</table>" ], 5978 col: [ 2, "<table><colgroup>", "</colgroup></table>" ], 5979 tr: [ 2, "<table><tbody>", "</tbody></table>" ], 5980 td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], 5981 5982 _default: [ 0, "", "" ] 5983}; 5984 5985wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; 5986wrapMap.th = wrapMap.td; 5987 5988// Support: IE <=9 only 5989if ( !support.option ) { 5990 wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ]; 5991} 5992 5993 5994function getAll( context, tag ) { 5995 5996 // Support: IE <=9 - 11 only 5997 // Use typeof to avoid zero-argument method invocation on host objects (#15151) 5998 var ret; 5999 6000 if ( typeof context.getElementsByTagName !== "undefined" ) { 6001 ret = context.getElementsByTagName( tag || "*" ); 6002 6003 } else if ( typeof context.querySelectorAll !== "undefined" ) { 6004 ret = context.querySelectorAll( tag || "*" ); 6005 6006 } else { 6007 ret = []; 6008 } 6009 6010 if ( tag === undefined || tag && nodeName( context, tag ) ) { 6011 return jQuery.merge( [ context ], ret ); 6012 } 6013 6014 return ret; 6015} 6016 6017 6018// Mark scripts as having already been evaluated 6019function setGlobalEval( elems, refElements ) { 6020 var i = 0, 6021 l = elems.length; 6022 6023 for ( ; i < l; i++ ) { 6024 dataPriv.set( 6025 elems[ i ], 6026 "globalEval", 6027 !refElements || dataPriv.get( refElements[ i ], "globalEval" ) 6028 ); 6029 } 6030} 6031 6032 6033var rhtml = /<|&#?\w+;/; 6034 6035function buildFragment( elems, context, scripts, selection, ignored ) { 6036 var elem, tmp, tag, wrap, attached, j, 6037 fragment = context.createDocumentFragment(), 6038 nodes = [], 6039 i = 0, 6040 l = elems.length; 6041 6042 for ( ; i < l; i++ ) { 6043 elem = elems[ i ]; 6044 6045 if ( elem || elem === 0 ) { 6046 6047 // Add nodes directly 6048 if ( toType( elem ) === "object" ) { 6049 6050 // Support: Android <=4.0 only, PhantomJS 1 only 6051 // push.apply(_, arraylike) throws on ancient WebKit 6052 jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); 6053 6054 // Convert non-html into a text node 6055 } else if ( !rhtml.test( elem ) ) { 6056 nodes.push( context.createTextNode( elem ) ); 6057 6058 // Convert html into DOM nodes 6059 } else { 6060 tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); 6061 6062 // Deserialize a standard representation 6063 tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); 6064 wrap = wrapMap[ tag ] || wrapMap._default; 6065 tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; 6066 6067 // Descend through wrappers to the right content 6068 j = wrap[ 0 ]; 6069 while ( j-- ) { 6070 tmp = tmp.lastChild; 6071 } 6072 6073 // Support: Android <=4.0 only, PhantomJS 1 only 6074 // push.apply(_, arraylike) throws on ancient WebKit 6075 jQuery.merge( nodes, tmp.childNodes ); 6076 6077 // Remember the top-level container 6078 tmp = fragment.firstChild; 6079 6080 // Ensure the created nodes are orphaned (#12392) 6081 tmp.textContent = ""; 6082 } 6083 } 6084 } 6085 6086 // Remove wrapper from fragment 6087 fragment.textContent = ""; 6088 6089 i = 0; 6090 while ( ( elem = nodes[ i++ ] ) ) { 6091 6092 // Skip elements already in the context collection (trac-4087) 6093 if ( selection && jQuery.inArray( elem, selection ) > -1 ) { 6094 if ( ignored ) { 6095 ignored.push( elem ); 6096 } 6097 continue; 6098 } 6099 6100 attached = isAttached( elem ); 6101 6102 // Append to fragment 6103 tmp = getAll( fragment.appendChild( elem ), "script" ); 6104 6105 // Preserve script evaluation history 6106 if ( attached ) { 6107 setGlobalEval( tmp ); 6108 } 6109 6110 // Capture executables 6111 if ( scripts ) { 6112 j = 0; 6113 while ( ( elem = tmp[ j++ ] ) ) { 6114 if ( rscriptType.test( elem.type || "" ) ) { 6115 scripts.push( elem ); 6116 } 6117 } 6118 } 6119 } 6120 6121 return fragment; 6122} 6123 6124 6125var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; 6126 6127function returnTrue() { 6128 return true; 6129} 6130 6131function returnFalse() { 6132 return false; 6133} 6134 6135// Support: IE <=9 - 11+ 6136// focus() and blur() are asynchronous, except when they are no-op. 6137// So expect focus to be synchronous when the element is already active, 6138// and blur to be synchronous when the element is not already active. 6139// (focus and blur are always synchronous in other supported browsers, 6140// this just defines when we can count on it). 6141function expectSync( elem, type ) { 6142 return ( elem === safeActiveElement() ) === ( type === "focus" ); 6143} 6144 6145// Support: IE <=9 only 6146// Accessing document.activeElement can throw unexpectedly 6147// https://bugs.jquery.com/ticket/13393 6148function safeActiveElement() { 6149 try { 6150 return document.activeElement; 6151 } catch ( err ) { } 6152} 6153 6154function on( elem, types, selector, data, fn, one ) { 6155 var origFn, type; 6156 6157 // Types can be a map of types/handlers 6158 if ( typeof types === "object" ) { 6159 6160 // ( types-Object, selector, data ) 6161 if ( typeof selector !== "string" ) { 6162 6163 // ( types-Object, data ) 6164 data = data || selector; 6165 selector = undefined; 6166 } 6167 for ( type in types ) { 6168 on( elem, type, selector, data, types[ type ], one ); 6169 } 6170 return elem; 6171 } 6172 6173 if ( data == null && fn == null ) { 6174 6175 // ( types, fn ) 6176 fn = selector; 6177 data = selector = undefined; 6178 } else if ( fn == null ) { 6179 if ( typeof selector === "string" ) { 6180 6181 // ( types, selector, fn ) 6182 fn = data; 6183 data = undefined; 6184 } else { 6185 6186 // ( types, data, fn ) 6187 fn = data; 6188 data = selector; 6189 selector = undefined; 6190 } 6191 } 6192 if ( fn === false ) { 6193 fn = returnFalse; 6194 } else if ( !fn ) { 6195 return elem; 6196 } 6197 6198 if ( one === 1 ) { 6199 origFn = fn; 6200 fn = function( event ) { 6201 6202 // Can use an empty set, since event contains the info 6203 jQuery().off( event ); 6204 return origFn.apply( this, arguments ); 6205 }; 6206 6207 // Use same guid so caller can remove using origFn 6208 fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); 6209 } 6210 return elem.each( function() { 6211 jQuery.event.add( this, types, fn, data, selector ); 6212 } ); 6213} 6214 6215/* 6216 * Helper functions for managing events -- not part of the public interface. 6217 * Props to Dean Edwards' addEvent library for many of the ideas. 6218 */ 6219jQuery.event = { 6220 6221 global: {}, 6222 6223 add: function( elem, types, handler, data, selector ) { 6224 6225 var handleObjIn, eventHandle, tmp, 6226 events, t, handleObj, 6227 special, handlers, type, namespaces, origType, 6228 elemData = dataPriv.get( elem ); 6229 6230 // Only attach events to objects that accept data 6231 if ( !acceptData( elem ) ) { 6232 return; 6233 } 6234 6235 // Caller can pass in an object of custom data in lieu of the handler 6236 if ( handler.handler ) { 6237 handleObjIn = handler; 6238 handler = handleObjIn.handler; 6239 selector = handleObjIn.selector; 6240 } 6241 6242 // Ensure that invalid selectors throw exceptions at attach time 6243 // Evaluate against documentElement in case elem is a non-element node (e.g., document) 6244 if ( selector ) { 6245 jQuery.find.matchesSelector( documentElement, selector ); 6246 } 6247 6248 // Make sure that the handler has a unique ID, used to find/remove it later 6249 if ( !handler.guid ) { 6250 handler.guid = jQuery.guid++; 6251 } 6252 6253 // Init the element's event structure and main handler, if this is the first 6254 if ( !( events = elemData.events ) ) { 6255 events = elemData.events = Object.create( null ); 6256 } 6257 if ( !( eventHandle = elemData.handle ) ) { 6258 eventHandle = elemData.handle = function( e ) { 6259 6260 // Discard the second event of a jQuery.event.trigger() and 6261 // when an event is called after a page has unloaded 6262 return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? 6263 jQuery.event.dispatch.apply( elem, arguments ) : undefined; 6264 }; 6265 } 6266 6267 // Handle multiple events separated by a space 6268 types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; 6269 t = types.length; 6270 while ( t-- ) { 6271 tmp = rtypenamespace.exec( types[ t ] ) || []; 6272 type = origType = tmp[ 1 ]; 6273 namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); 6274 6275 // There *must* be a type, no attaching namespace-only handlers 6276 if ( !type ) { 6277 continue; 6278 } 6279 6280 // If event changes its type, use the special event handlers for the changed type 6281 special = jQuery.event.special[ type ] || {}; 6282 6283 // If selector defined, determine special event api type, otherwise given type 6284 type = ( selector ? special.delegateType : special.bindType ) || type; 6285 6286 // Update special based on newly reset type 6287 special = jQuery.event.special[ type ] || {}; 6288 6289 // handleObj is passed to all event handlers 6290 handleObj = jQuery.extend( { 6291 type: type, 6292 origType: origType, 6293 data: data, 6294 handler: handler, 6295 guid: handler.guid, 6296 selector: selector, 6297 needsContext: selector && jQuery.expr.match.needsContext.test( selector ), 6298 namespace: namespaces.join( "." ) 6299 }, handleObjIn ); 6300 6301 // Init the event handler queue if we're the first 6302 if ( !( handlers = events[ type ] ) ) { 6303 handlers = events[ type ] = []; 6304 handlers.delegateCount = 0; 6305 6306 // Only use addEventListener if the special events handler returns false 6307 if ( !special.setup || 6308 special.setup.call( elem, data, namespaces, eventHandle ) === false ) { 6309 6310 if ( elem.addEventListener ) { 6311 elem.addEventListener( type, eventHandle ); 6312 } 6313 } 6314 } 6315 6316 if ( special.add ) { 6317 special.add.call( elem, handleObj ); 6318 6319 if ( !handleObj.handler.guid ) { 6320 handleObj.handler.guid = handler.guid; 6321 } 6322 } 6323 6324 // Add to the element's handler list, delegates in front 6325 if ( selector ) { 6326 handlers.splice( handlers.delegateCount++, 0, handleObj ); 6327 } else { 6328 handlers.push( handleObj ); 6329 } 6330 6331 // Keep track of which events have ever been used, for event optimization 6332 jQuery.event.global[ type ] = true; 6333 } 6334 6335 }, 6336 6337 // Detach an event or set of events from an element 6338 remove: function( elem, types, handler, selector, mappedTypes ) { 6339 6340 var j, origCount, tmp, 6341 events, t, handleObj, 6342 special, handlers, type, namespaces, origType, 6343 elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); 6344 6345 if ( !elemData || !( events = elemData.events ) ) { 6346 return; 6347 } 6348 6349 // Once for each type.namespace in types; type may be omitted 6350 types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; 6351 t = types.length; 6352 while ( t-- ) { 6353 tmp = rtypenamespace.exec( types[ t ] ) || []; 6354 type = origType = tmp[ 1 ]; 6355 namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); 6356 6357 // Unbind all events (on this namespace, if provided) for the element 6358 if ( !type ) { 6359 for ( type in events ) { 6360 jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); 6361 } 6362 continue; 6363 } 6364 6365 special = jQuery.event.special[ type ] || {}; 6366 type = ( selector ? special.delegateType : special.bindType ) || type; 6367 handlers = events[ type ] || []; 6368 tmp = tmp[ 2 ] && 6369 new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); 6370 6371 // Remove matching events 6372 origCount = j = handlers.length; 6373 while ( j-- ) { 6374 handleObj = handlers[ j ]; 6375 6376 if ( ( mappedTypes || origType === handleObj.origType ) && 6377 ( !handler || handler.guid === handleObj.guid ) && 6378 ( !tmp || tmp.test( handleObj.namespace ) ) && 6379 ( !selector || selector === handleObj.selector || 6380 selector === "**" && handleObj.selector ) ) { 6381 handlers.splice( j, 1 ); 6382 6383 if ( handleObj.selector ) { 6384 handlers.delegateCount--; 6385 } 6386 if ( special.remove ) { 6387 special.remove.call( elem, handleObj ); 6388 } 6389 } 6390 } 6391 6392 // Remove generic event handler if we removed something and no more handlers exist 6393 // (avoids potential for endless recursion during removal of special event handlers) 6394 if ( origCount && !handlers.length ) { 6395 if ( !special.teardown || 6396 special.teardown.call( elem, namespaces, elemData.handle ) === false ) { 6397 6398 jQuery.removeEvent( elem, type, elemData.handle ); 6399 } 6400 6401 delete events[ type ]; 6402 } 6403 } 6404 6405 // Remove data and the expando if it's no longer used 6406 if ( jQuery.isEmptyObject( events ) ) { 6407 dataPriv.remove( elem, "handle events" ); 6408 } 6409 }, 6410 6411 dispatch: function( nativeEvent ) { 6412 6413 var i, j, ret, matched, handleObj, handlerQueue, 6414 args = new Array( arguments.length ), 6415 6416 // Make a writable jQuery.Event from the native event object 6417 event = jQuery.event.fix( nativeEvent ), 6418 6419 handlers = ( 6420 dataPriv.get( this, "events" ) || Object.create( null ) 6421 )[ event.type ] || [], 6422 special = jQuery.event.special[ event.type ] || {}; 6423 6424 // Use the fix-ed jQuery.Event rather than the (read-only) native event 6425 args[ 0 ] = event; 6426 6427 for ( i = 1; i < arguments.length; i++ ) { 6428 args[ i ] = arguments[ i ]; 6429 } 6430 6431 event.delegateTarget = this; 6432 6433 // Call the preDispatch hook for the mapped type, and let it bail if desired 6434 if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { 6435 return; 6436 } 6437 6438 // Determine handlers 6439 handlerQueue = jQuery.event.handlers.call( this, event, handlers ); 6440 6441 // Run delegates first; they may want to stop propagation beneath us 6442 i = 0; 6443 while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { 6444 event.currentTarget = matched.elem; 6445 6446 j = 0; 6447 while ( ( handleObj = matched.handlers[ j++ ] ) && 6448 !event.isImmediatePropagationStopped() ) { 6449 6450 // If the event is namespaced, then each handler is only invoked if it is 6451 // specially universal or its namespaces are a superset of the event's. 6452 if ( !event.rnamespace || handleObj.namespace === false || 6453 event.rnamespace.test( handleObj.namespace ) ) { 6454 6455 event.handleObj = handleObj; 6456 event.data = handleObj.data; 6457 6458 ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || 6459 handleObj.handler ).apply( matched.elem, args ); 6460 6461 if ( ret !== undefined ) { 6462 if ( ( event.result = ret ) === false ) { 6463 event.preventDefault(); 6464 event.stopPropagation(); 6465 } 6466 } 6467 } 6468 } 6469 } 6470 6471 // Call the postDispatch hook for the mapped type 6472 if ( special.postDispatch ) { 6473 special.postDispatch.call( this, event ); 6474 } 6475 6476 return event.result; 6477 }, 6478 6479 handlers: function( event, handlers ) { 6480 var i, handleObj, sel, matchedHandlers, matchedSelectors, 6481 handlerQueue = [], 6482 delegateCount = handlers.delegateCount, 6483 cur = event.target; 6484 6485 // Find delegate handlers 6486 if ( delegateCount && 6487 6488 // Support: IE <=9 6489 // Black-hole SVG <use> instance trees (trac-13180) 6490 cur.nodeType && 6491 6492 // Support: Firefox <=42 6493 // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) 6494 // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click 6495 // Support: IE 11 only 6496 // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) 6497 !( event.type === "click" && event.button >= 1 ) ) { 6498 6499 for ( ; cur !== this; cur = cur.parentNode || this ) { 6500 6501 // Don't check non-elements (#13208) 6502 // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) 6503 if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { 6504 matchedHandlers = []; 6505 matchedSelectors = {}; 6506 for ( i = 0; i < delegateCount; i++ ) { 6507 handleObj = handlers[ i ]; 6508 6509 // Don't conflict with Object.prototype properties (#13203) 6510 sel = handleObj.selector + " "; 6511 6512 if ( matchedSelectors[ sel ] === undefined ) { 6513 matchedSelectors[ sel ] = handleObj.needsContext ? 6514 jQuery( sel, this ).index( cur ) > -1 : 6515 jQuery.find( sel, this, null, [ cur ] ).length; 6516 } 6517 if ( matchedSelectors[ sel ] ) { 6518 matchedHandlers.push( handleObj ); 6519 } 6520 } 6521 if ( matchedHandlers.length ) { 6522 handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); 6523 } 6524 } 6525 } 6526 } 6527 6528 // Add the remaining (directly-bound) handlers 6529 cur = this; 6530 if ( delegateCount < handlers.length ) { 6531 handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); 6532 } 6533 6534 return handlerQueue; 6535 }, 6536 6537 addProp: function( name, hook ) { 6538 Object.defineProperty( jQuery.Event.prototype, name, { 6539 enumerable: true, 6540 configurable: true, 6541 6542 get: isFunction( hook ) ? 6543 function() { 6544 if ( this.originalEvent ) { 6545 return hook( this.originalEvent ); 6546 } 6547 } : 6548 function() { 6549 if ( this.originalEvent ) { 6550 return this.originalEvent[ name ]; 6551 } 6552 }, 6553 6554 set: function( value ) { 6555 Object.defineProperty( this, name, { 6556 enumerable: true, 6557 configurable: true, 6558 writable: true, 6559 value: value 6560 } ); 6561 } 6562 } ); 6563 }, 6564 6565 fix: function( originalEvent ) { 6566 return originalEvent[ jQuery.expando ] ? 6567 originalEvent : 6568 new jQuery.Event( originalEvent ); 6569 }, 6570 6571 special: { 6572 load: { 6573 6574 // Prevent triggered image.load events from bubbling to window.load 6575 noBubble: true 6576 }, 6577 click: { 6578 6579 // Utilize native event to ensure correct state for checkable inputs 6580 setup: function( data ) { 6581 6582 // For mutual compressibility with _default, replace `this` access with a local var. 6583 // `|| data` is dead code meant only to preserve the variable through minification. 6584 var el = this || data; 6585 6586 // Claim the first handler 6587 if ( rcheckableType.test( el.type ) && 6588 el.click && nodeName( el, "input" ) ) { 6589 6590 // dataPriv.set( el, "click", ... ) 6591 leverageNative( el, "click", returnTrue ); 6592 } 6593 6594 // Return false to allow normal processing in the caller 6595 return false; 6596 }, 6597 trigger: function( data ) { 6598 6599 // For mutual compressibility with _default, replace `this` access with a local var. 6600 // `|| data` is dead code meant only to preserve the variable through minification. 6601 var el = this || data; 6602 6603 // Force setup before triggering a click 6604 if ( rcheckableType.test( el.type ) && 6605 el.click && nodeName( el, "input" ) ) { 6606 6607 leverageNative( el, "click" ); 6608 } 6609 6610 // Return non-false to allow normal event-path propagation 6611 return true; 6612 }, 6613 6614 // For cross-browser consistency, suppress native .click() on links 6615 // Also prevent it if we're currently inside a leveraged native-event stack 6616 _default: function( event ) { 6617 var target = event.target; 6618 return rcheckableType.test( target.type ) && 6619 target.click && nodeName( target, "input" ) && 6620 dataPriv.get( target, "click" ) || 6621 nodeName( target, "a" ); 6622 } 6623 }, 6624 6625 beforeunload: { 6626 postDispatch: function( event ) { 6627 6628 // Support: Firefox 20+ 6629 // Firefox doesn't alert if the returnValue field is not set. 6630 if ( event.result !== undefined && event.originalEvent ) { 6631 event.originalEvent.returnValue = event.result; 6632 } 6633 } 6634 } 6635 } 6636}; 6637 6638// Ensure the presence of an event listener that handles manually-triggered 6639// synthetic events by interrupting progress until reinvoked in response to 6640// *native* events that it fires directly, ensuring that state changes have 6641// already occurred before other listeners are invoked. 6642function leverageNative( el, type, expectSync ) { 6643 6644 // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add 6645 if ( !expectSync ) { 6646 if ( dataPriv.get( el, type ) === undefined ) { 6647 jQuery.event.add( el, type, returnTrue ); 6648 } 6649 return; 6650 } 6651 6652 // Register the controller as a special universal handler for all event namespaces 6653 dataPriv.set( el, type, false ); 6654 jQuery.event.add( el, type, { 6655 namespace: false, 6656 handler: function( event ) { 6657 var notAsync, result, 6658 saved = dataPriv.get( this, type ); 6659 6660 if ( ( event.isTrigger & 1 ) && this[ type ] ) { 6661 6662 // Interrupt processing of the outer synthetic .trigger()ed event 6663 // Saved data should be false in such cases, but might be a leftover capture object 6664 // from an async native handler (gh-4350) 6665 if ( !saved.length ) { 6666 6667 // Store arguments for use when handling the inner native event 6668 // There will always be at least one argument (an event object), so this array 6669 // will not be confused with a leftover capture object. 6670 saved = slice.call( arguments ); 6671 dataPriv.set( this, type, saved ); 6672 6673 // Trigger the native event and capture its result 6674 // Support: IE <=9 - 11+ 6675 // focus() and blur() are asynchronous 6676 notAsync = expectSync( this, type ); 6677 this[ type ](); 6678 result = dataPriv.get( this, type ); 6679 if ( saved !== result || notAsync ) { 6680 dataPriv.set( this, type, false ); 6681 } else { 6682 result = {}; 6683 } 6684 if ( saved !== result ) { 6685 6686 // Cancel the outer synthetic event 6687 event.stopImmediatePropagation(); 6688 event.preventDefault(); 6689 6690 // Support: Chrome 86+ 6691 // In Chrome, if an element having a focusout handler is blurred by 6692 // clicking outside of it, it invokes the handler synchronously. If 6693 // that handler calls `.remove()` on the element, the data is cleared, 6694 // leaving `result` undefined. We need to guard against this. 6695 return result && result.value; 6696 } 6697 6698 // If this is an inner synthetic event for an event with a bubbling surrogate 6699 // (focus or blur), assume that the surrogate already propagated from triggering the 6700 // native event and prevent that from happening again here. 6701 // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the 6702 // bubbling surrogate propagates *after* the non-bubbling base), but that seems 6703 // less bad than duplication. 6704 } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { 6705 event.stopPropagation(); 6706 } 6707 6708 // If this is a native event triggered above, everything is now in order 6709 // Fire an inner synthetic event with the original arguments 6710 } else if ( saved.length ) { 6711 6712 // ...and capture the result 6713 dataPriv.set( this, type, { 6714 value: jQuery.event.trigger( 6715 6716 // Support: IE <=9 - 11+ 6717 // Extend with the prototype to reset the above stopImmediatePropagation() 6718 jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), 6719 saved.slice( 1 ), 6720 this 6721 ) 6722 } ); 6723 6724 // Abort handling of the native event 6725 event.stopImmediatePropagation(); 6726 } 6727 } 6728 } ); 6729} 6730 6731jQuery.removeEvent = function( elem, type, handle ) { 6732 6733 // This "if" is needed for plain objects 6734 if ( elem.removeEventListener ) { 6735 elem.removeEventListener( type, handle ); 6736 } 6737}; 6738 6739jQuery.Event = function( src, props ) { 6740 6741 // Allow instantiation without the 'new' keyword 6742 if ( !( this instanceof jQuery.Event ) ) { 6743 return new jQuery.Event( src, props ); 6744 } 6745 6746 // Event object 6747 if ( src && src.type ) { 6748 this.originalEvent = src; 6749 this.type = src.type; 6750 6751 // Events bubbling up the document may have been marked as prevented 6752 // by a handler lower down the tree; reflect the correct value. 6753 this.isDefaultPrevented = src.defaultPrevented || 6754 src.defaultPrevented === undefined && 6755 6756 // Support: Android <=2.3 only 6757 src.returnValue === false ? 6758 returnTrue : 6759 returnFalse; 6760 6761 // Create target properties 6762 // Support: Safari <=6 - 7 only 6763 // Target should not be a text node (#504, #13143) 6764 this.target = ( src.target && src.target.nodeType === 3 ) ? 6765 src.target.parentNode : 6766 src.target; 6767 6768 this.currentTarget = src.currentTarget; 6769 this.relatedTarget = src.relatedTarget; 6770 6771 // Event type 6772 } else { 6773 this.type = src; 6774 } 6775 6776 // Put explicitly provided properties onto the event object 6777 if ( props ) { 6778 jQuery.extend( this, props ); 6779 } 6780 6781 // Create a timestamp if incoming event doesn't have one 6782 this.timeStamp = src && src.timeStamp || Date.now(); 6783 6784 // Mark it as fixed 6785 this[ jQuery.expando ] = true; 6786}; 6787 6788// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding 6789// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html 6790jQuery.Event.prototype = { 6791 constructor: jQuery.Event, 6792 isDefaultPrevented: returnFalse, 6793 isPropagationStopped: returnFalse, 6794 isImmediatePropagationStopped: returnFalse, 6795 isSimulated: false, 6796 6797 preventDefault: function() { 6798 var e = this.originalEvent; 6799 6800 this.isDefaultPrevented = returnTrue; 6801 6802 if ( e && !this.isSimulated ) { 6803 e.preventDefault(); 6804 } 6805 }, 6806 stopPropagation: function() { 6807 var e = this.originalEvent; 6808 6809 this.isPropagationStopped = returnTrue; 6810 6811 if ( e && !this.isSimulated ) { 6812 e.stopPropagation(); 6813 } 6814 }, 6815 stopImmediatePropagation: function() { 6816 var e = this.originalEvent; 6817 6818 this.isImmediatePropagationStopped = returnTrue; 6819 6820 if ( e && !this.isSimulated ) { 6821 e.stopImmediatePropagation(); 6822 } 6823 6824 this.stopPropagation(); 6825 } 6826}; 6827 6828// Includes all common event props including KeyEvent and MouseEvent specific props 6829jQuery.each( { 6830 altKey: true, 6831 bubbles: true, 6832 cancelable: true, 6833 changedTouches: true, 6834 ctrlKey: true, 6835 detail: true, 6836 eventPhase: true, 6837 metaKey: true, 6838 pageX: true, 6839 pageY: true, 6840 shiftKey: true, 6841 view: true, 6842 "char": true, 6843 code: true, 6844 charCode: true, 6845 key: true, 6846 keyCode: true, 6847 button: true, 6848 buttons: true, 6849 clientX: true, 6850 clientY: true, 6851 offsetX: true, 6852 offsetY: true, 6853 pointerId: true, 6854 pointerType: true, 6855 screenX: true, 6856 screenY: true, 6857 targetTouches: true, 6858 toElement: true, 6859 touches: true, 6860 which: true 6861}, jQuery.event.addProp ); 6862 6863jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { 6864 jQuery.event.special[ type ] = { 6865 6866 // Utilize native event if possible so blur/focus sequence is correct 6867 setup: function() { 6868 6869 // Claim the first handler 6870 // dataPriv.set( this, "focus", ... ) 6871 // dataPriv.set( this, "blur", ... ) 6872 leverageNative( this, type, expectSync ); 6873 6874 // Return false to allow normal processing in the caller 6875 return false; 6876 }, 6877 trigger: function() { 6878 6879 // Force setup before trigger 6880 leverageNative( this, type ); 6881 6882 // Return non-false to allow normal event-path propagation 6883 return true; 6884 }, 6885 6886 // Suppress native focus or blur as it's already being fired 6887 // in leverageNative. 6888 _default: function() { 6889 return true; 6890 }, 6891 6892 delegateType: delegateType 6893 }; 6894} ); 6895 6896// Create mouseenter/leave events using mouseover/out and event-time checks 6897// so that event delegation works in jQuery. 6898// Do the same for pointerenter/pointerleave and pointerover/pointerout 6899// 6900// Support: Safari 7 only 6901// Safari sends mouseenter too often; see: 6902// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 6903// for the description of the bug (it existed in older Chrome versions as well). 6904jQuery.each( { 6905 mouseenter: "mouseover", 6906 mouseleave: "mouseout", 6907 pointerenter: "pointerover", 6908 pointerleave: "pointerout" 6909}, function( orig, fix ) { 6910 jQuery.event.special[ orig ] = { 6911 delegateType: fix, 6912 bindType: fix, 6913 6914 handle: function( event ) { 6915 var ret, 6916 target = this, 6917 related = event.relatedTarget, 6918 handleObj = event.handleObj; 6919 6920 // For mouseenter/leave call the handler if related is outside the target. 6921 // NB: No relatedTarget if the mouse left/entered the browser window 6922 if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { 6923 event.type = handleObj.origType; 6924 ret = handleObj.handler.apply( this, arguments ); 6925 event.type = fix; 6926 } 6927 return ret; 6928 } 6929 }; 6930} ); 6931 6932jQuery.fn.extend( { 6933 6934 on: function( types, selector, data, fn ) { 6935 return on( this, types, selector, data, fn ); 6936 }, 6937 one: function( types, selector, data, fn ) { 6938 return on( this, types, selector, data, fn, 1 ); 6939 }, 6940 off: function( types, selector, fn ) { 6941 var handleObj, type; 6942 if ( types && types.preventDefault && types.handleObj ) { 6943 6944 // ( event ) dispatched jQuery.Event 6945 handleObj = types.handleObj; 6946 jQuery( types.delegateTarget ).off( 6947 handleObj.namespace ? 6948 handleObj.origType + "." + handleObj.namespace : 6949 handleObj.origType, 6950 handleObj.selector, 6951 handleObj.handler 6952 ); 6953 return this; 6954 } 6955 if ( typeof types === "object" ) { 6956 6957 // ( types-object [, selector] ) 6958 for ( type in types ) { 6959 this.off( type, selector, types[ type ] ); 6960 } 6961 return this; 6962 } 6963 if ( selector === false || typeof selector === "function" ) { 6964 6965 // ( types [, fn] ) 6966 fn = selector; 6967 selector = undefined; 6968 } 6969 if ( fn === false ) { 6970 fn = returnFalse; 6971 } 6972 return this.each( function() { 6973 jQuery.event.remove( this, types, fn, selector ); 6974 } ); 6975 } 6976} ); 6977 6978 6979var 6980 6981 // Support: IE <=10 - 11, Edge 12 - 13 only 6982 // In IE/Edge using regex groups here causes severe slowdowns. 6983 // See https://connect.microsoft.com/IE/feedback/details/1736512/ 6984 rnoInnerhtml = /<script|<style|<link/i, 6985 6986 // checked="checked" or checked 6987 rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, 6988 rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; 6989 6990// Prefer a tbody over its parent table for containing new rows 6991function manipulationTarget( elem, content ) { 6992 if ( nodeName( elem, "table" ) && 6993 nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { 6994 6995 return jQuery( elem ).children( "tbody" )[ 0 ] || elem; 6996 } 6997 6998 return elem; 6999} 7000 7001// Replace/restore the type attribute of script elements for safe DOM manipulation 7002function disableScript( elem ) { 7003 elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; 7004 return elem; 7005} 7006function restoreScript( elem ) { 7007 if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { 7008 elem.type = elem.type.slice( 5 ); 7009 } else { 7010 elem.removeAttribute( "type" ); 7011 } 7012 7013 return elem; 7014} 7015 7016function cloneCopyEvent( src, dest ) { 7017 var i, l, type, pdataOld, udataOld, udataCur, events; 7018 7019 if ( dest.nodeType !== 1 ) { 7020 return; 7021 } 7022 7023 // 1. Copy private data: events, handlers, etc. 7024 if ( dataPriv.hasData( src ) ) { 7025 pdataOld = dataPriv.get( src ); 7026 events = pdataOld.events; 7027 7028 if ( events ) { 7029 dataPriv.remove( dest, "handle events" ); 7030 7031 for ( type in events ) { 7032 for ( i = 0, l = events[ type ].length; i < l; i++ ) { 7033 jQuery.event.add( dest, type, events[ type ][ i ] ); 7034 } 7035 } 7036 } 7037 } 7038 7039 // 2. Copy user data 7040 if ( dataUser.hasData( src ) ) { 7041 udataOld = dataUser.access( src ); 7042 udataCur = jQuery.extend( {}, udataOld ); 7043 7044 dataUser.set( dest, udataCur ); 7045 } 7046} 7047 7048// Fix IE bugs, see support tests 7049function fixInput( src, dest ) { 7050 var nodeName = dest.nodeName.toLowerCase(); 7051 7052 // Fails to persist the checked state of a cloned checkbox or radio button. 7053 if ( nodeName === "input" && rcheckableType.test( src.type ) ) { 7054 dest.checked = src.checked; 7055 7056 // Fails to return the selected option to the default selected state when cloning options 7057 } else if ( nodeName === "input" || nodeName === "textarea" ) { 7058 dest.defaultValue = src.defaultValue; 7059 } 7060} 7061 7062function domManip( collection, args, callback, ignored ) { 7063 7064 // Flatten any nested arrays 7065 args = flat( args ); 7066 7067 var fragment, first, scripts, hasScripts, node, doc, 7068 i = 0, 7069 l = collection.length, 7070 iNoClone = l - 1, 7071 value = args[ 0 ], 7072 valueIsFunction = isFunction( value ); 7073 7074 // We can't cloneNode fragments that contain checked, in WebKit 7075 if ( valueIsFunction || 7076 ( l > 1 && typeof value === "string" && 7077 !support.checkClone && rchecked.test( value ) ) ) { 7078 return collection.each( function( index ) { 7079 var self = collection.eq( index ); 7080 if ( valueIsFunction ) { 7081 args[ 0 ] = value.call( this, index, self.html() ); 7082 } 7083 domManip( self, args, callback, ignored ); 7084 } ); 7085 } 7086 7087 if ( l ) { 7088 fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); 7089 first = fragment.firstChild; 7090 7091 if ( fragment.childNodes.length === 1 ) { 7092 fragment = first; 7093 } 7094 7095 // Require either new content or an interest in ignored elements to invoke the callback 7096 if ( first || ignored ) { 7097 scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); 7098 hasScripts = scripts.length; 7099 7100 // Use the original fragment for the last item 7101 // instead of the first because it can end up 7102 // being emptied incorrectly in certain situations (#8070). 7103 for ( ; i < l; i++ ) { 7104 node = fragment; 7105 7106 if ( i !== iNoClone ) { 7107 node = jQuery.clone( node, true, true ); 7108 7109 // Keep references to cloned scripts for later restoration 7110 if ( hasScripts ) { 7111 7112 // Support: Android <=4.0 only, PhantomJS 1 only 7113 // push.apply(_, arraylike) throws on ancient WebKit 7114 jQuery.merge( scripts, getAll( node, "script" ) ); 7115 } 7116 } 7117 7118 callback.call( collection[ i ], node, i ); 7119 } 7120 7121 if ( hasScripts ) { 7122 doc = scripts[ scripts.length - 1 ].ownerDocument; 7123 7124 // Reenable scripts 7125 jQuery.map( scripts, restoreScript ); 7126 7127 // Evaluate executable scripts on first document insertion 7128 for ( i = 0; i < hasScripts; i++ ) { 7129 node = scripts[ i ]; 7130 if ( rscriptType.test( node.type || "" ) && 7131 !dataPriv.access( node, "globalEval" ) && 7132 jQuery.contains( doc, node ) ) { 7133 7134 if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { 7135 7136 // Optional AJAX dependency, but won't run scripts if not present 7137 if ( jQuery._evalUrl && !node.noModule ) { 7138 jQuery._evalUrl( node.src, { 7139 nonce: node.nonce || node.getAttribute( "nonce" ) 7140 }, doc ); 7141 } 7142 } else { 7143 DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); 7144 } 7145 } 7146 } 7147 } 7148 } 7149 } 7150 7151 return collection; 7152} 7153 7154function remove( elem, selector, keepData ) { 7155 var node, 7156 nodes = selector ? jQuery.filter( selector, elem ) : elem, 7157 i = 0; 7158 7159 for ( ; ( node = nodes[ i ] ) != null; i++ ) { 7160 if ( !keepData && node.nodeType === 1 ) { 7161 jQuery.cleanData( getAll( node ) ); 7162 } 7163 7164 if ( node.parentNode ) { 7165 if ( keepData && isAttached( node ) ) { 7166 setGlobalEval( getAll( node, "script" ) ); 7167 } 7168 node.parentNode.removeChild( node ); 7169 } 7170 } 7171 7172 return elem; 7173} 7174 7175jQuery.extend( { 7176 htmlPrefilter: function( html ) { 7177 return html; 7178 }, 7179 7180 clone: function( elem, dataAndEvents, deepDataAndEvents ) { 7181 var i, l, srcElements, destElements, 7182 clone = elem.cloneNode( true ), 7183 inPage = isAttached( elem ); 7184 7185 // Fix IE cloning issues 7186 if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && 7187 !jQuery.isXMLDoc( elem ) ) { 7188 7189 // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 7190 destElements = getAll( clone ); 7191 srcElements = getAll( elem ); 7192 7193 for ( i = 0, l = srcElements.length; i < l; i++ ) { 7194 fixInput( srcElements[ i ], destElements[ i ] ); 7195 } 7196 } 7197 7198 // Copy the events from the original to the clone 7199 if ( dataAndEvents ) { 7200 if ( deepDataAndEvents ) { 7201 srcElements = srcElements || getAll( elem ); 7202 destElements = destElements || getAll( clone ); 7203 7204 for ( i = 0, l = srcElements.length; i < l; i++ ) { 7205 cloneCopyEvent( srcElements[ i ], destElements[ i ] ); 7206 } 7207 } else { 7208 cloneCopyEvent( elem, clone ); 7209 } 7210 } 7211 7212 // Preserve script evaluation history 7213 destElements = getAll( clone, "script" ); 7214 if ( destElements.length > 0 ) { 7215 setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); 7216 } 7217 7218 // Return the cloned set 7219 return clone; 7220 }, 7221 7222 cleanData: function( elems ) { 7223 var data, elem, type, 7224 special = jQuery.event.special, 7225 i = 0; 7226 7227 for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { 7228 if ( acceptData( elem ) ) { 7229 if ( ( data = elem[ dataPriv.expando ] ) ) { 7230 if ( data.events ) { 7231 for ( type in data.events ) { 7232 if ( special[ type ] ) { 7233 jQuery.event.remove( elem, type ); 7234 7235 // This is a shortcut to avoid jQuery.event.remove's overhead 7236 } else { 7237 jQuery.removeEvent( elem, type, data.handle ); 7238 } 7239 } 7240 } 7241 7242 // Support: Chrome <=35 - 45+ 7243 // Assign undefined instead of using delete, see Data#remove 7244 elem[ dataPriv.expando ] = undefined; 7245 } 7246 if ( elem[ dataUser.expando ] ) { 7247 7248 // Support: Chrome <=35 - 45+ 7249 // Assign undefined instead of using delete, see Data#remove 7250 elem[ dataUser.expando ] = undefined; 7251 } 7252 } 7253 } 7254 } 7255} ); 7256 7257jQuery.fn.extend( { 7258 detach: function( selector ) { 7259 return remove( this, selector, true ); 7260 }, 7261 7262 remove: function( selector ) { 7263 return remove( this, selector ); 7264 }, 7265 7266 text: function( value ) { 7267 return access( this, function( value ) { 7268 return value === undefined ? 7269 jQuery.text( this ) : 7270 this.empty().each( function() { 7271 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 7272 this.textContent = value; 7273 } 7274 } ); 7275 }, null, value, arguments.length ); 7276 }, 7277 7278 append: function() { 7279 return domManip( this, arguments, function( elem ) { 7280 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 7281 var target = manipulationTarget( this, elem ); 7282 target.appendChild( elem ); 7283 } 7284 } ); 7285 }, 7286 7287 prepend: function() { 7288 return domManip( this, arguments, function( elem ) { 7289 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 7290 var target = manipulationTarget( this, elem ); 7291 target.insertBefore( elem, target.firstChild ); 7292 } 7293 } ); 7294 }, 7295 7296 before: function() { 7297 return domManip( this, arguments, function( elem ) { 7298 if ( this.parentNode ) { 7299 this.parentNode.insertBefore( elem, this ); 7300 } 7301 } ); 7302 }, 7303 7304 after: function() { 7305 return domManip( this, arguments, function( elem ) { 7306 if ( this.parentNode ) { 7307 this.parentNode.insertBefore( elem, this.nextSibling ); 7308 } 7309 } ); 7310 }, 7311 7312 empty: function() { 7313 var elem, 7314 i = 0; 7315 7316 for ( ; ( elem = this[ i ] ) != null; i++ ) { 7317 if ( elem.nodeType === 1 ) { 7318 7319 // Prevent memory leaks 7320 jQuery.cleanData( getAll( elem, false ) ); 7321 7322 // Remove any remaining nodes 7323 elem.textContent = ""; 7324 } 7325 } 7326 7327 return this; 7328 }, 7329 7330 clone: function( dataAndEvents, deepDataAndEvents ) { 7331 dataAndEvents = dataAndEvents == null ? false : dataAndEvents; 7332 deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; 7333 7334 return this.map( function() { 7335 return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); 7336 } ); 7337 }, 7338 7339 html: function( value ) { 7340 return access( this, function( value ) { 7341 var elem = this[ 0 ] || {}, 7342 i = 0, 7343 l = this.length; 7344 7345 if ( value === undefined && elem.nodeType === 1 ) { 7346 return elem.innerHTML; 7347 } 7348 7349 // See if we can take a shortcut and just use innerHTML 7350 if ( typeof value === "string" && !rnoInnerhtml.test( value ) && 7351 !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { 7352 7353 value = jQuery.htmlPrefilter( value ); 7354 7355 try { 7356 for ( ; i < l; i++ ) { 7357 elem = this[ i ] || {}; 7358 7359 // Remove element nodes and prevent memory leaks 7360 if ( elem.nodeType === 1 ) { 7361 jQuery.cleanData( getAll( elem, false ) ); 7362 elem.innerHTML = value; 7363 } 7364 } 7365 7366 elem = 0; 7367 7368 // If using innerHTML throws an exception, use the fallback method 7369 } catch ( e ) {} 7370 } 7371 7372 if ( elem ) { 7373 this.empty().append( value ); 7374 } 7375 }, null, value, arguments.length ); 7376 }, 7377 7378 replaceWith: function() { 7379 var ignored = []; 7380 7381 // Make the changes, replacing each non-ignored context element with the new content 7382 return domManip( this, arguments, function( elem ) { 7383 var parent = this.parentNode; 7384 7385 if ( jQuery.inArray( this, ignored ) < 0 ) { 7386 jQuery.cleanData( getAll( this ) ); 7387 if ( parent ) { 7388 parent.replaceChild( elem, this ); 7389 } 7390 } 7391 7392 // Force callback invocation 7393 }, ignored ); 7394 } 7395} ); 7396 7397jQuery.each( { 7398 appendTo: "append", 7399 prependTo: "prepend", 7400 insertBefore: "before", 7401 insertAfter: "after", 7402 replaceAll: "replaceWith" 7403}, function( name, original ) { 7404 jQuery.fn[ name ] = function( selector ) { 7405 var elems, 7406 ret = [], 7407 insert = jQuery( selector ), 7408 last = insert.length - 1, 7409 i = 0; 7410 7411 for ( ; i <= last; i++ ) { 7412 elems = i === last ? this : this.clone( true ); 7413 jQuery( insert[ i ] )[ original ]( elems ); 7414 7415 // Support: Android <=4.0 only, PhantomJS 1 only 7416 // .get() because push.apply(_, arraylike) throws on ancient WebKit 7417 push.apply( ret, elems.get() ); 7418 } 7419 7420 return this.pushStack( ret ); 7421 }; 7422} ); 7423var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); 7424 7425var getStyles = function( elem ) { 7426 7427 // Support: IE <=11 only, Firefox <=30 (#15098, #14150) 7428 // IE throws on elements created in popups 7429 // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" 7430 var view = elem.ownerDocument.defaultView; 7431 7432 if ( !view || !view.opener ) { 7433 view = window; 7434 } 7435 7436 return view.getComputedStyle( elem ); 7437 }; 7438 7439var swap = function( elem, options, callback ) { 7440 var ret, name, 7441 old = {}; 7442 7443 // Remember the old values, and insert the new ones 7444 for ( name in options ) { 7445 old[ name ] = elem.style[ name ]; 7446 elem.style[ name ] = options[ name ]; 7447 } 7448 7449 ret = callback.call( elem ); 7450 7451 // Revert the old values 7452 for ( name in options ) { 7453 elem.style[ name ] = old[ name ]; 7454 } 7455 7456 return ret; 7457}; 7458 7459 7460var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); 7461 7462 7463 7464( function() { 7465 7466 // Executing both pixelPosition & boxSizingReliable tests require only one layout 7467 // so they're executed at the same time to save the second computation. 7468 function computeStyleTests() { 7469 7470 // This is a singleton, we need to execute it only once 7471 if ( !div ) { 7472 return; 7473 } 7474 7475 container.style.cssText = "position:absolute;left:-11111px;width:60px;" + 7476 "margin-top:1px;padding:0;border:0"; 7477 div.style.cssText = 7478 "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + 7479 "margin:auto;border:1px;padding:1px;" + 7480 "width:60%;top:1%"; 7481 documentElement.appendChild( container ).appendChild( div ); 7482 7483 var divStyle = window.getComputedStyle( div ); 7484 pixelPositionVal = divStyle.top !== "1%"; 7485 7486 // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 7487 reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; 7488 7489 // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 7490 // Some styles come back with percentage values, even though they shouldn't 7491 div.style.right = "60%"; 7492 pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; 7493 7494 // Support: IE 9 - 11 only 7495 // Detect misreporting of content dimensions for box-sizing:border-box elements 7496 boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; 7497 7498 // Support: IE 9 only 7499 // Detect overflow:scroll screwiness (gh-3699) 7500 // Support: Chrome <=64 7501 // Don't get tricked when zoom affects offsetWidth (gh-4029) 7502 div.style.position = "absolute"; 7503 scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; 7504 7505 documentElement.removeChild( container ); 7506 7507 // Nullify the div so it wouldn't be stored in the memory and 7508 // it will also be a sign that checks already performed 7509 div = null; 7510 } 7511 7512 function roundPixelMeasures( measure ) { 7513 return Math.round( parseFloat( measure ) ); 7514 } 7515 7516 var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, 7517 reliableTrDimensionsVal, reliableMarginLeftVal, 7518 container = document.createElement( "div" ), 7519 div = document.createElement( "div" ); 7520 7521 // Finish early in limited (non-browser) environments 7522 if ( !div.style ) { 7523 return; 7524 } 7525 7526 // Support: IE <=9 - 11 only 7527 // Style of cloned element affects source element cloned (#8908) 7528 div.style.backgroundClip = "content-box"; 7529 div.cloneNode( true ).style.backgroundClip = ""; 7530 support.clearCloneStyle = div.style.backgroundClip === "content-box"; 7531 7532 jQuery.extend( support, { 7533 boxSizingReliable: function() { 7534 computeStyleTests(); 7535 return boxSizingReliableVal; 7536 }, 7537 pixelBoxStyles: function() { 7538 computeStyleTests(); 7539 return pixelBoxStylesVal; 7540 }, 7541 pixelPosition: function() { 7542 computeStyleTests(); 7543 return pixelPositionVal; 7544 }, 7545 reliableMarginLeft: function() { 7546 computeStyleTests(); 7547 return reliableMarginLeftVal; 7548 }, 7549 scrollboxSize: function() { 7550 computeStyleTests(); 7551 return scrollboxSizeVal; 7552 }, 7553 7554 // Support: IE 9 - 11+, Edge 15 - 18+ 7555 // IE/Edge misreport `getComputedStyle` of table rows with width/height 7556 // set in CSS while `offset*` properties report correct values. 7557 // Behavior in IE 9 is more subtle than in newer versions & it passes 7558 // some versions of this test; make sure not to make it pass there! 7559 // 7560 // Support: Firefox 70+ 7561 // Only Firefox includes border widths 7562 // in computed dimensions. (gh-4529) 7563 reliableTrDimensions: function() { 7564 var table, tr, trChild, trStyle; 7565 if ( reliableTrDimensionsVal == null ) { 7566 table = document.createElement( "table" ); 7567 tr = document.createElement( "tr" ); 7568 trChild = document.createElement( "div" ); 7569 7570 table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; 7571 tr.style.cssText = "border:1px solid"; 7572 7573 // Support: Chrome 86+ 7574 // Height set through cssText does not get applied. 7575 // Computed height then comes back as 0. 7576 tr.style.height = "1px"; 7577 trChild.style.height = "9px"; 7578 7579 // Support: Android 8 Chrome 86+ 7580 // In our bodyBackground.html iframe, 7581 // display for all div elements is set to "inline", 7582 // which causes a problem only in Android 8 Chrome 86. 7583 // Ensuring the div is display: block 7584 // gets around this issue. 7585 trChild.style.display = "block"; 7586 7587 documentElement 7588 .appendChild( table ) 7589 .appendChild( tr ) 7590 .appendChild( trChild ); 7591 7592 trStyle = window.getComputedStyle( tr ); 7593 reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + 7594 parseInt( trStyle.borderTopWidth, 10 ) + 7595 parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; 7596 7597 documentElement.removeChild( table ); 7598 } 7599 return reliableTrDimensionsVal; 7600 } 7601 } ); 7602} )(); 7603 7604 7605function curCSS( elem, name, computed ) { 7606 var width, minWidth, maxWidth, ret, 7607 7608 // Support: Firefox 51+ 7609 // Retrieving style before computed somehow 7610 // fixes an issue with getting wrong values 7611 // on detached elements 7612 style = elem.style; 7613 7614 computed = computed || getStyles( elem ); 7615 7616 // getPropertyValue is needed for: 7617 // .css('filter') (IE 9 only, #12537) 7618 // .css('--customProperty) (#3144) 7619 if ( computed ) { 7620 ret = computed.getPropertyValue( name ) || computed[ name ]; 7621 7622 if ( ret === "" && !isAttached( elem ) ) { 7623 ret = jQuery.style( elem, name ); 7624 } 7625 7626 // A tribute to the "awesome hack by Dean Edwards" 7627 // Android Browser returns percentage for some values, 7628 // but width seems to be reliably pixels. 7629 // This is against the CSSOM draft spec: 7630 // https://drafts.csswg.org/cssom/#resolved-values 7631 if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { 7632 7633 // Remember the original values 7634 width = style.width; 7635 minWidth = style.minWidth; 7636 maxWidth = style.maxWidth; 7637 7638 // Put in the new values to get a computed value out 7639 style.minWidth = style.maxWidth = style.width = ret; 7640 ret = computed.width; 7641 7642 // Revert the changed values 7643 style.width = width; 7644 style.minWidth = minWidth; 7645 style.maxWidth = maxWidth; 7646 } 7647 } 7648 7649 return ret !== undefined ? 7650 7651 // Support: IE <=9 - 11 only 7652 // IE returns zIndex value as an integer. 7653 ret + "" : 7654 ret; 7655} 7656 7657 7658function addGetHookIf( conditionFn, hookFn ) { 7659 7660 // Define the hook, we'll check on the first run if it's really needed. 7661 return { 7662 get: function() { 7663 if ( conditionFn() ) { 7664 7665 // Hook not needed (or it's not possible to use it due 7666 // to missing dependency), remove it. 7667 delete this.get; 7668 return; 7669 } 7670 7671 // Hook needed; redefine it so that the support test is not executed again. 7672 return ( this.get = hookFn ).apply( this, arguments ); 7673 } 7674 }; 7675} 7676 7677 7678var cssPrefixes = [ "Webkit", "Moz", "ms" ], 7679 emptyStyle = document.createElement( "div" ).style, 7680 vendorProps = {}; 7681 7682// Return a vendor-prefixed property or undefined 7683function vendorPropName( name ) { 7684 7685 // Check for vendor prefixed names 7686 var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), 7687 i = cssPrefixes.length; 7688 7689 while ( i-- ) { 7690 name = cssPrefixes[ i ] + capName; 7691 if ( name in emptyStyle ) { 7692 return name; 7693 } 7694 } 7695} 7696 7697// Return a potentially-mapped jQuery.cssProps or vendor prefixed property 7698function finalPropName( name ) { 7699 var final = jQuery.cssProps[ name ] || vendorProps[ name ]; 7700 7701 if ( final ) { 7702 return final; 7703 } 7704 if ( name in emptyStyle ) { 7705 return name; 7706 } 7707 return vendorProps[ name ] = vendorPropName( name ) || name; 7708} 7709 7710 7711var 7712 7713 // Swappable if display is none or starts with table 7714 // except "table", "table-cell", or "table-caption" 7715 // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display 7716 rdisplayswap = /^(none|table(?!-c[ea]).+)/, 7717 rcustomProp = /^--/, 7718 cssShow = { position: "absolute", visibility: "hidden", display: "block" }, 7719 cssNormalTransform = { 7720 letterSpacing: "0", 7721 fontWeight: "400" 7722 }; 7723 7724function setPositiveNumber( _elem, value, subtract ) { 7725 7726 // Any relative (+/-) values have already been 7727 // normalized at this point 7728 var matches = rcssNum.exec( value ); 7729 return matches ? 7730 7731 // Guard against undefined "subtract", e.g., when used as in cssHooks 7732 Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : 7733 value; 7734} 7735 7736function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { 7737 var i = dimension === "width" ? 1 : 0, 7738 extra = 0, 7739 delta = 0; 7740 7741 // Adjustment may not be necessary 7742 if ( box === ( isBorderBox ? "border" : "content" ) ) { 7743 return 0; 7744 } 7745 7746 for ( ; i < 4; i += 2 ) { 7747 7748 // Both box models exclude margin 7749 if ( box === "margin" ) { 7750 delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); 7751 } 7752 7753 // If we get here with a content-box, we're seeking "padding" or "border" or "margin" 7754 if ( !isBorderBox ) { 7755 7756 // Add padding 7757 delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); 7758 7759 // For "border" or "margin", add border 7760 if ( box !== "padding" ) { 7761 delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 7762 7763 // But still keep track of it otherwise 7764 } else { 7765 extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 7766 } 7767 7768 // If we get here with a border-box (content + padding + border), we're seeking "content" or 7769 // "padding" or "margin" 7770 } else { 7771 7772 // For "content", subtract padding 7773 if ( box === "content" ) { 7774 delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); 7775 } 7776 7777 // For "content" or "padding", subtract border 7778 if ( box !== "margin" ) { 7779 delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 7780 } 7781 } 7782 } 7783 7784 // Account for positive content-box scroll gutter when requested by providing computedVal 7785 if ( !isBorderBox && computedVal >= 0 ) { 7786 7787 // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border 7788 // Assuming integer scroll gutter, subtract the rest and round down 7789 delta += Math.max( 0, Math.ceil( 7790 elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - 7791 computedVal - 7792 delta - 7793 extra - 7794 0.5 7795 7796 // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter 7797 // Use an explicit zero to avoid NaN (gh-3964) 7798 ) ) || 0; 7799 } 7800 7801 return delta; 7802} 7803 7804function getWidthOrHeight( elem, dimension, extra ) { 7805 7806 // Start with computed style 7807 var styles = getStyles( elem ), 7808 7809 // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). 7810 // Fake content-box until we know it's needed to know the true value. 7811 boxSizingNeeded = !support.boxSizingReliable() || extra, 7812 isBorderBox = boxSizingNeeded && 7813 jQuery.css( elem, "boxSizing", false, styles ) === "border-box", 7814 valueIsBorderBox = isBorderBox, 7815 7816 val = curCSS( elem, dimension, styles ), 7817 offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); 7818 7819 // Support: Firefox <=54 7820 // Return a confounding non-pixel value or feign ignorance, as appropriate. 7821 if ( rnumnonpx.test( val ) ) { 7822 if ( !extra ) { 7823 return val; 7824 } 7825 val = "auto"; 7826 } 7827 7828 7829 // Support: IE 9 - 11 only 7830 // Use offsetWidth/offsetHeight for when box sizing is unreliable. 7831 // In those cases, the computed value can be trusted to be border-box. 7832 if ( ( !support.boxSizingReliable() && isBorderBox || 7833 7834 // Support: IE 10 - 11+, Edge 15 - 18+ 7835 // IE/Edge misreport `getComputedStyle` of table rows with width/height 7836 // set in CSS while `offset*` properties report correct values. 7837 // Interestingly, in some cases IE 9 doesn't suffer from this issue. 7838 !support.reliableTrDimensions() && nodeName( elem, "tr" ) || 7839 7840 // Fall back to offsetWidth/offsetHeight when value is "auto" 7841 // This happens for inline elements with no explicit setting (gh-3571) 7842 val === "auto" || 7843 7844 // Support: Android <=4.1 - 4.3 only 7845 // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) 7846 !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && 7847 7848 // Make sure the element is visible & connected 7849 elem.getClientRects().length ) { 7850 7851 isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; 7852 7853 // Where available, offsetWidth/offsetHeight approximate border box dimensions. 7854 // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the 7855 // retrieved value as a content box dimension. 7856 valueIsBorderBox = offsetProp in elem; 7857 if ( valueIsBorderBox ) { 7858 val = elem[ offsetProp ]; 7859 } 7860 } 7861 7862 // Normalize "" and auto 7863 val = parseFloat( val ) || 0; 7864 7865 // Adjust for the element's box model 7866 return ( val + 7867 boxModelAdjustment( 7868 elem, 7869 dimension, 7870 extra || ( isBorderBox ? "border" : "content" ), 7871 valueIsBorderBox, 7872 styles, 7873 7874 // Provide the current computed size to request scroll gutter calculation (gh-3589) 7875 val 7876 ) 7877 ) + "px"; 7878} 7879 7880jQuery.extend( { 7881 7882 // Add in style property hooks for overriding the default 7883 // behavior of getting and setting a style property 7884 cssHooks: { 7885 opacity: { 7886 get: function( elem, computed ) { 7887 if ( computed ) { 7888 7889 // We should always get a number back from opacity 7890 var ret = curCSS( elem, "opacity" ); 7891 return ret === "" ? "1" : ret; 7892 } 7893 } 7894 } 7895 }, 7896 7897 // Don't automatically add "px" to these possibly-unitless properties 7898 cssNumber: { 7899 "animationIterationCount": true, 7900 "columnCount": true, 7901 "fillOpacity": true, 7902 "flexGrow": true, 7903 "flexShrink": true, 7904 "fontWeight": true, 7905 "gridArea": true, 7906 "gridColumn": true, 7907 "gridColumnEnd": true, 7908 "gridColumnStart": true, 7909 "gridRow": true, 7910 "gridRowEnd": true, 7911 "gridRowStart": true, 7912 "lineHeight": true, 7913 "opacity": true, 7914 "order": true, 7915 "orphans": true, 7916 "widows": true, 7917 "zIndex": true, 7918 "zoom": true 7919 }, 7920 7921 // Add in properties whose names you wish to fix before 7922 // setting or getting the value 7923 cssProps: {}, 7924 7925 // Get and set the style property on a DOM Node 7926 style: function( elem, name, value, extra ) { 7927 7928 // Don't set styles on text and comment nodes 7929 if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { 7930 return; 7931 } 7932 7933 // Make sure that we're working with the right name 7934 var ret, type, hooks, 7935 origName = camelCase( name ), 7936 isCustomProp = rcustomProp.test( name ), 7937 style = elem.style; 7938 7939 // Make sure that we're working with the right name. We don't 7940 // want to query the value if it is a CSS custom property 7941 // since they are user-defined. 7942 if ( !isCustomProp ) { 7943 name = finalPropName( origName ); 7944 } 7945 7946 // Gets hook for the prefixed version, then unprefixed version 7947 hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; 7948 7949 // Check if we're setting a value 7950 if ( value !== undefined ) { 7951 type = typeof value; 7952 7953 // Convert "+=" or "-=" to relative numbers (#7345) 7954 if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { 7955 value = adjustCSS( elem, name, ret ); 7956 7957 // Fixes bug #9237 7958 type = "number"; 7959 } 7960 7961 // Make sure that null and NaN values aren't set (#7116) 7962 if ( value == null || value !== value ) { 7963 return; 7964 } 7965 7966 // If a number was passed in, add the unit (except for certain CSS properties) 7967 // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append 7968 // "px" to a few hardcoded values. 7969 if ( type === "number" && !isCustomProp ) { 7970 value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); 7971 } 7972 7973 // background-* props affect original clone's values 7974 if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { 7975 style[ name ] = "inherit"; 7976 } 7977 7978 // If a hook was provided, use that value, otherwise just set the specified value 7979 if ( !hooks || !( "set" in hooks ) || 7980 ( value = hooks.set( elem, value, extra ) ) !== undefined ) { 7981 7982 if ( isCustomProp ) { 7983 style.setProperty( name, value ); 7984 } else { 7985 style[ name ] = value; 7986 } 7987 } 7988 7989 } else { 7990 7991 // If a hook was provided get the non-computed value from there 7992 if ( hooks && "get" in hooks && 7993 ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { 7994 7995 return ret; 7996 } 7997 7998 // Otherwise just get the value from the style object 7999 return style[ name ]; 8000 } 8001 }, 8002 8003 css: function( elem, name, extra, styles ) { 8004 var val, num, hooks, 8005 origName = camelCase( name ), 8006 isCustomProp = rcustomProp.test( name ); 8007 8008 // Make sure that we're working with the right name. We don't 8009 // want to modify the value if it is a CSS custom property 8010 // since they are user-defined. 8011 if ( !isCustomProp ) { 8012 name = finalPropName( origName ); 8013 } 8014 8015 // Try prefixed name followed by the unprefixed name 8016 hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; 8017 8018 // If a hook was provided get the computed value from there 8019 if ( hooks && "get" in hooks ) { 8020 val = hooks.get( elem, true, extra ); 8021 } 8022 8023 // Otherwise, if a way to get the computed value exists, use that 8024 if ( val === undefined ) { 8025 val = curCSS( elem, name, styles ); 8026 } 8027 8028 // Convert "normal" to computed value 8029 if ( val === "normal" && name in cssNormalTransform ) { 8030 val = cssNormalTransform[ name ]; 8031 } 8032 8033 // Make numeric if forced or a qualifier was provided and val looks numeric 8034 if ( extra === "" || extra ) { 8035 num = parseFloat( val ); 8036 return extra === true || isFinite( num ) ? num || 0 : val; 8037 } 8038 8039 return val; 8040 } 8041} ); 8042 8043jQuery.each( [ "height", "width" ], function( _i, dimension ) { 8044 jQuery.cssHooks[ dimension ] = { 8045 get: function( elem, computed, extra ) { 8046 if ( computed ) { 8047 8048 // Certain elements can have dimension info if we invisibly show them 8049 // but it must have a current display style that would benefit 8050 return rdisplayswap.test( jQuery.css( elem, "display" ) ) && 8051 8052 // Support: Safari 8+ 8053 // Table columns in Safari have non-zero offsetWidth & zero 8054 // getBoundingClientRect().width unless display is changed. 8055 // Support: IE <=11 only 8056 // Running getBoundingClientRect on a disconnected node 8057 // in IE throws an error. 8058 ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? 8059 swap( elem, cssShow, function() { 8060 return getWidthOrHeight( elem, dimension, extra ); 8061 } ) : 8062 getWidthOrHeight( elem, dimension, extra ); 8063 } 8064 }, 8065 8066 set: function( elem, value, extra ) { 8067 var matches, 8068 styles = getStyles( elem ), 8069 8070 // Only read styles.position if the test has a chance to fail 8071 // to avoid forcing a reflow. 8072 scrollboxSizeBuggy = !support.scrollboxSize() && 8073 styles.position === "absolute", 8074 8075 // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) 8076 boxSizingNeeded = scrollboxSizeBuggy || extra, 8077 isBorderBox = boxSizingNeeded && 8078 jQuery.css( elem, "boxSizing", false, styles ) === "border-box", 8079 subtract = extra ? 8080 boxModelAdjustment( 8081 elem, 8082 dimension, 8083 extra, 8084 isBorderBox, 8085 styles 8086 ) : 8087 0; 8088 8089 // Account for unreliable border-box dimensions by comparing offset* to computed and 8090 // faking a content-box to get border and padding (gh-3699) 8091 if ( isBorderBox && scrollboxSizeBuggy ) { 8092 subtract -= Math.ceil( 8093 elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - 8094 parseFloat( styles[ dimension ] ) - 8095 boxModelAdjustment( elem, dimension, "border", false, styles ) - 8096 0.5 8097 ); 8098 } 8099 8100 // Convert to pixels if value adjustment is needed 8101 if ( subtract && ( matches = rcssNum.exec( value ) ) && 8102 ( matches[ 3 ] || "px" ) !== "px" ) { 8103 8104 elem.style[ dimension ] = value; 8105 value = jQuery.css( elem, dimension ); 8106 } 8107 8108 return setPositiveNumber( elem, value, subtract ); 8109 } 8110 }; 8111} ); 8112 8113jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, 8114 function( elem, computed ) { 8115 if ( computed ) { 8116 return ( parseFloat( curCSS( elem, "marginLeft" ) ) || 8117 elem.getBoundingClientRect().left - 8118 swap( elem, { marginLeft: 0 }, function() { 8119 return elem.getBoundingClientRect().left; 8120 } ) 8121 ) + "px"; 8122 } 8123 } 8124); 8125 8126// These hooks are used by animate to expand properties 8127jQuery.each( { 8128 margin: "", 8129 padding: "", 8130 border: "Width" 8131}, function( prefix, suffix ) { 8132 jQuery.cssHooks[ prefix + suffix ] = { 8133 expand: function( value ) { 8134 var i = 0, 8135 expanded = {}, 8136 8137 // Assumes a single number if not a string 8138 parts = typeof value === "string" ? value.split( " " ) : [ value ]; 8139 8140 for ( ; i < 4; i++ ) { 8141 expanded[ prefix + cssExpand[ i ] + suffix ] = 8142 parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; 8143 } 8144 8145 return expanded; 8146 } 8147 }; 8148 8149 if ( prefix !== "margin" ) { 8150 jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; 8151 } 8152} ); 8153 8154jQuery.fn.extend( { 8155 css: function( name, value ) { 8156 return access( this, function( elem, name, value ) { 8157 var styles, len, 8158 map = {}, 8159 i = 0; 8160 8161 if ( Array.isArray( name ) ) { 8162 styles = getStyles( elem ); 8163 len = name.length; 8164 8165 for ( ; i < len; i++ ) { 8166 map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); 8167 } 8168 8169 return map; 8170 } 8171 8172 return value !== undefined ? 8173 jQuery.style( elem, name, value ) : 8174 jQuery.css( elem, name ); 8175 }, name, value, arguments.length > 1 ); 8176 } 8177} ); 8178 8179 8180function Tween( elem, options, prop, end, easing ) { 8181 return new Tween.prototype.init( elem, options, prop, end, easing ); 8182} 8183jQuery.Tween = Tween; 8184 8185Tween.prototype = { 8186 constructor: Tween, 8187 init: function( elem, options, prop, end, easing, unit ) { 8188 this.elem = elem; 8189 this.prop = prop; 8190 this.easing = easing || jQuery.easing._default; 8191 this.options = options; 8192 this.start = this.now = this.cur(); 8193 this.end = end; 8194 this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); 8195 }, 8196 cur: function() { 8197 var hooks = Tween.propHooks[ this.prop ]; 8198 8199 return hooks && hooks.get ? 8200 hooks.get( this ) : 8201 Tween.propHooks._default.get( this ); 8202 }, 8203 run: function( percent ) { 8204 var eased, 8205 hooks = Tween.propHooks[ this.prop ]; 8206 8207 if ( this.options.duration ) { 8208 this.pos = eased = jQuery.easing[ this.easing ]( 8209 percent, this.options.duration * percent, 0, 1, this.options.duration 8210 ); 8211 } else { 8212 this.pos = eased = percent; 8213 } 8214 this.now = ( this.end - this.start ) * eased + this.start; 8215 8216 if ( this.options.step ) { 8217 this.options.step.call( this.elem, this.now, this ); 8218 } 8219 8220 if ( hooks && hooks.set ) { 8221 hooks.set( this ); 8222 } else { 8223 Tween.propHooks._default.set( this ); 8224 } 8225 return this; 8226 } 8227}; 8228 8229Tween.prototype.init.prototype = Tween.prototype; 8230 8231Tween.propHooks = { 8232 _default: { 8233 get: function( tween ) { 8234 var result; 8235 8236 // Use a property on the element directly when it is not a DOM element, 8237 // or when there is no matching style property that exists. 8238 if ( tween.elem.nodeType !== 1 || 8239 tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { 8240 return tween.elem[ tween.prop ]; 8241 } 8242 8243 // Passing an empty string as a 3rd parameter to .css will automatically 8244 // attempt a parseFloat and fallback to a string if the parse fails. 8245 // Simple values such as "10px" are parsed to Float; 8246 // complex values such as "rotate(1rad)" are returned as-is. 8247 result = jQuery.css( tween.elem, tween.prop, "" ); 8248 8249 // Empty strings, null, undefined and "auto" are converted to 0. 8250 return !result || result === "auto" ? 0 : result; 8251 }, 8252 set: function( tween ) { 8253 8254 // Use step hook for back compat. 8255 // Use cssHook if its there. 8256 // Use .style if available and use plain properties where available. 8257 if ( jQuery.fx.step[ tween.prop ] ) { 8258 jQuery.fx.step[ tween.prop ]( tween ); 8259 } else if ( tween.elem.nodeType === 1 && ( 8260 jQuery.cssHooks[ tween.prop ] || 8261 tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { 8262 jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); 8263 } else { 8264 tween.elem[ tween.prop ] = tween.now; 8265 } 8266 } 8267 } 8268}; 8269 8270// Support: IE <=9 only 8271// Panic based approach to setting things on disconnected nodes 8272Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { 8273 set: function( tween ) { 8274 if ( tween.elem.nodeType && tween.elem.parentNode ) { 8275 tween.elem[ tween.prop ] = tween.now; 8276 } 8277 } 8278}; 8279 8280jQuery.easing = { 8281 linear: function( p ) { 8282 return p; 8283 }, 8284 swing: function( p ) { 8285 return 0.5 - Math.cos( p * Math.PI ) / 2; 8286 }, 8287 _default: "swing" 8288}; 8289 8290jQuery.fx = Tween.prototype.init; 8291 8292// Back compat <1.8 extension point 8293jQuery.fx.step = {}; 8294 8295 8296 8297 8298var 8299 fxNow, inProgress, 8300 rfxtypes = /^(?:toggle|show|hide)$/, 8301 rrun = /queueHooks$/; 8302 8303function schedule() { 8304 if ( inProgress ) { 8305 if ( document.hidden === false && window.requestAnimationFrame ) { 8306 window.requestAnimationFrame( schedule ); 8307 } else { 8308 window.setTimeout( schedule, jQuery.fx.interval ); 8309 } 8310 8311 jQuery.fx.tick(); 8312 } 8313} 8314 8315// Animations created synchronously will run synchronously 8316function createFxNow() { 8317 window.setTimeout( function() { 8318 fxNow = undefined; 8319 } ); 8320 return ( fxNow = Date.now() ); 8321} 8322 8323// Generate parameters to create a standard animation 8324function genFx( type, includeWidth ) { 8325 var which, 8326 i = 0, 8327 attrs = { height: type }; 8328 8329 // If we include width, step value is 1 to do all cssExpand values, 8330 // otherwise step value is 2 to skip over Left and Right 8331 includeWidth = includeWidth ? 1 : 0; 8332 for ( ; i < 4; i += 2 - includeWidth ) { 8333 which = cssExpand[ i ]; 8334 attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; 8335 } 8336 8337 if ( includeWidth ) { 8338 attrs.opacity = attrs.width = type; 8339 } 8340 8341 return attrs; 8342} 8343 8344function createTween( value, prop, animation ) { 8345 var tween, 8346 collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), 8347 index = 0, 8348 length = collection.length; 8349 for ( ; index < length; index++ ) { 8350 if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { 8351 8352 // We're done with this property 8353 return tween; 8354 } 8355 } 8356} 8357 8358function defaultPrefilter( elem, props, opts ) { 8359 var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, 8360 isBox = "width" in props || "height" in props, 8361 anim = this, 8362 orig = {}, 8363 style = elem.style, 8364 hidden = elem.nodeType && isHiddenWithinTree( elem ), 8365 dataShow = dataPriv.get( elem, "fxshow" ); 8366 8367 // Queue-skipping animations hijack the fx hooks 8368 if ( !opts.queue ) { 8369 hooks = jQuery._queueHooks( elem, "fx" ); 8370 if ( hooks.unqueued == null ) { 8371 hooks.unqueued = 0; 8372 oldfire = hooks.empty.fire; 8373 hooks.empty.fire = function() { 8374 if ( !hooks.unqueued ) { 8375 oldfire(); 8376 } 8377 }; 8378 } 8379 hooks.unqueued++; 8380 8381 anim.always( function() { 8382 8383 // Ensure the complete handler is called before this completes 8384 anim.always( function() { 8385 hooks.unqueued--; 8386 if ( !jQuery.queue( elem, "fx" ).length ) { 8387 hooks.empty.fire(); 8388 } 8389 } ); 8390 } ); 8391 } 8392 8393 // Detect show/hide animations 8394 for ( prop in props ) { 8395 value = props[ prop ]; 8396 if ( rfxtypes.test( value ) ) { 8397 delete props[ prop ]; 8398 toggle = toggle || value === "toggle"; 8399 if ( value === ( hidden ? "hide" : "show" ) ) { 8400 8401 // Pretend to be hidden if this is a "show" and 8402 // there is still data from a stopped show/hide 8403 if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { 8404 hidden = true; 8405 8406 // Ignore all other no-op show/hide data 8407 } else { 8408 continue; 8409 } 8410 } 8411 orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); 8412 } 8413 } 8414 8415 // Bail out if this is a no-op like .hide().hide() 8416 propTween = !jQuery.isEmptyObject( props ); 8417 if ( !propTween && jQuery.isEmptyObject( orig ) ) { 8418 return; 8419 } 8420 8421 // Restrict "overflow" and "display" styles during box animations 8422 if ( isBox && elem.nodeType === 1 ) { 8423 8424 // Support: IE <=9 - 11, Edge 12 - 15 8425 // Record all 3 overflow attributes because IE does not infer the shorthand 8426 // from identically-valued overflowX and overflowY and Edge just mirrors 8427 // the overflowX value there. 8428 opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; 8429 8430 // Identify a display type, preferring old show/hide data over the CSS cascade 8431 restoreDisplay = dataShow && dataShow.display; 8432 if ( restoreDisplay == null ) { 8433 restoreDisplay = dataPriv.get( elem, "display" ); 8434 } 8435 display = jQuery.css( elem, "display" ); 8436 if ( display === "none" ) { 8437 if ( restoreDisplay ) { 8438 display = restoreDisplay; 8439 } else { 8440 8441 // Get nonempty value(s) by temporarily forcing visibility 8442 showHide( [ elem ], true ); 8443 restoreDisplay = elem.style.display || restoreDisplay; 8444 display = jQuery.css( elem, "display" ); 8445 showHide( [ elem ] ); 8446 } 8447 } 8448 8449 // Animate inline elements as inline-block 8450 if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { 8451 if ( jQuery.css( elem, "float" ) === "none" ) { 8452 8453 // Restore the original display value at the end of pure show/hide animations 8454 if ( !propTween ) { 8455 anim.done( function() { 8456 style.display = restoreDisplay; 8457 } ); 8458 if ( restoreDisplay == null ) { 8459 display = style.display; 8460 restoreDisplay = display === "none" ? "" : display; 8461 } 8462 } 8463 style.display = "inline-block"; 8464 } 8465 } 8466 } 8467 8468 if ( opts.overflow ) { 8469 style.overflow = "hidden"; 8470 anim.always( function() { 8471 style.overflow = opts.overflow[ 0 ]; 8472 style.overflowX = opts.overflow[ 1 ]; 8473 style.overflowY = opts.overflow[ 2 ]; 8474 } ); 8475 } 8476 8477 // Implement show/hide animations 8478 propTween = false; 8479 for ( prop in orig ) { 8480 8481 // General show/hide setup for this element animation 8482 if ( !propTween ) { 8483 if ( dataShow ) { 8484 if ( "hidden" in dataShow ) { 8485 hidden = dataShow.hidden; 8486 } 8487 } else { 8488 dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); 8489 } 8490 8491 // Store hidden/visible for toggle so `.stop().toggle()` "reverses" 8492 if ( toggle ) { 8493 dataShow.hidden = !hidden; 8494 } 8495 8496 // Show elements before animating them 8497 if ( hidden ) { 8498 showHide( [ elem ], true ); 8499 } 8500 8501 /* eslint-disable no-loop-func */ 8502 8503 anim.done( function() { 8504 8505 /* eslint-enable no-loop-func */ 8506 8507 // The final step of a "hide" animation is actually hiding the element 8508 if ( !hidden ) { 8509 showHide( [ elem ] ); 8510 } 8511 dataPriv.remove( elem, "fxshow" ); 8512 for ( prop in orig ) { 8513 jQuery.style( elem, prop, orig[ prop ] ); 8514 } 8515 } ); 8516 } 8517 8518 // Per-property setup 8519 propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); 8520 if ( !( prop in dataShow ) ) { 8521 dataShow[ prop ] = propTween.start; 8522 if ( hidden ) { 8523 propTween.end = propTween.start; 8524 propTween.start = 0; 8525 } 8526 } 8527 } 8528} 8529 8530function propFilter( props, specialEasing ) { 8531 var index, name, easing, value, hooks; 8532 8533 // camelCase, specialEasing and expand cssHook pass 8534 for ( index in props ) { 8535 name = camelCase( index ); 8536 easing = specialEasing[ name ]; 8537 value = props[ index ]; 8538 if ( Array.isArray( value ) ) { 8539 easing = value[ 1 ]; 8540 value = props[ index ] = value[ 0 ]; 8541 } 8542 8543 if ( index !== name ) { 8544 props[ name ] = value; 8545 delete props[ index ]; 8546 } 8547 8548 hooks = jQuery.cssHooks[ name ]; 8549 if ( hooks && "expand" in hooks ) { 8550 value = hooks.expand( value ); 8551 delete props[ name ]; 8552 8553 // Not quite $.extend, this won't overwrite existing keys. 8554 // Reusing 'index' because we have the correct "name" 8555 for ( index in value ) { 8556 if ( !( index in props ) ) { 8557 props[ index ] = value[ index ]; 8558 specialEasing[ index ] = easing; 8559 } 8560 } 8561 } else { 8562 specialEasing[ name ] = easing; 8563 } 8564 } 8565} 8566 8567function Animation( elem, properties, options ) { 8568 var result, 8569 stopped, 8570 index = 0, 8571 length = Animation.prefilters.length, 8572 deferred = jQuery.Deferred().always( function() { 8573 8574 // Don't match elem in the :animated selector 8575 delete tick.elem; 8576 } ), 8577 tick = function() { 8578 if ( stopped ) { 8579 return false; 8580 } 8581 var currentTime = fxNow || createFxNow(), 8582 remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), 8583 8584 // Support: Android 2.3 only 8585 // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) 8586 temp = remaining / animation.duration || 0, 8587 percent = 1 - temp, 8588 index = 0, 8589 length = animation.tweens.length; 8590 8591 for ( ; index < length; index++ ) { 8592 animation.tweens[ index ].run( percent ); 8593 } 8594 8595 deferred.notifyWith( elem, [ animation, percent, remaining ] ); 8596 8597 // If there's more to do, yield 8598 if ( percent < 1 && length ) { 8599 return remaining; 8600 } 8601 8602 // If this was an empty animation, synthesize a final progress notification 8603 if ( !length ) { 8604 deferred.notifyWith( elem, [ animation, 1, 0 ] ); 8605 } 8606 8607 // Resolve the animation and report its conclusion 8608 deferred.resolveWith( elem, [ animation ] ); 8609 return false; 8610 }, 8611 animation = deferred.promise( { 8612 elem: elem, 8613 props: jQuery.extend( {}, properties ), 8614 opts: jQuery.extend( true, { 8615 specialEasing: {}, 8616 easing: jQuery.easing._default 8617 }, options ), 8618 originalProperties: properties, 8619 originalOptions: options, 8620 startTime: fxNow || createFxNow(), 8621 duration: options.duration, 8622 tweens: [], 8623 createTween: function( prop, end ) { 8624 var tween = jQuery.Tween( elem, animation.opts, prop, end, 8625 animation.opts.specialEasing[ prop ] || animation.opts.easing ); 8626 animation.tweens.push( tween ); 8627 return tween; 8628 }, 8629 stop: function( gotoEnd ) { 8630 var index = 0, 8631 8632 // If we are going to the end, we want to run all the tweens 8633 // otherwise we skip this part 8634 length = gotoEnd ? animation.tweens.length : 0; 8635 if ( stopped ) { 8636 return this; 8637 } 8638 stopped = true; 8639 for ( ; index < length; index++ ) { 8640 animation.tweens[ index ].run( 1 ); 8641 } 8642 8643 // Resolve when we played the last frame; otherwise, reject 8644 if ( gotoEnd ) { 8645 deferred.notifyWith( elem, [ animation, 1, 0 ] ); 8646 deferred.resolveWith( elem, [ animation, gotoEnd ] ); 8647 } else { 8648 deferred.rejectWith( elem, [ animation, gotoEnd ] ); 8649 } 8650 return this; 8651 } 8652 } ), 8653 props = animation.props; 8654 8655 propFilter( props, animation.opts.specialEasing ); 8656 8657 for ( ; index < length; index++ ) { 8658 result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); 8659 if ( result ) { 8660 if ( isFunction( result.stop ) ) { 8661 jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = 8662 result.stop.bind( result ); 8663 } 8664 return result; 8665 } 8666 } 8667 8668 jQuery.map( props, createTween, animation ); 8669 8670 if ( isFunction( animation.opts.start ) ) { 8671 animation.opts.start.call( elem, animation ); 8672 } 8673 8674 // Attach callbacks from options 8675 animation 8676 .progress( animation.opts.progress ) 8677 .done( animation.opts.done, animation.opts.complete ) 8678 .fail( animation.opts.fail ) 8679 .always( animation.opts.always ); 8680 8681 jQuery.fx.timer( 8682 jQuery.extend( tick, { 8683 elem: elem, 8684 anim: animation, 8685 queue: animation.opts.queue 8686 } ) 8687 ); 8688 8689 return animation; 8690} 8691 8692jQuery.Animation = jQuery.extend( Animation, { 8693 8694 tweeners: { 8695 "*": [ function( prop, value ) { 8696 var tween = this.createTween( prop, value ); 8697 adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); 8698 return tween; 8699 } ] 8700 }, 8701 8702 tweener: function( props, callback ) { 8703 if ( isFunction( props ) ) { 8704 callback = props; 8705 props = [ "*" ]; 8706 } else { 8707 props = props.match( rnothtmlwhite ); 8708 } 8709 8710 var prop, 8711 index = 0, 8712 length = props.length; 8713 8714 for ( ; index < length; index++ ) { 8715 prop = props[ index ]; 8716 Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; 8717 Animation.tweeners[ prop ].unshift( callback ); 8718 } 8719 }, 8720 8721 prefilters: [ defaultPrefilter ], 8722 8723 prefilter: function( callback, prepend ) { 8724 if ( prepend ) { 8725 Animation.prefilters.unshift( callback ); 8726 } else { 8727 Animation.prefilters.push( callback ); 8728 } 8729 } 8730} ); 8731 8732jQuery.speed = function( speed, easing, fn ) { 8733 var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { 8734 complete: fn || !fn && easing || 8735 isFunction( speed ) && speed, 8736 duration: speed, 8737 easing: fn && easing || easing && !isFunction( easing ) && easing 8738 }; 8739 8740 // Go to the end state if fx are off 8741 if ( jQuery.fx.off ) { 8742 opt.duration = 0; 8743 8744 } else { 8745 if ( typeof opt.duration !== "number" ) { 8746 if ( opt.duration in jQuery.fx.speeds ) { 8747 opt.duration = jQuery.fx.speeds[ opt.duration ]; 8748 8749 } else { 8750 opt.duration = jQuery.fx.speeds._default; 8751 } 8752 } 8753 } 8754 8755 // Normalize opt.queue - true/undefined/null -> "fx" 8756 if ( opt.queue == null || opt.queue === true ) { 8757 opt.queue = "fx"; 8758 } 8759 8760 // Queueing 8761 opt.old = opt.complete; 8762 8763 opt.complete = function() { 8764 if ( isFunction( opt.old ) ) { 8765 opt.old.call( this ); 8766 } 8767 8768 if ( opt.queue ) { 8769 jQuery.dequeue( this, opt.queue ); 8770 } 8771 }; 8772 8773 return opt; 8774}; 8775 8776jQuery.fn.extend( { 8777 fadeTo: function( speed, to, easing, callback ) { 8778 8779 // Show any hidden elements after setting opacity to 0 8780 return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() 8781 8782 // Animate to the value specified 8783 .end().animate( { opacity: to }, speed, easing, callback ); 8784 }, 8785 animate: function( prop, speed, easing, callback ) { 8786 var empty = jQuery.isEmptyObject( prop ), 8787 optall = jQuery.speed( speed, easing, callback ), 8788 doAnimation = function() { 8789 8790 // Operate on a copy of prop so per-property easing won't be lost 8791 var anim = Animation( this, jQuery.extend( {}, prop ), optall ); 8792 8793 // Empty animations, or finishing resolves immediately 8794 if ( empty || dataPriv.get( this, "finish" ) ) { 8795 anim.stop( true ); 8796 } 8797 }; 8798 8799 doAnimation.finish = doAnimation; 8800 8801 return empty || optall.queue === false ? 8802 this.each( doAnimation ) : 8803 this.queue( optall.queue, doAnimation ); 8804 }, 8805 stop: function( type, clearQueue, gotoEnd ) { 8806 var stopQueue = function( hooks ) { 8807 var stop = hooks.stop; 8808 delete hooks.stop; 8809 stop( gotoEnd ); 8810 }; 8811 8812 if ( typeof type !== "string" ) { 8813 gotoEnd = clearQueue; 8814 clearQueue = type; 8815 type = undefined; 8816 } 8817 if ( clearQueue ) { 8818 this.queue( type || "fx", [] ); 8819 } 8820 8821 return this.each( function() { 8822 var dequeue = true, 8823 index = type != null && type + "queueHooks", 8824 timers = jQuery.timers, 8825 data = dataPriv.get( this ); 8826 8827 if ( index ) { 8828 if ( data[ index ] && data[ index ].stop ) { 8829 stopQueue( data[ index ] ); 8830 } 8831 } else { 8832 for ( index in data ) { 8833 if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { 8834 stopQueue( data[ index ] ); 8835 } 8836 } 8837 } 8838 8839 for ( index = timers.length; index--; ) { 8840 if ( timers[ index ].elem === this && 8841 ( type == null || timers[ index ].queue === type ) ) { 8842 8843 timers[ index ].anim.stop( gotoEnd ); 8844 dequeue = false; 8845 timers.splice( index, 1 ); 8846 } 8847 } 8848 8849 // Start the next in the queue if the last step wasn't forced. 8850 // Timers currently will call their complete callbacks, which 8851 // will dequeue but only if they were gotoEnd. 8852 if ( dequeue || !gotoEnd ) { 8853 jQuery.dequeue( this, type ); 8854 } 8855 } ); 8856 }, 8857 finish: function( type ) { 8858 if ( type !== false ) { 8859 type = type || "fx"; 8860 } 8861 return this.each( function() { 8862 var index, 8863 data = dataPriv.get( this ), 8864 queue = data[ type + "queue" ], 8865 hooks = data[ type + "queueHooks" ], 8866 timers = jQuery.timers, 8867 length = queue ? queue.length : 0; 8868 8869 // Enable finishing flag on private data 8870 data.finish = true; 8871 8872 // Empty the queue first 8873 jQuery.queue( this, type, [] ); 8874 8875 if ( hooks && hooks.stop ) { 8876 hooks.stop.call( this, true ); 8877 } 8878 8879 // Look for any active animations, and finish them 8880 for ( index = timers.length; index--; ) { 8881 if ( timers[ index ].elem === this && timers[ index ].queue === type ) { 8882 timers[ index ].anim.stop( true ); 8883 timers.splice( index, 1 ); 8884 } 8885 } 8886 8887 // Look for any animations in the old queue and finish them 8888 for ( index = 0; index < length; index++ ) { 8889 if ( queue[ index ] && queue[ index ].finish ) { 8890 queue[ index ].finish.call( this ); 8891 } 8892 } 8893 8894 // Turn off finishing flag 8895 delete data.finish; 8896 } ); 8897 } 8898} ); 8899 8900jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { 8901 var cssFn = jQuery.fn[ name ]; 8902 jQuery.fn[ name ] = function( speed, easing, callback ) { 8903 return speed == null || typeof speed === "boolean" ? 8904 cssFn.apply( this, arguments ) : 8905 this.animate( genFx( name, true ), speed, easing, callback ); 8906 }; 8907} ); 8908 8909// Generate shortcuts for custom animations 8910jQuery.each( { 8911 slideDown: genFx( "show" ), 8912 slideUp: genFx( "hide" ), 8913 slideToggle: genFx( "toggle" ), 8914 fadeIn: { opacity: "show" }, 8915 fadeOut: { opacity: "hide" }, 8916 fadeToggle: { opacity: "toggle" } 8917}, function( name, props ) { 8918 jQuery.fn[ name ] = function( speed, easing, callback ) { 8919 return this.animate( props, speed, easing, callback ); 8920 }; 8921} ); 8922 8923jQuery.timers = []; 8924jQuery.fx.tick = function() { 8925 var timer, 8926 i = 0, 8927 timers = jQuery.timers; 8928 8929 fxNow = Date.now(); 8930 8931 for ( ; i < timers.length; i++ ) { 8932 timer = timers[ i ]; 8933 8934 // Run the timer and safely remove it when done (allowing for external removal) 8935 if ( !timer() && timers[ i ] === timer ) { 8936 timers.splice( i--, 1 ); 8937 } 8938 } 8939 8940 if ( !timers.length ) { 8941 jQuery.fx.stop(); 8942 } 8943 fxNow = undefined; 8944}; 8945 8946jQuery.fx.timer = function( timer ) { 8947 jQuery.timers.push( timer ); 8948 jQuery.fx.start(); 8949}; 8950 8951jQuery.fx.interval = 13; 8952jQuery.fx.start = function() { 8953 if ( inProgress ) { 8954 return; 8955 } 8956 8957 inProgress = true; 8958 schedule(); 8959}; 8960 8961jQuery.fx.stop = function() { 8962 inProgress = null; 8963}; 8964 8965jQuery.fx.speeds = { 8966 slow: 600, 8967 fast: 200, 8968 8969 // Default speed 8970 _default: 400 8971}; 8972 8973 8974// Based off of the plugin by Clint Helfers, with permission. 8975// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ 8976jQuery.fn.delay = function( time, type ) { 8977 time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; 8978 type = type || "fx"; 8979 8980 return this.queue( type, function( next, hooks ) { 8981 var timeout = window.setTimeout( next, time ); 8982 hooks.stop = function() { 8983 window.clearTimeout( timeout ); 8984 }; 8985 } ); 8986}; 8987 8988 8989( function() { 8990 var input = document.createElement( "input" ), 8991 select = document.createElement( "select" ), 8992 opt = select.appendChild( document.createElement( "option" ) ); 8993 8994 input.type = "checkbox"; 8995 8996 // Support: Android <=4.3 only 8997 // Default value for a checkbox should be "on" 8998 support.checkOn = input.value !== ""; 8999 9000 // Support: IE <=11 only 9001 // Must access selectedIndex to make default options select 9002 support.optSelected = opt.selected; 9003 9004 // Support: IE <=11 only 9005 // An input loses its value after becoming a radio 9006 input = document.createElement( "input" ); 9007 input.value = "t"; 9008 input.type = "radio"; 9009 support.radioValue = input.value === "t"; 9010} )(); 9011 9012 9013var boolHook, 9014 attrHandle = jQuery.expr.attrHandle; 9015 9016jQuery.fn.extend( { 9017 attr: function( name, value ) { 9018 return access( this, jQuery.attr, name, value, arguments.length > 1 ); 9019 }, 9020 9021 removeAttr: function( name ) { 9022 return this.each( function() { 9023 jQuery.removeAttr( this, name ); 9024 } ); 9025 } 9026} ); 9027 9028jQuery.extend( { 9029 attr: function( elem, name, value ) { 9030 var ret, hooks, 9031 nType = elem.nodeType; 9032 9033 // Don't get/set attributes on text, comment and attribute nodes 9034 if ( nType === 3 || nType === 8 || nType === 2 ) { 9035 return; 9036 } 9037 9038 // Fallback to prop when attributes are not supported 9039 if ( typeof elem.getAttribute === "undefined" ) { 9040 return jQuery.prop( elem, name, value ); 9041 } 9042 9043 // Attribute hooks are determined by the lowercase version 9044 // Grab necessary hook if one is defined 9045 if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { 9046 hooks = jQuery.attrHooks[ name.toLowerCase() ] || 9047 ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); 9048 } 9049 9050 if ( value !== undefined ) { 9051 if ( value === null ) { 9052 jQuery.removeAttr( elem, name ); 9053 return; 9054 } 9055 9056 if ( hooks && "set" in hooks && 9057 ( ret = hooks.set( elem, value, name ) ) !== undefined ) { 9058 return ret; 9059 } 9060 9061 elem.setAttribute( name, value + "" ); 9062 return value; 9063 } 9064 9065 if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { 9066 return ret; 9067 } 9068 9069 ret = jQuery.find.attr( elem, name ); 9070 9071 // Non-existent attributes return null, we normalize to undefined 9072 return ret == null ? undefined : ret; 9073 }, 9074 9075 attrHooks: { 9076 type: { 9077 set: function( elem, value ) { 9078 if ( !support.radioValue && value === "radio" && 9079 nodeName( elem, "input" ) ) { 9080 var val = elem.value; 9081 elem.setAttribute( "type", value ); 9082 if ( val ) { 9083 elem.value = val; 9084 } 9085 return value; 9086 } 9087 } 9088 } 9089 }, 9090 9091 removeAttr: function( elem, value ) { 9092 var name, 9093 i = 0, 9094 9095 // Attribute names can contain non-HTML whitespace characters 9096 // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 9097 attrNames = value && value.match( rnothtmlwhite ); 9098 9099 if ( attrNames && elem.nodeType === 1 ) { 9100 while ( ( name = attrNames[ i++ ] ) ) { 9101 elem.removeAttribute( name ); 9102 } 9103 } 9104 } 9105} ); 9106 9107// Hooks for boolean attributes 9108boolHook = { 9109 set: function( elem, value, name ) { 9110 if ( value === false ) { 9111 9112 // Remove boolean attributes when set to false 9113 jQuery.removeAttr( elem, name ); 9114 } else { 9115 elem.setAttribute( name, name ); 9116 } 9117 return name; 9118 } 9119}; 9120 9121jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { 9122 var getter = attrHandle[ name ] || jQuery.find.attr; 9123 9124 attrHandle[ name ] = function( elem, name, isXML ) { 9125 var ret, handle, 9126 lowercaseName = name.toLowerCase(); 9127 9128 if ( !isXML ) { 9129 9130 // Avoid an infinite loop by temporarily removing this function from the getter 9131 handle = attrHandle[ lowercaseName ]; 9132 attrHandle[ lowercaseName ] = ret; 9133 ret = getter( elem, name, isXML ) != null ? 9134 lowercaseName : 9135 null; 9136 attrHandle[ lowercaseName ] = handle; 9137 } 9138 return ret; 9139 }; 9140} ); 9141 9142 9143 9144 9145var rfocusable = /^(?:input|select|textarea|button)$/i, 9146 rclickable = /^(?:a|area)$/i; 9147 9148jQuery.fn.extend( { 9149 prop: function( name, value ) { 9150 return access( this, jQuery.prop, name, value, arguments.length > 1 ); 9151 }, 9152 9153 removeProp: function( name ) { 9154 return this.each( function() { 9155 delete this[ jQuery.propFix[ name ] || name ]; 9156 } ); 9157 } 9158} ); 9159 9160jQuery.extend( { 9161 prop: function( elem, name, value ) { 9162 var ret, hooks, 9163 nType = elem.nodeType; 9164 9165 // Don't get/set properties on text, comment and attribute nodes 9166 if ( nType === 3 || nType === 8 || nType === 2 ) { 9167 return; 9168 } 9169 9170 if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { 9171 9172 // Fix name and attach hooks 9173 name = jQuery.propFix[ name ] || name; 9174 hooks = jQuery.propHooks[ name ]; 9175 } 9176 9177 if ( value !== undefined ) { 9178 if ( hooks && "set" in hooks && 9179 ( ret = hooks.set( elem, value, name ) ) !== undefined ) { 9180 return ret; 9181 } 9182 9183 return ( elem[ name ] = value ); 9184 } 9185 9186 if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { 9187 return ret; 9188 } 9189 9190 return elem[ name ]; 9191 }, 9192 9193 propHooks: { 9194 tabIndex: { 9195 get: function( elem ) { 9196 9197 // Support: IE <=9 - 11 only 9198 // elem.tabIndex doesn't always return the 9199 // correct value when it hasn't been explicitly set 9200 // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ 9201 // Use proper attribute retrieval(#12072) 9202 var tabindex = jQuery.find.attr( elem, "tabindex" ); 9203 9204 if ( tabindex ) { 9205 return parseInt( tabindex, 10 ); 9206 } 9207 9208 if ( 9209 rfocusable.test( elem.nodeName ) || 9210 rclickable.test( elem.nodeName ) && 9211 elem.href 9212 ) { 9213 return 0; 9214 } 9215 9216 return -1; 9217 } 9218 } 9219 }, 9220 9221 propFix: { 9222 "for": "htmlFor", 9223 "class": "className" 9224 } 9225} ); 9226 9227// Support: IE <=11 only 9228// Accessing the selectedIndex property 9229// forces the browser to respect setting selected 9230// on the option 9231// The getter ensures a default option is selected 9232// when in an optgroup 9233// eslint rule "no-unused-expressions" is disabled for this code 9234// since it considers such accessions noop 9235if ( !support.optSelected ) { 9236 jQuery.propHooks.selected = { 9237 get: function( elem ) { 9238 9239 /* eslint no-unused-expressions: "off" */ 9240 9241 var parent = elem.parentNode; 9242 if ( parent && parent.parentNode ) { 9243 parent.parentNode.selectedIndex; 9244 } 9245 return null; 9246 }, 9247 set: function( elem ) { 9248 9249 /* eslint no-unused-expressions: "off" */ 9250 9251 var parent = elem.parentNode; 9252 if ( parent ) { 9253 parent.selectedIndex; 9254 9255 if ( parent.parentNode ) { 9256 parent.parentNode.selectedIndex; 9257 } 9258 } 9259 } 9260 }; 9261} 9262 9263jQuery.each( [ 9264 "tabIndex", 9265 "readOnly", 9266 "maxLength", 9267 "cellSpacing", 9268 "cellPadding", 9269 "rowSpan", 9270 "colSpan", 9271 "useMap", 9272 "frameBorder", 9273 "contentEditable" 9274], function() { 9275 jQuery.propFix[ this.toLowerCase() ] = this; 9276} ); 9277 9278 9279 9280 9281 // Strip and collapse whitespace according to HTML spec 9282 // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace 9283 function stripAndCollapse( value ) { 9284 var tokens = value.match( rnothtmlwhite ) || []; 9285 return tokens.join( " " ); 9286 } 9287 9288 9289function getClass( elem ) { 9290 return elem.getAttribute && elem.getAttribute( "class" ) || ""; 9291} 9292 9293function classesToArray( value ) { 9294 if ( Array.isArray( value ) ) { 9295 return value; 9296 } 9297 if ( typeof value === "string" ) { 9298 return value.match( rnothtmlwhite ) || []; 9299 } 9300 return []; 9301} 9302 9303jQuery.fn.extend( { 9304 addClass: function( value ) { 9305 var classes, elem, cur, curValue, clazz, j, finalValue, 9306 i = 0; 9307 9308 if ( isFunction( value ) ) { 9309 return this.each( function( j ) { 9310 jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); 9311 } ); 9312 } 9313 9314 classes = classesToArray( value ); 9315 9316 if ( classes.length ) { 9317 while ( ( elem = this[ i++ ] ) ) { 9318 curValue = getClass( elem ); 9319 cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); 9320 9321 if ( cur ) { 9322 j = 0; 9323 while ( ( clazz = classes[ j++ ] ) ) { 9324 if ( cur.indexOf( " " + clazz + " " ) < 0 ) { 9325 cur += clazz + " "; 9326 } 9327 } 9328 9329 // Only assign if different to avoid unneeded rendering. 9330 finalValue = stripAndCollapse( cur ); 9331 if ( curValue !== finalValue ) { 9332 elem.setAttribute( "class", finalValue ); 9333 } 9334 } 9335 } 9336 } 9337 9338 return this; 9339 }, 9340 9341 removeClass: function( value ) { 9342 var classes, elem, cur, curValue, clazz, j, finalValue, 9343 i = 0; 9344 9345 if ( isFunction( value ) ) { 9346 return this.each( function( j ) { 9347 jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); 9348 } ); 9349 } 9350 9351 if ( !arguments.length ) { 9352 return this.attr( "class", "" ); 9353 } 9354 9355 classes = classesToArray( value ); 9356 9357 if ( classes.length ) { 9358 while ( ( elem = this[ i++ ] ) ) { 9359 curValue = getClass( elem ); 9360 9361 // This expression is here for better compressibility (see addClass) 9362 cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); 9363 9364 if ( cur ) { 9365 j = 0; 9366 while ( ( clazz = classes[ j++ ] ) ) { 9367 9368 // Remove *all* instances 9369 while ( cur.indexOf( " " + clazz + " " ) > -1 ) { 9370 cur = cur.replace( " " + clazz + " ", " " ); 9371 } 9372 } 9373 9374 // Only assign if different to avoid unneeded rendering. 9375 finalValue = stripAndCollapse( cur ); 9376 if ( curValue !== finalValue ) { 9377 elem.setAttribute( "class", finalValue ); 9378 } 9379 } 9380 } 9381 } 9382 9383 return this; 9384 }, 9385 9386 toggleClass: function( value, stateVal ) { 9387 var type = typeof value, 9388 isValidValue = type === "string" || Array.isArray( value ); 9389 9390 if ( typeof stateVal === "boolean" && isValidValue ) { 9391 return stateVal ? this.addClass( value ) : this.removeClass( value ); 9392 } 9393 9394 if ( isFunction( value ) ) { 9395 return this.each( function( i ) { 9396 jQuery( this ).toggleClass( 9397 value.call( this, i, getClass( this ), stateVal ), 9398 stateVal 9399 ); 9400 } ); 9401 } 9402 9403 return this.each( function() { 9404 var className, i, self, classNames; 9405 9406 if ( isValidValue ) { 9407 9408 // Toggle individual class names 9409 i = 0; 9410 self = jQuery( this ); 9411 classNames = classesToArray( value ); 9412 9413 while ( ( className = classNames[ i++ ] ) ) { 9414 9415 // Check each className given, space separated list 9416 if ( self.hasClass( className ) ) { 9417 self.removeClass( className ); 9418 } else { 9419 self.addClass( className ); 9420 } 9421 } 9422 9423 // Toggle whole class name 9424 } else if ( value === undefined || type === "boolean" ) { 9425 className = getClass( this ); 9426 if ( className ) { 9427 9428 // Store className if set 9429 dataPriv.set( this, "__className__", className ); 9430 } 9431 9432 // If the element has a class name or if we're passed `false`, 9433 // then remove the whole classname (if there was one, the above saved it). 9434 // Otherwise bring back whatever was previously saved (if anything), 9435 // falling back to the empty string if nothing was stored. 9436 if ( this.setAttribute ) { 9437 this.setAttribute( "class", 9438 className || value === false ? 9439 "" : 9440 dataPriv.get( this, "__className__" ) || "" 9441 ); 9442 } 9443 } 9444 } ); 9445 }, 9446 9447 hasClass: function( selector ) { 9448 var className, elem, 9449 i = 0; 9450 9451 className = " " + selector + " "; 9452 while ( ( elem = this[ i++ ] ) ) { 9453 if ( elem.nodeType === 1 && 9454 ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { 9455 return true; 9456 } 9457 } 9458 9459 return false; 9460 } 9461} ); 9462 9463 9464 9465 9466var rreturn = /\r/g; 9467 9468jQuery.fn.extend( { 9469 val: function( value ) { 9470 var hooks, ret, valueIsFunction, 9471 elem = this[ 0 ]; 9472 9473 if ( !arguments.length ) { 9474 if ( elem ) { 9475 hooks = jQuery.valHooks[ elem.type ] || 9476 jQuery.valHooks[ elem.nodeName.toLowerCase() ]; 9477 9478 if ( hooks && 9479 "get" in hooks && 9480 ( ret = hooks.get( elem, "value" ) ) !== undefined 9481 ) { 9482 return ret; 9483 } 9484 9485 ret = elem.value; 9486 9487 // Handle most common string cases 9488 if ( typeof ret === "string" ) { 9489 return ret.replace( rreturn, "" ); 9490 } 9491 9492 // Handle cases where value is null/undef or number 9493 return ret == null ? "" : ret; 9494 } 9495 9496 return; 9497 } 9498 9499 valueIsFunction = isFunction( value ); 9500 9501 return this.each( function( i ) { 9502 var val; 9503 9504 if ( this.nodeType !== 1 ) { 9505 return; 9506 } 9507 9508 if ( valueIsFunction ) { 9509 val = value.call( this, i, jQuery( this ).val() ); 9510 } else { 9511 val = value; 9512 } 9513 9514 // Treat null/undefined as ""; convert numbers to string 9515 if ( val == null ) { 9516 val = ""; 9517 9518 } else if ( typeof val === "number" ) { 9519 val += ""; 9520 9521 } else if ( Array.isArray( val ) ) { 9522 val = jQuery.map( val, function( value ) { 9523 return value == null ? "" : value + ""; 9524 } ); 9525 } 9526 9527 hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; 9528 9529 // If set returns undefined, fall back to normal setting 9530 if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { 9531 this.value = val; 9532 } 9533 } ); 9534 } 9535} ); 9536 9537jQuery.extend( { 9538 valHooks: { 9539 option: { 9540 get: function( elem ) { 9541 9542 var val = jQuery.find.attr( elem, "value" ); 9543 return val != null ? 9544 val : 9545 9546 // Support: IE <=10 - 11 only 9547 // option.text throws exceptions (#14686, #14858) 9548 // Strip and collapse whitespace 9549 // https://html.spec.whatwg.org/#strip-and-collapse-whitespace 9550 stripAndCollapse( jQuery.text( elem ) ); 9551 } 9552 }, 9553 select: { 9554 get: function( elem ) { 9555 var value, option, i, 9556 options = elem.options, 9557 index = elem.selectedIndex, 9558 one = elem.type === "select-one", 9559 values = one ? null : [], 9560 max = one ? index + 1 : options.length; 9561 9562 if ( index < 0 ) { 9563 i = max; 9564 9565 } else { 9566 i = one ? index : 0; 9567 } 9568 9569 // Loop through all the selected options 9570 for ( ; i < max; i++ ) { 9571 option = options[ i ]; 9572 9573 // Support: IE <=9 only 9574 // IE8-9 doesn't update selected after form reset (#2551) 9575 if ( ( option.selected || i === index ) && 9576 9577 // Don't return options that are disabled or in a disabled optgroup 9578 !option.disabled && 9579 ( !option.parentNode.disabled || 9580 !nodeName( option.parentNode, "optgroup" ) ) ) { 9581 9582 // Get the specific value for the option 9583 value = jQuery( option ).val(); 9584 9585 // We don't need an array for one selects 9586 if ( one ) { 9587 return value; 9588 } 9589 9590 // Multi-Selects return an array 9591 values.push( value ); 9592 } 9593 } 9594 9595 return values; 9596 }, 9597 9598 set: function( elem, value ) { 9599 var optionSet, option, 9600 options = elem.options, 9601 values = jQuery.makeArray( value ), 9602 i = options.length; 9603 9604 while ( i-- ) { 9605 option = options[ i ]; 9606 9607 /* eslint-disable no-cond-assign */ 9608 9609 if ( option.selected = 9610 jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 9611 ) { 9612 optionSet = true; 9613 } 9614 9615 /* eslint-enable no-cond-assign */ 9616 } 9617 9618 // Force browsers to behave consistently when non-matching value is set 9619 if ( !optionSet ) { 9620 elem.selectedIndex = -1; 9621 } 9622 return values; 9623 } 9624 } 9625 } 9626} ); 9627 9628// Radios and checkboxes getter/setter 9629jQuery.each( [ "radio", "checkbox" ], function() { 9630 jQuery.valHooks[ this ] = { 9631 set: function( elem, value ) { 9632 if ( Array.isArray( value ) ) { 9633 return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); 9634 } 9635 } 9636 }; 9637 if ( !support.checkOn ) { 9638 jQuery.valHooks[ this ].get = function( elem ) { 9639 return elem.getAttribute( "value" ) === null ? "on" : elem.value; 9640 }; 9641 } 9642} ); 9643 9644 9645 9646 9647// Return jQuery for attributes-only inclusion 9648 9649 9650support.focusin = "onfocusin" in window; 9651 9652 9653var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, 9654 stopPropagationCallback = function( e ) { 9655 e.stopPropagation(); 9656 }; 9657 9658jQuery.extend( jQuery.event, { 9659 9660 trigger: function( event, data, elem, onlyHandlers ) { 9661 9662 var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, 9663 eventPath = [ elem || document ], 9664 type = hasOwn.call( event, "type" ) ? event.type : event, 9665 namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; 9666 9667 cur = lastElement = tmp = elem = elem || document; 9668 9669 // Don't do events on text and comment nodes 9670 if ( elem.nodeType === 3 || elem.nodeType === 8 ) { 9671 return; 9672 } 9673 9674 // focus/blur morphs to focusin/out; ensure we're not firing them right now 9675 if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { 9676 return; 9677 } 9678 9679 if ( type.indexOf( "." ) > -1 ) { 9680 9681 // Namespaced trigger; create a regexp to match event type in handle() 9682 namespaces = type.split( "." ); 9683 type = namespaces.shift(); 9684 namespaces.sort(); 9685 } 9686 ontype = type.indexOf( ":" ) < 0 && "on" + type; 9687 9688 // Caller can pass in a jQuery.Event object, Object, or just an event type string 9689 event = event[ jQuery.expando ] ? 9690 event : 9691 new jQuery.Event( type, typeof event === "object" && event ); 9692 9693 // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) 9694 event.isTrigger = onlyHandlers ? 2 : 3; 9695 event.namespace = namespaces.join( "." ); 9696 event.rnamespace = event.namespace ? 9697 new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : 9698 null; 9699 9700 // Clean up the event in case it is being reused 9701 event.result = undefined; 9702 if ( !event.target ) { 9703 event.target = elem; 9704 } 9705 9706 // Clone any incoming data and prepend the event, creating the handler arg list 9707 data = data == null ? 9708 [ event ] : 9709 jQuery.makeArray( data, [ event ] ); 9710 9711 // Allow special events to draw outside the lines 9712 special = jQuery.event.special[ type ] || {}; 9713 if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { 9714 return; 9715 } 9716 9717 // Determine event propagation path in advance, per W3C events spec (#9951) 9718 // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) 9719 if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { 9720 9721 bubbleType = special.delegateType || type; 9722 if ( !rfocusMorph.test( bubbleType + type ) ) { 9723 cur = cur.parentNode; 9724 } 9725 for ( ; cur; cur = cur.parentNode ) { 9726 eventPath.push( cur ); 9727 tmp = cur; 9728 } 9729 9730 // Only add window if we got to document (e.g., not plain obj or detached DOM) 9731 if ( tmp === ( elem.ownerDocument || document ) ) { 9732 eventPath.push( tmp.defaultView || tmp.parentWindow || window ); 9733 } 9734 } 9735 9736 // Fire handlers on the event path 9737 i = 0; 9738 while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { 9739 lastElement = cur; 9740 event.type = i > 1 ? 9741 bubbleType : 9742 special.bindType || type; 9743 9744 // jQuery handler 9745 handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && 9746 dataPriv.get( cur, "handle" ); 9747 if ( handle ) { 9748 handle.apply( cur, data ); 9749 } 9750 9751 // Native handler 9752 handle = ontype && cur[ ontype ]; 9753 if ( handle && handle.apply && acceptData( cur ) ) { 9754 event.result = handle.apply( cur, data ); 9755 if ( event.result === false ) { 9756 event.preventDefault(); 9757 } 9758 } 9759 } 9760 event.type = type; 9761 9762 // If nobody prevented the default action, do it now 9763 if ( !onlyHandlers && !event.isDefaultPrevented() ) { 9764 9765 if ( ( !special._default || 9766 special._default.apply( eventPath.pop(), data ) === false ) && 9767 acceptData( elem ) ) { 9768 9769 // Call a native DOM method on the target with the same name as the event. 9770 // Don't do default actions on window, that's where global variables be (#6170) 9771 if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { 9772 9773 // Don't re-trigger an onFOO event when we call its FOO() method 9774 tmp = elem[ ontype ]; 9775 9776 if ( tmp ) { 9777 elem[ ontype ] = null; 9778 } 9779 9780 // Prevent re-triggering of the same event, since we already bubbled it above 9781 jQuery.event.triggered = type; 9782 9783 if ( event.isPropagationStopped() ) { 9784 lastElement.addEventListener( type, stopPropagationCallback ); 9785 } 9786 9787 elem[ type ](); 9788 9789 if ( event.isPropagationStopped() ) { 9790 lastElement.removeEventListener( type, stopPropagationCallback ); 9791 } 9792 9793 jQuery.event.triggered = undefined; 9794 9795 if ( tmp ) { 9796 elem[ ontype ] = tmp; 9797 } 9798 } 9799 } 9800 } 9801 9802 return event.result; 9803 }, 9804 9805 // Piggyback on a donor event to simulate a different one 9806 // Used only for `focus(in | out)` events 9807 simulate: function( type, elem, event ) { 9808 var e = jQuery.extend( 9809 new jQuery.Event(), 9810 event, 9811 { 9812 type: type, 9813 isSimulated: true 9814 } 9815 ); 9816 9817 jQuery.event.trigger( e, null, elem ); 9818 } 9819 9820} ); 9821 9822jQuery.fn.extend( { 9823 9824 trigger: function( type, data ) { 9825 return this.each( function() { 9826 jQuery.event.trigger( type, data, this ); 9827 } ); 9828 }, 9829 triggerHandler: function( type, data ) { 9830 var elem = this[ 0 ]; 9831 if ( elem ) { 9832 return jQuery.event.trigger( type, data, elem, true ); 9833 } 9834 } 9835} ); 9836 9837 9838// Support: Firefox <=44 9839// Firefox doesn't have focus(in | out) events 9840// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 9841// 9842// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 9843// focus(in | out) events fire after focus & blur events, 9844// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order 9845// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 9846if ( !support.focusin ) { 9847 jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { 9848 9849 // Attach a single capturing handler on the document while someone wants focusin/focusout 9850 var handler = function( event ) { 9851 jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); 9852 }; 9853 9854 jQuery.event.special[ fix ] = { 9855 setup: function() { 9856 9857 // Handle: regular nodes (via `this.ownerDocument`), window 9858 // (via `this.document`) & document (via `this`). 9859 var doc = this.ownerDocument || this.document || this, 9860 attaches = dataPriv.access( doc, fix ); 9861 9862 if ( !attaches ) { 9863 doc.addEventListener( orig, handler, true ); 9864 } 9865 dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); 9866 }, 9867 teardown: function() { 9868 var doc = this.ownerDocument || this.document || this, 9869 attaches = dataPriv.access( doc, fix ) - 1; 9870 9871 if ( !attaches ) { 9872 doc.removeEventListener( orig, handler, true ); 9873 dataPriv.remove( doc, fix ); 9874 9875 } else { 9876 dataPriv.access( doc, fix, attaches ); 9877 } 9878 } 9879 }; 9880 } ); 9881} 9882var location = window.location; 9883 9884var nonce = { guid: Date.now() }; 9885 9886var rquery = ( /\?/ ); 9887 9888 9889 9890// Cross-browser xml parsing 9891jQuery.parseXML = function( data ) { 9892 var xml, parserErrorElem; 9893 if ( !data || typeof data !== "string" ) { 9894 return null; 9895 } 9896 9897 // Support: IE 9 - 11 only 9898 // IE throws on parseFromString with invalid input. 9899 try { 9900 xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); 9901 } catch ( e ) {} 9902 9903 parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; 9904 if ( !xml || parserErrorElem ) { 9905 jQuery.error( "Invalid XML: " + ( 9906 parserErrorElem ? 9907 jQuery.map( parserErrorElem.childNodes, function( el ) { 9908 return el.textContent; 9909 } ).join( "\n" ) : 9910 data 9911 ) ); 9912 } 9913 return xml; 9914}; 9915 9916 9917var 9918 rbracket = /\[\]$/, 9919 rCRLF = /\r?\n/g, 9920 rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, 9921 rsubmittable = /^(?:input|select|textarea|keygen)/i; 9922 9923function buildParams( prefix, obj, traditional, add ) { 9924 var name; 9925 9926 if ( Array.isArray( obj ) ) { 9927 9928 // Serialize array item. 9929 jQuery.each( obj, function( i, v ) { 9930 if ( traditional || rbracket.test( prefix ) ) { 9931 9932 // Treat each array item as a scalar. 9933 add( prefix, v ); 9934 9935 } else { 9936 9937 // Item is non-scalar (array or object), encode its numeric index. 9938 buildParams( 9939 prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", 9940 v, 9941 traditional, 9942 add 9943 ); 9944 } 9945 } ); 9946 9947 } else if ( !traditional && toType( obj ) === "object" ) { 9948 9949 // Serialize object item. 9950 for ( name in obj ) { 9951 buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); 9952 } 9953 9954 } else { 9955 9956 // Serialize scalar item. 9957 add( prefix, obj ); 9958 } 9959} 9960 9961// Serialize an array of form elements or a set of 9962// key/values into a query string 9963jQuery.param = function( a, traditional ) { 9964 var prefix, 9965 s = [], 9966 add = function( key, valueOrFunction ) { 9967 9968 // If value is a function, invoke it and use its return value 9969 var value = isFunction( valueOrFunction ) ? 9970 valueOrFunction() : 9971 valueOrFunction; 9972 9973 s[ s.length ] = encodeURIComponent( key ) + "=" + 9974 encodeURIComponent( value == null ? "" : value ); 9975 }; 9976 9977 if ( a == null ) { 9978 return ""; 9979 } 9980 9981 // If an array was passed in, assume that it is an array of form elements. 9982 if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { 9983 9984 // Serialize the form elements 9985 jQuery.each( a, function() { 9986 add( this.name, this.value ); 9987 } ); 9988 9989 } else { 9990 9991 // If traditional, encode the "old" way (the way 1.3.2 or older 9992 // did it), otherwise encode params recursively. 9993 for ( prefix in a ) { 9994 buildParams( prefix, a[ prefix ], traditional, add ); 9995 } 9996 } 9997 9998 // Return the resulting serialization 9999 return s.join( "&" ); 10000}; 10001 10002jQuery.fn.extend( { 10003 serialize: function() { 10004 return jQuery.param( this.serializeArray() ); 10005 }, 10006 serializeArray: function() { 10007 return this.map( function() { 10008 10009 // Can add propHook for "elements" to filter or add form elements 10010 var elements = jQuery.prop( this, "elements" ); 10011 return elements ? jQuery.makeArray( elements ) : this; 10012 } ).filter( function() { 10013 var type = this.type; 10014 10015 // Use .is( ":disabled" ) so that fieldset[disabled] works 10016 return this.name && !jQuery( this ).is( ":disabled" ) && 10017 rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && 10018 ( this.checked || !rcheckableType.test( type ) ); 10019 } ).map( function( _i, elem ) { 10020 var val = jQuery( this ).val(); 10021 10022 if ( val == null ) { 10023 return null; 10024 } 10025 10026 if ( Array.isArray( val ) ) { 10027 return jQuery.map( val, function( val ) { 10028 return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; 10029 } ); 10030 } 10031 10032 return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; 10033 } ).get(); 10034 } 10035} ); 10036 10037 10038var 10039 r20 = /%20/g, 10040 rhash = /#.*$/, 10041 rantiCache = /([?&])_=[^&]*/, 10042 rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, 10043 10044 // #7653, #8125, #8152: local protocol detection 10045 rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, 10046 rnoContent = /^(?:GET|HEAD)$/, 10047 rprotocol = /^\/\//, 10048 10049 /* Prefilters 10050 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) 10051 * 2) These are called: 10052 * - BEFORE asking for a transport 10053 * - AFTER param serialization (s.data is a string if s.processData is true) 10054 * 3) key is the dataType 10055 * 4) the catchall symbol "*" can be used 10056 * 5) execution will start with transport dataType and THEN continue down to "*" if needed 10057 */ 10058 prefilters = {}, 10059 10060 /* Transports bindings 10061 * 1) key is the dataType 10062 * 2) the catchall symbol "*" can be used 10063 * 3) selection will start with transport dataType and THEN go to "*" if needed 10064 */ 10065 transports = {}, 10066 10067 // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression 10068 allTypes = "*/".concat( "*" ), 10069 10070 // Anchor tag for parsing the document origin 10071 originAnchor = document.createElement( "a" ); 10072 10073originAnchor.href = location.href; 10074 10075// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport 10076function addToPrefiltersOrTransports( structure ) { 10077 10078 // dataTypeExpression is optional and defaults to "*" 10079 return function( dataTypeExpression, func ) { 10080 10081 if ( typeof dataTypeExpression !== "string" ) { 10082 func = dataTypeExpression; 10083 dataTypeExpression = "*"; 10084 } 10085 10086 var dataType, 10087 i = 0, 10088 dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; 10089 10090 if ( isFunction( func ) ) { 10091 10092 // For each dataType in the dataTypeExpression 10093 while ( ( dataType = dataTypes[ i++ ] ) ) { 10094 10095 // Prepend if requested 10096 if ( dataType[ 0 ] === "+" ) { 10097 dataType = dataType.slice( 1 ) || "*"; 10098 ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); 10099 10100 // Otherwise append 10101 } else { 10102 ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); 10103 } 10104 } 10105 } 10106 }; 10107} 10108 10109// Base inspection function for prefilters and transports 10110function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { 10111 10112 var inspected = {}, 10113 seekingTransport = ( structure === transports ); 10114 10115 function inspect( dataType ) { 10116 var selected; 10117 inspected[ dataType ] = true; 10118 jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { 10119 var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); 10120 if ( typeof dataTypeOrTransport === "string" && 10121 !seekingTransport && !inspected[ dataTypeOrTransport ] ) { 10122 10123 options.dataTypes.unshift( dataTypeOrTransport ); 10124 inspect( dataTypeOrTransport ); 10125 return false; 10126 } else if ( seekingTransport ) { 10127 return !( selected = dataTypeOrTransport ); 10128 } 10129 } ); 10130 return selected; 10131 } 10132 10133 return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); 10134} 10135 10136// A special extend for ajax options 10137// that takes "flat" options (not to be deep extended) 10138// Fixes #9887 10139function ajaxExtend( target, src ) { 10140 var key, deep, 10141 flatOptions = jQuery.ajaxSettings.flatOptions || {}; 10142 10143 for ( key in src ) { 10144 if ( src[ key ] !== undefined ) { 10145 ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; 10146 } 10147 } 10148 if ( deep ) { 10149 jQuery.extend( true, target, deep ); 10150 } 10151 10152 return target; 10153} 10154 10155/* Handles responses to an ajax request: 10156 * - finds the right dataType (mediates between content-type and expected dataType) 10157 * - returns the corresponding response 10158 */ 10159function ajaxHandleResponses( s, jqXHR, responses ) { 10160 10161 var ct, type, finalDataType, firstDataType, 10162 contents = s.contents, 10163 dataTypes = s.dataTypes; 10164 10165 // Remove auto dataType and get content-type in the process 10166 while ( dataTypes[ 0 ] === "*" ) { 10167 dataTypes.shift(); 10168 if ( ct === undefined ) { 10169 ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); 10170 } 10171 } 10172 10173 // Check if we're dealing with a known content-type 10174 if ( ct ) { 10175 for ( type in contents ) { 10176 if ( contents[ type ] && contents[ type ].test( ct ) ) { 10177 dataTypes.unshift( type ); 10178 break; 10179 } 10180 } 10181 } 10182 10183 // Check to see if we have a response for the expected dataType 10184 if ( dataTypes[ 0 ] in responses ) { 10185 finalDataType = dataTypes[ 0 ]; 10186 } else { 10187 10188 // Try convertible dataTypes 10189 for ( type in responses ) { 10190 if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { 10191 finalDataType = type; 10192 break; 10193 } 10194 if ( !firstDataType ) { 10195 firstDataType = type; 10196 } 10197 } 10198 10199 // Or just use first one 10200 finalDataType = finalDataType || firstDataType; 10201 } 10202 10203 // If we found a dataType 10204 // We add the dataType to the list if needed 10205 // and return the corresponding response 10206 if ( finalDataType ) { 10207 if ( finalDataType !== dataTypes[ 0 ] ) { 10208 dataTypes.unshift( finalDataType ); 10209 } 10210 return responses[ finalDataType ]; 10211 } 10212} 10213 10214/* Chain conversions given the request and the original response 10215 * Also sets the responseXXX fields on the jqXHR instance 10216 */ 10217function ajaxConvert( s, response, jqXHR, isSuccess ) { 10218 var conv2, current, conv, tmp, prev, 10219 converters = {}, 10220 10221 // Work with a copy of dataTypes in case we need to modify it for conversion 10222 dataTypes = s.dataTypes.slice(); 10223 10224 // Create converters map with lowercased keys 10225 if ( dataTypes[ 1 ] ) { 10226 for ( conv in s.converters ) { 10227 converters[ conv.toLowerCase() ] = s.converters[ conv ]; 10228 } 10229 } 10230 10231 current = dataTypes.shift(); 10232 10233 // Convert to each sequential dataType 10234 while ( current ) { 10235 10236 if ( s.responseFields[ current ] ) { 10237 jqXHR[ s.responseFields[ current ] ] = response; 10238 } 10239 10240 // Apply the dataFilter if provided 10241 if ( !prev && isSuccess && s.dataFilter ) { 10242 response = s.dataFilter( response, s.dataType ); 10243 } 10244 10245 prev = current; 10246 current = dataTypes.shift(); 10247 10248 if ( current ) { 10249 10250 // There's only work to do if current dataType is non-auto 10251 if ( current === "*" ) { 10252 10253 current = prev; 10254 10255 // Convert response if prev dataType is non-auto and differs from current 10256 } else if ( prev !== "*" && prev !== current ) { 10257 10258 // Seek a direct converter 10259 conv = converters[ prev + " " + current ] || converters[ "* " + current ]; 10260 10261 // If none found, seek a pair 10262 if ( !conv ) { 10263 for ( conv2 in converters ) { 10264 10265 // If conv2 outputs current 10266 tmp = conv2.split( " " ); 10267 if ( tmp[ 1 ] === current ) { 10268 10269 // If prev can be converted to accepted input 10270 conv = converters[ prev + " " + tmp[ 0 ] ] || 10271 converters[ "* " + tmp[ 0 ] ]; 10272 if ( conv ) { 10273 10274 // Condense equivalence converters 10275 if ( conv === true ) { 10276 conv = converters[ conv2 ]; 10277 10278 // Otherwise, insert the intermediate dataType 10279 } else if ( converters[ conv2 ] !== true ) { 10280 current = tmp[ 0 ]; 10281 dataTypes.unshift( tmp[ 1 ] ); 10282 } 10283 break; 10284 } 10285 } 10286 } 10287 } 10288 10289 // Apply converter (if not an equivalence) 10290 if ( conv !== true ) { 10291 10292 // Unless errors are allowed to bubble, catch and return them 10293 if ( conv && s.throws ) { 10294 response = conv( response ); 10295 } else { 10296 try { 10297 response = conv( response ); 10298 } catch ( e ) { 10299 return { 10300 state: "parsererror", 10301 error: conv ? e : "No conversion from " + prev + " to " + current 10302 }; 10303 } 10304 } 10305 } 10306 } 10307 } 10308 } 10309 10310 return { state: "success", data: response }; 10311} 10312 10313jQuery.extend( { 10314 10315 // Counter for holding the number of active queries 10316 active: 0, 10317 10318 // Last-Modified header cache for next request 10319 lastModified: {}, 10320 etag: {}, 10321 10322 ajaxSettings: { 10323 url: location.href, 10324 type: "GET", 10325 isLocal: rlocalProtocol.test( location.protocol ), 10326 global: true, 10327 processData: true, 10328 async: true, 10329 contentType: "application/x-www-form-urlencoded; charset=UTF-8", 10330 10331 /* 10332 timeout: 0, 10333 data: null, 10334 dataType: null, 10335 username: null, 10336 password: null, 10337 cache: null, 10338 throws: false, 10339 traditional: false, 10340 headers: {}, 10341 */ 10342 10343 accepts: { 10344 "*": allTypes, 10345 text: "text/plain", 10346 html: "text/html", 10347 xml: "application/xml, text/xml", 10348 json: "application/json, text/javascript" 10349 }, 10350 10351 contents: { 10352 xml: /\bxml\b/, 10353 html: /\bhtml/, 10354 json: /\bjson\b/ 10355 }, 10356 10357 responseFields: { 10358 xml: "responseXML", 10359 text: "responseText", 10360 json: "responseJSON" 10361 }, 10362 10363 // Data converters 10364 // Keys separate source (or catchall "*") and destination types with a single space 10365 converters: { 10366 10367 // Convert anything to text 10368 "* text": String, 10369 10370 // Text to html (true = no transformation) 10371 "text html": true, 10372 10373 // Evaluate text as a json expression 10374 "text json": JSON.parse, 10375 10376 // Parse text as xml 10377 "text xml": jQuery.parseXML 10378 }, 10379 10380 // For options that shouldn't be deep extended: 10381 // you can add your own custom options here if 10382 // and when you create one that shouldn't be 10383 // deep extended (see ajaxExtend) 10384 flatOptions: { 10385 url: true, 10386 context: true 10387 } 10388 }, 10389 10390 // Creates a full fledged settings object into target 10391 // with both ajaxSettings and settings fields. 10392 // If target is omitted, writes into ajaxSettings. 10393 ajaxSetup: function( target, settings ) { 10394 return settings ? 10395 10396 // Building a settings object 10397 ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : 10398 10399 // Extending ajaxSettings 10400 ajaxExtend( jQuery.ajaxSettings, target ); 10401 }, 10402 10403 ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), 10404 ajaxTransport: addToPrefiltersOrTransports( transports ), 10405 10406 // Main method 10407 ajax: function( url, options ) { 10408 10409 // If url is an object, simulate pre-1.5 signature 10410 if ( typeof url === "object" ) { 10411 options = url; 10412 url = undefined; 10413 } 10414 10415 // Force options to be an object 10416 options = options || {}; 10417 10418 var transport, 10419 10420 // URL without anti-cache param 10421 cacheURL, 10422 10423 // Response headers 10424 responseHeadersString, 10425 responseHeaders, 10426 10427 // timeout handle 10428 timeoutTimer, 10429 10430 // Url cleanup var 10431 urlAnchor, 10432 10433 // Request state (becomes false upon send and true upon completion) 10434 completed, 10435 10436 // To know if global events are to be dispatched 10437 fireGlobals, 10438 10439 // Loop variable 10440 i, 10441 10442 // uncached part of the url 10443 uncached, 10444 10445 // Create the final options object 10446 s = jQuery.ajaxSetup( {}, options ), 10447 10448 // Callbacks context 10449 callbackContext = s.context || s, 10450 10451 // Context for global events is callbackContext if it is a DOM node or jQuery collection 10452 globalEventContext = s.context && 10453 ( callbackContext.nodeType || callbackContext.jquery ) ? 10454 jQuery( callbackContext ) : 10455 jQuery.event, 10456 10457 // Deferreds 10458 deferred = jQuery.Deferred(), 10459 completeDeferred = jQuery.Callbacks( "once memory" ), 10460 10461 // Status-dependent callbacks 10462 statusCode = s.statusCode || {}, 10463 10464 // Headers (they are sent all at once) 10465 requestHeaders = {}, 10466 requestHeadersNames = {}, 10467 10468 // Default abort message 10469 strAbort = "canceled", 10470 10471 // Fake xhr 10472 jqXHR = { 10473 readyState: 0, 10474 10475 // Builds headers hashtable if needed 10476 getResponseHeader: function( key ) { 10477 var match; 10478 if ( completed ) { 10479 if ( !responseHeaders ) { 10480 responseHeaders = {}; 10481 while ( ( match = rheaders.exec( responseHeadersString ) ) ) { 10482 responseHeaders[ match[ 1 ].toLowerCase() + " " ] = 10483 ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) 10484 .concat( match[ 2 ] ); 10485 } 10486 } 10487 match = responseHeaders[ key.toLowerCase() + " " ]; 10488 } 10489 return match == null ? null : match.join( ", " ); 10490 }, 10491 10492 // Raw string 10493 getAllResponseHeaders: function() { 10494 return completed ? responseHeadersString : null; 10495 }, 10496 10497 // Caches the header 10498 setRequestHeader: function( name, value ) { 10499 if ( completed == null ) { 10500 name = requestHeadersNames[ name.toLowerCase() ] = 10501 requestHeadersNames[ name.toLowerCase() ] || name; 10502 requestHeaders[ name ] = value; 10503 } 10504 return this; 10505 }, 10506 10507 // Overrides response content-type header 10508 overrideMimeType: function( type ) { 10509 if ( completed == null ) { 10510 s.mimeType = type; 10511 } 10512 return this; 10513 }, 10514 10515 // Status-dependent callbacks 10516 statusCode: function( map ) { 10517 var code; 10518 if ( map ) { 10519 if ( completed ) { 10520 10521 // Execute the appropriate callbacks 10522 jqXHR.always( map[ jqXHR.status ] ); 10523 } else { 10524 10525 // Lazy-add the new callbacks in a way that preserves old ones 10526 for ( code in map ) { 10527 statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; 10528 } 10529 } 10530 } 10531 return this; 10532 }, 10533 10534 // Cancel the request 10535 abort: function( statusText ) { 10536 var finalText = statusText || strAbort; 10537 if ( transport ) { 10538 transport.abort( finalText ); 10539 } 10540 done( 0, finalText ); 10541 return this; 10542 } 10543 }; 10544 10545 // Attach deferreds 10546 deferred.promise( jqXHR ); 10547 10548 // Add protocol if not provided (prefilters might expect it) 10549 // Handle falsy url in the settings object (#10093: consistency with old signature) 10550 // We also use the url parameter if available 10551 s.url = ( ( url || s.url || location.href ) + "" ) 10552 .replace( rprotocol, location.protocol + "//" ); 10553 10554 // Alias method option to type as per ticket #12004 10555 s.type = options.method || options.type || s.method || s.type; 10556 10557 // Extract dataTypes list 10558 s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; 10559 10560 // A cross-domain request is in order when the origin doesn't match the current origin. 10561 if ( s.crossDomain == null ) { 10562 urlAnchor = document.createElement( "a" ); 10563 10564 // Support: IE <=8 - 11, Edge 12 - 15 10565 // IE throws exception on accessing the href property if url is malformed, 10566 // e.g. http://example.com:80x/ 10567 try { 10568 urlAnchor.href = s.url; 10569 10570 // Support: IE <=8 - 11 only 10571 // Anchor's host property isn't correctly set when s.url is relative 10572 urlAnchor.href = urlAnchor.href; 10573 s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== 10574 urlAnchor.protocol + "//" + urlAnchor.host; 10575 } catch ( e ) { 10576 10577 // If there is an error parsing the URL, assume it is crossDomain, 10578 // it can be rejected by the transport if it is invalid 10579 s.crossDomain = true; 10580 } 10581 } 10582 10583 // Convert data if not already a string 10584 if ( s.data && s.processData && typeof s.data !== "string" ) { 10585 s.data = jQuery.param( s.data, s.traditional ); 10586 } 10587 10588 // Apply prefilters 10589 inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); 10590 10591 // If request was aborted inside a prefilter, stop there 10592 if ( completed ) { 10593 return jqXHR; 10594 } 10595 10596 // We can fire global events as of now if asked to 10597 // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) 10598 fireGlobals = jQuery.event && s.global; 10599 10600 // Watch for a new set of requests 10601 if ( fireGlobals && jQuery.active++ === 0 ) { 10602 jQuery.event.trigger( "ajaxStart" ); 10603 } 10604 10605 // Uppercase the type 10606 s.type = s.type.toUpperCase(); 10607 10608 // Determine if request has content 10609 s.hasContent = !rnoContent.test( s.type ); 10610 10611 // Save the URL in case we're toying with the If-Modified-Since 10612 // and/or If-None-Match header later on 10613 // Remove hash to simplify url manipulation 10614 cacheURL = s.url.replace( rhash, "" ); 10615 10616 // More options handling for requests with no content 10617 if ( !s.hasContent ) { 10618 10619 // Remember the hash so we can put it back 10620 uncached = s.url.slice( cacheURL.length ); 10621 10622 // If data is available and should be processed, append data to url 10623 if ( s.data && ( s.processData || typeof s.data === "string" ) ) { 10624 cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; 10625 10626 // #9682: remove data so that it's not used in an eventual retry 10627 delete s.data; 10628 } 10629 10630 // Add or update anti-cache param if needed 10631 if ( s.cache === false ) { 10632 cacheURL = cacheURL.replace( rantiCache, "$1" ); 10633 uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + 10634 uncached; 10635 } 10636 10637 // Put hash and anti-cache on the URL that will be requested (gh-1732) 10638 s.url = cacheURL + uncached; 10639 10640 // Change '%20' to '+' if this is encoded form body content (gh-2658) 10641 } else if ( s.data && s.processData && 10642 ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { 10643 s.data = s.data.replace( r20, "+" ); 10644 } 10645 10646 // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. 10647 if ( s.ifModified ) { 10648 if ( jQuery.lastModified[ cacheURL ] ) { 10649 jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); 10650 } 10651 if ( jQuery.etag[ cacheURL ] ) { 10652 jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); 10653 } 10654 } 10655 10656 // Set the correct header, if data is being sent 10657 if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { 10658 jqXHR.setRequestHeader( "Content-Type", s.contentType ); 10659 } 10660 10661 // Set the Accepts header for the server, depending on the dataType 10662 jqXHR.setRequestHeader( 10663 "Accept", 10664 s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? 10665 s.accepts[ s.dataTypes[ 0 ] ] + 10666 ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : 10667 s.accepts[ "*" ] 10668 ); 10669 10670 // Check for headers option 10671 for ( i in s.headers ) { 10672 jqXHR.setRequestHeader( i, s.headers[ i ] ); 10673 } 10674 10675 // Allow custom headers/mimetypes and early abort 10676 if ( s.beforeSend && 10677 ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { 10678 10679 // Abort if not done already and return 10680 return jqXHR.abort(); 10681 } 10682 10683 // Aborting is no longer a cancellation 10684 strAbort = "abort"; 10685 10686 // Install callbacks on deferreds 10687 completeDeferred.add( s.complete ); 10688 jqXHR.done( s.success ); 10689 jqXHR.fail( s.error ); 10690 10691 // Get transport 10692 transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); 10693 10694 // If no transport, we auto-abort 10695 if ( !transport ) { 10696 done( -1, "No Transport" ); 10697 } else { 10698 jqXHR.readyState = 1; 10699 10700 // Send global event 10701 if ( fireGlobals ) { 10702 globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); 10703 } 10704 10705 // If request was aborted inside ajaxSend, stop there 10706 if ( completed ) { 10707 return jqXHR; 10708 } 10709 10710 // Timeout 10711 if ( s.async && s.timeout > 0 ) { 10712 timeoutTimer = window.setTimeout( function() { 10713 jqXHR.abort( "timeout" ); 10714 }, s.timeout ); 10715 } 10716 10717 try { 10718 completed = false; 10719 transport.send( requestHeaders, done ); 10720 } catch ( e ) { 10721 10722 // Rethrow post-completion exceptions 10723 if ( completed ) { 10724 throw e; 10725 } 10726 10727 // Propagate others as results 10728 done( -1, e ); 10729 } 10730 } 10731 10732 // Callback for when everything is done 10733 function done( status, nativeStatusText, responses, headers ) { 10734 var isSuccess, success, error, response, modified, 10735 statusText = nativeStatusText; 10736 10737 // Ignore repeat invocations 10738 if ( completed ) { 10739 return; 10740 } 10741 10742 completed = true; 10743 10744 // Clear timeout if it exists 10745 if ( timeoutTimer ) { 10746 window.clearTimeout( timeoutTimer ); 10747 } 10748 10749 // Dereference transport for early garbage collection 10750 // (no matter how long the jqXHR object will be used) 10751 transport = undefined; 10752 10753 // Cache response headers 10754 responseHeadersString = headers || ""; 10755 10756 // Set readyState 10757 jqXHR.readyState = status > 0 ? 4 : 0; 10758 10759 // Determine if successful 10760 isSuccess = status >= 200 && status < 300 || status === 304; 10761 10762 // Get response data 10763 if ( responses ) { 10764 response = ajaxHandleResponses( s, jqXHR, responses ); 10765 } 10766 10767 // Use a noop converter for missing script but not if jsonp 10768 if ( !isSuccess && 10769 jQuery.inArray( "script", s.dataTypes ) > -1 && 10770 jQuery.inArray( "json", s.dataTypes ) < 0 ) { 10771 s.converters[ "text script" ] = function() {}; 10772 } 10773 10774 // Convert no matter what (that way responseXXX fields are always set) 10775 response = ajaxConvert( s, response, jqXHR, isSuccess ); 10776 10777 // If successful, handle type chaining 10778 if ( isSuccess ) { 10779 10780 // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. 10781 if ( s.ifModified ) { 10782 modified = jqXHR.getResponseHeader( "Last-Modified" ); 10783 if ( modified ) { 10784 jQuery.lastModified[ cacheURL ] = modified; 10785 } 10786 modified = jqXHR.getResponseHeader( "etag" ); 10787 if ( modified ) { 10788 jQuery.etag[ cacheURL ] = modified; 10789 } 10790 } 10791 10792 // if no content 10793 if ( status === 204 || s.type === "HEAD" ) { 10794 statusText = "nocontent"; 10795 10796 // if not modified 10797 } else if ( status === 304 ) { 10798 statusText = "notmodified"; 10799 10800 // If we have data, let's convert it 10801 } else { 10802 statusText = response.state; 10803 success = response.data; 10804 error = response.error; 10805 isSuccess = !error; 10806 } 10807 } else { 10808 10809 // Extract error from statusText and normalize for non-aborts 10810 error = statusText; 10811 if ( status || !statusText ) { 10812 statusText = "error"; 10813 if ( status < 0 ) { 10814 status = 0; 10815 } 10816 } 10817 } 10818 10819 // Set data for the fake xhr object 10820 jqXHR.status = status; 10821 jqXHR.statusText = ( nativeStatusText || statusText ) + ""; 10822 10823 // Success/Error 10824 if ( isSuccess ) { 10825 deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); 10826 } else { 10827 deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); 10828 } 10829 10830 // Status-dependent callbacks 10831 jqXHR.statusCode( statusCode ); 10832 statusCode = undefined; 10833 10834 if ( fireGlobals ) { 10835 globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", 10836 [ jqXHR, s, isSuccess ? success : error ] ); 10837 } 10838 10839 // Complete 10840 completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); 10841 10842 if ( fireGlobals ) { 10843 globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); 10844 10845 // Handle the global AJAX counter 10846 if ( !( --jQuery.active ) ) { 10847 jQuery.event.trigger( "ajaxStop" ); 10848 } 10849 } 10850 } 10851 10852 return jqXHR; 10853 }, 10854 10855 getJSON: function( url, data, callback ) { 10856 return jQuery.get( url, data, callback, "json" ); 10857 }, 10858 10859 getScript: function( url, callback ) { 10860 return jQuery.get( url, undefined, callback, "script" ); 10861 } 10862} ); 10863 10864jQuery.each( [ "get", "post" ], function( _i, method ) { 10865 jQuery[ method ] = function( url, data, callback, type ) { 10866 10867 // Shift arguments if data argument was omitted 10868 if ( isFunction( data ) ) { 10869 type = type || callback; 10870 callback = data; 10871 data = undefined; 10872 } 10873 10874 // The url can be an options object (which then must have .url) 10875 return jQuery.ajax( jQuery.extend( { 10876 url: url, 10877 type: method, 10878 dataType: type, 10879 data: data, 10880 success: callback 10881 }, jQuery.isPlainObject( url ) && url ) ); 10882 }; 10883} ); 10884 10885jQuery.ajaxPrefilter( function( s ) { 10886 var i; 10887 for ( i in s.headers ) { 10888 if ( i.toLowerCase() === "content-type" ) { 10889 s.contentType = s.headers[ i ] || ""; 10890 } 10891 } 10892} ); 10893 10894 10895jQuery._evalUrl = function( url, options, doc ) { 10896 return jQuery.ajax( { 10897 url: url, 10898 10899 // Make this explicit, since user can override this through ajaxSetup (#11264) 10900 type: "GET", 10901 dataType: "script", 10902 cache: true, 10903 async: false, 10904 global: false, 10905 10906 // Only evaluate the response if it is successful (gh-4126) 10907 // dataFilter is not invoked for failure responses, so using it instead 10908 // of the default converter is kludgy but it works. 10909 converters: { 10910 "text script": function() {} 10911 }, 10912 dataFilter: function( response ) { 10913 jQuery.globalEval( response, options, doc ); 10914 } 10915 } ); 10916}; 10917 10918 10919jQuery.fn.extend( { 10920 wrapAll: function( html ) { 10921 var wrap; 10922 10923 if ( this[ 0 ] ) { 10924 if ( isFunction( html ) ) { 10925 html = html.call( this[ 0 ] ); 10926 } 10927 10928 // The elements to wrap the target around 10929 wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); 10930 10931 if ( this[ 0 ].parentNode ) { 10932 wrap.insertBefore( this[ 0 ] ); 10933 } 10934 10935 wrap.map( function() { 10936 var elem = this; 10937 10938 while ( elem.firstElementChild ) { 10939 elem = elem.firstElementChild; 10940 } 10941 10942 return elem; 10943 } ).append( this ); 10944 } 10945 10946 return this; 10947 }, 10948 10949 wrapInner: function( html ) { 10950 if ( isFunction( html ) ) { 10951 return this.each( function( i ) { 10952 jQuery( this ).wrapInner( html.call( this, i ) ); 10953 } ); 10954 } 10955 10956 return this.each( function() { 10957 var self = jQuery( this ), 10958 contents = self.contents(); 10959 10960 if ( contents.length ) { 10961 contents.wrapAll( html ); 10962 10963 } else { 10964 self.append( html ); 10965 } 10966 } ); 10967 }, 10968 10969 wrap: function( html ) { 10970 var htmlIsFunction = isFunction( html ); 10971 10972 return this.each( function( i ) { 10973 jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); 10974 } ); 10975 }, 10976 10977 unwrap: function( selector ) { 10978 this.parent( selector ).not( "body" ).each( function() { 10979 jQuery( this ).replaceWith( this.childNodes ); 10980 } ); 10981 return this; 10982 } 10983} ); 10984 10985 10986jQuery.expr.pseudos.hidden = function( elem ) { 10987 return !jQuery.expr.pseudos.visible( elem ); 10988}; 10989jQuery.expr.pseudos.visible = function( elem ) { 10990 return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); 10991}; 10992 10993 10994 10995 10996jQuery.ajaxSettings.xhr = function() { 10997 try { 10998 return new window.XMLHttpRequest(); 10999 } catch ( e ) {} 11000}; 11001 11002var xhrSuccessStatus = { 11003 11004 // File protocol always yields status code 0, assume 200 11005 0: 200, 11006 11007 // Support: IE <=9 only 11008 // #1450: sometimes IE returns 1223 when it should be 204 11009 1223: 204 11010 }, 11011 xhrSupported = jQuery.ajaxSettings.xhr(); 11012 11013support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); 11014support.ajax = xhrSupported = !!xhrSupported; 11015 11016jQuery.ajaxTransport( function( options ) { 11017 var callback, errorCallback; 11018 11019 // Cross domain only allowed if supported through XMLHttpRequest 11020 if ( support.cors || xhrSupported && !options.crossDomain ) { 11021 return { 11022 send: function( headers, complete ) { 11023 var i, 11024 xhr = options.xhr(); 11025 11026 xhr.open( 11027 options.type, 11028 options.url, 11029 options.async, 11030 options.username, 11031 options.password 11032 ); 11033 11034 // Apply custom fields if provided 11035 if ( options.xhrFields ) { 11036 for ( i in options.xhrFields ) { 11037 xhr[ i ] = options.xhrFields[ i ]; 11038 } 11039 } 11040 11041 // Override mime type if needed 11042 if ( options.mimeType && xhr.overrideMimeType ) { 11043 xhr.overrideMimeType( options.mimeType ); 11044 } 11045 11046 // X-Requested-With header 11047 // For cross-domain requests, seeing as conditions for a preflight are 11048 // akin to a jigsaw puzzle, we simply never set it to be sure. 11049 // (it can always be set on a per-request basis or even using ajaxSetup) 11050 // For same-domain requests, won't change header if already provided. 11051 if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { 11052 headers[ "X-Requested-With" ] = "XMLHttpRequest"; 11053 } 11054 11055 // Set headers 11056 for ( i in headers ) { 11057 xhr.setRequestHeader( i, headers[ i ] ); 11058 } 11059 11060 // Callback 11061 callback = function( type ) { 11062 return function() { 11063 if ( callback ) { 11064 callback = errorCallback = xhr.onload = 11065 xhr.onerror = xhr.onabort = xhr.ontimeout = 11066 xhr.onreadystatechange = null; 11067 11068 if ( type === "abort" ) { 11069 xhr.abort(); 11070 } else if ( type === "error" ) { 11071 11072 // Support: IE <=9 only 11073 // On a manual native abort, IE9 throws 11074 // errors on any property access that is not readyState 11075 if ( typeof xhr.status !== "number" ) { 11076 complete( 0, "error" ); 11077 } else { 11078 complete( 11079 11080 // File: protocol always yields status 0; see #8605, #14207 11081 xhr.status, 11082 xhr.statusText 11083 ); 11084 } 11085 } else { 11086 complete( 11087 xhrSuccessStatus[ xhr.status ] || xhr.status, 11088 xhr.statusText, 11089 11090 // Support: IE <=9 only 11091 // IE9 has no XHR2 but throws on binary (trac-11426) 11092 // For XHR2 non-text, let the caller handle it (gh-2498) 11093 ( xhr.responseType || "text" ) !== "text" || 11094 typeof xhr.responseText !== "string" ? 11095 { binary: xhr.response } : 11096 { text: xhr.responseText }, 11097 xhr.getAllResponseHeaders() 11098 ); 11099 } 11100 } 11101 }; 11102 }; 11103 11104 // Listen to events 11105 xhr.onload = callback(); 11106 errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); 11107 11108 // Support: IE 9 only 11109 // Use onreadystatechange to replace onabort 11110 // to handle uncaught aborts 11111 if ( xhr.onabort !== undefined ) { 11112 xhr.onabort = errorCallback; 11113 } else { 11114 xhr.onreadystatechange = function() { 11115 11116 // Check readyState before timeout as it changes 11117 if ( xhr.readyState === 4 ) { 11118 11119 // Allow onerror to be called first, 11120 // but that will not handle a native abort 11121 // Also, save errorCallback to a variable 11122 // as xhr.onerror cannot be accessed 11123 window.setTimeout( function() { 11124 if ( callback ) { 11125 errorCallback(); 11126 } 11127 } ); 11128 } 11129 }; 11130 } 11131 11132 // Create the abort callback 11133 callback = callback( "abort" ); 11134 11135 try { 11136 11137 // Do send the request (this may raise an exception) 11138 xhr.send( options.hasContent && options.data || null ); 11139 } catch ( e ) { 11140 11141 // #14683: Only rethrow if this hasn't been notified as an error yet 11142 if ( callback ) { 11143 throw e; 11144 } 11145 } 11146 }, 11147 11148 abort: function() { 11149 if ( callback ) { 11150 callback(); 11151 } 11152 } 11153 }; 11154 } 11155} ); 11156 11157 11158 11159 11160// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) 11161jQuery.ajaxPrefilter( function( s ) { 11162 if ( s.crossDomain ) { 11163 s.contents.script = false; 11164 } 11165} ); 11166 11167// Install script dataType 11168jQuery.ajaxSetup( { 11169 accepts: { 11170 script: "text/javascript, application/javascript, " + 11171 "application/ecmascript, application/x-ecmascript" 11172 }, 11173 contents: { 11174 script: /\b(?:java|ecma)script\b/ 11175 }, 11176 converters: { 11177 "text script": function( text ) { 11178 jQuery.globalEval( text ); 11179 return text; 11180 } 11181 } 11182} ); 11183 11184// Handle cache's special case and crossDomain 11185jQuery.ajaxPrefilter( "script", function( s ) { 11186 if ( s.cache === undefined ) { 11187 s.cache = false; 11188 } 11189 if ( s.crossDomain ) { 11190 s.type = "GET"; 11191 } 11192} ); 11193 11194// Bind script tag hack transport 11195jQuery.ajaxTransport( "script", function( s ) { 11196 11197 // This transport only deals with cross domain or forced-by-attrs requests 11198 if ( s.crossDomain || s.scriptAttrs ) { 11199 var script, callback; 11200 return { 11201 send: function( _, complete ) { 11202 script = jQuery( "<script>" ) 11203 .attr( s.scriptAttrs || {} ) 11204 .prop( { charset: s.scriptCharset, src: s.url } ) 11205 .on( "load error", callback = function( evt ) { 11206 script.remove(); 11207 callback = null; 11208 if ( evt ) { 11209 complete( evt.type === "error" ? 404 : 200, evt.type ); 11210 } 11211 } ); 11212 11213 // Use native DOM manipulation to avoid our domManip AJAX trickery 11214 document.head.appendChild( script[ 0 ] ); 11215 }, 11216 abort: function() { 11217 if ( callback ) { 11218 callback(); 11219 } 11220 } 11221 }; 11222 } 11223} ); 11224 11225 11226 11227 11228var oldCallbacks = [], 11229 rjsonp = /(=)\?(?=&|$)|\?\?/; 11230 11231// Default jsonp settings 11232jQuery.ajaxSetup( { 11233 jsonp: "callback", 11234 jsonpCallback: function() { 11235 var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) ); 11236 this[ callback ] = true; 11237 return callback; 11238 } 11239} ); 11240 11241// Detect, normalize options and install callbacks for jsonp requests 11242jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { 11243 11244 var callbackName, overwritten, responseContainer, 11245 jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? 11246 "url" : 11247 typeof s.data === "string" && 11248 ( s.contentType || "" ) 11249 .indexOf( "application/x-www-form-urlencoded" ) === 0 && 11250 rjsonp.test( s.data ) && "data" 11251 ); 11252 11253 // Handle iff the expected data type is "jsonp" or we have a parameter to set 11254 if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { 11255 11256 // Get callback name, remembering preexisting value associated with it 11257 callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? 11258 s.jsonpCallback() : 11259 s.jsonpCallback; 11260 11261 // Insert callback into url or form data 11262 if ( jsonProp ) { 11263 s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); 11264 } else if ( s.jsonp !== false ) { 11265 s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; 11266 } 11267 11268 // Use data converter to retrieve json after script execution 11269 s.converters[ "script json" ] = function() { 11270 if ( !responseContainer ) { 11271 jQuery.error( callbackName + " was not called" ); 11272 } 11273 return responseContainer[ 0 ]; 11274 }; 11275 11276 // Force json dataType 11277 s.dataTypes[ 0 ] = "json"; 11278 11279 // Install callback 11280 overwritten = window[ callbackName ]; 11281 window[ callbackName ] = function() { 11282 responseContainer = arguments; 11283 }; 11284 11285 // Clean-up function (fires after converters) 11286 jqXHR.always( function() { 11287 11288 // If previous value didn't exist - remove it 11289 if ( overwritten === undefined ) { 11290 jQuery( window ).removeProp( callbackName ); 11291 11292 // Otherwise restore preexisting value 11293 } else { 11294 window[ callbackName ] = overwritten; 11295 } 11296 11297 // Save back as free 11298 if ( s[ callbackName ] ) { 11299 11300 // Make sure that re-using the options doesn't screw things around 11301 s.jsonpCallback = originalSettings.jsonpCallback; 11302 11303 // Save the callback name for future use 11304 oldCallbacks.push( callbackName ); 11305 } 11306 11307 // Call if it was a function and we have a response 11308 if ( responseContainer && isFunction( overwritten ) ) { 11309 overwritten( responseContainer[ 0 ] ); 11310 } 11311 11312 responseContainer = overwritten = undefined; 11313 } ); 11314 11315 // Delegate to script 11316 return "script"; 11317 } 11318} ); 11319 11320 11321 11322 11323// Support: Safari 8 only 11324// In Safari 8 documents created via document.implementation.createHTMLDocument 11325// collapse sibling forms: the second one becomes a child of the first one. 11326// Because of that, this security measure has to be disabled in Safari 8. 11327// https://bugs.webkit.org/show_bug.cgi?id=137337 11328support.createHTMLDocument = ( function() { 11329 var body = document.implementation.createHTMLDocument( "" ).body; 11330 body.innerHTML = "<form></form><form></form>"; 11331 return body.childNodes.length === 2; 11332} )(); 11333 11334 11335// Argument "data" should be string of html 11336// context (optional): If specified, the fragment will be created in this context, 11337// defaults to document 11338// keepScripts (optional): If true, will include scripts passed in the html string 11339jQuery.parseHTML = function( data, context, keepScripts ) { 11340 if ( typeof data !== "string" ) { 11341 return []; 11342 } 11343 if ( typeof context === "boolean" ) { 11344 keepScripts = context; 11345 context = false; 11346 } 11347 11348 var base, parsed, scripts; 11349 11350 if ( !context ) { 11351 11352 // Stop scripts or inline event handlers from being executed immediately 11353 // by using document.implementation 11354 if ( support.createHTMLDocument ) { 11355 context = document.implementation.createHTMLDocument( "" ); 11356 11357 // Set the base href for the created document 11358 // so any parsed elements with URLs 11359 // are based on the document's URL (gh-2965) 11360 base = context.createElement( "base" ); 11361 base.href = document.location.href; 11362 context.head.appendChild( base ); 11363 } else { 11364 context = document; 11365 } 11366 } 11367 11368 parsed = rsingleTag.exec( data ); 11369 scripts = !keepScripts && []; 11370 11371 // Single tag 11372 if ( parsed ) { 11373 return [ context.createElement( parsed[ 1 ] ) ]; 11374 } 11375 11376 parsed = buildFragment( [ data ], context, scripts ); 11377 11378 if ( scripts && scripts.length ) { 11379 jQuery( scripts ).remove(); 11380 } 11381 11382 return jQuery.merge( [], parsed.childNodes ); 11383}; 11384 11385 11386/** 11387 * Load a url into a page 11388 */ 11389jQuery.fn.load = function( url, params, callback ) { 11390 var selector, type, response, 11391 self = this, 11392 off = url.indexOf( " " ); 11393 11394 if ( off > -1 ) { 11395 selector = stripAndCollapse( url.slice( off ) ); 11396 url = url.slice( 0, off ); 11397 } 11398 11399 // If it's a function 11400 if ( isFunction( params ) ) { 11401 11402 // We assume that it's the callback 11403 callback = params; 11404 params = undefined; 11405 11406 // Otherwise, build a param string 11407 } else if ( params && typeof params === "object" ) { 11408 type = "POST"; 11409 } 11410 11411 // If we have elements to modify, make the request 11412 if ( self.length > 0 ) { 11413 jQuery.ajax( { 11414 url: url, 11415 11416 // If "type" variable is undefined, then "GET" method will be used. 11417 // Make value of this field explicit since 11418 // user can override it through ajaxSetup method 11419 type: type || "GET", 11420 dataType: "html", 11421 data: params 11422 } ).done( function( responseText ) { 11423 11424 // Save response for use in complete callback 11425 response = arguments; 11426 11427 self.html( selector ? 11428 11429 // If a selector was specified, locate the right elements in a dummy div 11430 // Exclude scripts to avoid IE 'Permission Denied' errors 11431 jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : 11432 11433 // Otherwise use the full result 11434 responseText ); 11435 11436 // If the request succeeds, this function gets "data", "status", "jqXHR" 11437 // but they are ignored because response was set above. 11438 // If it fails, this function gets "jqXHR", "status", "error" 11439 } ).always( callback && function( jqXHR, status ) { 11440 self.each( function() { 11441 callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); 11442 } ); 11443 } ); 11444 } 11445 11446 return this; 11447}; 11448 11449 11450 11451 11452jQuery.expr.pseudos.animated = function( elem ) { 11453 return jQuery.grep( jQuery.timers, function( fn ) { 11454 return elem === fn.elem; 11455 } ).length; 11456}; 11457 11458 11459 11460 11461jQuery.offset = { 11462 setOffset: function( elem, options, i ) { 11463 var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, 11464 position = jQuery.css( elem, "position" ), 11465 curElem = jQuery( elem ), 11466 props = {}; 11467 11468 // Set position first, in-case top/left are set even on static elem 11469 if ( position === "static" ) { 11470 elem.style.position = "relative"; 11471 } 11472 11473 curOffset = curElem.offset(); 11474 curCSSTop = jQuery.css( elem, "top" ); 11475 curCSSLeft = jQuery.css( elem, "left" ); 11476 calculatePosition = ( position === "absolute" || position === "fixed" ) && 11477 ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; 11478 11479 // Need to be able to calculate position if either 11480 // top or left is auto and position is either absolute or fixed 11481 if ( calculatePosition ) { 11482 curPosition = curElem.position(); 11483 curTop = curPosition.top; 11484 curLeft = curPosition.left; 11485 11486 } else { 11487 curTop = parseFloat( curCSSTop ) || 0; 11488 curLeft = parseFloat( curCSSLeft ) || 0; 11489 } 11490 11491 if ( isFunction( options ) ) { 11492 11493 // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) 11494 options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); 11495 } 11496 11497 if ( options.top != null ) { 11498 props.top = ( options.top - curOffset.top ) + curTop; 11499 } 11500 if ( options.left != null ) { 11501 props.left = ( options.left - curOffset.left ) + curLeft; 11502 } 11503 11504 if ( "using" in options ) { 11505 options.using.call( elem, props ); 11506 11507 } else { 11508 curElem.css( props ); 11509 } 11510 } 11511}; 11512 11513jQuery.fn.extend( { 11514 11515 // offset() relates an element's border box to the document origin 11516 offset: function( options ) { 11517 11518 // Preserve chaining for setter 11519 if ( arguments.length ) { 11520 return options === undefined ? 11521 this : 11522 this.each( function( i ) { 11523 jQuery.offset.setOffset( this, options, i ); 11524 } ); 11525 } 11526 11527 var rect, win, 11528 elem = this[ 0 ]; 11529 11530 if ( !elem ) { 11531 return; 11532 } 11533 11534 // Return zeros for disconnected and hidden (display: none) elements (gh-2310) 11535 // Support: IE <=11 only 11536 // Running getBoundingClientRect on a 11537 // disconnected node in IE throws an error 11538 if ( !elem.getClientRects().length ) { 11539 return { top: 0, left: 0 }; 11540 } 11541 11542 // Get document-relative position by adding viewport scroll to viewport-relative gBCR 11543 rect = elem.getBoundingClientRect(); 11544 win = elem.ownerDocument.defaultView; 11545 return { 11546 top: rect.top + win.pageYOffset, 11547 left: rect.left + win.pageXOffset 11548 }; 11549 }, 11550 11551 // position() relates an element's margin box to its offset parent's padding box 11552 // This corresponds to the behavior of CSS absolute positioning 11553 position: function() { 11554 if ( !this[ 0 ] ) { 11555 return; 11556 } 11557 11558 var offsetParent, offset, doc, 11559 elem = this[ 0 ], 11560 parentOffset = { top: 0, left: 0 }; 11561 11562 // position:fixed elements are offset from the viewport, which itself always has zero offset 11563 if ( jQuery.css( elem, "position" ) === "fixed" ) { 11564 11565 // Assume position:fixed implies availability of getBoundingClientRect 11566 offset = elem.getBoundingClientRect(); 11567 11568 } else { 11569 offset = this.offset(); 11570 11571 // Account for the *real* offset parent, which can be the document or its root element 11572 // when a statically positioned element is identified 11573 doc = elem.ownerDocument; 11574 offsetParent = elem.offsetParent || doc.documentElement; 11575 while ( offsetParent && 11576 ( offsetParent === doc.body || offsetParent === doc.documentElement ) && 11577 jQuery.css( offsetParent, "position" ) === "static" ) { 11578 11579 offsetParent = offsetParent.parentNode; 11580 } 11581 if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { 11582 11583 // Incorporate borders into its offset, since they are outside its content origin 11584 parentOffset = jQuery( offsetParent ).offset(); 11585 parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); 11586 parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); 11587 } 11588 } 11589 11590 // Subtract parent offsets and element margins 11591 return { 11592 top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), 11593 left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) 11594 }; 11595 }, 11596 11597 // This method will return documentElement in the following cases: 11598 // 1) For the element inside the iframe without offsetParent, this method will return 11599 // documentElement of the parent window 11600 // 2) For the hidden or detached element 11601 // 3) For body or html element, i.e. in case of the html node - it will return itself 11602 // 11603 // but those exceptions were never presented as a real life use-cases 11604 // and might be considered as more preferable results. 11605 // 11606 // This logic, however, is not guaranteed and can change at any point in the future 11607 offsetParent: function() { 11608 return this.map( function() { 11609 var offsetParent = this.offsetParent; 11610 11611 while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { 11612 offsetParent = offsetParent.offsetParent; 11613 } 11614 11615 return offsetParent || documentElement; 11616 } ); 11617 } 11618} ); 11619 11620// Create scrollLeft and scrollTop methods 11621jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { 11622 var top = "pageYOffset" === prop; 11623 11624 jQuery.fn[ method ] = function( val ) { 11625 return access( this, function( elem, method, val ) { 11626 11627 // Coalesce documents and windows 11628 var win; 11629 if ( isWindow( elem ) ) { 11630 win = elem; 11631 } else if ( elem.nodeType === 9 ) { 11632 win = elem.defaultView; 11633 } 11634 11635 if ( val === undefined ) { 11636 return win ? win[ prop ] : elem[ method ]; 11637 } 11638 11639 if ( win ) { 11640 win.scrollTo( 11641 !top ? val : win.pageXOffset, 11642 top ? val : win.pageYOffset 11643 ); 11644 11645 } else { 11646 elem[ method ] = val; 11647 } 11648 }, method, val, arguments.length ); 11649 }; 11650} ); 11651 11652// Support: Safari <=7 - 9.1, Chrome <=37 - 49 11653// Add the top/left cssHooks using jQuery.fn.position 11654// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 11655// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 11656// getComputedStyle returns percent when specified for top/left/bottom/right; 11657// rather than make the css module depend on the offset module, just check for it here 11658jQuery.each( [ "top", "left" ], function( _i, prop ) { 11659 jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, 11660 function( elem, computed ) { 11661 if ( computed ) { 11662 computed = curCSS( elem, prop ); 11663 11664 // If curCSS returns percentage, fallback to offset 11665 return rnumnonpx.test( computed ) ? 11666 jQuery( elem ).position()[ prop ] + "px" : 11667 computed; 11668 } 11669 } 11670 ); 11671} ); 11672 11673 11674// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods 11675jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { 11676 jQuery.each( { 11677 padding: "inner" + name, 11678 content: type, 11679 "": "outer" + name 11680 }, function( defaultExtra, funcName ) { 11681 11682 // Margin is only for outerHeight, outerWidth 11683 jQuery.fn[ funcName ] = function( margin, value ) { 11684 var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), 11685 extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); 11686 11687 return access( this, function( elem, type, value ) { 11688 var doc; 11689 11690 if ( isWindow( elem ) ) { 11691 11692 // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) 11693 return funcName.indexOf( "outer" ) === 0 ? 11694 elem[ "inner" + name ] : 11695 elem.document.documentElement[ "client" + name ]; 11696 } 11697 11698 // Get document width or height 11699 if ( elem.nodeType === 9 ) { 11700 doc = elem.documentElement; 11701 11702 // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], 11703 // whichever is greatest 11704 return Math.max( 11705 elem.body[ "scroll" + name ], doc[ "scroll" + name ], 11706 elem.body[ "offset" + name ], doc[ "offset" + name ], 11707 doc[ "client" + name ] 11708 ); 11709 } 11710 11711 return value === undefined ? 11712 11713 // Get width or height on the element, requesting but not forcing parseFloat 11714 jQuery.css( elem, type, extra ) : 11715 11716 // Set width or height on the element 11717 jQuery.style( elem, type, value, extra ); 11718 }, type, chainable ? margin : undefined, chainable ); 11719 }; 11720 } ); 11721} ); 11722 11723 11724jQuery.each( [ 11725 "ajaxStart", 11726 "ajaxStop", 11727 "ajaxComplete", 11728 "ajaxError", 11729 "ajaxSuccess", 11730 "ajaxSend" 11731], function( _i, type ) { 11732 jQuery.fn[ type ] = function( fn ) { 11733 return this.on( type, fn ); 11734 }; 11735} ); 11736 11737 11738 11739 11740jQuery.fn.extend( { 11741 11742 bind: function( types, data, fn ) { 11743 return this.on( types, null, data, fn ); 11744 }, 11745 unbind: function( types, fn ) { 11746 return this.off( types, null, fn ); 11747 }, 11748 11749 delegate: function( selector, types, data, fn ) { 11750 return this.on( types, selector, data, fn ); 11751 }, 11752 undelegate: function( selector, types, fn ) { 11753 11754 // ( namespace ) or ( selector, types [, fn] ) 11755 return arguments.length === 1 ? 11756 this.off( selector, "**" ) : 11757 this.off( types, selector || "**", fn ); 11758 }, 11759 11760 hover: function( fnOver, fnOut ) { 11761 return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); 11762 } 11763} ); 11764 11765jQuery.each( 11766 ( "blur focus focusin focusout resize scroll click dblclick " + 11767 "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + 11768 "change select submit keydown keypress keyup contextmenu" ).split( " " ), 11769 function( _i, name ) { 11770 11771 // Handle event binding 11772 jQuery.fn[ name ] = function( data, fn ) { 11773 return arguments.length > 0 ? 11774 this.on( name, null, data, fn ) : 11775 this.trigger( name ); 11776 }; 11777 } 11778); 11779 11780 11781 11782 11783// Support: Android <=4.0 only 11784// Make sure we trim BOM and NBSP 11785var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; 11786 11787// Bind a function to a context, optionally partially applying any 11788// arguments. 11789// jQuery.proxy is deprecated to promote standards (specifically Function#bind) 11790// However, it is not slated for removal any time soon 11791jQuery.proxy = function( fn, context ) { 11792 var tmp, args, proxy; 11793 11794 if ( typeof context === "string" ) { 11795 tmp = fn[ context ]; 11796 context = fn; 11797 fn = tmp; 11798 } 11799 11800 // Quick check to determine if target is callable, in the spec 11801 // this throws a TypeError, but we will just return undefined. 11802 if ( !isFunction( fn ) ) { 11803 return undefined; 11804 } 11805 11806 // Simulated bind 11807 args = slice.call( arguments, 2 ); 11808 proxy = function() { 11809 return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); 11810 }; 11811 11812 // Set the guid of unique handler to the same of original handler, so it can be removed 11813 proxy.guid = fn.guid = fn.guid || jQuery.guid++; 11814 11815 return proxy; 11816}; 11817 11818jQuery.holdReady = function( hold ) { 11819 if ( hold ) { 11820 jQuery.readyWait++; 11821 } else { 11822 jQuery.ready( true ); 11823 } 11824}; 11825jQuery.isArray = Array.isArray; 11826jQuery.parseJSON = JSON.parse; 11827jQuery.nodeName = nodeName; 11828jQuery.isFunction = isFunction; 11829jQuery.isWindow = isWindow; 11830jQuery.camelCase = camelCase; 11831jQuery.type = toType; 11832 11833jQuery.now = Date.now; 11834 11835jQuery.isNumeric = function( obj ) { 11836 11837 // As of jQuery 3.0, isNumeric is limited to 11838 // strings and numbers (primitives or objects) 11839 // that can be coerced to finite numbers (gh-2662) 11840 var type = jQuery.type( obj ); 11841 return ( type === "number" || type === "string" ) && 11842 11843 // parseFloat NaNs numeric-cast false positives ("") 11844 // ...but misinterprets leading-number strings, particularly hex literals ("0x...") 11845 // subtraction forces infinities to NaN 11846 !isNaN( obj - parseFloat( obj ) ); 11847}; 11848 11849jQuery.trim = function( text ) { 11850 return text == null ? 11851 "" : 11852 ( text + "" ).replace( rtrim, "" ); 11853}; 11854 11855 11856 11857// Register as a named AMD module, since jQuery can be concatenated with other 11858// files that may use define, but not via a proper concatenation script that 11859// understands anonymous AMD modules. A named AMD is safest and most robust 11860// way to register. Lowercase jquery is used because AMD module names are 11861// derived from file names, and jQuery is normally delivered in a lowercase 11862// file name. Do this after creating the global so that if an AMD module wants 11863// to call noConflict to hide this version of jQuery, it will work. 11864 11865// Note that for maximum portability, libraries that are not jQuery should 11866// declare themselves as anonymous modules, and avoid setting a global if an 11867// AMD loader is present. jQuery is a special case. For more information, see 11868// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon 11869 11870if ( true ) { 11871 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function() { 11872 return jQuery; 11873 }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), 11874 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 11875} 11876 11877 11878 11879 11880var 11881 11882 // Map over jQuery in case of overwrite 11883 _jQuery = window.jQuery, 11884 11885 // Map over the $ in case of overwrite 11886 _$ = window.$; 11887 11888jQuery.noConflict = function( deep ) { 11889 if ( window.$ === jQuery ) { 11890 window.$ = _$; 11891 } 11892 11893 if ( deep && window.jQuery === jQuery ) { 11894 window.jQuery = _jQuery; 11895 } 11896 11897 return jQuery; 11898}; 11899 11900// Expose jQuery and $ identifiers, even in AMD 11901// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) 11902// and CommonJS for browser emulators (#13566) 11903if ( typeof noGlobal === "undefined" ) { 11904 window.jQuery = window.$ = jQuery; 11905} 11906 11907 11908 11909 11910return jQuery; 11911} ); 11912 11913 11914/***/ }), 11915
vendor: 2,408 bytes, lines 11916-12016
11916/***/ "./node_modules/object-assign/index.js": 11917/*!*********************************************!*\ 11918 !*** ./node_modules/object-assign/index.js ***! 11919 \*********************************************/ 11920/*! no static exports found */ 11921/***/ (function(module, exports, __webpack_require__) { 11922 11923"use strict"; 11924/* 11925object-assign 11926(c) Sindre Sorhus 11927@license MIT 11928*/ 11929 11930/* eslint-disable no-unused-vars */ 11931var getOwnPropertySymbols = Object.getOwnPropertySymbols; 11932var hasOwnProperty = Object.prototype.hasOwnProperty; 11933var propIsEnumerable = Object.prototype.propertyIsEnumerable; 11934 11935function toObject(val) { 11936 if (val === null || val === undefined) { 11937 throw new TypeError('Object.assign cannot be called with null or undefined'); 11938 } 11939 11940 return Object(val); 11941} 11942 11943function shouldUseNative() { 11944 try { 11945 if (!Object.assign) { 11946 return false; 11947 } 11948 11949 // Detect buggy property enumeration order in older V8 versions. 11950 11951 // https://bugs.chromium.org/p/v8/issues/detail?id=4118 11952 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers 11953 test1[5] = 'de'; 11954 if (Object.getOwnPropertyNames(test1)[0] === '5') { 11955 return false; 11956 } 11957 11958 // https://bugs.chromium.org/p/v8/issues/detail?id=3056 11959 var test2 = {}; 11960 for (var i = 0; i < 10; i++) { 11961 test2['_' + String.fromCharCode(i)] = i; 11962 } 11963 var order2 = Object.getOwnPropertyNames(test2).map(function (n) { 11964 return test2[n]; 11965 }); 11966 if (order2.join('') !== '0123456789') { 11967 return false; 11968 } 11969 11970 // https://bugs.chromium.org/p/v8/issues/detail?id=3056 11971 var test3 = {}; 11972 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { 11973 test3[letter] = letter; 11974 }); 11975 if (Object.keys(Object.assign({}, test3)).join('') !== 11976 'abcdefghijklmnopqrst') { 11977 return false; 11978 } 11979 11980 return true; 11981 } catch (err) { 11982 // We don't expect any of the above to throw, but better to be safe. 11983 return false; 11984 } 11985} 11986 11987module.exports = shouldUseNative() ? Object.assign : function (target, source) { 11988 var from; 11989 var to = toObject(target); 11990 var symbols; 11991 11992 for (var s = 1; s < arguments.length; s++) { 11993 from = Object(arguments[s]); 11994 11995 for (var key in from) { 11996 if (hasOwnProperty.call(from, key)) { 11997 to[key] = from[key]; 11998 } 11999 } 12000 12001 if (getOwnPropertySymbols) { 12002 symbols = getOwnPropertySymbols(from); 12003 for (var i = 0; i < symbols.length; i++) { 12004 if (propIsEnumerable.call(from, symbols[i])) { 12005 to[symbols[i]] = from[symbols[i]]; 12006 } 12007 } 12008 } 12009 } 12010 12011 return to; 12012}; 12013 12014 12015/***/ }), 12016
vendor: 4,080 bytes, lines 12017-12130
12017/***/ "./node_modules/prop-types/checkPropTypes.js": 12018/*!***************************************************!*\ 12019 !*** ./node_modules/prop-types/checkPropTypes.js ***! 12020 \***************************************************/ 12021/*! no static exports found */ 12022/***/ (function(module, exports, __webpack_require__) { 12023 12024"use strict"; 12025/** 12026 * Copyright (c) 2013-present, Facebook, Inc. 12027 * 12028 * This source code is licensed under the MIT license found in the 12029 * LICENSE file in the root directory of this source tree. 12030 */ 12031 12032 12033 12034var printWarning = function() {}; 12035 12036if (true) { 12037 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js"); 12038 var loggedTypeFailures = {}; 12039 var has = Function.call.bind(Object.prototype.hasOwnProperty); 12040 12041 printWarning = function(text) { 12042 var message = 'Warning: ' + text; 12043 if (typeof console !== 'undefined') { 12044 console.error(message); 12045 } 12046 try { 12047 // --- Welcome to debugging React --- 12048 // This error was thrown as a convenience so that you can use this stack 12049 // to find the callsite that caused this warning to fire. 12050 throw new Error(message); 12051 } catch (x) {} 12052 }; 12053} 12054 12055/** 12056 * Assert that the values match with the type specs. 12057 * Error messages are memorized and will only be shown once. 12058 * 12059 * @param {object} typeSpecs Map of name to a ReactPropType 12060 * @param {object} values Runtime values that need to be type-checked 12061 * @param {string} location e.g. "prop", "context", "child context" 12062 * @param {string} componentName Name of the component for error messages. 12063 * @param {?Function} getStack Returns the component stack. 12064 * @private 12065 */ 12066function checkPropTypes(typeSpecs, values, location, componentName, getStack) { 12067 if (true) { 12068 for (var typeSpecName in typeSpecs) { 12069 if (has(typeSpecs, typeSpecName)) { 12070 var error; 12071 // Prop type validation may throw. In case they do, we don't want to 12072 // fail the render phase where it didn't fail before. So we log it. 12073 // After these have been cleaned up, we'll let them throw. 12074 try { 12075 // This is intentionally an invariant that gets caught. It's the same 12076 // behavior as without this statement except with a better message. 12077 if (typeof typeSpecs[typeSpecName] !== 'function') { 12078 var err = Error( 12079 (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 12080 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' 12081 ); 12082 err.name = 'Invariant Violation'; 12083 throw err; 12084 } 12085 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); 12086 } catch (ex) { 12087 error = ex; 12088 } 12089 if (error && !(error instanceof Error)) { 12090 printWarning( 12091 (componentName || 'React class') + ': type specification of ' + 12092 location + ' `' + typeSpecName + '` is invalid; the type checker ' + 12093 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' + 12094 'You may have forgotten to pass an argument to the type checker ' + 12095 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 12096 'shape all require an argument).' 12097 ); 12098 } 12099 if (error instanceof Error && !(error.message in loggedTypeFailures)) { 12100 // Only monitor this failure once because there tends to be a lot of the 12101 // same error. 12102 loggedTypeFailures[error.message] = true; 12103 12104 var stack = getStack ? getStack() : ''; 12105 12106 printWarning( 12107 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '') 12108 ); 12109 } 12110 } 12111 } 12112 } 12113} 12114 12115/** 12116 * Resets warning cache when testing. 12117 * 12118 * @private 12119 */ 12120checkPropTypes.resetWarningCache = function() { 12121 if (true) { 12122 loggedTypeFailures = {}; 12123 } 12124} 12125 12126module.exports = checkPropTypes; 12127 12128 12129/***/ }), 12130
vendor: 679 bytes, lines 12131-12154
12131/***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js": 12132/*!*************************************************************!*\ 12133 !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***! 12134 \*************************************************************/ 12135/*! no static exports found */ 12136/***/ (function(module, exports, __webpack_require__) { 12137 12138"use strict"; 12139/** 12140 * Copyright (c) 2013-present, Facebook, Inc. 12141 * 12142 * This source code is licensed under the MIT license found in the 12143 * LICENSE file in the root directory of this source tree. 12144 */ 12145 12146 12147 12148var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; 12149 12150module.exports = ReactPropTypesSecret; 12151 12152 12153/***/ }), 12154
vendor: 852,653 bytes, lines 12155-36916
12155/***/ "./node_modules/react-dom/cjs/react-dom.development.js": 12156/*!*************************************************************!*\ 12157 !*** ./node_modules/react-dom/cjs/react-dom.development.js ***! 12158 \*************************************************************/ 12159/*! no static exports found */ 12160/***/ (function(module, exports, __webpack_require__) { 12161 12162"use strict"; 12163/** @license React v16.14.0 12164 * react-dom.development.js 12165 * 12166 * Copyright (c) Facebook, Inc. and its affiliates. 12167 * 12168 * This source code is licensed under the MIT license found in the 12169 * LICENSE file in the root directory of this source tree. 12170 */ 12171if(!0){(function(){'use strict';var React=__webpack_require__(/*! react */"./node_modules/react/index.js");var _assign=__webpack_require__(/*! object-assign */"./node_modules/object-assign/index.js");var Scheduler=__webpack_require__(/*! scheduler */"./node_modules/scheduler/index.js");var checkPropTypes=__webpack_require__(/*! prop-types/checkPropTypes */"./node_modules/prop-types/checkPropTypes.js");var tracing=__webpack_require__(/*! scheduler/tracing */"./node_modules/scheduler/tracing.js");var ReactSharedInternals=React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;if(!ReactSharedInternals.hasOwnProperty('ReactCurrentDispatcher')){ReactSharedInternals.ReactCurrentDispatcher={current:null}} 12172if(!ReactSharedInternals.hasOwnProperty('ReactCurrentBatchConfig')){ReactSharedInternals.ReactCurrentBatchConfig={suspense:null}} 12173function warn(format){{for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]} 12174printWarning('warn',format,args)}} 12175function error(format){{for(var _len2=arguments.length,args=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++){args[_key2-1]=arguments[_key2]} 12176printWarning('error',format,args)}} 12177function printWarning(level,format,args){{var hasExistingStack=args.length>0&&typeof args[args.length-1]==='string'&&args[args.length-1].indexOf('\n in')===0;if(!hasExistingStack){var ReactDebugCurrentFrame=ReactSharedInternals.ReactDebugCurrentFrame;var stack=ReactDebugCurrentFrame.getStackAddendum();if(stack!==''){format+='%s';args=args.concat([stack])}} 12178var argsWithFormat=args.map(function(item){return''+item});argsWithFormat.unshift('Warning: '+format);Function.prototype.apply.call(console[level],console,argsWithFormat);try{var argIndex=0;var message='Warning: '+format.replace(/%s/g,function(){return args[argIndex++]});throw new Error(message)}catch(x){}}} 12179if(!React){{throw Error("ReactDOM was loaded before React. Make sure you load the React package before loading ReactDOM.")}} 12180var invokeGuardedCallbackImpl=function(name,func,context,a,b,c,d,e,f){var funcArgs=Array.prototype.slice.call(arguments,3);try{func.apply(context,funcArgs)}catch(error){this.onError(error)}};{if(typeof window!=='undefined'&&typeof window.dispatchEvent==='function'&&typeof document!=='undefined'&&typeof document.createEvent==='function'){var fakeNode=document.createElement('react');var invokeGuardedCallbackDev=function(name,func,context,a,b,c,d,e,f){if(!(typeof document!=='undefined')){{throw Error("The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous.")}} 12181var evt=document.createEvent('Event');var didError=!0;var windowEvent=window.event;var windowEventDescriptor=Object.getOwnPropertyDescriptor(window,'event');var funcArgs=Array.prototype.slice.call(arguments,3);function callCallback(){fakeNode.removeEventListener(evtType,callCallback,!1);if(typeof window.event!=='undefined'&&window.hasOwnProperty('event')){window.event=windowEvent} 12182func.apply(context,funcArgs);didError=!1} 12183var error;var didSetError=!1;var isCrossOriginError=!1;function handleWindowError(event){error=event.error;didSetError=!0;if(error===null&&event.colno===0&&event.lineno===0){isCrossOriginError=!0} 12184if(event.defaultPrevented){if(error!=null&&typeof error==='object'){try{error._suppressLogging=!0}catch(inner){}}}} 12185var evtType="react-"+(name?name:'invokeguardedcallback');window.addEventListener('error',handleWindowError);fakeNode.addEventListener(evtType,callCallback,!1);evt.initEvent(evtType,!1,!1);fakeNode.dispatchEvent(evt);if(windowEventDescriptor){Object.defineProperty(window,'event',windowEventDescriptor)} 12186if(didError){if(!didSetError){error=new Error('An error was thrown inside one of your components, but React '+"doesn't know what it was. This is likely due to browser "+'flakiness. React does its best to preserve the "Pause on '+'exceptions" behavior of the DevTools, which requires some '+"DEV-mode only tricks. It's possible that these don't work in "+'your browser. Try triggering the error in production mode, '+'or switching to a modern browser. If you suspect that this is '+'actually an issue with React, please file an issue.')}else if(isCrossOriginError){error=new Error("A cross-origin error was thrown. React doesn't have access to "+'the actual error object in development. '+'See https://fb.me/react-crossorigin-error for more information.')} 12187this.onError(error)} 12188window.removeEventListener('error',handleWindowError)};invokeGuardedCallbackImpl=invokeGuardedCallbackDev}} 12189var invokeGuardedCallbackImpl$1=invokeGuardedCallbackImpl;var hasError=!1;var caughtError=null;var hasRethrowError=!1;var rethrowError=null;var reporter={onError:function(error){hasError=!0;caughtError=error}}; 12190/** 12191 * Call a function while guarding against errors that happens within it. 12192 * Returns an error if it throws, otherwise null. 12193 * 12194 * In production, this is implemented using a try-catch. The reason we don't 12195 * use a try-catch directly is so that we can swap out a different 12196 * implementation in DEV mode. 12197 * 12198 * @param {String} name of the guard to use for logging or debugging 12199 * @param {Function} func The function to invoke 12200 * @param {*} context The context to use when calling the function 12201 * @param {...*} args Arguments for function 12202 */ 12203 12204function invokeGuardedCallback(name, func, context, a, b, c, d, e, f) { 12205 hasError = false; 12206 caughtError = null; 12207 invokeGuardedCallbackImpl$1.apply(reporter, arguments); 12208} 12209/** 12210 * Same as invokeGuardedCallback, but instead of returning an error, it stores 12211 * it in a global so it can be rethrown by `rethrowCaughtError` later. 12212 * TODO: See if caughtError and rethrowError can be unified. 12213 * 12214 * @param {String} name of the guard to use for logging or debugging 12215 * @param {Function} func The function to invoke 12216 * @param {*} context The context to use when calling the function 12217 * @param {...*} args Arguments for function 12218 */ 12219 12220function invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) { 12221 invokeGuardedCallback.apply(this, arguments); 12222 12223 if (hasError) { 12224 var error = clearCaughtError(); 12225 12226 if (!hasRethrowError) { 12227 hasRethrowError = true; 12228 rethrowError = error; 12229 } 12230 } 12231} 12232/** 12233 * During execution of guarded functions we will capture the first error which 12234 * we will rethrow to be handled by the top level error handler. 12235 */ 12236 12237function rethrowCaughtError() { 12238 if (hasRethrowError) { 12239 var error = rethrowError; 12240 hasRethrowError = false; 12241 rethrowError = null; 12242 throw error; 12243 } 12244} 12245function hasCaughtError() { 12246 return hasError; 12247} 12248function clearCaughtError() { 12249 if (hasError) { 12250 var error = caughtError; 12251 hasError = false; 12252 caughtError = null; 12253 return error; 12254 } else { 12255 { 12256 { 12257 throw Error( "clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue." ); 12258 } 12259 } 12260 } 12261} 12262 12263var getFiberCurrentPropsFromNode = null; 12264var getInstanceFromNode = null; 12265var getNodeFromInstance = null; 12266function setComponentTree(getFiberCurrentPropsFromNodeImpl, getInstanceFromNodeImpl, getNodeFromInstanceImpl) { 12267 getFiberCurrentPropsFromNode = getFiberCurrentPropsFromNodeImpl; 12268 getInstanceFromNode = getInstanceFromNodeImpl; 12269 getNodeFromInstance = getNodeFromInstanceImpl; 12270 12271 { 12272 if (!getNodeFromInstance || !getInstanceFromNode) { 12273 error('EventPluginUtils.setComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.'); 12274 } 12275 } 12276} 12277var validateEventDispatches; 12278 12279{ 12280 validateEventDispatches = function (event) { 12281 var dispatchListeners = event._dispatchListeners; 12282 var dispatchInstances = event._dispatchInstances; 12283 var listenersIsArr = Array.isArray(dispatchListeners); 12284 var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0; 12285 var instancesIsArr = Array.isArray(dispatchInstances); 12286 var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0; 12287 12288 if (instancesIsArr !== listenersIsArr || instancesLen !== listenersLen) { 12289 error('EventPluginUtils: Invalid `event`.'); 12290 } 12291 }; 12292} 12293/** 12294 * Dispatch the event to the listener. 12295 * @param {SyntheticEvent} event SyntheticEvent to handle 12296 * @param {function} listener Application-level callback 12297 * @param {*} inst Internal component instance 12298 */ 12299 12300 12301function executeDispatch(event, listener, inst) { 12302 var type = event.type || 'unknown-event'; 12303 event.currentTarget = getNodeFromInstance(inst); 12304 invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, event); 12305 event.currentTarget = null; 12306} 12307/** 12308 * Standard/simple iteration through an event's collected dispatches. 12309 */ 12310 12311function executeDispatchesInOrder(event) { 12312 var dispatchListeners = event._dispatchListeners; 12313 var dispatchInstances = event._dispatchInstances; 12314 12315 { 12316 validateEventDispatches(event); 12317 } 12318 12319 if (Array.isArray(dispatchListeners)) { 12320 for (var i = 0; i < dispatchListeners.length; i++) { 12321 if (event.isPropagationStopped()) { 12322 break; 12323 } // Listeners and Instances are two parallel arrays that are always in sync. 12324 12325 12326 executeDispatch(event, dispatchListeners[i], dispatchInstances[i]); 12327 } 12328 } else if (dispatchListeners) { 12329 executeDispatch(event, dispatchListeners, dispatchInstances); 12330 } 12331 12332 event._dispatchListeners = null; 12333 event._dispatchInstances = null; 12334} 12335 12336var FunctionComponent = 0; 12337var ClassComponent = 1; 12338var IndeterminateComponent = 2; // Before we know whether it is function or class 12339 12340var HostRoot = 3; // Root of a host tree. Could be nested inside another node. 12341 12342var HostPortal = 4; // A subtree. Could be an entry point to a different renderer. 12343 12344var HostComponent = 5; 12345var HostText = 6; 12346var Fragment = 7; 12347var Mode = 8; 12348var ContextConsumer = 9; 12349var ContextProvider = 10; 12350var ForwardRef = 11; 12351var Profiler = 12; 12352var SuspenseComponent = 13; 12353var MemoComponent = 14; 12354var SimpleMemoComponent = 15; 12355var LazyComponent = 16; 12356var IncompleteClassComponent = 17; 12357var DehydratedFragment = 18; 12358var SuspenseListComponent = 19; 12359var FundamentalComponent = 20; 12360var ScopeComponent = 21; 12361var Block = 22; 12362 12363/** 12364 * Injectable ordering of event plugins. 12365 */ 12366var eventPluginOrder = null; 12367/** 12368 * Injectable mapping from names to event plugin modules. 12369 */ 12370 12371var namesToPlugins = {}; 12372/** 12373 * Recomputes the plugin list using the injected plugins and plugin ordering. 12374 * 12375 * @private 12376 */ 12377 12378function recomputePluginOrdering() { 12379 if (!eventPluginOrder) { 12380 // Wait until an `eventPluginOrder` is injected. 12381 return; 12382 } 12383 12384 for (var pluginName in namesToPlugins) { 12385 var pluginModule = namesToPlugins[pluginName]; 12386 var pluginIndex = eventPluginOrder.indexOf(pluginName); 12387 12388 if (!(pluginIndex > -1)) { 12389 { 12390 throw Error( "EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `" + pluginName + "`." ); 12391 } 12392 } 12393 12394 if (plugins[pluginIndex]) { 12395 continue; 12396 } 12397 12398 if (!pluginModule.extractEvents) { 12399 { 12400 throw Error( "EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `" + pluginName + "` does not." ); 12401 } 12402 } 12403 12404 plugins[pluginIndex] = pluginModule; 12405 var publishedEvents = pluginModule.eventTypes; 12406 12407 for (var eventName in publishedEvents) { 12408 if (!publishEventForPlugin(publishedEvents[eventName], pluginModule, eventName)) { 12409 { 12410 throw Error( "EventPluginRegistry: Failed to publish event `" + eventName + "` for plugin `" + pluginName + "`." ); 12411 } 12412 } 12413 } 12414 } 12415} 12416/** 12417 * Publishes an event so that it can be dispatched by the supplied plugin. 12418 * 12419 * @param {object} dispatchConfig Dispatch configuration for the event. 12420 * @param {object} PluginModule Plugin publishing the event. 12421 * @return {boolean} True if the event was successfully published. 12422 * @private 12423 */ 12424 12425 12426function publishEventForPlugin(dispatchConfig, pluginModule, eventName) { 12427 if (!!eventNameDispatchConfigs.hasOwnProperty(eventName)) { 12428 { 12429 throw Error( "EventPluginRegistry: More than one plugin attempted to publish the same event name, `" + eventName + "`." ); 12430 } 12431 } 12432 12433 eventNameDispatchConfigs[eventName] = dispatchConfig; 12434 var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames; 12435 12436 if (phasedRegistrationNames) { 12437 for (var phaseName in phasedRegistrationNames) { 12438 if (phasedRegistrationNames.hasOwnProperty(phaseName)) { 12439 var phasedRegistrationName = phasedRegistrationNames[phaseName]; 12440 publishRegistrationName(phasedRegistrationName, pluginModule, eventName); 12441 } 12442 } 12443 12444 return true; 12445 } else if (dispatchConfig.registrationName) { 12446 publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName); 12447 return true; 12448 } 12449 12450 return false; 12451} 12452/** 12453 * Publishes a registration name that is used to identify dispatched events. 12454 * 12455 * @param {string} registrationName Registration name to add. 12456 * @param {object} PluginModule Plugin publishing the event. 12457 * @private 12458 */ 12459 12460 12461function publishRegistrationName(registrationName, pluginModule, eventName) { 12462 if (!!registrationNameModules[registrationName]) { 12463 { 12464 throw Error( "EventPluginRegistry: More than one plugin attempted to publish the same registration name, `" + registrationName + "`." ); 12465 } 12466 } 12467 12468 registrationNameModules[registrationName] = pluginModule; 12469 registrationNameDependencies[registrationName] = pluginModule.eventTypes[eventName].dependencies; 12470 12471 { 12472 var lowerCasedName = registrationName.toLowerCase(); 12473 possibleRegistrationNames[lowerCasedName] = registrationName; 12474 12475 if (registrationName === 'onDoubleClick') { 12476 possibleRegistrationNames.ondblclick = registrationName; 12477 } 12478 } 12479} 12480/** 12481 * Registers plugins so that they can extract and dispatch events. 12482 */ 12483 12484/** 12485 * Ordered list of injected plugins. 12486 */ 12487 12488 12489var plugins = []; 12490/** 12491 * Mapping from event name to dispatch config 12492 */ 12493 12494var eventNameDispatchConfigs = {}; 12495/** 12496 * Mapping from registration name to plugin module 12497 */ 12498 12499var registrationNameModules = {}; 12500/** 12501 * Mapping from registration name to event name 12502 */ 12503 12504var registrationNameDependencies = {}; 12505/** 12506 * Mapping from lowercase registration names to the properly cased version, 12507 * used to warn in the case of missing event handlers. Available 12508 * only in true. 12509 * @type {Object} 12510 */ 12511 12512var possibleRegistrationNames = {} ; // Trust the developer to only use possibleRegistrationNames in true 12513 12514/** 12515 * Injects an ordering of plugins (by plugin name). This allows the ordering 12516 * to be decoupled from injection of the actual plugins so that ordering is 12517 * always deterministic regardless of packaging, on-the-fly injection, etc. 12518 * 12519 * @param {array} InjectedEventPluginOrder 12520 * @internal 12521 */ 12522 12523function injectEventPluginOrder(injectedEventPluginOrder) { 12524 if (!!eventPluginOrder) { 12525 { 12526 throw Error( "EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React." ); 12527 } 12528 } // Clone the ordering so it cannot be dynamically mutated. 12529 12530 12531 eventPluginOrder = Array.prototype.slice.call(injectedEventPluginOrder); 12532 recomputePluginOrdering(); 12533} 12534/** 12535 * Injects plugins to be used by plugin event system. The plugin names must be 12536 * in the ordering injected by `injectEventPluginOrder`. 12537 * 12538 * Plugins can be injected as part of page initialization or on-the-fly. 12539 * 12540 * @param {object} injectedNamesToPlugins Map from names to plugin modules. 12541 * @internal 12542 */ 12543 12544function injectEventPluginsByName(injectedNamesToPlugins) { 12545 var isOrderingDirty = false; 12546 12547 for (var pluginName in injectedNamesToPlugins) { 12548 if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) { 12549 continue; 12550 } 12551 12552 var pluginModule = injectedNamesToPlugins[pluginName]; 12553 12554 if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== pluginModule) { 12555 if (!!namesToPlugins[pluginName]) { 12556 { 12557 throw Error( "EventPluginRegistry: Cannot inject two different event plugins using the same name, `" + pluginName + "`." ); 12558 } 12559 } 12560 12561 namesToPlugins[pluginName] = pluginModule; 12562 isOrderingDirty = true; 12563 } 12564 } 12565 12566 if (isOrderingDirty) { 12567 recomputePluginOrdering(); 12568 } 12569} 12570 12571var canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined'); 12572 12573var PLUGIN_EVENT_SYSTEM = 1; 12574var IS_REPLAYED = 1 << 5; 12575var IS_FIRST_ANCESTOR = 1 << 6; 12576 12577var restoreImpl = null; 12578var restoreTarget = null; 12579var restoreQueue = null; 12580 12581function restoreStateOfTarget(target) { 12582 // We perform this translation at the end of the event loop so that we 12583 // always receive the correct fiber here 12584 var internalInstance = getInstanceFromNode(target); 12585 12586 if (!internalInstance) { 12587 // Unmounted 12588 return; 12589 } 12590 12591 if (!(typeof restoreImpl === 'function')) { 12592 { 12593 throw Error( "setRestoreImplementation() needs to be called to handle a target for controlled events. This error is likely caused by a bug in React. Please file an issue." ); 12594 } 12595 } 12596 12597 var stateNode = internalInstance.stateNode; // Guard against Fiber being unmounted. 12598 12599 if (stateNode) { 12600 var _props = getFiberCurrentPropsFromNode(stateNode); 12601 12602 restoreImpl(internalInstance.stateNode, internalInstance.type, _props); 12603 } 12604} 12605 12606function setRestoreImplementation(impl) { 12607 restoreImpl = impl; 12608} 12609function enqueueStateRestore(target) { 12610 if (restoreTarget) { 12611 if (restoreQueue) { 12612 restoreQueue.push(target); 12613 } else { 12614 restoreQueue = [target]; 12615 } 12616 } else { 12617 restoreTarget = target; 12618 } 12619} 12620function needsStateRestore() { 12621 return restoreTarget !== null || restoreQueue !== null; 12622} 12623function restoreStateIfNeeded() { 12624 if (!restoreTarget) { 12625 return; 12626 } 12627 12628 var target = restoreTarget; 12629 var queuedTargets = restoreQueue; 12630 restoreTarget = null; 12631 restoreQueue = null; 12632 restoreStateOfTarget(target); 12633 12634 if (queuedTargets) { 12635 for (var i = 0; i < queuedTargets.length; i++) { 12636 restoreStateOfTarget(queuedTargets[i]); 12637 } 12638 } 12639} 12640 12641var enableProfilerTimer = true; // Trace which interactions trigger each commit. 12642 12643var enableDeprecatedFlareAPI = false; // Experimental Host Component support. 12644 12645var enableFundamentalAPI = false; // Experimental Scope support. 12646var warnAboutStringRefs = false; 12647 12648// the renderer. Such as when we're dispatching events or if third party 12649// libraries need to call batchedUpdates. Eventually, this API will go away when 12650// everything is batched by default. We'll then have a similar API to opt-out of 12651// scheduled work and instead do synchronous work. 12652// Defaults 12653 12654var batchedUpdatesImpl = function (fn, bookkeeping) { 12655 return fn(bookkeeping); 12656}; 12657 12658var discreteUpdatesImpl = function (fn, a, b, c, d) { 12659 return fn(a, b, c, d); 12660}; 12661 12662var flushDiscreteUpdatesImpl = function () {}; 12663 12664var batchedEventUpdatesImpl = batchedUpdatesImpl; 12665var isInsideEventHandler = false; 12666var isBatchingEventUpdates = false; 12667 12668function finishEventHandler() { 12669 // Here we wait until all updates have propagated, which is important 12670 // when using controlled components within layers: 12671 // https://github.com/facebook/react/issues/1698 12672 // Then we restore state of any controlled component. 12673 var controlledComponentsHavePendingUpdates = needsStateRestore(); 12674 12675 if (controlledComponentsHavePendingUpdates) { 12676 // If a controlled event was fired, we may need to restore the state of 12677 // the DOM node back to the controlled value. This is necessary when React 12678 // bails out of the update without touching the DOM. 12679 flushDiscreteUpdatesImpl(); 12680 restoreStateIfNeeded(); 12681 } 12682} 12683 12684function batchedUpdates(fn, bookkeeping) { 12685 if (isInsideEventHandler) { 12686 // If we are currently inside another batch, we need to wait until it 12687 // fully completes before restoring state. 12688 return fn(bookkeeping); 12689 } 12690 12691 isInsideEventHandler = true; 12692 12693 try { 12694 return batchedUpdatesImpl(fn, bookkeeping); 12695 } finally { 12696 isInsideEventHandler = false; 12697 finishEventHandler(); 12698 } 12699} 12700function batchedEventUpdates(fn, a, b) { 12701 if (isBatchingEventUpdates) { 12702 // If we are currently inside another batch, we need to wait until it 12703 // fully completes before restoring state. 12704 return fn(a, b); 12705 } 12706 12707 isBatchingEventUpdates = true; 12708 12709 try { 12710 return batchedEventUpdatesImpl(fn, a, b); 12711 } finally { 12712 isBatchingEventUpdates = false; 12713 finishEventHandler(); 12714 } 12715} // This is for the React Flare event system 12716function discreteUpdates(fn, a, b, c, d) { 12717 var prevIsInsideEventHandler = isInsideEventHandler; 12718 isInsideEventHandler = true; 12719 12720 try { 12721 return discreteUpdatesImpl(fn, a, b, c, d); 12722 } finally { 12723 isInsideEventHandler = prevIsInsideEventHandler; 12724 12725 if (!isInsideEventHandler) { 12726 finishEventHandler(); 12727 } 12728 } 12729} 12730function flushDiscreteUpdatesIfNeeded(timeStamp) { 12731 // event.timeStamp isn't overly reliable due to inconsistencies in 12732 // how different browsers have historically provided the time stamp. 12733 // Some browsers provide high-resolution time stamps for all events, 12734 // some provide low-resolution time stamps for all events. FF < 52 12735 // even mixes both time stamps together. Some browsers even report 12736 // negative time stamps or time stamps that are 0 (iOS9) in some cases. 12737 // Given we are only comparing two time stamps with equality (!==), 12738 // we are safe from the resolution differences. If the time stamp is 0 12739 // we bail-out of preventing the flush, which can affect semantics, 12740 // such as if an earlier flush removes or adds event listeners that 12741 // are fired in the subsequent flush. However, this is the same 12742 // behaviour as we had before this change, so the risks are low. 12743 if (!isInsideEventHandler && (!enableDeprecatedFlareAPI )) { 12744 flushDiscreteUpdatesImpl(); 12745 } 12746} 12747function setBatchingImplementation(_batchedUpdatesImpl, _discreteUpdatesImpl, _flushDiscreteUpdatesImpl, _batchedEventUpdatesImpl) { 12748 batchedUpdatesImpl = _batchedUpdatesImpl; 12749 discreteUpdatesImpl = _discreteUpdatesImpl; 12750 flushDiscreteUpdatesImpl = _flushDiscreteUpdatesImpl; 12751 batchedEventUpdatesImpl = _batchedEventUpdatesImpl; 12752} 12753 12754var DiscreteEvent = 0; 12755var UserBlockingEvent = 1; 12756var ContinuousEvent = 2; 12757 12758// A reserved attribute. 12759// It is handled by React separately and shouldn't be written to the DOM. 12760var RESERVED = 0; // A simple string attribute. 12761// Attributes that aren't in the whitelist are presumed to have this type. 12762 12763var STRING = 1; // A string attribute that accepts booleans in React. In HTML, these are called 12764// "enumerated" attributes with "true" and "false" as possible values. 12765// When true, it should be set to a "true" string. 12766// When false, it should be set to a "false" string. 12767 12768var BOOLEANISH_STRING = 2; // A real boolean attribute. 12769// When true, it should be present (set either to an empty string or its name). 12770// When false, it should be omitted. 12771 12772var BOOLEAN = 3; // An attribute that can be used as a flag as well as with a value. 12773// When true, it should be present (set either to an empty string or its name). 12774// When false, it should be omitted. 12775// For any other value, should be present with that value. 12776 12777var OVERLOADED_BOOLEAN = 4; // An attribute that must be numeric or parse as a numeric. 12778// When falsy, it should be removed. 12779 12780var NUMERIC = 5; // An attribute that must be positive numeric or parse as a positive numeric. 12781// When falsy, it should be removed. 12782 12783var POSITIVE_NUMERIC = 6; 12784 12785/* eslint-disable max-len */ 12786var ATTRIBUTE_NAME_START_CHAR = ":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD"; 12787/* eslint-enable max-len */ 12788 12789var ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + "\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040"; 12790var ROOT_ATTRIBUTE_NAME = 'data-reactroot'; 12791var VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + ATTRIBUTE_NAME_START_CHAR + '][' + ATTRIBUTE_NAME_CHAR + ']*$'); 12792var hasOwnProperty = Object.prototype.hasOwnProperty; 12793var illegalAttributeNameCache = {}; 12794var validatedAttributeNameCache = {}; 12795function isAttributeNameSafe(attributeName) { 12796 if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) { 12797 return true; 12798 } 12799 12800 if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) { 12801 return false; 12802 } 12803 12804 if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) { 12805 validatedAttributeNameCache[attributeName] = true; 12806 return true; 12807 } 12808 12809 illegalAttributeNameCache[attributeName] = true; 12810 12811 { 12812 error('Invalid attribute name: `%s`', attributeName); 12813 } 12814 12815 return false; 12816} 12817function shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag) { 12818 if (propertyInfo !== null) { 12819 return propertyInfo.type === RESERVED; 12820 } 12821 12822 if (isCustomComponentTag) { 12823 return false; 12824 } 12825 12826 if (name.length > 2 && (name[0] === 'o' || name[0] === 'O') && (name[1] === 'n' || name[1] === 'N')) { 12827 return true; 12828 } 12829 12830 return false; 12831} 12832function shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag) { 12833 if (propertyInfo !== null && propertyInfo.type === RESERVED) { 12834 return false; 12835 } 12836 12837 switch (typeof value) { 12838 case 'function': // $FlowIssue symbol is perfectly valid here 12839 12840 case 'symbol': 12841 // eslint-disable-line 12842 return true; 12843 12844 case 'boolean': 12845 { 12846 if (isCustomComponentTag) { 12847 return false; 12848 } 12849 12850 if (propertyInfo !== null) { 12851 return !propertyInfo.acceptsBooleans; 12852 } else { 12853 var prefix = name.toLowerCase().slice(0, 5); 12854 return prefix !== 'data-' && prefix !== 'aria-'; 12855 } 12856 } 12857 12858 default: 12859 return false; 12860 } 12861} 12862function shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag) { 12863 if (value === null || typeof value === 'undefined') { 12864 return true; 12865 } 12866 12867 if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag)) { 12868 return true; 12869 } 12870 12871 if (isCustomComponentTag) { 12872 return false; 12873 } 12874 12875 if (propertyInfo !== null) { 12876 switch (propertyInfo.type) { 12877 case BOOLEAN: 12878 return !value; 12879 12880 case OVERLOADED_BOOLEAN: 12881 return value === false; 12882 12883 case NUMERIC: 12884 return isNaN(value); 12885 12886 case POSITIVE_NUMERIC: 12887 return isNaN(value) || value < 1; 12888 } 12889 } 12890 12891 return false; 12892} 12893function getPropertyInfo(name) { 12894 return properties.hasOwnProperty(name) ? properties[name] : null; 12895} 12896 12897function PropertyInfoRecord(name, type, mustUseProperty, attributeName, attributeNamespace, sanitizeURL) { 12898 this.acceptsBooleans = type === BOOLEANISH_STRING || type === BOOLEAN || type === OVERLOADED_BOOLEAN; 12899 this.attributeName = attributeName; 12900 this.attributeNamespace = attributeNamespace; 12901 this.mustUseProperty = mustUseProperty; 12902 this.propertyName = name; 12903 this.type = type; 12904 this.sanitizeURL = sanitizeURL; 12905} // When adding attributes to this list, be sure to also add them to 12906// the `possibleStandardNames` module to ensure casing and incorrect 12907// name warnings. 12908 12909 12910var properties = {}; // These props are reserved by React. They shouldn't be written to the DOM. 12911 12912var reservedProps = ['children', 'dangerouslySetInnerHTML', // TODO: This prevents the assignment of defaultValue to regular 12913// elements (not just inputs). Now that ReactDOMInput assigns to the 12914// defaultValue property -- do we need this? 12915'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'style']; 12916 12917reservedProps.forEach(function (name) { 12918 properties[name] = new PropertyInfoRecord(name, RESERVED, false, // mustUseProperty 12919 name, // attributeName 12920 null, // attributeNamespace 12921 false); 12922}); // A few React string attributes have a different name. 12923// This is a mapping from React prop names to the attribute names. 12924 12925[['acceptCharset', 'accept-charset'], ['className', 'class'], ['htmlFor', 'for'], ['httpEquiv', 'http-equiv']].forEach(function (_ref) { 12926 var name = _ref[0], 12927 attributeName = _ref[1]; 12928 properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty 12929 attributeName, // attributeName 12930 null, // attributeNamespace 12931 false); 12932}); // These are "enumerated" HTML attributes that accept "true" and "false". 12933// In React, we let users pass `true` and `false` even though technically 12934// these aren't boolean attributes (they are coerced to strings). 12935 12936['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(function (name) { 12937 properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty 12938 name.toLowerCase(), // attributeName 12939 null, // attributeNamespace 12940 false); 12941}); // These are "enumerated" SVG attributes that accept "true" and "false". 12942// In React, we let users pass `true` and `false` even though technically 12943// these aren't boolean attributes (they are coerced to strings). 12944// Since these are SVG attributes, their attribute names are case-sensitive. 12945 12946['autoReverse', 'externalResourcesRequired', 'focusable', 'preserveAlpha'].forEach(function (name) { 12947 properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty 12948 name, // attributeName 12949 null, // attributeNamespace 12950 false); 12951}); // These are HTML boolean attributes. 12952 12953['allowFullScreen', 'async', // Note: there is a special case that prevents it from being written to the DOM 12954// on the client side because the browsers are inconsistent. Instead we call focus(). 12955'autoFocus', 'autoPlay', 'controls', 'default', 'defer', 'disabled', 'disablePictureInPicture', 'formNoValidate', 'hidden', 'loop', 'noModule', 'noValidate', 'open', 'playsInline', 'readOnly', 'required', 'reversed', 'scoped', 'seamless', // Microdata 12956'itemScope'].forEach(function (name) { 12957 properties[name] = new PropertyInfoRecord(name, BOOLEAN, false, // mustUseProperty 12958 name.toLowerCase(), // attributeName 12959 null, // attributeNamespace 12960 false); 12961}); // These are the few React props that we set as DOM properties 12962// rather than attributes. These are all booleans. 12963 12964['checked', // Note: `option.selected` is not updated if `select.multiple` is 12965// disabled with `removeAttribute`. We have special logic for handling this. 12966'multiple', 'muted', 'selected' // NOTE: if you add a camelCased prop to this list, 12967// you'll need to set attributeName to name.toLowerCase() 12968// instead in the assignment below. 12969].forEach(function (name) { 12970 properties[name] = new PropertyInfoRecord(name, BOOLEAN, true, // mustUseProperty 12971 name, // attributeName 12972 null, // attributeNamespace 12973 false); 12974}); // These are HTML attributes that are "overloaded booleans": they behave like 12975// booleans, but can also accept a string value. 12976 12977['capture', 'download' // NOTE: if you add a camelCased prop to this list, 12978// you'll need to set attributeName to name.toLowerCase() 12979// instead in the assignment below. 12980].forEach(function (name) { 12981 properties[name] = new PropertyInfoRecord(name, OVERLOADED_BOOLEAN, false, // mustUseProperty 12982 name, // attributeName 12983 null, // attributeNamespace 12984 false); 12985}); // These are HTML attributes that must be positive numbers. 12986 12987['cols', 'rows', 'size', 'span' // NOTE: if you add a camelCased prop to this list, 12988// you'll need to set attributeName to name.toLowerCase() 12989// instead in the assignment below. 12990].forEach(function (name) { 12991 properties[name] = new PropertyInfoRecord(name, POSITIVE_NUMERIC, false, // mustUseProperty 12992 name, // attributeName 12993 null, // attributeNamespace 12994 false); 12995}); // These are HTML attributes that must be numbers. 12996 12997['rowSpan', 'start'].forEach(function (name) { 12998 properties[name] = new PropertyInfoRecord(name, NUMERIC, false, // mustUseProperty 12999 name.toLowerCase(), // attributeName 13000 null, // attributeNamespace 13001 false); 13002}); 13003var CAMELIZE = /[\-\:]([a-z])/g; 13004 13005var capitalize = function (token) { 13006 return token[1].toUpperCase(); 13007}; // This is a list of all SVG attributes that need special casing, namespacing, 13008// or boolean value assignment. Regular attributes that just accept strings 13009// and have the same names are omitted, just like in the HTML whitelist. 13010// Some of these attributes can be hard to find. This list was created by 13011// scraping the MDN documentation. 13012 13013 13014['accent-height', 'alignment-baseline', 'arabic-form', 'baseline-shift', 'cap-height', 'clip-path', 'clip-rule', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'dominant-baseline', 'enable-background', 'fill-opacity', 'fill-rule', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-name', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'horiz-adv-x', 'horiz-origin-x', 'image-rendering', 'letter-spacing', 'lighting-color', 'marker-end', 'marker-mid', 'marker-start', 'overline-position', 'overline-thickness', 'paint-order', 'panose-1', 'pointer-events', 'rendering-intent', 'shape-rendering', 'stop-color', 'stop-opacity', 'strikethrough-position', 'strikethrough-thickness', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-decoration', 'text-rendering', 'underline-position', 'underline-thickness', 'unicode-bidi', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'vector-effect', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'word-spacing', 'writing-mode', 'xmlns:xlink', 'x-height' // NOTE: if you add a camelCased prop to this list, 13015// you'll need to set attributeName to name.toLowerCase() 13016// instead in the assignment below. 13017].forEach(function (attributeName) { 13018 var name = attributeName.replace(CAMELIZE, capitalize); 13019 properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty 13020 attributeName, null, // attributeNamespace 13021 false); 13022}); // String SVG attributes with the xlink namespace. 13023 13024['xlink:actuate', 'xlink:arcrole', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type' // NOTE: if you add a camelCased prop to this list, 13025// you'll need to set attributeName to name.toLowerCase() 13026// instead in the assignment below. 13027].forEach(function (attributeName) { 13028 var name = attributeName.replace(CAMELIZE, capitalize); 13029 properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty 13030 attributeName, 'http://www.w3.org/1999/xlink', false); 13031}); // String SVG attributes with the xml namespace. 13032 13033['xml:base', 'xml:lang', 'xml:space' // NOTE: if you add a camelCased prop to this list, 13034// you'll need to set attributeName to name.toLowerCase() 13035// instead in the assignment below. 13036].forEach(function (attributeName) { 13037 var name = attributeName.replace(CAMELIZE, capitalize); 13038 properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty 13039 attributeName, 'http://www.w3.org/XML/1998/namespace', false); 13040}); // These attribute exists both in HTML and SVG. 13041// The attribute name is case-sensitive in SVG so we can't just use 13042// the React name like we do for attributes that exist only in HTML. 13043 13044['tabIndex', 'crossOrigin'].forEach(function (attributeName) { 13045 properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty 13046 attributeName.toLowerCase(), // attributeName 13047 null, // attributeNamespace 13048 false); 13049}); // These attributes accept URLs. These must not allow javascript: URLS. 13050// These will also need to accept Trusted Types object in the future. 13051 13052var xlinkHref = 'xlinkHref'; 13053properties[xlinkHref] = new PropertyInfoRecord('xlinkHref', STRING, false, // mustUseProperty 13054'xlink:href', 'http://www.w3.org/1999/xlink', true); 13055['src', 'href', 'action', 'formAction'].forEach(function (attributeName) { 13056 properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty 13057 attributeName.toLowerCase(), // attributeName 13058 null, // attributeNamespace 13059 true); 13060}); 13061 13062var ReactDebugCurrentFrame = null; 13063 13064{ 13065 ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; 13066} // A javascript: URL can contain leading C0 control or \u0020 SPACE, 13067// and any newline or tab are filtered out as if they're not part of the URL. 13068// https://url.spec.whatwg.org/#url-parsing 13069// Tab or newline are defined as \r\n\t: 13070// https://infra.spec.whatwg.org/#ascii-tab-or-newline 13071// A C0 control is a code point in the range \u0000 NULL to \u001F 13072// INFORMATION SEPARATOR ONE, inclusive: 13073// https://infra.spec.whatwg.org/#c0-control-or-space 13074 13075/* eslint-disable max-len */ 13076 13077 13078var isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i; 13079var didWarn = false; 13080 13081function sanitizeURL(url) { 13082 { 13083 if (!didWarn && isJavaScriptProtocol.test(url)) { 13084 didWarn = true; 13085 13086 error('A future version of React will block javascript: URLs as a security precaution. ' + 'Use event handlers instead if you can. If you need to generate unsafe HTML try ' + 'using dangerouslySetInnerHTML instead. React was passed %s.', JSON.stringify(url)); 13087 } 13088 } 13089} 13090 13091/** 13092 * Get the value for a property on a node. Only used in DEV for SSR validation. 13093 * The "expected" argument is used as a hint of what the expected value is. 13094 * Some properties have multiple equivalent values. 13095 */ 13096function getValueForProperty(node, name, expected, propertyInfo) { 13097 { 13098 if (propertyInfo.mustUseProperty) { 13099 var propertyName = propertyInfo.propertyName; 13100 return node[propertyName]; 13101 } else { 13102 if ( propertyInfo.sanitizeURL) { 13103 // If we haven't fully disabled javascript: URLs, and if 13104 // the hydration is successful of a javascript: URL, we 13105 // still want to warn on the client. 13106 sanitizeURL('' + expected); 13107 } 13108 13109 var attributeName = propertyInfo.attributeName; 13110 var stringValue = null; 13111 13112 if (propertyInfo.type === OVERLOADED_BOOLEAN) { 13113 if (node.hasAttribute(attributeName)) { 13114 var value = node.getAttribute(attributeName); 13115 13116 if (value === '') { 13117 return true; 13118 } 13119 13120 if (shouldRemoveAttribute(name, expected, propertyInfo, false)) { 13121 return value; 13122 } 13123 13124 if (value === '' + expected) { 13125 return expected; 13126 } 13127 13128 return value; 13129 } 13130 } else if (node.hasAttribute(attributeName)) { 13131 if (shouldRemoveAttribute(name, expected, propertyInfo, false)) { 13132 // We had an attribute but shouldn't have had one, so read it 13133 // for the error message. 13134 return node.getAttribute(attributeName); 13135 } 13136 13137 if (propertyInfo.type === BOOLEAN) { 13138 // If this was a boolean, it doesn't matter what the value is 13139 // the fact that we have it is the same as the expected. 13140 return expected; 13141 } // Even if this property uses a namespace we use getAttribute 13142 // because we assume its namespaced name is the same as our config. 13143 // To use getAttributeNS we need the local name which we don't have 13144 // in our config atm. 13145 13146 13147 stringValue = node.getAttribute(attributeName); 13148 } 13149 13150 if (shouldRemoveAttribute(name, expected, propertyInfo, false)) { 13151 return stringValue === null ? expected : stringValue; 13152 } else if (stringValue === '' + expected) { 13153 return expected; 13154 } else { 13155 return stringValue; 13156 } 13157 } 13158 } 13159} 13160/** 13161 * Get the value for a attribute on a node. Only used in DEV for SSR validation. 13162 * The third argument is used as a hint of what the expected value is. Some 13163 * attributes have multiple equivalent values. 13164 */ 13165 13166function getValueForAttribute(node, name, expected) { 13167 { 13168 if (!isAttributeNameSafe(name)) { 13169 return; 13170 } 13171 13172 if (!node.hasAttribute(name)) { 13173 return expected === undefined ? undefined : null; 13174 } 13175 13176 var value = node.getAttribute(name); 13177 13178 if (value === '' + expected) { 13179 return expected; 13180 } 13181 13182 return value; 13183 } 13184} 13185/** 13186 * Sets the value for a property on a node. 13187 * 13188 * @param {DOMElement} node 13189 * @param {string} name 13190 * @param {*} value 13191 */ 13192 13193function setValueForProperty(node, name, value, isCustomComponentTag) { 13194 var propertyInfo = getPropertyInfo(name); 13195 13196 if (shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag)) { 13197 return; 13198 } 13199 13200 if (shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag)) { 13201 value = null; 13202 } // If the prop isn't in the special list, treat it as a simple attribute. 13203 13204 13205 if (isCustomComponentTag || propertyInfo === null) { 13206 if (isAttributeNameSafe(name)) { 13207 var _attributeName = name; 13208 13209 if (value === null) { 13210 node.removeAttribute(_attributeName); 13211 } else { 13212 node.setAttribute(_attributeName, '' + value); 13213 } 13214 } 13215 13216 return; 13217 } 13218 13219 var mustUseProperty = propertyInfo.mustUseProperty; 13220 13221 if (mustUseProperty) { 13222 var propertyName = propertyInfo.propertyName; 13223 13224 if (value === null) { 13225 var type = propertyInfo.type; 13226 node[propertyName] = type === BOOLEAN ? false : ''; 13227 } else { 13228 // Contrary to `setAttribute`, object properties are properly 13229 // `toString`ed by IE8/9. 13230 node[propertyName] = value; 13231 } 13232 13233 return; 13234 } // The rest are treated as attributes with special cases. 13235 13236 13237 var attributeName = propertyInfo.attributeName, 13238 attributeNamespace = propertyInfo.attributeNamespace; 13239 13240 if (value === null) { 13241 node.removeAttribute(attributeName); 13242 } else { 13243 var _type = propertyInfo.type; 13244 var attributeValue; 13245 13246 if (_type === BOOLEAN || _type === OVERLOADED_BOOLEAN && value === true) { 13247 // If attribute type is boolean, we know for sure it won't be an execution sink 13248 // and we won't require Trusted Type here. 13249 attributeValue = ''; 13250 } else { 13251 // `setAttribute` with objects becomes only `[object]` in IE8/9, 13252 // ('' + value) makes it output the correct toString()-value. 13253 { 13254 attributeValue = '' + value; 13255 } 13256 13257 if (propertyInfo.sanitizeURL) { 13258 sanitizeURL(attributeValue.toString()); 13259 } 13260 } 13261 13262 if (attributeNamespace) { 13263 node.setAttributeNS(attributeNamespace, attributeName, attributeValue); 13264 } else { 13265 node.setAttribute(attributeName, attributeValue); 13266 } 13267 } 13268} 13269 13270var BEFORE_SLASH_RE = /^(.*)[\\\/]/; 13271function describeComponentFrame (name, source, ownerName) { 13272 var sourceInfo = ''; 13273 13274 if (source) { 13275 var path = source.fileName; 13276 var fileName = path.replace(BEFORE_SLASH_RE, ''); 13277 13278 { 13279 // In DEV, include code for a common special case: 13280 // prefer "folder/index.js" instead of just "index.js". 13281 if (/^index\./.test(fileName)) { 13282 var match = path.match(BEFORE_SLASH_RE); 13283 13284 if (match) { 13285 var pathBeforeSlash = match[1]; 13286 13287 if (pathBeforeSlash) { 13288 var folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, ''); 13289 fileName = folderName + '/' + fileName; 13290 } 13291 } 13292 } 13293 } 13294 13295 sourceInfo = ' (at ' + fileName + ':' + source.lineNumber + ')'; 13296 } else if (ownerName) { 13297 sourceInfo = ' (created by ' + ownerName + ')'; 13298 } 13299 13300 return '\n in ' + (name || 'Unknown') + sourceInfo; 13301} 13302 13303// The Symbol used to tag the ReactElement-like types. If there is no native Symbol 13304// nor polyfill, then a plain number is used for performance. 13305var hasSymbol = typeof Symbol === 'function' && Symbol.for; 13306var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; 13307var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; 13308var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; 13309var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; 13310var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; 13311var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; 13312var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary 13313var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; 13314var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; 13315var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; 13316var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; 13317var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; 13318var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; 13319var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; 13320var MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; 13321var FAUX_ITERATOR_SYMBOL = '@@iterator'; 13322function getIteratorFn(maybeIterable) { 13323 if (maybeIterable === null || typeof maybeIterable !== 'object') { 13324 return null; 13325 } 13326 13327 var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; 13328 13329 if (typeof maybeIterator === 'function') { 13330 return maybeIterator; 13331 } 13332 13333 return null; 13334} 13335 13336var Uninitialized = -1; 13337var Pending = 0; 13338var Resolved = 1; 13339var Rejected = 2; 13340function refineResolvedLazyComponent(lazyComponent) { 13341 return lazyComponent._status === Resolved ? lazyComponent._result : null; 13342} 13343function initializeLazyComponentType(lazyComponent) { 13344 if (lazyComponent._status === Uninitialized) { 13345 lazyComponent._status = Pending; 13346 var ctor = lazyComponent._ctor; 13347 var thenable = ctor(); 13348 lazyComponent._result = thenable; 13349 thenable.then(function (moduleObject) { 13350 if (lazyComponent._status === Pending) { 13351 var defaultExport = moduleObject.default; 13352 13353 { 13354 if (defaultExport === undefined) { 13355 error('lazy: Expected the result of a dynamic import() call. ' + 'Instead received: %s\n\nYour code should look like: \n ' + "const MyComponent = lazy(() => import('./MyComponent'))", moduleObject); 13356 } 13357 } 13358 13359 lazyComponent._status = Resolved; 13360 lazyComponent._result = defaultExport; 13361 } 13362 }, function (error) { 13363 if (lazyComponent._status === Pending) { 13364 lazyComponent._status = Rejected; 13365 lazyComponent._result = error; 13366 } 13367 }); 13368 } 13369} 13370 13371function getWrappedName(outerType, innerType, wrapperName) { 13372 var functionName = innerType.displayName || innerType.name || ''; 13373 return outerType.displayName || (functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName); 13374} 13375 13376function getComponentName(type) { 13377 if (type == null) { 13378 // Host root, text node or just invalid type. 13379 return null; 13380 } 13381 13382 { 13383 if (typeof type.tag === 'number') { 13384 error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.'); 13385 } 13386 } 13387 13388 if (typeof type === 'function') { 13389 return type.displayName || type.name || null; 13390 } 13391 13392 if (typeof type === 'string') { 13393 return type; 13394 } 13395 13396 switch (type) { 13397 case REACT_FRAGMENT_TYPE: 13398 return 'Fragment'; 13399 13400 case REACT_PORTAL_TYPE: 13401 return 'Portal'; 13402 13403 case REACT_PROFILER_TYPE: 13404 return "Profiler"; 13405 13406 case REACT_STRICT_MODE_TYPE: 13407 return 'StrictMode'; 13408 13409 case REACT_SUSPENSE_TYPE: 13410 return 'Suspense'; 13411 13412 case REACT_SUSPENSE_LIST_TYPE: 13413 return 'SuspenseList'; 13414 } 13415 13416 if (typeof type === 'object') { 13417 switch (type.$$typeof) { 13418 case REACT_CONTEXT_TYPE: 13419 return 'Context.Consumer'; 13420 13421 case REACT_PROVIDER_TYPE: 13422 return 'Context.Provider'; 13423 13424 case REACT_FORWARD_REF_TYPE: 13425 return getWrappedName(type, type.render, 'ForwardRef'); 13426 13427 case REACT_MEMO_TYPE: 13428 return getComponentName(type.type); 13429 13430 case REACT_BLOCK_TYPE: 13431 return getComponentName(type.render); 13432 13433 case REACT_LAZY_TYPE: 13434 { 13435 var thenable = type; 13436 var resolvedThenable = refineResolvedLazyComponent(thenable); 13437 13438 if (resolvedThenable) { 13439 return getComponentName(resolvedThenable); 13440 } 13441 13442 break; 13443 } 13444 } 13445 } 13446 13447 return null; 13448} 13449 13450var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame; 13451 13452function describeFiber(fiber) { 13453 switch (fiber.tag) { 13454 case HostRoot: 13455 case HostPortal: 13456 case HostText: 13457 case Fragment: 13458 case ContextProvider: 13459 case ContextConsumer: 13460 return ''; 13461 13462 default: 13463 var owner = fiber._debugOwner; 13464 var source = fiber._debugSource; 13465 var name = getComponentName(fiber.type); 13466 var ownerName = null; 13467 13468 if (owner) { 13469 ownerName = getComponentName(owner.type); 13470 } 13471 13472 return describeComponentFrame(name, source, ownerName); 13473 } 13474} 13475 13476function getStackByFiberInDevAndProd(workInProgress) { 13477 var info = ''; 13478 var node = workInProgress; 13479 13480 do { 13481 info += describeFiber(node); 13482 node = node.return; 13483 } while (node); 13484 13485 return info; 13486} 13487var current = null; 13488var isRendering = false; 13489function getCurrentFiberOwnerNameInDevOrNull() { 13490 { 13491 if (current === null) { 13492 return null; 13493 } 13494 13495 var owner = current._debugOwner; 13496 13497 if (owner !== null && typeof owner !== 'undefined') { 13498 return getComponentName(owner.type); 13499 } 13500 } 13501 13502 return null; 13503} 13504function getCurrentFiberStackInDev() { 13505 { 13506 if (current === null) { 13507 return ''; 13508 } // Safe because if current fiber exists, we are reconciling, 13509 // and it is guaranteed to be the work-in-progress version. 13510 13511 13512 return getStackByFiberInDevAndProd(current); 13513 } 13514} 13515function resetCurrentFiber() { 13516 { 13517 ReactDebugCurrentFrame$1.getCurrentStack = null; 13518 current = null; 13519 isRendering = false; 13520 } 13521} 13522function setCurrentFiber(fiber) { 13523 { 13524 ReactDebugCurrentFrame$1.getCurrentStack = getCurrentFiberStackInDev; 13525 current = fiber; 13526 isRendering = false; 13527 } 13528} 13529function setIsRendering(rendering) { 13530 { 13531 isRendering = rendering; 13532 } 13533} 13534 13535// Flow does not allow string concatenation of most non-string types. To work 13536// around this limitation, we use an opaque type that can only be obtained by 13537// passing the value through getToStringValue first. 13538function toString(value) { 13539 return '' + value; 13540} 13541function getToStringValue(value) { 13542 switch (typeof value) { 13543 case 'boolean': 13544 case 'number': 13545 case 'object': 13546 case 'string': 13547 case 'undefined': 13548 return value; 13549 13550 default: 13551 // function, symbol are assigned as empty strings 13552 return ''; 13553 } 13554} 13555 13556var ReactDebugCurrentFrame$2 = null; 13557var ReactControlledValuePropTypes = { 13558 checkPropTypes: null 13559}; 13560 13561{ 13562 ReactDebugCurrentFrame$2 = ReactSharedInternals.ReactDebugCurrentFrame; 13563 var hasReadOnlyValue = { 13564 button: true, 13565 checkbox: true, 13566 image: true, 13567 hidden: true, 13568 radio: true, 13569 reset: true, 13570 submit: true 13571 }; 13572 var propTypes = { 13573 value: function (props, propName, componentName) { 13574 if (hasReadOnlyValue[props.type] || props.onChange || props.readOnly || props.disabled || props[propName] == null || enableDeprecatedFlareAPI ) { 13575 return null; 13576 } 13577 13578 return new Error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.'); 13579 }, 13580 checked: function (props, propName, componentName) { 13581 if (props.onChange || props.readOnly || props.disabled || props[propName] == null || enableDeprecatedFlareAPI ) { 13582 return null; 13583 } 13584 13585 return new Error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.'); 13586 } 13587 }; 13588 /** 13589 * Provide a linked `value` attribute for controlled forms. You should not use 13590 * this outside of the ReactDOM controlled form components. 13591 */ 13592 13593 ReactControlledValuePropTypes.checkPropTypes = function (tagName, props) { 13594 checkPropTypes(propTypes, props, 'prop', tagName, ReactDebugCurrentFrame$2.getStackAddendum); 13595 }; 13596} 13597 13598function isCheckable(elem) { 13599 var type = elem.type; 13600 var nodeName = elem.nodeName; 13601 return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio'); 13602} 13603 13604function getTracker(node) { 13605 return node._valueTracker; 13606} 13607 13608function detachTracker(node) { 13609 node._valueTracker = null; 13610} 13611 13612function getValueFromNode(node) { 13613 var value = ''; 13614 13615 if (!node) { 13616 return value; 13617 } 13618 13619 if (isCheckable(node)) { 13620 value = node.checked ? 'true' : 'false'; 13621 } else { 13622 value = node.value; 13623 } 13624 13625 return value; 13626} 13627 13628function trackValueOnNode(node) { 13629 var valueField = isCheckable(node) ? 'checked' : 'value'; 13630 var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField); 13631 var currentValue = '' + node[valueField]; // if someone has already defined a value or Safari, then bail 13632 // and don't track value will cause over reporting of changes, 13633 // but it's better then a hard failure 13634 // (needed for certain tests that spyOn input values and Safari) 13635 13636 if (node.hasOwnProperty(valueField) || typeof descriptor === 'undefined' || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') { 13637 return; 13638 } 13639 13640 var get = descriptor.get, 13641 set = descriptor.set; 13642 Object.defineProperty(node, valueField, { 13643 configurable: true, 13644 get: function () { 13645 return get.call(this); 13646 }, 13647 set: function (value) { 13648 currentValue = '' + value; 13649 set.call(this, value); 13650 } 13651 }); // We could've passed this the first time 13652 // but it triggers a bug in IE11 and Edge 14/15. 13653 // Calling defineProperty() again should be equivalent. 13654 // https://github.com/facebook/react/issues/11768 13655 13656 Object.defineProperty(node, valueField, { 13657 enumerable: descriptor.enumerable 13658 }); 13659 var tracker = { 13660 getValue: function () { 13661 return currentValue; 13662 }, 13663 setValue: function (value) { 13664 currentValue = '' + value; 13665 }, 13666 stopTracking: function () { 13667 detachTracker(node); 13668 delete node[valueField]; 13669 } 13670 }; 13671 return tracker; 13672} 13673 13674function track(node) { 13675 if (getTracker(node)) { 13676 return; 13677 } // TODO: Once it's just Fiber we can move this to node._wrapperState 13678 13679 13680 node._valueTracker = trackValueOnNode(node); 13681} 13682function updateValueIfChanged(node) { 13683 if (!node) { 13684 return false; 13685 } 13686 13687 var tracker = getTracker(node); // if there is no tracker at this point it's unlikely 13688 // that trying again will succeed 13689 13690 if (!tracker) { 13691 return true; 13692 } 13693 13694 var lastValue = tracker.getValue(); 13695 var nextValue = getValueFromNode(node); 13696 13697 if (nextValue !== lastValue) { 13698 tracker.setValue(nextValue); 13699 return true; 13700 } 13701 13702 return false; 13703} 13704 13705var didWarnValueDefaultValue = false; 13706var didWarnCheckedDefaultChecked = false; 13707var didWarnControlledToUncontrolled = false; 13708var didWarnUncontrolledToControlled = false; 13709 13710function isControlled(props) { 13711 var usesChecked = props.type === 'checkbox' || props.type === 'radio'; 13712 return usesChecked ? props.checked != null : props.value != null; 13713} 13714/** 13715 * Implements an <input> host component that allows setting these optional 13716 * props: `checked`, `value`, `defaultChecked`, and `defaultValue`. 13717 * 13718 * If `checked` or `value` are not supplied (or null/undefined), user actions 13719 * that affect the checked state or value will trigger updates to the element. 13720 * 13721 * If they are supplied (and not null/undefined), the rendered element will not 13722 * trigger updates to the element. Instead, the props must change in order for 13723 * the rendered element to be updated. 13724 * 13725 * The rendered element will be initialized as unchecked (or `defaultChecked`) 13726 * with an empty value (or `defaultValue`). 13727 * 13728 * See http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html 13729 */ 13730 13731 13732function getHostProps(element, props) { 13733 var node = element; 13734 var checked = props.checked; 13735 13736 var hostProps = _assign({}, props, { 13737 defaultChecked: undefined, 13738 defaultValue: undefined, 13739 value: undefined, 13740 checked: checked != null ? checked : node._wrapperState.initialChecked 13741 }); 13742 13743 return hostProps; 13744} 13745function initWrapperState(element, props) { 13746 { 13747 ReactControlledValuePropTypes.checkPropTypes('input', props); 13748 13749 if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) { 13750 error('%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type); 13751 13752 didWarnCheckedDefaultChecked = true; 13753 } 13754 13755 if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) { 13756 error('%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type); 13757 13758 didWarnValueDefaultValue = true; 13759 } 13760 } 13761 13762 var node = element; 13763 var defaultValue = props.defaultValue == null ? '' : props.defaultValue; 13764 node._wrapperState = { 13765 initialChecked: props.checked != null ? props.checked : props.defaultChecked, 13766 initialValue: getToStringValue(props.value != null ? props.value : defaultValue), 13767 controlled: isControlled(props) 13768 }; 13769} 13770function updateChecked(element, props) { 13771 var node = element; 13772 var checked = props.checked; 13773 13774 if (checked != null) { 13775 setValueForProperty(node, 'checked', checked, false); 13776 } 13777} 13778function updateWrapper(element, props) { 13779 var node = element; 13780 13781 { 13782 var controlled = isControlled(props); 13783 13784 if (!node._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) { 13785 error('A component is changing an uncontrolled input of type %s to be controlled. ' + 'Input elements should not switch from uncontrolled to controlled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', props.type); 13786 13787 didWarnUncontrolledToControlled = true; 13788 } 13789 13790 if (node._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) { 13791 error('A component is changing a controlled input of type %s to be uncontrolled. ' + 'Input elements should not switch from controlled to uncontrolled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', props.type); 13792 13793 didWarnControlledToUncontrolled = true; 13794 } 13795 } 13796 13797 updateChecked(element, props); 13798 var value = getToStringValue(props.value); 13799 var type = props.type; 13800 13801 if (value != null) { 13802 if (type === 'number') { 13803 if (value === 0 && node.value === '' || // We explicitly want to coerce to number here if possible. 13804 // eslint-disable-next-line 13805 node.value != value) { 13806 node.value = toString(value); 13807 } 13808 } else if (node.value !== toString(value)) { 13809 node.value = toString(value); 13810 } 13811 } else if (type === 'submit' || type === 'reset') { 13812 // Submit/reset inputs need the attribute removed completely to avoid 13813 // blank-text buttons. 13814 node.removeAttribute('value'); 13815 return; 13816 } 13817 13818 { 13819 // When syncing the value attribute, the value comes from a cascade of 13820 // properties: 13821 // 1. The value React property 13822 // 2. The defaultValue React property 13823 // 3. Otherwise there should be no change 13824 if (props.hasOwnProperty('value')) { 13825 setDefaultValue(node, props.type, value); 13826 } else if (props.hasOwnProperty('defaultValue')) { 13827 setDefaultValue(node, props.type, getToStringValue(props.defaultValue)); 13828 } 13829 } 13830 13831 { 13832 // When syncing the checked attribute, it only changes when it needs 13833 // to be removed, such as transitioning from a checkbox into a text input 13834 if (props.checked == null && props.defaultChecked != null) { 13835 node.defaultChecked = !!props.defaultChecked; 13836 } 13837 } 13838} 13839function postMountWrapper(element, props, isHydrating) { 13840 var node = element; // Do not assign value if it is already set. This prevents user text input 13841 // from being lost during SSR hydration. 13842 13843 if (props.hasOwnProperty('value') || props.hasOwnProperty('defaultValue')) { 13844 var type = props.type; 13845 var isButton = type === 'submit' || type === 'reset'; // Avoid setting value attribute on submit/reset inputs as it overrides the 13846 // default value provided by the browser. See: #12872 13847 13848 if (isButton && (props.value === undefined || props.value === null)) { 13849 return; 13850 } 13851 13852 var initialValue = toString(node._wrapperState.initialValue); // Do not assign value if it is already set. This prevents user text input 13853 // from being lost during SSR hydration. 13854 13855 if (!isHydrating) { 13856 { 13857 // When syncing the value attribute, the value property should use 13858 // the wrapperState._initialValue property. This uses: 13859 // 13860 // 1. The value React property when present 13861 // 2. The defaultValue React property when present 13862 // 3. An empty string 13863 if (initialValue !== node.value) { 13864 node.value = initialValue; 13865 } 13866 } 13867 } 13868 13869 { 13870 // Otherwise, the value attribute is synchronized to the property, 13871 // so we assign defaultValue to the same thing as the value property 13872 // assignment step above. 13873 node.defaultValue = initialValue; 13874 } 13875 } // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug 13876 // this is needed to work around a chrome bug where setting defaultChecked 13877 // will sometimes influence the value of checked (even after detachment). 13878 // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416 13879 // We need to temporarily unset name to avoid disrupting radio button groups. 13880 13881 13882 var name = node.name; 13883 13884 if (name !== '') { 13885 node.name = ''; 13886 } 13887 13888 { 13889 // When syncing the checked attribute, both the checked property and 13890 // attribute are assigned at the same time using defaultChecked. This uses: 13891 // 13892 // 1. The checked React property when present 13893 // 2. The defaultChecked React property when present 13894 // 3. Otherwise, false 13895 node.defaultChecked = !node.defaultChecked; 13896 node.defaultChecked = !!node._wrapperState.initialChecked; 13897 } 13898 13899 if (name !== '') { 13900 node.name = name; 13901 } 13902} 13903function restoreControlledState(element, props) { 13904 var node = element; 13905 updateWrapper(node, props); 13906 updateNamedCousins(node, props); 13907} 13908 13909function updateNamedCousins(rootNode, props) { 13910 var name = props.name; 13911 13912 if (props.type === 'radio' && name != null) { 13913 var queryRoot = rootNode; 13914 13915 while (queryRoot.parentNode) { 13916 queryRoot = queryRoot.parentNode; 13917 } // If `rootNode.form` was non-null, then we could try `form.elements`, 13918 // but that sometimes behaves strangely in IE8. We could also try using 13919 // `form.getElementsByName`, but that will only return direct children 13920 // and won't include inputs that use the HTML5 `form=` attribute. Since 13921 // the input might not even be in a form. It might not even be in the 13922 // document. Let's just use the local `querySelectorAll` to ensure we don't 13923 // miss anything. 13924 13925 13926 var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type="radio"]'); 13927 13928 for (var i = 0; i < group.length; i++) { 13929 var otherNode = group[i]; 13930 13931 if (otherNode === rootNode || otherNode.form !== rootNode.form) { 13932 continue; 13933 } // This will throw if radio buttons rendered by different copies of React 13934 // and the same name are rendered into the same form (same as #1939). 13935 // That's probably okay; we don't support it just as we don't support 13936 // mixing React radio buttons with non-React ones. 13937 13938 13939 var otherProps = getFiberCurrentPropsFromNode$1(otherNode); 13940 13941 if (!otherProps) { 13942 { 13943 throw Error( "ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported." ); 13944 } 13945 } // We need update the tracked value on the named cousin since the value 13946 // was changed but the input saw no event or value set 13947 13948 13949 updateValueIfChanged(otherNode); // If this is a controlled radio button group, forcing the input that 13950 // was previously checked to update will cause it to be come re-checked 13951 // as appropriate. 13952 13953 updateWrapper(otherNode, otherProps); 13954 } 13955 } 13956} // In Chrome, assigning defaultValue to certain input types triggers input validation. 13957// For number inputs, the display value loses trailing decimal points. For email inputs, 13958// Chrome raises "The specified value <x> is not a valid email address". 13959// 13960// Here we check to see if the defaultValue has actually changed, avoiding these problems 13961// when the user is inputting text 13962// 13963// https://github.com/facebook/react/issues/7253 13964 13965 13966function setDefaultValue(node, type, value) { 13967 if ( // Focused number inputs synchronize on blur. See ChangeEventPlugin.js 13968 type !== 'number' || node.ownerDocument.activeElement !== node) { 13969 if (value == null) { 13970 node.defaultValue = toString(node._wrapperState.initialValue); 13971 } else if (node.defaultValue !== toString(value)) { 13972 node.defaultValue = toString(value); 13973 } 13974 } 13975} 13976 13977var didWarnSelectedSetOnOption = false; 13978var didWarnInvalidChild = false; 13979 13980function flattenChildren(children) { 13981 var content = ''; // Flatten children. We'll warn if they are invalid 13982 // during validateProps() which runs for hydration too. 13983 // Note that this would throw on non-element objects. 13984 // Elements are stringified (which is normally irrelevant 13985 // but matters for <fbt>). 13986 13987 React.Children.forEach(children, function (child) { 13988 if (child == null) { 13989 return; 13990 } 13991 13992 content += child; // Note: we don't warn about invalid children here. 13993 // Instead, this is done separately below so that 13994 // it happens during the hydration codepath too. 13995 }); 13996 return content; 13997} 13998/** 13999 * Implements an <option> host component that warns when `selected` is set. 14000 */ 14001 14002 14003function validateProps(element, props) { 14004 { 14005 // This mirrors the codepath above, but runs for hydration too. 14006 // Warn about invalid children here so that client and hydration are consistent. 14007 // TODO: this seems like it could cause a DEV-only throw for hydration 14008 // if children contains a non-element object. We should try to avoid that. 14009 if (typeof props.children === 'object' && props.children !== null) { 14010 React.Children.forEach(props.children, function (child) { 14011 if (child == null) { 14012 return; 14013 } 14014 14015 if (typeof child === 'string' || typeof child === 'number') { 14016 return; 14017 } 14018 14019 if (typeof child.type !== 'string') { 14020 return; 14021 } 14022 14023 if (!didWarnInvalidChild) { 14024 didWarnInvalidChild = true; 14025 14026 error('Only strings and numbers are supported as <option> children.'); 14027 } 14028 }); 14029 } // TODO: Remove support for `selected` in <option>. 14030 14031 14032 if (props.selected != null && !didWarnSelectedSetOnOption) { 14033 error('Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.'); 14034 14035 didWarnSelectedSetOnOption = true; 14036 } 14037 } 14038} 14039function postMountWrapper$1(element, props) { 14040 // value="" should make a value attribute (#6219) 14041 if (props.value != null) { 14042 element.setAttribute('value', toString(getToStringValue(props.value))); 14043 } 14044} 14045function getHostProps$1(element, props) { 14046 var hostProps = _assign({ 14047 children: undefined 14048 }, props); 14049 14050 var content = flattenChildren(props.children); 14051 14052 if (content) { 14053 hostProps.children = content; 14054 } 14055 14056 return hostProps; 14057} 14058 14059var didWarnValueDefaultValue$1; 14060 14061{ 14062 didWarnValueDefaultValue$1 = false; 14063} 14064 14065function getDeclarationErrorAddendum() { 14066 var ownerName = getCurrentFiberOwnerNameInDevOrNull(); 14067 14068 if (ownerName) { 14069 return '\n\nCheck the render method of `' + ownerName + '`.'; 14070 } 14071 14072 return ''; 14073} 14074 14075var valuePropNames = ['value', 'defaultValue']; 14076/** 14077 * Validation function for `value` and `defaultValue`. 14078 */ 14079 14080function checkSelectPropTypes(props) { 14081 { 14082 ReactControlledValuePropTypes.checkPropTypes('select', props); 14083 14084 for (var i = 0; i < valuePropNames.length; i++) { 14085 var propName = valuePropNames[i]; 14086 14087 if (props[propName] == null) { 14088 continue; 14089 } 14090 14091 var isArray = Array.isArray(props[propName]); 14092 14093 if (props.multiple && !isArray) { 14094 error('The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum()); 14095 } else if (!props.multiple && isArray) { 14096 error('The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum()); 14097 } 14098 } 14099 } 14100} 14101 14102function updateOptions(node, multiple, propValue, setDefaultSelected) { 14103 var options = node.options; 14104 14105 if (multiple) { 14106 var selectedValues = propValue; 14107 var selectedValue = {}; 14108 14109 for (var i = 0; i < selectedValues.length; i++) { 14110 // Prefix to avoid chaos with special keys. 14111 selectedValue['$' + selectedValues[i]] = true; 14112 } 14113 14114 for (var _i = 0; _i < options.length; _i++) { 14115 var selected = selectedValue.hasOwnProperty('$' + options[_i].value); 14116 14117 if (options[_i].selected !== selected) { 14118 options[_i].selected = selected; 14119 } 14120 14121 if (selected && setDefaultSelected) { 14122 options[_i].defaultSelected = true; 14123 } 14124 } 14125 } else { 14126 // Do not set `select.value` as exact behavior isn't consistent across all 14127 // browsers for all cases. 14128 var _selectedValue = toString(getToStringValue(propValue)); 14129 14130 var defaultSelected = null; 14131 14132 for (var _i2 = 0; _i2 < options.length; _i2++) { 14133 if (options[_i2].value === _selectedValue) { 14134 options[_i2].selected = true; 14135 14136 if (setDefaultSelected) { 14137 options[_i2].defaultSelected = true; 14138 } 14139 14140 return; 14141 } 14142 14143 if (defaultSelected === null && !options[_i2].disabled) { 14144 defaultSelected = options[_i2]; 14145 } 14146 } 14147 14148 if (defaultSelected !== null) { 14149 defaultSelected.selected = true; 14150 } 14151 } 14152} 14153/** 14154 * Implements a <select> host component that allows optionally setting the 14155 * props `value` and `defaultValue`. If `multiple` is false, the prop must be a 14156 * stringable. If `multiple` is true, the prop must be an array of stringables. 14157 * 14158 * If `value` is not supplied (or null/undefined), user actions that change the 14159 * selected option will trigger updates to the rendered options. 14160 * 14161 * If it is supplied (and not null/undefined), the rendered options will not 14162 * update in response to user actions. Instead, the `value` prop must change in 14163 * order for the rendered options to update. 14164 * 14165 * If `defaultValue` is provided, any options with the supplied values will be 14166 * selected. 14167 */ 14168 14169 14170function getHostProps$2(element, props) { 14171 return _assign({}, props, { 14172 value: undefined 14173 }); 14174} 14175function initWrapperState$1(element, props) { 14176 var node = element; 14177 14178 { 14179 checkSelectPropTypes(props); 14180 } 14181 14182 node._wrapperState = { 14183 wasMultiple: !!props.multiple 14184 }; 14185 14186 { 14187 if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue$1) { 14188 error('Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components'); 14189 14190 didWarnValueDefaultValue$1 = true; 14191 } 14192 } 14193} 14194function postMountWrapper$2(element, props) { 14195 var node = element; 14196 node.multiple = !!props.multiple; 14197 var value = props.value; 14198 14199 if (value != null) { 14200 updateOptions(node, !!props.multiple, value, false); 14201 } else if (props.defaultValue != null) { 14202 updateOptions(node, !!props.multiple, props.defaultValue, true); 14203 } 14204} 14205function postUpdateWrapper(element, props) { 14206 var node = element; 14207 var wasMultiple = node._wrapperState.wasMultiple; 14208 node._wrapperState.wasMultiple = !!props.multiple; 14209 var value = props.value; 14210 14211 if (value != null) { 14212 updateOptions(node, !!props.multiple, value, false); 14213 } else if (wasMultiple !== !!props.multiple) { 14214 // For simplicity, reapply `defaultValue` if `multiple` is toggled. 14215 if (props.defaultValue != null) { 14216 updateOptions(node, !!props.multiple, props.defaultValue, true); 14217 } else { 14218 // Revert the select back to its default unselected state. 14219 updateOptions(node, !!props.multiple, props.multiple ? [] : '', false); 14220 } 14221 } 14222} 14223function restoreControlledState$1(element, props) { 14224 var node = element; 14225 var value = props.value; 14226 14227 if (value != null) { 14228 updateOptions(node, !!props.multiple, value, false); 14229 } 14230} 14231 14232var didWarnValDefaultVal = false; 14233 14234/** 14235 * Implements a <textarea> host component that allows setting `value`, and 14236 * `defaultValue`. This differs from the traditional DOM API because value is 14237 * usually set as PCDATA children. 14238 * 14239 * If `value` is not supplied (or null/undefined), user actions that affect the 14240 * value will trigger updates to the element. 14241 * 14242 * If `value` is supplied (and not null/undefined), the rendered element will 14243 * not trigger updates to the element. Instead, the `value` prop must change in 14244 * order for the rendered element to be updated. 14245 * 14246 * The rendered element will be initialized with an empty value, the prop 14247 * `defaultValue` if specified, or the children content (deprecated). 14248 */ 14249function getHostProps$3(element, props) { 14250 var node = element; 14251 14252 if (!(props.dangerouslySetInnerHTML == null)) { 14253 { 14254 throw Error( "`dangerouslySetInnerHTML` does not make sense on <textarea>." ); 14255 } 14256 } // Always set children to the same thing. In IE9, the selection range will 14257 // get reset if `textContent` is mutated. We could add a check in setTextContent 14258 // to only set the value if/when the value differs from the node value (which would 14259 // completely solve this IE9 bug), but Sebastian+Sophie seemed to like this 14260 // solution. The value can be a boolean or object so that's why it's forced 14261 // to be a string. 14262 14263 14264 var hostProps = _assign({}, props, { 14265 value: undefined, 14266 defaultValue: undefined, 14267 children: toString(node._wrapperState.initialValue) 14268 }); 14269 14270 return hostProps; 14271} 14272function initWrapperState$2(element, props) { 14273 var node = element; 14274 14275 { 14276 ReactControlledValuePropTypes.checkPropTypes('textarea', props); 14277 14278 if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) { 14279 error('%s contains a textarea with both value and defaultValue props. ' + 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component'); 14280 14281 didWarnValDefaultVal = true; 14282 } 14283 } 14284 14285 var initialValue = props.value; // Only bother fetching default value if we're going to use it 14286 14287 if (initialValue == null) { 14288 var children = props.children, 14289 defaultValue = props.defaultValue; 14290 14291 if (children != null) { 14292 { 14293 error('Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.'); 14294 } 14295 14296 { 14297 if (!(defaultValue == null)) { 14298 { 14299 throw Error( "If you supply `defaultValue` on a <textarea>, do not pass children." ); 14300 } 14301 } 14302 14303 if (Array.isArray(children)) { 14304 if (!(children.length <= 1)) { 14305 { 14306 throw Error( "<textarea> can only have at most one child." ); 14307 } 14308 } 14309 14310 children = children[0]; 14311 } 14312 14313 defaultValue = children; 14314 } 14315 } 14316 14317 if (defaultValue == null) { 14318 defaultValue = ''; 14319 } 14320 14321 initialValue = defaultValue; 14322 } 14323 14324 node._wrapperState = { 14325 initialValue: getToStringValue(initialValue) 14326 }; 14327} 14328function updateWrapper$1(element, props) { 14329 var node = element; 14330 var value = getToStringValue(props.value); 14331 var defaultValue = getToStringValue(props.defaultValue); 14332 14333 if (value != null) { 14334 // Cast `value` to a string to ensure the value is set correctly. While 14335 // browsers typically do this as necessary, jsdom doesn't. 14336 var newValue = toString(value); // To avoid side effects (such as losing text selection), only set value if changed 14337 14338 if (newValue !== node.value) { 14339 node.value = newValue; 14340 } 14341 14342 if (props.defaultValue == null && node.defaultValue !== newValue) { 14343 node.defaultValue = newValue; 14344 } 14345 } 14346 14347 if (defaultValue != null) { 14348 node.defaultValue = toString(defaultValue); 14349 } 14350} 14351function postMountWrapper$3(element, props) { 14352 var node = element; // This is in postMount because we need access to the DOM node, which is not 14353 // available until after the component has mounted. 14354 14355 var textContent = node.textContent; // Only set node.value if textContent is equal to the expected 14356 // initial value. In IE10/IE11 there is a bug where the placeholder attribute 14357 // will populate textContent as well. 14358 // https://developer.microsoft.com/microsoft-edge/platform/issues/101525/ 14359 14360 if (textContent === node._wrapperState.initialValue) { 14361 if (textContent !== '' && textContent !== null) { 14362 node.value = textContent; 14363 } 14364 } 14365} 14366function restoreControlledState$2(element, props) { 14367 // DOM component is still mounted; update 14368 updateWrapper$1(element, props); 14369} 14370 14371var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml'; 14372var MATH_NAMESPACE = 'http://www.w3.org/1998/Math/MathML'; 14373var SVG_NAMESPACE = 'http://www.w3.org/2000/svg'; 14374var Namespaces = { 14375 html: HTML_NAMESPACE, 14376 mathml: MATH_NAMESPACE, 14377 svg: SVG_NAMESPACE 14378}; // Assumes there is no parent namespace. 14379 14380function getIntrinsicNamespace(type) { 14381 switch (type) { 14382 case 'svg': 14383 return SVG_NAMESPACE; 14384 14385 case 'math': 14386 return MATH_NAMESPACE; 14387 14388 default: 14389 return HTML_NAMESPACE; 14390 } 14391} 14392function getChildNamespace(parentNamespace, type) { 14393 if (parentNamespace == null || parentNamespace === HTML_NAMESPACE) { 14394 // No (or default) parent namespace: potential entry point. 14395 return getIntrinsicNamespace(type); 14396 } 14397 14398 if (parentNamespace === SVG_NAMESPACE && type === 'foreignObject') { 14399 // We're leaving SVG. 14400 return HTML_NAMESPACE; 14401 } // By default, pass namespace below. 14402 14403 14404 return parentNamespace; 14405} 14406 14407/* globals MSApp */ 14408 14409/** 14410 * Create a function which has 'unsafe' privileges (required by windows8 apps) 14411 */ 14412var createMicrosoftUnsafeLocalFunction = function (func) { 14413 if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) { 14414 return function (arg0, arg1, arg2, arg3) { 14415 MSApp.execUnsafeLocalFunction(function () { 14416 return func(arg0, arg1, arg2, arg3); 14417 }); 14418 }; 14419 } else { 14420 return func; 14421 } 14422}; 14423 14424var reusableSVGContainer; 14425/** 14426 * Set the innerHTML property of a node 14427 * 14428 * @param {DOMElement} node 14429 * @param {string} html 14430 * @internal 14431 */ 14432 14433var setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) { 14434 if (node.namespaceURI === Namespaces.svg) { 14435 14436 if (!('innerHTML' in node)) { 14437 // IE does not have innerHTML for SVG nodes, so instead we inject the 14438 // new markup in a temp node and then move the child nodes across into 14439 // the target node 14440 reusableSVGContainer = reusableSVGContainer || document.createElement('div'); 14441 reusableSVGContainer.innerHTML = '<svg>' + html.valueOf().toString() + '</svg>'; 14442 var svgNode = reusableSVGContainer.firstChild; 14443 14444 while (node.firstChild) { 14445 node.removeChild(node.firstChild); 14446 } 14447 14448 while (svgNode.firstChild) { 14449 node.appendChild(svgNode.firstChild); 14450 } 14451 14452 return; 14453 } 14454 } 14455 14456 node.innerHTML = html; 14457}); 14458 14459/** 14460 * HTML nodeType values that represent the type of the node 14461 */ 14462var ELEMENT_NODE = 1; 14463var TEXT_NODE = 3; 14464var COMMENT_NODE = 8; 14465var DOCUMENT_NODE = 9; 14466var DOCUMENT_FRAGMENT_NODE = 11; 14467 14468/** 14469 * Set the textContent property of a node. For text updates, it's faster 14470 * to set the `nodeValue` of the Text node directly instead of using 14471 * `.textContent` which will remove the existing node and create a new one. 14472 * 14473 * @param {DOMElement} node 14474 * @param {string} text 14475 * @internal 14476 */ 14477 14478var setTextContent = function (node, text) { 14479 if (text) { 14480 var firstChild = node.firstChild; 14481 14482 if (firstChild && firstChild === node.lastChild && firstChild.nodeType === TEXT_NODE) { 14483 firstChild.nodeValue = text; 14484 return; 14485 } 14486 } 14487 14488 node.textContent = text; 14489}; 14490 14491// Do not use the below two methods directly! 14492// Instead use constants exported from DOMTopLevelEventTypes in ReactDOM. 14493// (It is the only module that is allowed to access these methods.) 14494function unsafeCastStringToDOMTopLevelType(topLevelType) { 14495 return topLevelType; 14496} 14497function unsafeCastDOMTopLevelTypeToString(topLevelType) { 14498 return topLevelType; 14499} 14500 14501/** 14502 * Generate a mapping of standard vendor prefixes using the defined style property and event name. 14503 * 14504 * @param {string} styleProp 14505 * @param {string} eventName 14506 * @returns {object} 14507 */ 14508 14509function makePrefixMap(styleProp, eventName) { 14510 var prefixes = {}; 14511 prefixes[styleProp.toLowerCase()] = eventName.toLowerCase(); 14512 prefixes['Webkit' + styleProp] = 'webkit' + eventName; 14513 prefixes['Moz' + styleProp] = 'moz' + eventName; 14514 return prefixes; 14515} 14516/** 14517 * A list of event names to a configurable list of vendor prefixes. 14518 */ 14519 14520 14521var vendorPrefixes = { 14522 animationend: makePrefixMap('Animation', 'AnimationEnd'), 14523 animationiteration: makePrefixMap('Animation', 'AnimationIteration'), 14524 animationstart: makePrefixMap('Animation', 'AnimationStart'), 14525 transitionend: makePrefixMap('Transition', 'TransitionEnd') 14526}; 14527/** 14528 * Event names that have already been detected and prefixed (if applicable). 14529 */ 14530 14531var prefixedEventNames = {}; 14532/** 14533 * Element to check for prefixes on. 14534 */ 14535 14536var style = {}; 14537/** 14538 * Bootstrap if a DOM exists. 14539 */ 14540 14541if (canUseDOM) { 14542 style = document.createElement('div').style; // On some platforms, in particular some releases of Android 4.x, 14543 // the un-prefixed "animation" and "transition" properties are defined on the 14544 // style object but the events that fire will still be prefixed, so we need 14545 // to check if the un-prefixed events are usable, and if not remove them from the map. 14546 14547 if (!('AnimationEvent' in window)) { 14548 delete vendorPrefixes.animationend.animation; 14549 delete vendorPrefixes.animationiteration.animation; 14550 delete vendorPrefixes.animationstart.animation; 14551 } // Same as above 14552 14553 14554 if (!('TransitionEvent' in window)) { 14555 delete vendorPrefixes.transitionend.transition; 14556 } 14557} 14558/** 14559 * Attempts to determine the correct vendor prefixed event name. 14560 * 14561 * @param {string} eventName 14562 * @returns {string} 14563 */ 14564 14565 14566function getVendorPrefixedEventName(eventName) { 14567 if (prefixedEventNames[eventName]) { 14568 return prefixedEventNames[eventName]; 14569 } else if (!vendorPrefixes[eventName]) { 14570 return eventName; 14571 } 14572 14573 var prefixMap = vendorPrefixes[eventName]; 14574 14575 for (var styleProp in prefixMap) { 14576 if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) { 14577 return prefixedEventNames[eventName] = prefixMap[styleProp]; 14578 } 14579 } 14580 14581 return eventName; 14582} 14583 14584/** 14585 * To identify top level events in ReactDOM, we use constants defined by this 14586 * module. This is the only module that uses the unsafe* methods to express 14587 * that the constants actually correspond to the browser event names. This lets 14588 * us save some bundle size by avoiding a top level type -> event name map. 14589 * The rest of ReactDOM code should import top level types from this file. 14590 */ 14591 14592var TOP_ABORT = unsafeCastStringToDOMTopLevelType('abort'); 14593var TOP_ANIMATION_END = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationend')); 14594var TOP_ANIMATION_ITERATION = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationiteration')); 14595var TOP_ANIMATION_START = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationstart')); 14596var TOP_BLUR = unsafeCastStringToDOMTopLevelType('blur'); 14597var TOP_CAN_PLAY = unsafeCastStringToDOMTopLevelType('canplay'); 14598var TOP_CAN_PLAY_THROUGH = unsafeCastStringToDOMTopLevelType('canplaythrough'); 14599var TOP_CANCEL = unsafeCastStringToDOMTopLevelType('cancel'); 14600var TOP_CHANGE = unsafeCastStringToDOMTopLevelType('change'); 14601var TOP_CLICK = unsafeCastStringToDOMTopLevelType('click'); 14602var TOP_CLOSE = unsafeCastStringToDOMTopLevelType('close'); 14603var TOP_COMPOSITION_END = unsafeCastStringToDOMTopLevelType('compositionend'); 14604var TOP_COMPOSITION_START = unsafeCastStringToDOMTopLevelType('compositionstart'); 14605var TOP_COMPOSITION_UPDATE = unsafeCastStringToDOMTopLevelType('compositionupdate'); 14606var TOP_CONTEXT_MENU = unsafeCastStringToDOMTopLevelType('contextmenu'); 14607var TOP_COPY = unsafeCastStringToDOMTopLevelType('copy'); 14608var TOP_CUT = unsafeCastStringToDOMTopLevelType('cut'); 14609var TOP_DOUBLE_CLICK = unsafeCastStringToDOMTopLevelType('dblclick'); 14610var TOP_AUX_CLICK = unsafeCastStringToDOMTopLevelType('auxclick'); 14611var TOP_DRAG = unsafeCastStringToDOMTopLevelType('drag'); 14612var TOP_DRAG_END = unsafeCastStringToDOMTopLevelType('dragend'); 14613var TOP_DRAG_ENTER = unsafeCastStringToDOMTopLevelType('dragenter'); 14614var TOP_DRAG_EXIT = unsafeCastStringToDOMTopLevelType('dragexit'); 14615var TOP_DRAG_LEAVE = unsafeCastStringToDOMTopLevelType('dragleave'); 14616var TOP_DRAG_OVER = unsafeCastStringToDOMTopLevelType('dragover'); 14617var TOP_DRAG_START = unsafeCastStringToDOMTopLevelType('dragstart'); 14618var TOP_DROP = unsafeCastStringToDOMTopLevelType('drop'); 14619var TOP_DURATION_CHANGE = unsafeCastStringToDOMTopLevelType('durationchange'); 14620var TOP_EMPTIED = unsafeCastStringToDOMTopLevelType('emptied'); 14621var TOP_ENCRYPTED = unsafeCastStringToDOMTopLevelType('encrypted'); 14622var TOP_ENDED = unsafeCastStringToDOMTopLevelType('ended'); 14623var TOP_ERROR = unsafeCastStringToDOMTopLevelType('error'); 14624var TOP_FOCUS = unsafeCastStringToDOMTopLevelType('focus'); 14625var TOP_GOT_POINTER_CAPTURE = unsafeCastStringToDOMTopLevelType('gotpointercapture'); 14626var TOP_INPUT = unsafeCastStringToDOMTopLevelType('input'); 14627var TOP_INVALID = unsafeCastStringToDOMTopLevelType('invalid'); 14628var TOP_KEY_DOWN = unsafeCastStringToDOMTopLevelType('keydown'); 14629var TOP_KEY_PRESS = unsafeCastStringToDOMTopLevelType('keypress'); 14630var TOP_KEY_UP = unsafeCastStringToDOMTopLevelType('keyup'); 14631var TOP_LOAD = unsafeCastStringToDOMTopLevelType('load'); 14632var TOP_LOAD_START = unsafeCastStringToDOMTopLevelType('loadstart'); 14633var TOP_LOADED_DATA = unsafeCastStringToDOMTopLevelType('loadeddata'); 14634var TOP_LOADED_METADATA = unsafeCastStringToDOMTopLevelType('loadedmetadata'); 14635var TOP_LOST_POINTER_CAPTURE = unsafeCastStringToDOMTopLevelType('lostpointercapture'); 14636var TOP_MOUSE_DOWN = unsafeCastStringToDOMTopLevelType('mousedown'); 14637var TOP_MOUSE_MOVE = unsafeCastStringToDOMTopLevelType('mousemove'); 14638var TOP_MOUSE_OUT = unsafeCastStringToDOMTopLevelType('mouseout'); 14639var TOP_MOUSE_OVER = unsafeCastStringToDOMTopLevelType('mouseover'); 14640var TOP_MOUSE_UP = unsafeCastStringToDOMTopLevelType('mouseup'); 14641var TOP_PASTE = unsafeCastStringToDOMTopLevelType('paste'); 14642var TOP_PAUSE = unsafeCastStringToDOMTopLevelType('pause'); 14643var TOP_PLAY = unsafeCastStringToDOMTopLevelType('play'); 14644var TOP_PLAYING = unsafeCastStringToDOMTopLevelType('playing'); 14645var TOP_POINTER_CANCEL = unsafeCastStringToDOMTopLevelType('pointercancel'); 14646var TOP_POINTER_DOWN = unsafeCastStringToDOMTopLevelType('pointerdown'); 14647var TOP_POINTER_MOVE = unsafeCastStringToDOMTopLevelType('pointermove'); 14648var TOP_POINTER_OUT = unsafeCastStringToDOMTopLevelType('pointerout'); 14649var TOP_POINTER_OVER = unsafeCastStringToDOMTopLevelType('pointerover'); 14650var TOP_POINTER_UP = unsafeCastStringToDOMTopLevelType('pointerup'); 14651var TOP_PROGRESS = unsafeCastStringToDOMTopLevelType('progress'); 14652var TOP_RATE_CHANGE = unsafeCastStringToDOMTopLevelType('ratechange'); 14653var TOP_RESET = unsafeCastStringToDOMTopLevelType('reset'); 14654var TOP_SCROLL = unsafeCastStringToDOMTopLevelType('scroll'); 14655var TOP_SEEKED = unsafeCastStringToDOMTopLevelType('seeked'); 14656var TOP_SEEKING = unsafeCastStringToDOMTopLevelType('seeking'); 14657var TOP_SELECTION_CHANGE = unsafeCastStringToDOMTopLevelType('selectionchange'); 14658var TOP_STALLED = unsafeCastStringToDOMTopLevelType('stalled'); 14659var TOP_SUBMIT = unsafeCastStringToDOMTopLevelType('submit'); 14660var TOP_SUSPEND = unsafeCastStringToDOMTopLevelType('suspend'); 14661var TOP_TEXT_INPUT = unsafeCastStringToDOMTopLevelType('textInput'); 14662var TOP_TIME_UPDATE = unsafeCastStringToDOMTopLevelType('timeupdate'); 14663var TOP_TOGGLE = unsafeCastStringToDOMTopLevelType('toggle'); 14664var TOP_TOUCH_CANCEL = unsafeCastStringToDOMTopLevelType('touchcancel'); 14665var TOP_TOUCH_END = unsafeCastStringToDOMTopLevelType('touchend'); 14666var TOP_TOUCH_MOVE = unsafeCastStringToDOMTopLevelType('touchmove'); 14667var TOP_TOUCH_START = unsafeCastStringToDOMTopLevelType('touchstart'); 14668var TOP_TRANSITION_END = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('transitionend')); 14669var TOP_VOLUME_CHANGE = unsafeCastStringToDOMTopLevelType('volumechange'); 14670var TOP_WAITING = unsafeCastStringToDOMTopLevelType('waiting'); 14671var TOP_WHEEL = unsafeCastStringToDOMTopLevelType('wheel'); // List of events that need to be individually attached to media elements. 14672// Note that events in this list will *not* be listened to at the top level 14673// unless they're explicitly whitelisted in `ReactBrowserEventEmitter.listenTo`. 14674 14675var mediaEventTypes = [TOP_ABORT, TOP_CAN_PLAY, TOP_CAN_PLAY_THROUGH, TOP_DURATION_CHANGE, TOP_EMPTIED, TOP_ENCRYPTED, TOP_ENDED, TOP_ERROR, TOP_LOADED_DATA, TOP_LOADED_METADATA, TOP_LOAD_START, TOP_PAUSE, TOP_PLAY, TOP_PLAYING, TOP_PROGRESS, TOP_RATE_CHANGE, TOP_SEEKED, TOP_SEEKING, TOP_STALLED, TOP_SUSPEND, TOP_TIME_UPDATE, TOP_VOLUME_CHANGE, TOP_WAITING]; 14676function getRawEventName(topLevelType) { 14677 return unsafeCastDOMTopLevelTypeToString(topLevelType); 14678} 14679 14680var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; // prettier-ignore 14681 14682var elementListenerMap = new PossiblyWeakMap(); 14683function getListenerMapForElement(element) { 14684 var listenerMap = elementListenerMap.get(element); 14685 14686 if (listenerMap === undefined) { 14687 listenerMap = new Map(); 14688 elementListenerMap.set(element, listenerMap); 14689 } 14690 14691 return listenerMap; 14692} 14693 14694/** 14695 * `ReactInstanceMap` maintains a mapping from a public facing stateful 14696 * instance (key) and the internal representation (value). This allows public 14697 * methods to accept the user facing instance as an argument and map them back 14698 * to internal methods. 14699 * 14700 * Note that this module is currently shared and assumed to be stateless. 14701 * If this becomes an actual Map, that will break. 14702 */ 14703function get(key) { 14704 return key._reactInternalFiber; 14705} 14706function has(key) { 14707 return key._reactInternalFiber !== undefined; 14708} 14709function set(key, value) { 14710 key._reactInternalFiber = value; 14711} 14712 14713// Don't change these two values. They're used by React Dev Tools. 14714var NoEffect = 14715/* */ 147160; 14717var PerformedWork = 14718/* */ 147191; // You can change the rest (and add more). 14720 14721var Placement = 14722/* */ 147232; 14724var Update = 14725/* */ 147264; 14727var PlacementAndUpdate = 14728/* */ 147296; 14730var Deletion = 14731/* */ 147328; 14733var ContentReset = 14734/* */ 1473516; 14736var Callback = 14737/* */ 1473832; 14739var DidCapture = 14740/* */ 1474164; 14742var Ref = 14743/* */ 14744128; 14745var Snapshot = 14746/* */ 14747256; 14748var Passive = 14749/* */ 14750512; 14751var Hydrating = 14752/* */ 147531024; 14754var HydratingAndUpdate = 14755/* */ 147561028; // Passive & Update & Callback & Ref & Snapshot 14757 14758var LifecycleEffectMask = 14759/* */ 14760932; // Union of all host effects 14761 14762var HostEffectMask = 14763/* */ 147642047; 14765var Incomplete = 14766/* */ 147672048; 14768var ShouldCapture = 14769/* */ 147704096; 14771 14772var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner; 14773function getNearestMountedFiber(fiber) { 14774 var node = fiber; 14775 var nearestMounted = fiber; 14776 14777 if (!fiber.alternate) { 14778 // If there is no alternate, this might be a new tree that isn't inserted 14779 // yet. If it is, then it will have a pending insertion effect on it. 14780 var nextNode = node; 14781 14782 do { 14783 node = nextNode; 14784 14785 if ((node.effectTag & (Placement | Hydrating)) !== NoEffect) { 14786 // This is an insertion or in-progress hydration. The nearest possible 14787 // mounted fiber is the parent but we need to continue to figure out 14788 // if that one is still mounted. 14789 nearestMounted = node.return; 14790 } 14791 14792 nextNode = node.return; 14793 } while (nextNode); 14794 } else { 14795 while (node.return) { 14796 node = node.return; 14797 } 14798 } 14799 14800 if (node.tag === HostRoot) { 14801 // TODO: Check if this was a nested HostRoot when used with 14802 // renderContainerIntoSubtree. 14803 return nearestMounted; 14804 } // If we didn't hit the root, that means that we're in an disconnected tree 14805 // that has been unmounted. 14806 14807 14808 return null; 14809} 14810function getSuspenseInstanceFromFiber(fiber) { 14811 if (fiber.tag === SuspenseComponent) { 14812 var suspenseState = fiber.memoizedState; 14813 14814 if (suspenseState === null) { 14815 var current = fiber.alternate; 14816 14817 if (current !== null) { 14818 suspenseState = current.memoizedState; 14819 } 14820 } 14821 14822 if (suspenseState !== null) { 14823 return suspenseState.dehydrated; 14824 } 14825 } 14826 14827 return null; 14828} 14829function getContainerFromFiber(fiber) { 14830 return fiber.tag === HostRoot ? fiber.stateNode.containerInfo : null; 14831} 14832function isFiberMounted(fiber) { 14833 return getNearestMountedFiber(fiber) === fiber; 14834} 14835function isMounted(component) { 14836 { 14837 var owner = ReactCurrentOwner.current; 14838 14839 if (owner !== null && owner.tag === ClassComponent) { 14840 var ownerFiber = owner; 14841 var instance = ownerFiber.stateNode; 14842 14843 if (!instance._warnedAboutRefsInRender) { 14844 error('%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentName(ownerFiber.type) || 'A component'); 14845 } 14846 14847 instance._warnedAboutRefsInRender = true; 14848 } 14849 } 14850 14851 var fiber = get(component); 14852 14853 if (!fiber) { 14854 return false; 14855 } 14856 14857 return getNearestMountedFiber(fiber) === fiber; 14858} 14859 14860function assertIsMounted(fiber) { 14861 if (!(getNearestMountedFiber(fiber) === fiber)) { 14862 { 14863 throw Error( "Unable to find node on an unmounted component." ); 14864 } 14865 } 14866} 14867 14868function findCurrentFiberUsingSlowPath(fiber) { 14869 var alternate = fiber.alternate; 14870 14871 if (!alternate) { 14872 // If there is no alternate, then we only need to check if it is mounted. 14873 var nearestMounted = getNearestMountedFiber(fiber); 14874 14875 if (!(nearestMounted !== null)) { 14876 { 14877 throw Error( "Unable to find node on an unmounted component." ); 14878 } 14879 } 14880 14881 if (nearestMounted !== fiber) { 14882 return null; 14883 } 14884 14885 return fiber; 14886 } // If we have two possible branches, we'll walk backwards up to the root 14887 // to see what path the root points to. On the way we may hit one of the 14888 // special cases and we'll deal with them. 14889 14890 14891 var a = fiber; 14892 var b = alternate; 14893 14894 while (true) { 14895 var parentA = a.return; 14896 14897 if (parentA === null) { 14898 // We're at the root. 14899 break; 14900 } 14901 14902 var parentB = parentA.alternate; 14903 14904 if (parentB === null) { 14905 // There is no alternate. This is an unusual case. Currently, it only 14906 // happens when a Suspense component is hidden. An extra fragment fiber 14907 // is inserted in between the Suspense fiber and its children. Skip 14908 // over this extra fragment fiber and proceed to the next parent. 14909 var nextParent = parentA.return; 14910 14911 if (nextParent !== null) { 14912 a = b = nextParent; 14913 continue; 14914 } // If there's no parent, we're at the root. 14915 14916 14917 break; 14918 } // If both copies of the parent fiber point to the same child, we can 14919 // assume that the child is current. This happens when we bailout on low 14920 // priority: the bailed out fiber's child reuses the current child. 14921 14922 14923 if (parentA.child === parentB.child) { 14924 var child = parentA.child; 14925 14926 while (child) { 14927 if (child === a) { 14928 // We've determined that A is the current branch. 14929 assertIsMounted(parentA); 14930 return fiber; 14931 } 14932 14933 if (child === b) { 14934 // We've determined that B is the current branch. 14935 assertIsMounted(parentA); 14936 return alternate; 14937 } 14938 14939 child = child.sibling; 14940 } // We should never have an alternate for any mounting node. So the only 14941 // way this could possibly happen is if this was unmounted, if at all. 14942 14943 14944 { 14945 { 14946 throw Error( "Unable to find node on an unmounted component." ); 14947 } 14948 } 14949 } 14950 14951 if (a.return !== b.return) { 14952 // The return pointer of A and the return pointer of B point to different 14953 // fibers. We assume that return pointers never criss-cross, so A must 14954 // belong to the child set of A.return, and B must belong to the child 14955 // set of B.return. 14956 a = parentA; 14957 b = parentB; 14958 } else { 14959 // The return pointers point to the same fiber. We'll have to use the 14960 // default, slow path: scan the child sets of each parent alternate to see 14961 // which child belongs to which set. 14962 // 14963 // Search parent A's child set 14964 var didFindChild = false; 14965 var _child = parentA.child; 14966 14967 while (_child) { 14968 if (_child === a) { 14969 didFindChild = true; 14970 a = parentA; 14971 b = parentB; 14972 break; 14973 } 14974 14975 if (_child === b) { 14976 didFindChild = true; 14977 b = parentA; 14978 a = parentB; 14979 break; 14980 } 14981 14982 _child = _child.sibling; 14983 } 14984 14985 if (!didFindChild) { 14986 // Search parent B's child set 14987 _child = parentB.child; 14988 14989 while (_child) { 14990 if (_child === a) { 14991 didFindChild = true; 14992 a = parentB; 14993 b = parentA; 14994 break; 14995 } 14996 14997 if (_child === b) { 14998 didFindChild = true; 14999 b = parentB; 15000 a = parentA; 15001 break; 15002 } 15003 15004 _child = _child.sibling; 15005 } 15006 15007 if (!didFindChild) { 15008 { 15009 throw Error( "Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue." ); 15010 } 15011 } 15012 } 15013 } 15014 15015 if (!(a.alternate === b)) { 15016 { 15017 throw Error( "Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue." ); 15018 } 15019 } 15020 } // If the root is not a host container, we're in a disconnected tree. I.e. 15021 // unmounted. 15022 15023 15024 if (!(a.tag === HostRoot)) { 15025 { 15026 throw Error( "Unable to find node on an unmounted component." ); 15027 } 15028 } 15029 15030 if (a.stateNode.current === a) { 15031 // We've determined that A is the current branch. 15032 return fiber; 15033 } // Otherwise B has to be current branch. 15034 15035 15036 return alternate; 15037} 15038function findCurrentHostFiber(parent) { 15039 var currentParent = findCurrentFiberUsingSlowPath(parent); 15040 15041 if (!currentParent) { 15042 return null; 15043 } // Next we'll drill down this component to find the first HostComponent/Text. 15044 15045 15046 var node = currentParent; 15047 15048 while (true) { 15049 if (node.tag === HostComponent || node.tag === HostText) { 15050 return node; 15051 } else if (node.child) { 15052 node.child.return = node; 15053 node = node.child; 15054 continue; 15055 } 15056 15057 if (node === currentParent) { 15058 return null; 15059 } 15060 15061 while (!node.sibling) { 15062 if (!node.return || node.return === currentParent) { 15063 return null; 15064 } 15065 15066 node = node.return; 15067 } 15068 15069 node.sibling.return = node.return; 15070 node = node.sibling; 15071 } // Flow needs the return null here, but ESLint complains about it. 15072 // eslint-disable-next-line no-unreachable 15073 15074 15075 return null; 15076} 15077function findCurrentHostFiberWithNoPortals(parent) { 15078 var currentParent = findCurrentFiberUsingSlowPath(parent); 15079 15080 if (!currentParent) { 15081 return null; 15082 } // Next we'll drill down this component to find the first HostComponent/Text. 15083 15084 15085 var node = currentParent; 15086 15087 while (true) { 15088 if (node.tag === HostComponent || node.tag === HostText || enableFundamentalAPI ) { 15089 return node; 15090 } else if (node.child && node.tag !== HostPortal) { 15091 node.child.return = node; 15092 node = node.child; 15093 continue; 15094 } 15095 15096 if (node === currentParent) { 15097 return null; 15098 } 15099 15100 while (!node.sibling) { 15101 if (!node.return || node.return === currentParent) { 15102 return null; 15103 } 15104 15105 node = node.return; 15106 } 15107 15108 node.sibling.return = node.return; 15109 node = node.sibling; 15110 } // Flow needs the return null here, but ESLint complains about it. 15111 // eslint-disable-next-line no-unreachable 15112 15113 15114 return null; 15115} 15116 15117/** 15118 * Accumulates items that must not be null or undefined into the first one. This 15119 * is used to conserve memory by avoiding array allocations, and thus sacrifices 15120 * API cleanness. Since `current` can be null before being passed in and not 15121 * null after this function, make sure to assign it back to `current`: 15122 * 15123 * `a = accumulateInto(a, b);` 15124 * 15125 * This API should be sparingly used. Try `accumulate` for something cleaner. 15126 * 15127 * @return {*|array<*>} An accumulation of items. 15128 */ 15129 15130function accumulateInto(current, next) { 15131 if (!(next != null)) { 15132 { 15133 throw Error( "accumulateInto(...): Accumulated items must not be null or undefined." ); 15134 } 15135 } 15136 15137 if (current == null) { 15138 return next; 15139 } // Both are not empty. Warning: Never call x.concat(y) when you are not 15140 // certain that x is an Array (x could be a string with concat method). 15141 15142 15143 if (Array.isArray(current)) { 15144 if (Array.isArray(next)) { 15145 current.push.apply(current, next); 15146 return current; 15147 } 15148 15149 current.push(next); 15150 return current; 15151 } 15152 15153 if (Array.isArray(next)) { 15154 // A bit too dangerous to mutate `next`. 15155 return [current].concat(next); 15156 } 15157 15158 return [current, next]; 15159} 15160 15161/** 15162 * @param {array} arr an "accumulation" of items which is either an Array or 15163 * a single item. Useful when paired with the `accumulate` module. This is a 15164 * simple utility that allows us to reason about a collection of items, but 15165 * handling the case when there is exactly one item (and we do not need to 15166 * allocate an array). 15167 * @param {function} cb Callback invoked with each element or a collection. 15168 * @param {?} [scope] Scope used as `this` in a callback. 15169 */ 15170function forEachAccumulated(arr, cb, scope) { 15171 if (Array.isArray(arr)) { 15172 arr.forEach(cb, scope); 15173 } else if (arr) { 15174 cb.call(scope, arr); 15175 } 15176} 15177 15178/** 15179 * Internal queue of events that have accumulated their dispatches and are 15180 * waiting to have their dispatches executed. 15181 */ 15182 15183var eventQueue = null; 15184/** 15185 * Dispatches an event and releases it back into the pool, unless persistent. 15186 * 15187 * @param {?object} event Synthetic event to be dispatched. 15188 * @private 15189 */ 15190 15191var executeDispatchesAndRelease = function (event) { 15192 if (event) { 15193 executeDispatchesInOrder(event); 15194 15195 if (!event.isPersistent()) { 15196 event.constructor.release(event); 15197 } 15198 } 15199}; 15200 15201var executeDispatchesAndReleaseTopLevel = function (e) { 15202 return executeDispatchesAndRelease(e); 15203}; 15204 15205function runEventsInBatch(events) { 15206 if (events !== null) { 15207 eventQueue = accumulateInto(eventQueue, events); 15208 } // Set `eventQueue` to null before processing it so that we can tell if more 15209 // events get enqueued while processing. 15210 15211 15212 var processingEventQueue = eventQueue; 15213 eventQueue = null; 15214 15215 if (!processingEventQueue) { 15216 return; 15217 } 15218 15219 forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel); 15220 15221 if (!!eventQueue) { 15222 { 15223 throw Error( "processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented." ); 15224 } 15225 } // This would be a good time to rethrow if any of the event handlers threw. 15226 15227 15228 rethrowCaughtError(); 15229} 15230 15231/** 15232 * Gets the target node from a native browser event by accounting for 15233 * inconsistencies in browser DOM APIs. 15234 * 15235 * @param {object} nativeEvent Native browser event. 15236 * @return {DOMEventTarget} Target node. 15237 */ 15238 15239function getEventTarget(nativeEvent) { 15240 // Fallback to nativeEvent.srcElement for IE9 15241 // https://github.com/facebook/react/issues/12506 15242 var target = nativeEvent.target || nativeEvent.srcElement || window; // Normalize SVG <use> element events #4963 15243 15244 if (target.correspondingUseElement) { 15245 target = target.correspondingUseElement; 15246 } // Safari may fire events on text nodes (Node.TEXT_NODE is 3). 15247 // @see http://www.quirksmode.org/js/events_properties.html 15248 15249 15250 return target.nodeType === TEXT_NODE ? target.parentNode : target; 15251} 15252 15253/** 15254 * Checks if an event is supported in the current execution environment. 15255 * 15256 * NOTE: This will not work correctly for non-generic events such as `change`, 15257 * `reset`, `load`, `error`, and `select`. 15258 * 15259 * Borrows from Modernizr. 15260 * 15261 * @param {string} eventNameSuffix Event name, e.g. "click". 15262 * @return {boolean} True if the event is supported. 15263 * @internal 15264 * @license Modernizr 3.0.0pre (Custom Build) | MIT 15265 */ 15266function isEventSupported(eventNameSuffix){if(!canUseDOM){return!1} 15267var eventName='on'+eventNameSuffix;var isSupported=eventName in document;if(!isSupported){var element=document.createElement('div');element.setAttribute(eventName,'return;');isSupported=typeof element[eventName]==='function'} 15268return isSupported} 15269/** 15270 * Summary of `DOMEventPluginSystem` event handling: 15271 * 15272 * - Top-level delegation is used to trap most native browser events. This 15273 * may only occur in the main thread and is the responsibility of 15274 * ReactDOMEventListener, which is injected and can therefore support 15275 * pluggable event sources. This is the only work that occurs in the main 15276 * thread. 15277 * 15278 * - We normalize and de-duplicate events to account for browser quirks. This 15279 * may be done in the worker thread. 15280 * 15281 * - Forward these native events (with the associated top-level type used to 15282 * trap it) to `EventPluginRegistry`, which in turn will ask plugins if they want 15283 * to extract any synthetic events. 15284 * 15285 * - The `EventPluginRegistry` will then process each event by annotating them with 15286 * "dispatches", a sequence of listeners and IDs that care about that event. 15287 * 15288 * - The `EventPluginRegistry` then dispatches the events. 15289 * 15290 * Overview of React and the event system: 15291 * 15292 * +------------+ . 15293 * | DOM | . 15294 * +------------+ . 15295 * | . 15296 * v . 15297 * +------------+ . 15298 * | ReactEvent | . 15299 * | Listener | . 15300 * +------------+ . +-----------+ 15301 * | . +--------+|SimpleEvent| 15302 * | . | |Plugin | 15303 * +-----|------+ . v +-----------+ 15304 * | | | . +--------------+ +------------+ 15305 * | +-----------.--->|PluginRegistry| | Event | 15306 * | | . | | +-----------+ | Propagators| 15307 * | ReactEvent | . | | |TapEvent | |------------| 15308 * | Emitter | . | |<---+|Plugin | |other plugin| 15309 * | | . | | +-----------+ | utilities | 15310 * | +-----------.--->| | +------------+ 15311 * | | | . +--------------+ 15312 * +-----|------+ . ^ +-----------+ 15313 * | . | |Enter/Leave| 15314 * + . +-------+|Plugin | 15315 * +-------------+ . +-----------+ 15316 * | application | . 15317 * |-------------| . 15318 * | | . 15319 * | | . 15320 * +-------------+ . 15321 * . 15322 * React Core . General Purpose Event Plugin System 15323 */ 15324 15325var CALLBACK_BOOKKEEPING_POOL_SIZE = 10; 15326var callbackBookkeepingPool = []; 15327 15328function releaseTopLevelCallbackBookKeeping(instance) { 15329 instance.topLevelType = null; 15330 instance.nativeEvent = null; 15331 instance.targetInst = null; 15332 instance.ancestors.length = 0; 15333 15334 if (callbackBookkeepingPool.length < CALLBACK_BOOKKEEPING_POOL_SIZE) { 15335 callbackBookkeepingPool.push(instance); 15336 } 15337} // Used to store ancestor hierarchy in top level callback 15338 15339 15340function getTopLevelCallbackBookKeeping(topLevelType, nativeEvent, targetInst, eventSystemFlags) { 15341 if (callbackBookkeepingPool.length) { 15342 var instance = callbackBookkeepingPool.pop(); 15343 instance.topLevelType = topLevelType; 15344 instance.eventSystemFlags = eventSystemFlags; 15345 instance.nativeEvent = nativeEvent; 15346 instance.targetInst = targetInst; 15347 return instance; 15348 } 15349 15350 return { 15351 topLevelType: topLevelType, 15352 eventSystemFlags: eventSystemFlags, 15353 nativeEvent: nativeEvent, 15354 targetInst: targetInst, 15355 ancestors: [] 15356 }; 15357} 15358/** 15359 * Find the deepest React component completely containing the root of the 15360 * passed-in instance (for use when entire React trees are nested within each 15361 * other). If React trees are not nested, returns null. 15362 */ 15363 15364 15365function findRootContainerNode(inst) { 15366 if (inst.tag === HostRoot) { 15367 return inst.stateNode.containerInfo; 15368 } // TODO: It may be a good idea to cache this to prevent unnecessary DOM 15369 // traversal, but caching is difficult to do correctly without using a 15370 // mutation observer to listen for all DOM changes. 15371 15372 15373 while (inst.return) { 15374 inst = inst.return; 15375 } 15376 15377 if (inst.tag !== HostRoot) { 15378 // This can happen if we're in a detached tree. 15379 return null; 15380 } 15381 15382 return inst.stateNode.containerInfo; 15383} 15384/** 15385 * Allows registered plugins an opportunity to extract events from top-level 15386 * native browser events. 15387 * 15388 * @return {*} An accumulation of synthetic events. 15389 * @internal 15390 */ 15391 15392 15393function extractPluginEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) { 15394 var events = null; 15395 15396 for (var i = 0; i < plugins.length; i++) { 15397 // Not every plugin in the ordering may be loaded at runtime. 15398 var possiblePlugin = plugins[i]; 15399 15400 if (possiblePlugin) { 15401 var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags); 15402 15403 if (extractedEvents) { 15404 events = accumulateInto(events, extractedEvents); 15405 } 15406 } 15407 } 15408 15409 return events; 15410} 15411 15412function runExtractedPluginEventsInBatch(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) { 15413 var events = extractPluginEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags); 15414 runEventsInBatch(events); 15415} 15416 15417function handleTopLevel(bookKeeping) { 15418 var targetInst = bookKeeping.targetInst; // Loop through the hierarchy, in case there's any nested components. 15419 // It's important that we build the array of ancestors before calling any 15420 // event handlers, because event handlers can modify the DOM, leading to 15421 // inconsistencies with ReactMount's node cache. See #1105. 15422 15423 var ancestor = targetInst; 15424 15425 do { 15426 if (!ancestor) { 15427 var ancestors = bookKeeping.ancestors; 15428 ancestors.push(ancestor); 15429 break; 15430 } 15431 15432 var root = findRootContainerNode(ancestor); 15433 15434 if (!root) { 15435 break; 15436 } 15437 15438 var tag = ancestor.tag; 15439 15440 if (tag === HostComponent || tag === HostText) { 15441 bookKeeping.ancestors.push(ancestor); 15442 } 15443 15444 ancestor = getClosestInstanceFromNode(root); 15445 } while (ancestor); 15446 15447 for (var i = 0; i < bookKeeping.ancestors.length; i++) { 15448 targetInst = bookKeeping.ancestors[i]; 15449 var eventTarget = getEventTarget(bookKeeping.nativeEvent); 15450 var topLevelType = bookKeeping.topLevelType; 15451 var nativeEvent = bookKeeping.nativeEvent; 15452 var eventSystemFlags = bookKeeping.eventSystemFlags; // If this is the first ancestor, we mark it on the system flags 15453 15454 if (i === 0) { 15455 eventSystemFlags |= IS_FIRST_ANCESTOR; 15456 } 15457 15458 runExtractedPluginEventsInBatch(topLevelType, targetInst, nativeEvent, eventTarget, eventSystemFlags); 15459 } 15460} 15461 15462function dispatchEventForLegacyPluginEventSystem(topLevelType, eventSystemFlags, nativeEvent, targetInst) { 15463 var bookKeeping = getTopLevelCallbackBookKeeping(topLevelType, nativeEvent, targetInst, eventSystemFlags); 15464 15465 try { 15466 // Event queue being processed in the same cycle allows 15467 // `preventDefault`. 15468 batchedEventUpdates(handleTopLevel, bookKeeping); 15469 } finally { 15470 releaseTopLevelCallbackBookKeeping(bookKeeping); 15471 } 15472} 15473/** 15474 * We listen for bubbled touch events on the document object. 15475 * 15476 * Firefox v8.01 (and possibly others) exhibited strange behavior when 15477 * mounting `onmousemove` events at some node that was not the document 15478 * element. The symptoms were that if your mouse is not moving over something 15479 * contained within that mount point (for example on the background) the 15480 * top-level listeners for `onmousemove` won't be called. However, if you 15481 * register the `mousemove` on the document object, then it will of course 15482 * catch all `mousemove`s. This along with iOS quirks, justifies restricting 15483 * top-level listeners to the document object only, at least for these 15484 * movement types of events and possibly all events. 15485 * 15486 * @see http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html 15487 * 15488 * Also, `keyup`/`keypress`/`keydown` do not bubble to the window on IE, but 15489 * they bubble to document. 15490 * 15491 * @param {string} registrationName Name of listener (e.g. `onClick`). 15492 * @param {object} mountAt Container where to mount the listener 15493 */ 15494 15495function legacyListenToEvent(registrationName, mountAt) { 15496 var listenerMap = getListenerMapForElement(mountAt); 15497 var dependencies = registrationNameDependencies[registrationName]; 15498 15499 for (var i = 0; i < dependencies.length; i++) { 15500 var dependency = dependencies[i]; 15501 legacyListenToTopLevelEvent(dependency, mountAt, listenerMap); 15502 } 15503} 15504function legacyListenToTopLevelEvent(topLevelType, mountAt, listenerMap) { 15505 if (!listenerMap.has(topLevelType)) { 15506 switch (topLevelType) { 15507 case TOP_SCROLL: 15508 trapCapturedEvent(TOP_SCROLL, mountAt); 15509 break; 15510 15511 case TOP_FOCUS: 15512 case TOP_BLUR: 15513 trapCapturedEvent(TOP_FOCUS, mountAt); 15514 trapCapturedEvent(TOP_BLUR, mountAt); // We set the flag for a single dependency later in this function, 15515 // but this ensures we mark both as attached rather than just one. 15516 15517 listenerMap.set(TOP_BLUR, null); 15518 listenerMap.set(TOP_FOCUS, null); 15519 break; 15520 15521 case TOP_CANCEL: 15522 case TOP_CLOSE: 15523 if (isEventSupported(getRawEventName(topLevelType))) { 15524 trapCapturedEvent(topLevelType, mountAt); 15525 } 15526 15527 break; 15528 15529 case TOP_INVALID: 15530 case TOP_SUBMIT: 15531 case TOP_RESET: 15532 // We listen to them on the target DOM elements. 15533 // Some of them bubble so we don't want them to fire twice. 15534 break; 15535 15536 default: 15537 // By default, listen on the top level to all non-media events. 15538 // Media events don't bubble so adding the listener wouldn't do anything. 15539 var isMediaEvent = mediaEventTypes.indexOf(topLevelType) !== -1; 15540 15541 if (!isMediaEvent) { 15542 trapBubbledEvent(topLevelType, mountAt); 15543 } 15544 15545 break; 15546 } 15547 15548 listenerMap.set(topLevelType, null); 15549 } 15550} 15551function isListeningToAllDependencies(registrationName, mountAt) { 15552 var listenerMap = getListenerMapForElement(mountAt); 15553 var dependencies = registrationNameDependencies[registrationName]; 15554 15555 for (var i = 0; i < dependencies.length; i++) { 15556 var dependency = dependencies[i]; 15557 15558 if (!listenerMap.has(dependency)) { 15559 return false; 15560 } 15561 } 15562 15563 return true; 15564} 15565 15566var attemptUserBlockingHydration; 15567function setAttemptUserBlockingHydration(fn) { 15568 attemptUserBlockingHydration = fn; 15569} 15570var attemptContinuousHydration; 15571function setAttemptContinuousHydration(fn) { 15572 attemptContinuousHydration = fn; 15573} 15574var attemptHydrationAtCurrentPriority; 15575function setAttemptHydrationAtCurrentPriority(fn) { 15576 attemptHydrationAtCurrentPriority = fn; 15577} // TODO: Upgrade this definition once we're on a newer version of Flow that 15578var hasScheduledReplayAttempt = false; // The queue of discrete events to be replayed. 15579 15580var queuedDiscreteEvents = []; // Indicates if any continuous event targets are non-null for early bailout. 15581// if the last target was dehydrated. 15582 15583var queuedFocus = null; 15584var queuedDrag = null; 15585var queuedMouse = null; // For pointer events there can be one latest event per pointerId. 15586 15587var queuedPointers = new Map(); 15588var queuedPointerCaptures = new Map(); // We could consider replaying selectionchange and touchmoves too. 15589 15590var queuedExplicitHydrationTargets = []; 15591function hasQueuedDiscreteEvents() { 15592 return queuedDiscreteEvents.length > 0; 15593} 15594var discreteReplayableEvents = [TOP_MOUSE_DOWN, TOP_MOUSE_UP, TOP_TOUCH_CANCEL, TOP_TOUCH_END, TOP_TOUCH_START, TOP_AUX_CLICK, TOP_DOUBLE_CLICK, TOP_POINTER_CANCEL, TOP_POINTER_DOWN, TOP_POINTER_UP, TOP_DRAG_END, TOP_DRAG_START, TOP_DROP, TOP_COMPOSITION_END, TOP_COMPOSITION_START, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_INPUT, TOP_TEXT_INPUT, TOP_CLOSE, TOP_CANCEL, TOP_COPY, TOP_CUT, TOP_PASTE, TOP_CLICK, TOP_CHANGE, TOP_CONTEXT_MENU, TOP_RESET, TOP_SUBMIT]; 15595var continuousReplayableEvents = [TOP_FOCUS, TOP_BLUR, TOP_DRAG_ENTER, TOP_DRAG_LEAVE, TOP_MOUSE_OVER, TOP_MOUSE_OUT, TOP_POINTER_OVER, TOP_POINTER_OUT, TOP_GOT_POINTER_CAPTURE, TOP_LOST_POINTER_CAPTURE]; 15596function isReplayableDiscreteEvent(eventType) { 15597 return discreteReplayableEvents.indexOf(eventType) > -1; 15598} 15599 15600function trapReplayableEventForDocument(topLevelType, document, listenerMap) { 15601 legacyListenToTopLevelEvent(topLevelType, document, listenerMap); 15602} 15603 15604function eagerlyTrapReplayableEvents(container, document) { 15605 var listenerMapForDoc = getListenerMapForElement(document); // Discrete 15606 15607 discreteReplayableEvents.forEach(function (topLevelType) { 15608 trapReplayableEventForDocument(topLevelType, document, listenerMapForDoc); 15609 }); // Continuous 15610 15611 continuousReplayableEvents.forEach(function (topLevelType) { 15612 trapReplayableEventForDocument(topLevelType, document, listenerMapForDoc); 15613 }); 15614} 15615 15616function createQueuedReplayableEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) { 15617 return { 15618 blockedOn: blockedOn, 15619 topLevelType: topLevelType, 15620 eventSystemFlags: eventSystemFlags | IS_REPLAYED, 15621 nativeEvent: nativeEvent, 15622 container: container 15623 }; 15624} 15625 15626function queueDiscreteEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) { 15627 var queuedEvent = createQueuedReplayableEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent); 15628 queuedDiscreteEvents.push(queuedEvent); 15629} // Resets the replaying for this type of continuous event to no event. 15630 15631function clearIfContinuousEvent(topLevelType, nativeEvent) { 15632 switch (topLevelType) { 15633 case TOP_FOCUS: 15634 case TOP_BLUR: 15635 queuedFocus = null; 15636 break; 15637 15638 case TOP_DRAG_ENTER: 15639 case TOP_DRAG_LEAVE: 15640 queuedDrag = null; 15641 break; 15642 15643 case TOP_MOUSE_OVER: 15644 case TOP_MOUSE_OUT: 15645 queuedMouse = null; 15646 break; 15647 15648 case TOP_POINTER_OVER: 15649 case TOP_POINTER_OUT: 15650 { 15651 var pointerId = nativeEvent.pointerId; 15652 queuedPointers.delete(pointerId); 15653 break; 15654 } 15655 15656 case TOP_GOT_POINTER_CAPTURE: 15657 case TOP_LOST_POINTER_CAPTURE: 15658 { 15659 var _pointerId = nativeEvent.pointerId; 15660 queuedPointerCaptures.delete(_pointerId); 15661 break; 15662 } 15663 } 15664} 15665 15666function accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) { 15667 if (existingQueuedEvent === null || existingQueuedEvent.nativeEvent !== nativeEvent) { 15668 var queuedEvent = createQueuedReplayableEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent); 15669 15670 if (blockedOn !== null) { 15671 var _fiber2 = getInstanceFromNode$1(blockedOn); 15672 15673 if (_fiber2 !== null) { 15674 // Attempt to increase the priority of this target. 15675 attemptContinuousHydration(_fiber2); 15676 } 15677 } 15678 15679 return queuedEvent; 15680 } // If we have already queued this exact event, then it's because 15681 // the different event systems have different DOM event listeners. 15682 // We can accumulate the flags and store a single event to be 15683 // replayed. 15684 15685 15686 existingQueuedEvent.eventSystemFlags |= eventSystemFlags; 15687 return existingQueuedEvent; 15688} 15689 15690function queueIfContinuousEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) { 15691 // These set relatedTarget to null because the replayed event will be treated as if we 15692 // moved from outside the window (no target) onto the target once it hydrates. 15693 // Instead of mutating we could clone the event. 15694 switch (topLevelType) { 15695 case TOP_FOCUS: 15696 { 15697 var focusEvent = nativeEvent; 15698 queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(queuedFocus, blockedOn, topLevelType, eventSystemFlags, container, focusEvent); 15699 return true; 15700 } 15701 15702 case TOP_DRAG_ENTER: 15703 { 15704 var dragEvent = nativeEvent; 15705 queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(queuedDrag, blockedOn, topLevelType, eventSystemFlags, container, dragEvent); 15706 return true; 15707 } 15708 15709 case TOP_MOUSE_OVER: 15710 { 15711 var mouseEvent = nativeEvent; 15712 queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(queuedMouse, blockedOn, topLevelType, eventSystemFlags, container, mouseEvent); 15713 return true; 15714 } 15715 15716 case TOP_POINTER_OVER: 15717 { 15718 var pointerEvent = nativeEvent; 15719 var pointerId = pointerEvent.pointerId; 15720 queuedPointers.set(pointerId, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointers.get(pointerId) || null, blockedOn, topLevelType, eventSystemFlags, container, pointerEvent)); 15721 return true; 15722 } 15723 15724 case TOP_GOT_POINTER_CAPTURE: 15725 { 15726 var _pointerEvent = nativeEvent; 15727 var _pointerId2 = _pointerEvent.pointerId; 15728 queuedPointerCaptures.set(_pointerId2, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointerCaptures.get(_pointerId2) || null, blockedOn, topLevelType, eventSystemFlags, container, _pointerEvent)); 15729 return true; 15730 } 15731 } 15732 15733 return false; 15734} // Check if this target is unblocked. Returns true if it's unblocked. 15735 15736function attemptExplicitHydrationTarget(queuedTarget) { 15737 // TODO: This function shares a lot of logic with attemptToDispatchEvent. 15738 // Try to unify them. It's a bit tricky since it would require two return 15739 // values. 15740 var targetInst = getClosestInstanceFromNode(queuedTarget.target); 15741 15742 if (targetInst !== null) { 15743 var nearestMounted = getNearestMountedFiber(targetInst); 15744 15745 if (nearestMounted !== null) { 15746 var tag = nearestMounted.tag; 15747 15748 if (tag === SuspenseComponent) { 15749 var instance = getSuspenseInstanceFromFiber(nearestMounted); 15750 15751 if (instance !== null) { 15752 // We're blocked on hydrating this boundary. 15753 // Increase its priority. 15754 queuedTarget.blockedOn = instance; 15755 Scheduler.unstable_runWithPriority(queuedTarget.priority, function () { 15756 attemptHydrationAtCurrentPriority(nearestMounted); 15757 }); 15758 return; 15759 } 15760 } else if (tag === HostRoot) { 15761 var root = nearestMounted.stateNode; 15762 15763 if (root.hydrate) { 15764 queuedTarget.blockedOn = getContainerFromFiber(nearestMounted); // We don't currently have a way to increase the priority of 15765 // a root other than sync. 15766 15767 return; 15768 } 15769 } 15770 } 15771 } 15772 15773 queuedTarget.blockedOn = null; 15774} 15775 15776function attemptReplayContinuousQueuedEvent(queuedEvent) { 15777 if (queuedEvent.blockedOn !== null) { 15778 return false; 15779 } 15780 15781 var nextBlockedOn = attemptToDispatchEvent(queuedEvent.topLevelType, queuedEvent.eventSystemFlags, queuedEvent.container, queuedEvent.nativeEvent); 15782 15783 if (nextBlockedOn !== null) { 15784 // We're still blocked. Try again later. 15785 var _fiber3 = getInstanceFromNode$1(nextBlockedOn); 15786 15787 if (_fiber3 !== null) { 15788 attemptContinuousHydration(_fiber3); 15789 } 15790 15791 queuedEvent.blockedOn = nextBlockedOn; 15792 return false; 15793 } 15794 15795 return true; 15796} 15797 15798function attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) { 15799 if (attemptReplayContinuousQueuedEvent(queuedEvent)) { 15800 map.delete(key); 15801 } 15802} 15803 15804function replayUnblockedEvents() { 15805 hasScheduledReplayAttempt = false; // First replay discrete events. 15806 15807 while (queuedDiscreteEvents.length > 0) { 15808 var nextDiscreteEvent = queuedDiscreteEvents[0]; 15809 15810 if (nextDiscreteEvent.blockedOn !== null) { 15811 // We're still blocked. 15812 // Increase the priority of this boundary to unblock 15813 // the next discrete event. 15814 var _fiber4 = getInstanceFromNode$1(nextDiscreteEvent.blockedOn); 15815 15816 if (_fiber4 !== null) { 15817 attemptUserBlockingHydration(_fiber4); 15818 } 15819 15820 break; 15821 } 15822 15823 var nextBlockedOn = attemptToDispatchEvent(nextDiscreteEvent.topLevelType, nextDiscreteEvent.eventSystemFlags, nextDiscreteEvent.container, nextDiscreteEvent.nativeEvent); 15824 15825 if (nextBlockedOn !== null) { 15826 // We're still blocked. Try again later. 15827 nextDiscreteEvent.blockedOn = nextBlockedOn; 15828 } else { 15829 // We've successfully replayed the first event. Let's try the next one. 15830 queuedDiscreteEvents.shift(); 15831 } 15832 } // Next replay any continuous events. 15833 15834 15835 if (queuedFocus !== null && attemptReplayContinuousQueuedEvent(queuedFocus)) { 15836 queuedFocus = null; 15837 } 15838 15839 if (queuedDrag !== null && attemptReplayContinuousQueuedEvent(queuedDrag)) { 15840 queuedDrag = null; 15841 } 15842 15843 if (queuedMouse !== null && attemptReplayContinuousQueuedEvent(queuedMouse)) { 15844 queuedMouse = null; 15845 } 15846 15847 queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap); 15848 queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap); 15849} 15850 15851function scheduleCallbackIfUnblocked(queuedEvent, unblocked) { 15852 if (queuedEvent.blockedOn === unblocked) { 15853 queuedEvent.blockedOn = null; 15854 15855 if (!hasScheduledReplayAttempt) { 15856 hasScheduledReplayAttempt = true; // Schedule a callback to attempt replaying as many events as are 15857 // now unblocked. This first might not actually be unblocked yet. 15858 // We could check it early to avoid scheduling an unnecessary callback. 15859 15860 Scheduler.unstable_scheduleCallback(Scheduler.unstable_NormalPriority, replayUnblockedEvents); 15861 } 15862 } 15863} 15864 15865function retryIfBlockedOn(unblocked) { 15866 // Mark anything that was blocked on this as no longer blocked 15867 // and eligible for a replay. 15868 if (queuedDiscreteEvents.length > 0) { 15869 scheduleCallbackIfUnblocked(queuedDiscreteEvents[0], unblocked); // This is a exponential search for each boundary that commits. I think it's 15870 // worth it because we expect very few discrete events to queue up and once 15871 // we are actually fully unblocked it will be fast to replay them. 15872 15873 for (var i = 1; i < queuedDiscreteEvents.length; i++) { 15874 var queuedEvent = queuedDiscreteEvents[i]; 15875 15876 if (queuedEvent.blockedOn === unblocked) { 15877 queuedEvent.blockedOn = null; 15878 } 15879 } 15880 } 15881 15882 if (queuedFocus !== null) { 15883 scheduleCallbackIfUnblocked(queuedFocus, unblocked); 15884 } 15885 15886 if (queuedDrag !== null) { 15887 scheduleCallbackIfUnblocked(queuedDrag, unblocked); 15888 } 15889 15890 if (queuedMouse !== null) { 15891 scheduleCallbackIfUnblocked(queuedMouse, unblocked); 15892 } 15893 15894 var unblock = function (queuedEvent) { 15895 return scheduleCallbackIfUnblocked(queuedEvent, unblocked); 15896 }; 15897 15898 queuedPointers.forEach(unblock); 15899 queuedPointerCaptures.forEach(unblock); 15900 15901 for (var _i = 0; _i < queuedExplicitHydrationTargets.length; _i++) { 15902 var queuedTarget = queuedExplicitHydrationTargets[_i]; 15903 15904 if (queuedTarget.blockedOn === unblocked) { 15905 queuedTarget.blockedOn = null; 15906 } 15907 } 15908 15909 while (queuedExplicitHydrationTargets.length > 0) { 15910 var nextExplicitTarget = queuedExplicitHydrationTargets[0]; 15911 15912 if (nextExplicitTarget.blockedOn !== null) { 15913 // We're still blocked. 15914 break; 15915 } else { 15916 attemptExplicitHydrationTarget(nextExplicitTarget); 15917 15918 if (nextExplicitTarget.blockedOn === null) { 15919 // We're unblocked. 15920 queuedExplicitHydrationTargets.shift(); 15921 } 15922 } 15923 } 15924} 15925 15926function addEventBubbleListener(element, eventType, listener) { 15927 element.addEventListener(eventType, listener, false); 15928} 15929function addEventCaptureListener(element, eventType, listener) { 15930 element.addEventListener(eventType, listener, true); 15931} 15932 15933// do it in two places, which duplicates logic 15934// and increases the bundle size, we do it all 15935// here once. If we remove or refactor the 15936// SimpleEventPlugin, we should also remove or 15937// update the below line. 15938 15939var simpleEventPluginEventTypes = {}; 15940var topLevelEventsToDispatchConfig = new Map(); 15941var eventPriorities = new Map(); // We store most of the events in this module in pairs of two strings so we can re-use 15942// the code required to apply the same logic for event prioritization and that of the 15943// SimpleEventPlugin. This complicates things slightly, but the aim is to reduce code 15944// duplication (for which there would be quite a bit). For the events that are not needed 15945// for the SimpleEventPlugin (otherDiscreteEvents) we process them separately as an 15946// array of top level events. 15947// Lastly, we ignore prettier so we can keep the formatting sane. 15948// prettier-ignore 15949 15950var discreteEventPairsForSimpleEventPlugin = [TOP_BLUR, 'blur', TOP_CANCEL, 'cancel', TOP_CLICK, 'click', TOP_CLOSE, 'close', TOP_CONTEXT_MENU, 'contextMenu', TOP_COPY, 'copy', TOP_CUT, 'cut', TOP_AUX_CLICK, 'auxClick', TOP_DOUBLE_CLICK, 'doubleClick', TOP_DRAG_END, 'dragEnd', TOP_DRAG_START, 'dragStart', TOP_DROP, 'drop', TOP_FOCUS, 'focus', TOP_INPUT, 'input', TOP_INVALID, 'invalid', TOP_KEY_DOWN, 'keyDown', TOP_KEY_PRESS, 'keyPress', TOP_KEY_UP, 'keyUp', TOP_MOUSE_DOWN, 'mouseDown', TOP_MOUSE_UP, 'mouseUp', TOP_PASTE, 'paste', TOP_PAUSE, 'pause', TOP_PLAY, 'play', TOP_POINTER_CANCEL, 'pointerCancel', TOP_POINTER_DOWN, 'pointerDown', TOP_POINTER_UP, 'pointerUp', TOP_RATE_CHANGE, 'rateChange', TOP_RESET, 'reset', TOP_SEEKED, 'seeked', TOP_SUBMIT, 'submit', TOP_TOUCH_CANCEL, 'touchCancel', TOP_TOUCH_END, 'touchEnd', TOP_TOUCH_START, 'touchStart', TOP_VOLUME_CHANGE, 'volumeChange']; 15951var otherDiscreteEvents = [TOP_CHANGE, TOP_SELECTION_CHANGE, TOP_TEXT_INPUT, TOP_COMPOSITION_START, TOP_COMPOSITION_END, TOP_COMPOSITION_UPDATE]; // prettier-ignore 15952 15953var userBlockingPairsForSimpleEventPlugin = [TOP_DRAG, 'drag', TOP_DRAG_ENTER, 'dragEnter', TOP_DRAG_EXIT, 'dragExit', TOP_DRAG_LEAVE, 'dragLeave', TOP_DRAG_OVER, 'dragOver', TOP_MOUSE_MOVE, 'mouseMove', TOP_MOUSE_OUT, 'mouseOut', TOP_MOUSE_OVER, 'mouseOver', TOP_POINTER_MOVE, 'pointerMove', TOP_POINTER_OUT, 'pointerOut', TOP_POINTER_OVER, 'pointerOver', TOP_SCROLL, 'scroll', TOP_TOGGLE, 'toggle', TOP_TOUCH_MOVE, 'touchMove', TOP_WHEEL, 'wheel']; // prettier-ignore 15954 15955var continuousPairsForSimpleEventPlugin = [TOP_ABORT, 'abort', TOP_ANIMATION_END, 'animationEnd', TOP_ANIMATION_ITERATION, 'animationIteration', TOP_ANIMATION_START, 'animationStart', TOP_CAN_PLAY, 'canPlay', TOP_CAN_PLAY_THROUGH, 'canPlayThrough', TOP_DURATION_CHANGE, 'durationChange', TOP_EMPTIED, 'emptied', TOP_ENCRYPTED, 'encrypted', TOP_ENDED, 'ended', TOP_ERROR, 'error', TOP_GOT_POINTER_CAPTURE, 'gotPointerCapture', TOP_LOAD, 'load', TOP_LOADED_DATA, 'loadedData', TOP_LOADED_METADATA, 'loadedMetadata', TOP_LOAD_START, 'loadStart', TOP_LOST_POINTER_CAPTURE, 'lostPointerCapture', TOP_PLAYING, 'playing', TOP_PROGRESS, 'progress', TOP_SEEKING, 'seeking', TOP_STALLED, 'stalled', TOP_SUSPEND, 'suspend', TOP_TIME_UPDATE, 'timeUpdate', TOP_TRANSITION_END, 'transitionEnd', TOP_WAITING, 'waiting']; 15956/** 15957 * Turns 15958 * ['abort', ...] 15959 * into 15960 * eventTypes = { 15961 * 'abort': { 15962 * phasedRegistrationNames: { 15963 * bubbled: 'onAbort', 15964 * captured: 'onAbortCapture', 15965 * }, 15966 * dependencies: [TOP_ABORT], 15967 * }, 15968 * ... 15969 * }; 15970 * topLevelEventsToDispatchConfig = new Map([ 15971 * [TOP_ABORT, { sameConfig }], 15972 * ]); 15973 */ 15974 15975function processSimpleEventPluginPairsByPriority(eventTypes, priority) { 15976 // As the event types are in pairs of two, we need to iterate 15977 // through in twos. The events are in pairs of two to save code 15978 // and improve init perf of processing this array, as it will 15979 // result in far fewer object allocations and property accesses 15980 // if we only use three arrays to process all the categories of 15981 // instead of tuples. 15982 for (var i = 0; i < eventTypes.length; i += 2) { 15983 var topEvent = eventTypes[i]; 15984 var event = eventTypes[i + 1]; 15985 var capitalizedEvent = event[0].toUpperCase() + event.slice(1); 15986 var onEvent = 'on' + capitalizedEvent; 15987 var config = { 15988 phasedRegistrationNames: { 15989 bubbled: onEvent, 15990 captured: onEvent + 'Capture' 15991 }, 15992 dependencies: [topEvent], 15993 eventPriority: priority 15994 }; 15995 eventPriorities.set(topEvent, priority); 15996 topLevelEventsToDispatchConfig.set(topEvent, config); 15997 simpleEventPluginEventTypes[event] = config; 15998 } 15999} 16000 16001function processTopEventPairsByPriority(eventTypes, priority) { 16002 for (var i = 0; i < eventTypes.length; i++) { 16003 eventPriorities.set(eventTypes[i], priority); 16004 } 16005} // SimpleEventPlugin 16006 16007 16008processSimpleEventPluginPairsByPriority(discreteEventPairsForSimpleEventPlugin, DiscreteEvent); 16009processSimpleEventPluginPairsByPriority(userBlockingPairsForSimpleEventPlugin, UserBlockingEvent); 16010processSimpleEventPluginPairsByPriority(continuousPairsForSimpleEventPlugin, ContinuousEvent); // Not used by SimpleEventPlugin 16011 16012processTopEventPairsByPriority(otherDiscreteEvents, DiscreteEvent); 16013function getEventPriorityForPluginSystem(topLevelType) { 16014 var priority = eventPriorities.get(topLevelType); // Default to a ContinuousEvent. Note: we might 16015 // want to warn if we can't detect the priority 16016 // for the event. 16017 16018 return priority === undefined ? ContinuousEvent : priority; 16019} 16020 16021// Intentionally not named imports because Rollup would use dynamic dispatch for 16022var UserBlockingPriority = Scheduler.unstable_UserBlockingPriority, 16023 runWithPriority = Scheduler.unstable_runWithPriority; // TODO: can we stop exporting these? 16024 16025var _enabled = true; 16026function setEnabled(enabled) { 16027 _enabled = !!enabled; 16028} 16029function isEnabled() { 16030 return _enabled; 16031} 16032function trapBubbledEvent(topLevelType, element) { 16033 trapEventForPluginEventSystem(element, topLevelType, false); 16034} 16035function trapCapturedEvent(topLevelType, element) { 16036 trapEventForPluginEventSystem(element, topLevelType, true); 16037} 16038 16039function trapEventForPluginEventSystem(container, topLevelType, capture) { 16040 var listener; 16041 16042 switch (getEventPriorityForPluginSystem(topLevelType)) { 16043 case DiscreteEvent: 16044 listener = dispatchDiscreteEvent.bind(null, topLevelType, PLUGIN_EVENT_SYSTEM, container); 16045 break; 16046 16047 case UserBlockingEvent: 16048 listener = dispatchUserBlockingUpdate.bind(null, topLevelType, PLUGIN_EVENT_SYSTEM, container); 16049 break; 16050 16051 case ContinuousEvent: 16052 default: 16053 listener = dispatchEvent.bind(null, topLevelType, PLUGIN_EVENT_SYSTEM, container); 16054 break; 16055 } 16056 16057 var rawEventName = getRawEventName(topLevelType); 16058 16059 if (capture) { 16060 addEventCaptureListener(container, rawEventName, listener); 16061 } else { 16062 addEventBubbleListener(container, rawEventName, listener); 16063 } 16064} 16065 16066function dispatchDiscreteEvent(topLevelType, eventSystemFlags, container, nativeEvent) { 16067 flushDiscreteUpdatesIfNeeded(nativeEvent.timeStamp); 16068 discreteUpdates(dispatchEvent, topLevelType, eventSystemFlags, container, nativeEvent); 16069} 16070 16071function dispatchUserBlockingUpdate(topLevelType, eventSystemFlags, container, nativeEvent) { 16072 runWithPriority(UserBlockingPriority, dispatchEvent.bind(null, topLevelType, eventSystemFlags, container, nativeEvent)); 16073} 16074 16075function dispatchEvent(topLevelType, eventSystemFlags, container, nativeEvent) { 16076 if (!_enabled) { 16077 return; 16078 } 16079 16080 if (hasQueuedDiscreteEvents() && isReplayableDiscreteEvent(topLevelType)) { 16081 // If we already have a queue of discrete events, and this is another discrete 16082 // event, then we can't dispatch it regardless of its target, since they 16083 // need to dispatch in order. 16084 queueDiscreteEvent(null, // Flags that we're not actually blocked on anything as far as we know. 16085 topLevelType, eventSystemFlags, container, nativeEvent); 16086 return; 16087 } 16088 16089 var blockedOn = attemptToDispatchEvent(topLevelType, eventSystemFlags, container, nativeEvent); 16090 16091 if (blockedOn === null) { 16092 // We successfully dispatched this event. 16093 clearIfContinuousEvent(topLevelType, nativeEvent); 16094 return; 16095 } 16096 16097 if (isReplayableDiscreteEvent(topLevelType)) { 16098 // This this to be replayed later once the target is available. 16099 queueDiscreteEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent); 16100 return; 16101 } 16102 16103 if (queueIfContinuousEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent)) { 16104 return; 16105 } // We need to clear only if we didn't queue because 16106 // queueing is accummulative. 16107 16108 16109 clearIfContinuousEvent(topLevelType, nativeEvent); // This is not replayable so we'll invoke it but without a target, 16110 // in case the event system needs to trace it. 16111 16112 { 16113 dispatchEventForLegacyPluginEventSystem(topLevelType, eventSystemFlags, nativeEvent, null); 16114 } 16115} // Attempt dispatching an event. Returns a SuspenseInstance or Container if it's blocked. 16116 16117function attemptToDispatchEvent(topLevelType, eventSystemFlags, container, nativeEvent) { 16118 // TODO: Warn if _enabled is false. 16119 var nativeEventTarget = getEventTarget(nativeEvent); 16120 var targetInst = getClosestInstanceFromNode(nativeEventTarget); 16121 16122 if (targetInst !== null) { 16123 var nearestMounted = getNearestMountedFiber(targetInst); 16124 16125 if (nearestMounted === null) { 16126 // This tree has been unmounted already. Dispatch without a target. 16127 targetInst = null; 16128 } else { 16129 var tag = nearestMounted.tag; 16130 16131 if (tag === SuspenseComponent) { 16132 var instance = getSuspenseInstanceFromFiber(nearestMounted); 16133 16134 if (instance !== null) { 16135 // Queue the event to be replayed later. Abort dispatching since we 16136 // don't want this event dispatched twice through the event system. 16137 // TODO: If this is the first discrete event in the queue. Schedule an increased 16138 // priority for this boundary. 16139 return instance; 16140 } // This shouldn't happen, something went wrong but to avoid blocking 16141 // the whole system, dispatch the event without a target. 16142 // TODO: Warn. 16143 16144 16145 targetInst = null; 16146 } else if (tag === HostRoot) { 16147 var root = nearestMounted.stateNode; 16148 16149 if (root.hydrate) { 16150 // If this happens during a replay something went wrong and it might block 16151 // the whole system. 16152 return getContainerFromFiber(nearestMounted); 16153 } 16154 16155 targetInst = null; 16156 } else if (nearestMounted !== targetInst) { 16157 // If we get an event (ex: img onload) before committing that 16158 // component's mount, ignore it for now (that is, treat it as if it was an 16159 // event on a non-React tree). We might also consider queueing events and 16160 // dispatching them after the mount. 16161 targetInst = null; 16162 } 16163 } 16164 } 16165 16166 { 16167 dispatchEventForLegacyPluginEventSystem(topLevelType, eventSystemFlags, nativeEvent, targetInst); 16168 } // We're not blocked on anything. 16169 16170 16171 return null; 16172} 16173 16174// List derived from Gecko source code: 16175// https://github.com/mozilla/gecko-dev/blob/4e638efc71/layout/style/test/property_database.js 16176var shorthandToLonghand = { 16177 animation: ['animationDelay', 'animationDirection', 'animationDuration', 'animationFillMode', 'animationIterationCount', 'animationName', 'animationPlayState', 'animationTimingFunction'], 16178 background: ['backgroundAttachment', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundSize'], 16179 backgroundPosition: ['backgroundPositionX', 'backgroundPositionY'], 16180 border: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderTopColor', 'borderTopStyle', 'borderTopWidth'], 16181 borderBlockEnd: ['borderBlockEndColor', 'borderBlockEndStyle', 'borderBlockEndWidth'], 16182 borderBlockStart: ['borderBlockStartColor', 'borderBlockStartStyle', 'borderBlockStartWidth'], 16183 borderBottom: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth'], 16184 borderColor: ['borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor'], 16185 borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'], 16186 borderInlineEnd: ['borderInlineEndColor', 'borderInlineEndStyle', 'borderInlineEndWidth'], 16187 borderInlineStart: ['borderInlineStartColor', 'borderInlineStartStyle', 'borderInlineStartWidth'], 16188 borderLeft: ['borderLeftColor', 'borderLeftStyle', 'borderLeftWidth'], 16189 borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'], 16190 borderRight: ['borderRightColor', 'borderRightStyle', 'borderRightWidth'], 16191 borderStyle: ['borderBottomStyle', 'borderLeftStyle', 'borderRightStyle', 'borderTopStyle'], 16192 borderTop: ['borderTopColor', 'borderTopStyle', 'borderTopWidth'], 16193 borderWidth: ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth'], 16194 columnRule: ['columnRuleColor', 'columnRuleStyle', 'columnRuleWidth'], 16195 columns: ['columnCount', 'columnWidth'], 16196 flex: ['flexBasis', 'flexGrow', 'flexShrink'], 16197 flexFlow: ['flexDirection', 'flexWrap'], 16198 font: ['fontFamily', 'fontFeatureSettings', 'fontKerning', 'fontLanguageOverride', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition', 'fontWeight', 'lineHeight'], 16199 fontVariant: ['fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition'], 16200 gap: ['columnGap', 'rowGap'], 16201 grid: ['gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'], 16202 gridArea: ['gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart'], 16203 gridColumn: ['gridColumnEnd', 'gridColumnStart'], 16204 gridColumnGap: ['columnGap'], 16205 gridGap: ['columnGap', 'rowGap'], 16206 gridRow: ['gridRowEnd', 'gridRowStart'], 16207 gridRowGap: ['rowGap'], 16208 gridTemplate: ['gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'], 16209 listStyle: ['listStyleImage', 'listStylePosition', 'listStyleType'], 16210 margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'], 16211 marker: ['markerEnd', 'markerMid', 'markerStart'], 16212 mask: ['maskClip', 'maskComposite', 'maskImage', 'maskMode', 'maskOrigin', 'maskPositionX', 'maskPositionY', 'maskRepeat', 'maskSize'], 16213 maskPosition: ['maskPositionX', 'maskPositionY'], 16214 outline: ['outlineColor', 'outlineStyle', 'outlineWidth'], 16215 overflow: ['overflowX', 'overflowY'], 16216 padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'], 16217 placeContent: ['alignContent', 'justifyContent'], 16218 placeItems: ['alignItems', 'justifyItems'], 16219 placeSelf: ['alignSelf', 'justifySelf'], 16220 textDecoration: ['textDecorationColor', 'textDecorationLine', 'textDecorationStyle'], 16221 textEmphasis: ['textEmphasisColor', 'textEmphasisStyle'], 16222 transition: ['transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction'], 16223 wordWrap: ['overflowWrap'] 16224}; 16225 16226/** 16227 * CSS properties which accept numbers but are not in units of "px". 16228 */ 16229var isUnitlessNumber = { 16230 animationIterationCount: true, 16231 borderImageOutset: true, 16232 borderImageSlice: true, 16233 borderImageWidth: true, 16234 boxFlex: true, 16235 boxFlexGroup: true, 16236 boxOrdinalGroup: true, 16237 columnCount: true, 16238 columns: true, 16239 flex: true, 16240 flexGrow: true, 16241 flexPositive: true, 16242 flexShrink: true, 16243 flexNegative: true, 16244 flexOrder: true, 16245 gridArea: true, 16246 gridRow: true, 16247 gridRowEnd: true, 16248 gridRowSpan: true, 16249 gridRowStart: true, 16250 gridColumn: true, 16251 gridColumnEnd: true, 16252 gridColumnSpan: true, 16253 gridColumnStart: true, 16254 fontWeight: true, 16255 lineClamp: true, 16256 lineHeight: true, 16257 opacity: true, 16258 order: true, 16259 orphans: true, 16260 tabSize: true, 16261 widows: true, 16262 zIndex: true, 16263 zoom: true, 16264 // SVG-related properties 16265 fillOpacity: true, 16266 floodOpacity: true, 16267 stopOpacity: true, 16268 strokeDasharray: true, 16269 strokeDashoffset: true, 16270 strokeMiterlimit: true, 16271 strokeOpacity: true, 16272 strokeWidth: true 16273}; 16274/** 16275 * @param {string} prefix vendor-specific prefix, eg: Webkit 16276 * @param {string} key style name, eg: transitionDuration 16277 * @return {string} style name prefixed with `prefix`, properly camelCased, eg: 16278 * WebkitTransitionDuration 16279 */ 16280 16281function prefixKey(prefix, key) { 16282 return prefix + key.charAt(0).toUpperCase() + key.substring(1); 16283} 16284/** 16285 * Support style names that may come passed in prefixed by adding permutations 16286 * of vendor prefixes. 16287 */ 16288 16289 16290var prefixes = ['Webkit', 'ms', 'Moz', 'O']; // Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an 16291// infinite loop, because it iterates over the newly added props too. 16292 16293Object.keys(isUnitlessNumber).forEach(function (prop) { 16294 prefixes.forEach(function (prefix) { 16295 isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop]; 16296 }); 16297}); 16298 16299/** 16300 * Convert a value into the proper css writable value. The style name `name` 16301 * should be logical (no hyphens), as specified 16302 * in `CSSProperty.isUnitlessNumber`. 16303 * 16304 * @param {string} name CSS property name such as `topMargin`. 16305 * @param {*} value CSS property value such as `10px`. 16306 * @return {string} Normalized style value with dimensions applied. 16307 */ 16308 16309function dangerousStyleValue(name, value, isCustomProperty) { 16310 // Note that we've removed escapeTextForBrowser() calls here since the 16311 // whole string will be escaped when the attribute is injected into 16312 // the markup. If you provide unsafe user data here they can inject 16313 // arbitrary CSS which may be problematic (I couldn't repro this): 16314 // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet 16315 // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/ 16316 // This is not an XSS hole but instead a potential CSS injection issue 16317 // which has lead to a greater discussion about how we're going to 16318 // trust URLs moving forward. See #2115901 16319 var isEmpty = value == null || typeof value === 'boolean' || value === ''; 16320 16321 if (isEmpty) { 16322 return ''; 16323 } 16324 16325 if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) { 16326 return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers 16327 } 16328 16329 return ('' + value).trim(); 16330} 16331 16332var uppercasePattern = /([A-Z])/g; 16333var msPattern = /^ms-/; 16334/** 16335 * Hyphenates a camelcased CSS property name, for example: 16336 * 16337 * > hyphenateStyleName('backgroundColor') 16338 * < "background-color" 16339 * > hyphenateStyleName('MozTransition') 16340 * < "-moz-transition" 16341 * > hyphenateStyleName('msTransition') 16342 * < "-ms-transition" 16343 * 16344 * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix 16345 * is converted to `-ms-`. 16346 */ 16347 16348function hyphenateStyleName(name) { 16349 return name.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-'); 16350} 16351 16352var warnValidStyle = function () {}; 16353 16354{ 16355 // 'msTransform' is correct, but the other prefixes should be capitalized 16356 var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/; 16357 var msPattern$1 = /^-ms-/; 16358 var hyphenPattern = /-(.)/g; // style values shouldn't contain a semicolon 16359 16360 var badStyleValueWithSemicolonPattern = /;\s*$/; 16361 var warnedStyleNames = {}; 16362 var warnedStyleValues = {}; 16363 var warnedForNaNValue = false; 16364 var warnedForInfinityValue = false; 16365 16366 var camelize = function (string) { 16367 return string.replace(hyphenPattern, function (_, character) { 16368 return character.toUpperCase(); 16369 }); 16370 }; 16371 16372 var warnHyphenatedStyleName = function (name) { 16373 if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) { 16374 return; 16375 } 16376 16377 warnedStyleNames[name] = true; 16378 16379 error('Unsupported style property %s. Did you mean %s?', name, // As Andi Smith suggests 16380 // (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix 16381 // is converted to lowercase `ms`. 16382 camelize(name.replace(msPattern$1, 'ms-'))); 16383 }; 16384 16385 var warnBadVendoredStyleName = function (name) { 16386 if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) { 16387 return; 16388 } 16389 16390 warnedStyleNames[name] = true; 16391 16392 error('Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1)); 16393 }; 16394 16395 var warnStyleValueWithSemicolon = function (name, value) { 16396 if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) { 16397 return; 16398 } 16399 16400 warnedStyleValues[value] = true; 16401 16402 error("Style property values shouldn't contain a semicolon. " + 'Try "%s: %s" instead.', name, value.replace(badStyleValueWithSemicolonPattern, '')); 16403 }; 16404 16405 var warnStyleValueIsNaN = function (name, value) { 16406 if (warnedForNaNValue) { 16407 return; 16408 } 16409 16410 warnedForNaNValue = true; 16411 16412 error('`NaN` is an invalid value for the `%s` css style property.', name); 16413 }; 16414 16415 var warnStyleValueIsInfinity = function (name, value) { 16416 if (warnedForInfinityValue) { 16417 return; 16418 } 16419 16420 warnedForInfinityValue = true; 16421 16422 error('`Infinity` is an invalid value for the `%s` css style property.', name); 16423 }; 16424 16425 warnValidStyle = function (name, value) { 16426 if (name.indexOf('-') > -1) { 16427 warnHyphenatedStyleName(name); 16428 } else if (badVendoredStyleNamePattern.test(name)) { 16429 warnBadVendoredStyleName(name); 16430 } else if (badStyleValueWithSemicolonPattern.test(value)) { 16431 warnStyleValueWithSemicolon(name, value); 16432 } 16433 16434 if (typeof value === 'number') { 16435 if (isNaN(value)) { 16436 warnStyleValueIsNaN(name, value); 16437 } else if (!isFinite(value)) { 16438 warnStyleValueIsInfinity(name, value); 16439 } 16440 } 16441 }; 16442} 16443 16444var warnValidStyle$1 = warnValidStyle; 16445 16446/** 16447 * Operations for dealing with CSS properties. 16448 */ 16449 16450/** 16451 * This creates a string that is expected to be equivalent to the style 16452 * attribute generated by server-side rendering. It by-passes warnings and 16453 * security checks so it's not safe to use this value for anything other than 16454 * comparison. It is only used in DEV for SSR validation. 16455 */ 16456 16457function createDangerousStringForStyles(styles) { 16458 { 16459 var serialized = ''; 16460 var delimiter = ''; 16461 16462 for (var styleName in styles) { 16463 if (!styles.hasOwnProperty(styleName)) { 16464 continue; 16465 } 16466 16467 var styleValue = styles[styleName]; 16468 16469 if (styleValue != null) { 16470 var isCustomProperty = styleName.indexOf('--') === 0; 16471 serialized += delimiter + (isCustomProperty ? styleName : hyphenateStyleName(styleName)) + ':'; 16472 serialized += dangerousStyleValue(styleName, styleValue, isCustomProperty); 16473 delimiter = ';'; 16474 } 16475 } 16476 16477 return serialized || null; 16478 } 16479} 16480/** 16481 * Sets the value for multiple styles on a node. If a value is specified as 16482 * '' (empty string), the corresponding style property will be unset. 16483 * 16484 * @param {DOMElement} node 16485 * @param {object} styles 16486 */ 16487 16488function setValueForStyles(node, styles) { 16489 var style = node.style; 16490 16491 for (var styleName in styles) { 16492 if (!styles.hasOwnProperty(styleName)) { 16493 continue; 16494 } 16495 16496 var isCustomProperty = styleName.indexOf('--') === 0; 16497 16498 { 16499 if (!isCustomProperty) { 16500 warnValidStyle$1(styleName, styles[styleName]); 16501 } 16502 } 16503 16504 var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty); 16505 16506 if (styleName === 'float') { 16507 styleName = 'cssFloat'; 16508 } 16509 16510 if (isCustomProperty) { 16511 style.setProperty(styleName, styleValue); 16512 } else { 16513 style[styleName] = styleValue; 16514 } 16515 } 16516} 16517 16518function isValueEmpty(value) { 16519 return value == null || typeof value === 'boolean' || value === ''; 16520} 16521/** 16522 * Given {color: 'red', overflow: 'hidden'} returns { 16523 * color: 'color', 16524 * overflowX: 'overflow', 16525 * overflowY: 'overflow', 16526 * }. This can be read as "the overflowY property was set by the overflow 16527 * shorthand". That is, the values are the property that each was derived from. 16528 */ 16529 16530 16531function expandShorthandMap(styles) { 16532 var expanded = {}; 16533 16534 for (var key in styles) { 16535 var longhands = shorthandToLonghand[key] || [key]; 16536 16537 for (var i = 0; i < longhands.length; i++) { 16538 expanded[longhands[i]] = key; 16539 } 16540 } 16541 16542 return expanded; 16543} 16544/** 16545 * When mixing shorthand and longhand property names, we warn during updates if 16546 * we expect an incorrect result to occur. In particular, we warn for: 16547 * 16548 * Updating a shorthand property (longhand gets overwritten): 16549 * {font: 'foo', fontVariant: 'bar'} -> {font: 'baz', fontVariant: 'bar'} 16550 * becomes .style.font = 'baz' 16551 * Removing a shorthand property (longhand gets lost too): 16552 * {font: 'foo', fontVariant: 'bar'} -> {fontVariant: 'bar'} 16553 * becomes .style.font = '' 16554 * Removing a longhand property (should revert to shorthand; doesn't): 16555 * {font: 'foo', fontVariant: 'bar'} -> {font: 'foo'} 16556 * becomes .style.fontVariant = '' 16557 */ 16558 16559 16560function validateShorthandPropertyCollisionInDev(styleUpdates, nextStyles) { 16561 { 16562 16563 if (!nextStyles) { 16564 return; 16565 } 16566 16567 var expandedUpdates = expandShorthandMap(styleUpdates); 16568 var expandedStyles = expandShorthandMap(nextStyles); 16569 var warnedAbout = {}; 16570 16571 for (var key in expandedUpdates) { 16572 var originalKey = expandedUpdates[key]; 16573 var correctOriginalKey = expandedStyles[key]; 16574 16575 if (correctOriginalKey && originalKey !== correctOriginalKey) { 16576 var warningKey = originalKey + ',' + correctOriginalKey; 16577 16578 if (warnedAbout[warningKey]) { 16579 continue; 16580 } 16581 16582 warnedAbout[warningKey] = true; 16583 16584 error('%s a style property during rerender (%s) when a ' + 'conflicting property is set (%s) can lead to styling bugs. To ' + "avoid this, don't mix shorthand and non-shorthand properties " + 'for the same value; instead, replace the shorthand with ' + 'separate values.', isValueEmpty(styleUpdates[originalKey]) ? 'Removing' : 'Updating', originalKey, correctOriginalKey); 16585 } 16586 } 16587 } 16588} 16589 16590// For HTML, certain tags should omit their close tag. We keep a whitelist for 16591// those special-case tags. 16592var omittedCloseTags = { 16593 area: true, 16594 base: true, 16595 br: true, 16596 col: true, 16597 embed: true, 16598 hr: true, 16599 img: true, 16600 input: true, 16601 keygen: true, 16602 link: true, 16603 meta: true, 16604 param: true, 16605 source: true, 16606 track: true, 16607 wbr: true // NOTE: menuitem's close tag should be omitted, but that causes problems. 16608 16609}; 16610 16611// `omittedCloseTags` except that `menuitem` should still have its closing tag. 16612 16613var voidElementTags = _assign({ 16614 menuitem: true 16615}, omittedCloseTags); 16616 16617var HTML = '__html'; 16618var ReactDebugCurrentFrame$3 = null; 16619 16620{ 16621 ReactDebugCurrentFrame$3 = ReactSharedInternals.ReactDebugCurrentFrame; 16622} 16623 16624function assertValidProps(tag, props) { 16625 if (!props) { 16626 return; 16627 } // Note the use of `==` which checks for null or undefined. 16628 16629 16630 if (voidElementTags[tag]) { 16631 if (!(props.children == null && props.dangerouslySetInnerHTML == null)) { 16632 { 16633 throw Error( tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ( ReactDebugCurrentFrame$3.getStackAddendum() ) ); 16634 } 16635 } 16636 } 16637 16638 if (props.dangerouslySetInnerHTML != null) { 16639 if (!(props.children == null)) { 16640 { 16641 throw Error( "Can only set one of `children` or `props.dangerouslySetInnerHTML`." ); 16642 } 16643 } 16644 16645 if (!(typeof props.dangerouslySetInnerHTML === 'object' && HTML in props.dangerouslySetInnerHTML)) { 16646 { 16647 throw Error( "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information." ); 16648 } 16649 } 16650 } 16651 16652 { 16653 if (!props.suppressContentEditableWarning && props.contentEditable && props.children != null) { 16654 error('A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.'); 16655 } 16656 } 16657 16658 if (!(props.style == null || typeof props.style === 'object')) { 16659 { 16660 throw Error( "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX." + ( ReactDebugCurrentFrame$3.getStackAddendum() ) ); 16661 } 16662 } 16663} 16664 16665function isCustomComponent(tagName, props) { 16666 if (tagName.indexOf('-') === -1) { 16667 return typeof props.is === 'string'; 16668 } 16669 16670 switch (tagName) { 16671 // These are reserved SVG and MathML elements. 16672 // We don't mind this whitelist too much because we expect it to never grow. 16673 // The alternative is to track the namespace in a few places which is convoluted. 16674 // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts 16675 case 'annotation-xml': 16676 case 'color-profile': 16677 case 'font-face': 16678 case 'font-face-src': 16679 case 'font-face-uri': 16680 case 'font-face-format': 16681 case 'font-face-name': 16682 case 'missing-glyph': 16683 return false; 16684 16685 default: 16686 return true; 16687 } 16688} 16689 16690// When adding attributes to the HTML or SVG whitelist, be sure to 16691// also add them to this module to ensure casing and incorrect name 16692// warnings. 16693var possibleStandardNames = { 16694 // HTML 16695 accept: 'accept', 16696 acceptcharset: 'acceptCharset', 16697 'accept-charset': 'acceptCharset', 16698 accesskey: 'accessKey', 16699 action: 'action', 16700 allowfullscreen: 'allowFullScreen', 16701 alt: 'alt', 16702 as: 'as', 16703 async: 'async', 16704 autocapitalize: 'autoCapitalize', 16705 autocomplete: 'autoComplete', 16706 autocorrect: 'autoCorrect', 16707 autofocus: 'autoFocus', 16708 autoplay: 'autoPlay', 16709 autosave: 'autoSave', 16710 capture: 'capture', 16711 cellpadding: 'cellPadding', 16712 cellspacing: 'cellSpacing', 16713 challenge: 'challenge', 16714 charset: 'charSet', 16715 checked: 'checked', 16716 children: 'children', 16717 cite: 'cite', 16718 class: 'className', 16719 classid: 'classID', 16720 classname: 'className', 16721 cols: 'cols', 16722 colspan: 'colSpan', 16723 content: 'content', 16724 contenteditable: 'contentEditable', 16725 contextmenu: 'contextMenu', 16726 controls: 'controls', 16727 controlslist: 'controlsList', 16728 coords: 'coords', 16729 crossorigin: 'crossOrigin', 16730 dangerouslysetinnerhtml: 'dangerouslySetInnerHTML', 16731 data: 'data', 16732 datetime: 'dateTime', 16733 default: 'default', 16734 defaultchecked: 'defaultChecked', 16735 defaultvalue: 'defaultValue', 16736 defer: 'defer', 16737 dir: 'dir', 16738 disabled: 'disabled', 16739 disablepictureinpicture: 'disablePictureInPicture', 16740 download: 'download', 16741 draggable: 'draggable', 16742 enctype: 'encType', 16743 for: 'htmlFor', 16744 form: 'form', 16745 formmethod: 'formMethod', 16746 formaction: 'formAction', 16747 formenctype: 'formEncType', 16748 formnovalidate: 'formNoValidate', 16749 formtarget: 'formTarget', 16750 frameborder: 'frameBorder', 16751 headers: 'headers', 16752 height: 'height', 16753 hidden: 'hidden', 16754 high: 'high', 16755 href: 'href', 16756 hreflang: 'hrefLang', 16757 htmlfor: 'htmlFor', 16758 httpequiv: 'httpEquiv', 16759 'http-equiv': 'httpEquiv', 16760 icon: 'icon', 16761 id: 'id', 16762 innerhtml: 'innerHTML', 16763 inputmode: 'inputMode', 16764 integrity: 'integrity', 16765 is: 'is', 16766 itemid: 'itemID', 16767 itemprop: 'itemProp', 16768 itemref: 'itemRef', 16769 itemscope: 'itemScope', 16770 itemtype: 'itemType', 16771 keyparams: 'keyParams', 16772 keytype: 'keyType', 16773 kind: 'kind', 16774 label: 'label', 16775 lang: 'lang', 16776 list: 'list', 16777 loop: 'loop', 16778 low: 'low', 16779 manifest: 'manifest', 16780 marginwidth: 'marginWidth', 16781 marginheight: 'marginHeight', 16782 max: 'max', 16783 maxlength: 'maxLength', 16784 media: 'media', 16785 mediagroup: 'mediaGroup', 16786 method: 'method', 16787 min: 'min', 16788 minlength: 'minLength', 16789 multiple: 'multiple', 16790 muted: 'muted', 16791 name: 'name', 16792 nomodule: 'noModule', 16793 nonce: 'nonce', 16794 novalidate: 'noValidate', 16795 open: 'open', 16796 optimum: 'optimum', 16797 pattern: 'pattern', 16798 placeholder: 'placeholder', 16799 playsinline: 'playsInline', 16800 poster: 'poster', 16801 preload: 'preload', 16802 profile: 'profile', 16803 radiogroup: 'radioGroup', 16804 readonly: 'readOnly', 16805 referrerpolicy: 'referrerPolicy', 16806 rel: 'rel', 16807 required: 'required', 16808 reversed: 'reversed', 16809 role: 'role', 16810 rows: 'rows', 16811 rowspan: 'rowSpan', 16812 sandbox: 'sandbox', 16813 scope: 'scope', 16814 scoped: 'scoped', 16815 scrolling: 'scrolling', 16816 seamless: 'seamless', 16817 selected: 'selected', 16818 shape: 'shape', 16819 size: 'size', 16820 sizes: 'sizes', 16821 span: 'span', 16822 spellcheck: 'spellCheck', 16823 src: 'src', 16824 srcdoc: 'srcDoc', 16825 srclang: 'srcLang', 16826 srcset: 'srcSet', 16827 start: 'start', 16828 step: 'step', 16829 style: 'style', 16830 summary: 'summary', 16831 tabindex: 'tabIndex', 16832 target: 'target', 16833 title: 'title', 16834 type: 'type', 16835 usemap: 'useMap', 16836 value: 'value', 16837 width: 'width', 16838 wmode: 'wmode', 16839 wrap: 'wrap', 16840 // SVG 16841 about: 'about', 16842 accentheight: 'accentHeight', 16843 'accent-height': 'accentHeight', 16844 accumulate: 'accumulate', 16845 additive: 'additive', 16846 alignmentbaseline: 'alignmentBaseline', 16847 'alignment-baseline': 'alignmentBaseline', 16848 allowreorder: 'allowReorder', 16849 alphabetic: 'alphabetic', 16850 amplitude: 'amplitude', 16851 arabicform: 'arabicForm', 16852 'arabic-form': 'arabicForm', 16853 ascent: 'ascent', 16854 attributename: 'attributeName', 16855 attributetype: 'attributeType', 16856 autoreverse: 'autoReverse', 16857 azimuth: 'azimuth', 16858 basefrequency: 'baseFrequency', 16859 baselineshift: 'baselineShift', 16860 'baseline-shift': 'baselineShift', 16861 baseprofile: 'baseProfile', 16862 bbox: 'bbox', 16863 begin: 'begin', 16864 bias: 'bias', 16865 by: 'by', 16866 calcmode: 'calcMode', 16867 capheight: 'capHeight', 16868 'cap-height': 'capHeight', 16869 clip: 'clip', 16870 clippath: 'clipPath', 16871 'clip-path': 'clipPath', 16872 clippathunits: 'clipPathUnits', 16873 cliprule: 'clipRule', 16874 'clip-rule': 'clipRule', 16875 color: 'color', 16876 colorinterpolation: 'colorInterpolation', 16877 'color-interpolation': 'colorInterpolation', 16878 colorinterpolationfilters: 'colorInterpolationFilters', 16879 'color-interpolation-filters': 'colorInterpolationFilters', 16880 colorprofile: 'colorProfile', 16881 'color-profile': 'colorProfile', 16882 colorrendering: 'colorRendering', 16883 'color-rendering': 'colorRendering', 16884 contentscripttype: 'contentScriptType', 16885 contentstyletype: 'contentStyleType', 16886 cursor: 'cursor', 16887 cx: 'cx', 16888 cy: 'cy', 16889 d: 'd', 16890 datatype: 'datatype', 16891 decelerate: 'decelerate', 16892 descent: 'descent', 16893 diffuseconstant: 'diffuseConstant', 16894 direction: 'direction', 16895 display: 'display', 16896 divisor: 'divisor', 16897 dominantbaseline: 'dominantBaseline', 16898 'dominant-baseline': 'dominantBaseline', 16899 dur: 'dur', 16900 dx: 'dx', 16901 dy: 'dy', 16902 edgemode: 'edgeMode', 16903 elevation: 'elevation', 16904 enablebackground: 'enableBackground', 16905 'enable-background': 'enableBackground', 16906 end: 'end', 16907 exponent: 'exponent', 16908 externalresourcesrequired: 'externalResourcesRequired', 16909 fill: 'fill', 16910 fillopacity: 'fillOpacity', 16911 'fill-opacity': 'fillOpacity', 16912 fillrule: 'fillRule', 16913 'fill-rule': 'fillRule', 16914 filter: 'filter', 16915 filterres: 'filterRes', 16916 filterunits: 'filterUnits', 16917 floodopacity: 'floodOpacity', 16918 'flood-opacity': 'floodOpacity', 16919 floodcolor: 'floodColor', 16920 'flood-color': 'floodColor', 16921 focusable: 'focusable', 16922 fontfamily: 'fontFamily', 16923 'font-family': 'fontFamily', 16924 fontsize: 'fontSize', 16925 'font-size': 'fontSize', 16926 fontsizeadjust: 'fontSizeAdjust', 16927 'font-size-adjust': 'fontSizeAdjust', 16928 fontstretch: 'fontStretch', 16929 'font-stretch': 'fontStretch', 16930 fontstyle: 'fontStyle', 16931 'font-style': 'fontStyle', 16932 fontvariant: 'fontVariant', 16933 'font-variant': 'fontVariant', 16934 fontweight: 'fontWeight', 16935 'font-weight': 'fontWeight', 16936 format: 'format', 16937 from: 'from', 16938 fx: 'fx', 16939 fy: 'fy', 16940 g1: 'g1', 16941 g2: 'g2', 16942 glyphname: 'glyphName', 16943 'glyph-name': 'glyphName', 16944 glyphorientationhorizontal: 'glyphOrientationHorizontal', 16945 'glyph-orientation-horizontal': 'glyphOrientationHorizontal', 16946 glyphorientationvertical: 'glyphOrientationVertical', 16947 'glyph-orientation-vertical': 'glyphOrientationVertical', 16948 glyphref: 'glyphRef', 16949 gradienttransform: 'gradientTransform', 16950 gradientunits: 'gradientUnits', 16951 hanging: 'hanging', 16952 horizadvx: 'horizAdvX', 16953 'horiz-adv-x': 'horizAdvX', 16954 horizoriginx: 'horizOriginX', 16955 'horiz-origin-x': 'horizOriginX', 16956 ideographic: 'ideographic', 16957 imagerendering: 'imageRendering', 16958 'image-rendering': 'imageRendering', 16959 in2: 'in2', 16960 in: 'in', 16961 inlist: 'inlist', 16962 intercept: 'intercept', 16963 k1: 'k1', 16964 k2: 'k2', 16965 k3: 'k3', 16966 k4: 'k4', 16967 k: 'k', 16968 kernelmatrix: 'kernelMatrix', 16969 kernelunitlength: 'kernelUnitLength', 16970 kerning: 'kerning', 16971 keypoints: 'keyPoints', 16972 keysplines: 'keySplines', 16973 keytimes: 'keyTimes', 16974 lengthadjust: 'lengthAdjust', 16975 letterspacing: 'letterSpacing', 16976 'letter-spacing': 'letterSpacing', 16977 lightingcolor: 'lightingColor', 16978 'lighting-color': 'lightingColor', 16979 limitingconeangle: 'limitingConeAngle', 16980 local: 'local', 16981 markerend: 'markerEnd', 16982 'marker-end': 'markerEnd', 16983 markerheight: 'markerHeight', 16984 markermid: 'markerMid', 16985 'marker-mid': 'markerMid', 16986 markerstart: 'markerStart', 16987 'marker-start': 'markerStart', 16988 markerunits: 'markerUnits', 16989 markerwidth: 'markerWidth', 16990 mask: 'mask', 16991 maskcontentunits: 'maskContentUnits', 16992 maskunits: 'maskUnits', 16993 mathematical: 'mathematical', 16994 mode: 'mode', 16995 numoctaves: 'numOctaves', 16996 offset: 'offset', 16997 opacity: 'opacity', 16998 operator: 'operator', 16999 order: 'order', 17000 orient: 'orient', 17001 orientation: 'orientation', 17002 origin: 'origin', 17003 overflow: 'overflow', 17004 overlineposition: 'overlinePosition', 17005 'overline-position': 'overlinePosition', 17006 overlinethickness: 'overlineThickness', 17007 'overline-thickness': 'overlineThickness', 17008 paintorder: 'paintOrder', 17009 'paint-order': 'paintOrder', 17010 panose1: 'panose1', 17011 'panose-1': 'panose1', 17012 pathlength: 'pathLength', 17013 patterncontentunits: 'patternContentUnits', 17014 patterntransform: 'patternTransform', 17015 patternunits: 'patternUnits', 17016 pointerevents: 'pointerEvents', 17017 'pointer-events': 'pointerEvents', 17018 points: 'points', 17019 pointsatx: 'pointsAtX', 17020 pointsaty: 'pointsAtY', 17021 pointsatz: 'pointsAtZ', 17022 prefix: 'prefix', 17023 preservealpha: 'preserveAlpha', 17024 preserveaspectratio: 'preserveAspectRatio', 17025 primitiveunits: 'primitiveUnits', 17026 property: 'property', 17027 r: 'r', 17028 radius: 'radius', 17029 refx: 'refX', 17030 refy: 'refY', 17031 renderingintent: 'renderingIntent', 17032 'rendering-intent': 'renderingIntent', 17033 repeatcount: 'repeatCount', 17034 repeatdur: 'repeatDur', 17035 requiredextensions: 'requiredExtensions', 17036 requiredfeatures: 'requiredFeatures', 17037 resource: 'resource', 17038 restart: 'restart', 17039 result: 'result', 17040 results: 'results', 17041 rotate: 'rotate', 17042 rx: 'rx', 17043 ry: 'ry', 17044 scale: 'scale', 17045 security: 'security', 17046 seed: 'seed', 17047 shaperendering: 'shapeRendering', 17048 'shape-rendering': 'shapeRendering', 17049 slope: 'slope', 17050 spacing: 'spacing', 17051 specularconstant: 'specularConstant', 17052 specularexponent: 'specularExponent', 17053 speed: 'speed', 17054 spreadmethod: 'spreadMethod', 17055 startoffset: 'startOffset', 17056 stddeviation: 'stdDeviation', 17057 stemh: 'stemh', 17058 stemv: 'stemv', 17059 stitchtiles: 'stitchTiles', 17060 stopcolor: 'stopColor', 17061 'stop-color': 'stopColor', 17062 stopopacity: 'stopOpacity', 17063 'stop-opacity': 'stopOpacity', 17064 strikethroughposition: 'strikethroughPosition', 17065 'strikethrough-position': 'strikethroughPosition', 17066 strikethroughthickness: 'strikethroughThickness', 17067 'strikethrough-thickness': 'strikethroughThickness', 17068 string: 'string', 17069 stroke: 'stroke', 17070 strokedasharray: 'strokeDasharray', 17071 'stroke-dasharray': 'strokeDasharray', 17072 strokedashoffset: 'strokeDashoffset', 17073 'stroke-dashoffset': 'strokeDashoffset', 17074 strokelinecap: 'strokeLinecap', 17075 'stroke-linecap': 'strokeLinecap', 17076 strokelinejoin: 'strokeLinejoin', 17077 'stroke-linejoin': 'strokeLinejoin', 17078 strokemiterlimit: 'strokeMiterlimit', 17079 'stroke-miterlimit': 'strokeMiterlimit', 17080 strokewidth: 'strokeWidth', 17081 'stroke-width': 'strokeWidth', 17082 strokeopacity: 'strokeOpacity', 17083 'stroke-opacity': 'strokeOpacity', 17084 suppresscontenteditablewarning: 'suppressContentEditableWarning', 17085 suppresshydrationwarning: 'suppressHydrationWarning', 17086 surfacescale: 'surfaceScale', 17087 systemlanguage: 'systemLanguage', 17088 tablevalues: 'tableValues', 17089 targetx: 'targetX', 17090 targety: 'targetY', 17091 textanchor: 'textAnchor', 17092 'text-anchor': 'textAnchor', 17093 textdecoration: 'textDecoration', 17094 'text-decoration': 'textDecoration', 17095 textlength: 'textLength', 17096 textrendering: 'textRendering', 17097 'text-rendering': 'textRendering', 17098 to: 'to', 17099 transform: 'transform', 17100 typeof: 'typeof', 17101 u1: 'u1', 17102 u2: 'u2', 17103 underlineposition: 'underlinePosition', 17104 'underline-position': 'underlinePosition', 17105 underlinethickness: 'underlineThickness', 17106 'underline-thickness': 'underlineThickness', 17107 unicode: 'unicode', 17108 unicodebidi: 'unicodeBidi', 17109 'unicode-bidi': 'unicodeBidi', 17110 unicoderange: 'unicodeRange', 17111 'unicode-range': 'unicodeRange', 17112 unitsperem: 'unitsPerEm', 17113 'units-per-em': 'unitsPerEm', 17114 unselectable: 'unselectable', 17115 valphabetic: 'vAlphabetic', 17116 'v-alphabetic': 'vAlphabetic', 17117 values: 'values', 17118 vectoreffect: 'vectorEffect', 17119 'vector-effect': 'vectorEffect', 17120 version: 'version', 17121 vertadvy: 'vertAdvY', 17122 'vert-adv-y': 'vertAdvY', 17123 vertoriginx: 'vertOriginX', 17124 'vert-origin-x': 'vertOriginX', 17125 vertoriginy: 'vertOriginY', 17126 'vert-origin-y': 'vertOriginY', 17127 vhanging: 'vHanging', 17128 'v-hanging': 'vHanging', 17129 videographic: 'vIdeographic', 17130 'v-ideographic': 'vIdeographic', 17131 viewbox: 'viewBox', 17132 viewtarget: 'viewTarget', 17133 visibility: 'visibility', 17134 vmathematical: 'vMathematical', 17135 'v-mathematical': 'vMathematical', 17136 vocab: 'vocab', 17137 widths: 'widths', 17138 wordspacing: 'wordSpacing', 17139 'word-spacing': 'wordSpacing', 17140 writingmode: 'writingMode', 17141 'writing-mode': 'writingMode', 17142 x1: 'x1', 17143 x2: 'x2', 17144 x: 'x', 17145 xchannelselector: 'xChannelSelector', 17146 xheight: 'xHeight', 17147 'x-height': 'xHeight', 17148 xlinkactuate: 'xlinkActuate', 17149 'xlink:actuate': 'xlinkActuate', 17150 xlinkarcrole: 'xlinkArcrole', 17151 'xlink:arcrole': 'xlinkArcrole', 17152 xlinkhref: 'xlinkHref', 17153 'xlink:href': 'xlinkHref', 17154 xlinkrole: 'xlinkRole', 17155 'xlink:role': 'xlinkRole', 17156 xlinkshow: 'xlinkShow', 17157 'xlink:show': 'xlinkShow', 17158 xlinktitle: 'xlinkTitle', 17159 'xlink:title': 'xlinkTitle', 17160 xlinktype: 'xlinkType', 17161 'xlink:type': 'xlinkType', 17162 xmlbase: 'xmlBase', 17163 'xml:base': 'xmlBase', 17164 xmllang: 'xmlLang', 17165 'xml:lang': 'xmlLang', 17166 xmlns: 'xmlns', 17167 'xml:space': 'xmlSpace', 17168 xmlnsxlink: 'xmlnsXlink', 17169 'xmlns:xlink': 'xmlnsXlink', 17170 xmlspace: 'xmlSpace', 17171 y1: 'y1', 17172 y2: 'y2', 17173 y: 'y', 17174 ychannelselector: 'yChannelSelector', 17175 z: 'z', 17176 zoomandpan: 'zoomAndPan' 17177}; 17178 17179var ariaProperties = { 17180 'aria-current': 0, 17181 // state 17182 'aria-details': 0, 17183 'aria-disabled': 0, 17184 // state 17185 'aria-hidden': 0, 17186 // state 17187 'aria-invalid': 0, 17188 // state 17189 'aria-keyshortcuts': 0, 17190 'aria-label': 0, 17191 'aria-roledescription': 0, 17192 // Widget Attributes 17193 'aria-autocomplete': 0, 17194 'aria-checked': 0, 17195 'aria-expanded': 0, 17196 'aria-haspopup': 0, 17197 'aria-level': 0, 17198 'aria-modal': 0, 17199 'aria-multiline': 0, 17200 'aria-multiselectable': 0, 17201 'aria-orientation': 0, 17202 'aria-placeholder': 0, 17203 'aria-pressed': 0, 17204 'aria-readonly': 0, 17205 'aria-required': 0, 17206 'aria-selected': 0, 17207 'aria-sort': 0, 17208 'aria-valuemax': 0, 17209 'aria-valuemin': 0, 17210 'aria-valuenow': 0, 17211 'aria-valuetext': 0, 17212 // Live Region Attributes 17213 'aria-atomic': 0, 17214 'aria-busy': 0, 17215 'aria-live': 0, 17216 'aria-relevant': 0, 17217 // Drag-and-Drop Attributes 17218 'aria-dropeffect': 0, 17219 'aria-grabbed': 0, 17220 // Relationship Attributes 17221 'aria-activedescendant': 0, 17222 'aria-colcount': 0, 17223 'aria-colindex': 0, 17224 'aria-colspan': 0, 17225 'aria-controls': 0, 17226 'aria-describedby': 0, 17227 'aria-errormessage': 0, 17228 'aria-flowto': 0, 17229 'aria-labelledby': 0, 17230 'aria-owns': 0, 17231 'aria-posinset': 0, 17232 'aria-rowcount': 0, 17233 'aria-rowindex': 0, 17234 'aria-rowspan': 0, 17235 'aria-setsize': 0 17236}; 17237 17238var warnedProperties = {}; 17239var rARIA = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$'); 17240var rARIACamel = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$'); 17241var hasOwnProperty$1 = Object.prototype.hasOwnProperty; 17242 17243function validateProperty(tagName, name) { 17244 { 17245 if (hasOwnProperty$1.call(warnedProperties, name) && warnedProperties[name]) { 17246 return true; 17247 } 17248 17249 if (rARIACamel.test(name)) { 17250 var ariaName = 'aria-' + name.slice(4).toLowerCase(); 17251 var correctName = ariaProperties.hasOwnProperty(ariaName) ? ariaName : null; // If this is an aria-* attribute, but is not listed in the known DOM 17252 // DOM properties, then it is an invalid aria-* attribute. 17253 17254 if (correctName == null) { 17255 error('Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.', name); 17256 17257 warnedProperties[name] = true; 17258 return true; 17259 } // aria-* attributes should be lowercase; suggest the lowercase version. 17260 17261 17262 if (name !== correctName) { 17263 error('Invalid ARIA attribute `%s`. Did you mean `%s`?', name, correctName); 17264 17265 warnedProperties[name] = true; 17266 return true; 17267 } 17268 } 17269 17270 if (rARIA.test(name)) { 17271 var lowerCasedName = name.toLowerCase(); 17272 var standardName = ariaProperties.hasOwnProperty(lowerCasedName) ? lowerCasedName : null; // If this is an aria-* attribute, but is not listed in the known DOM 17273 // DOM properties, then it is an invalid aria-* attribute. 17274 17275 if (standardName == null) { 17276 warnedProperties[name] = true; 17277 return false; 17278 } // aria-* attributes should be lowercase; suggest the lowercase version. 17279 17280 17281 if (name !== standardName) { 17282 error('Unknown ARIA attribute `%s`. Did you mean `%s`?', name, standardName); 17283 17284 warnedProperties[name] = true; 17285 return true; 17286 } 17287 } 17288 } 17289 17290 return true; 17291} 17292 17293function warnInvalidARIAProps(type, props) { 17294 { 17295 var invalidProps = []; 17296 17297 for (var key in props) { 17298 var isValid = validateProperty(type, key); 17299 17300 if (!isValid) { 17301 invalidProps.push(key); 17302 } 17303 } 17304 17305 var unknownPropString = invalidProps.map(function (prop) { 17306 return '`' + prop + '`'; 17307 }).join(', '); 17308 17309 if (invalidProps.length === 1) { 17310 error('Invalid aria prop %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop', unknownPropString, type); 17311 } else if (invalidProps.length > 1) { 17312 error('Invalid aria props %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop', unknownPropString, type); 17313 } 17314 } 17315} 17316 17317function validateProperties(type, props) { 17318 if (isCustomComponent(type, props)) { 17319 return; 17320 } 17321 17322 warnInvalidARIAProps(type, props); 17323} 17324 17325var didWarnValueNull = false; 17326function validateProperties$1(type, props) { 17327 { 17328 if (type !== 'input' && type !== 'textarea' && type !== 'select') { 17329 return; 17330 } 17331 17332 if (props != null && props.value === null && !didWarnValueNull) { 17333 didWarnValueNull = true; 17334 17335 if (type === 'select' && props.multiple) { 17336 error('`value` prop on `%s` should not be null. ' + 'Consider using an empty array when `multiple` is set to `true` ' + 'to clear the component or `undefined` for uncontrolled components.', type); 17337 } else { 17338 error('`value` prop on `%s` should not be null. ' + 'Consider using an empty string to clear the component or `undefined` ' + 'for uncontrolled components.', type); 17339 } 17340 } 17341 } 17342} 17343 17344var validateProperty$1 = function () {}; 17345 17346{ 17347 var warnedProperties$1 = {}; 17348 var _hasOwnProperty = Object.prototype.hasOwnProperty; 17349 var EVENT_NAME_REGEX = /^on./; 17350 var INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/; 17351 var rARIA$1 = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$'); 17352 var rARIACamel$1 = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$'); 17353 17354 validateProperty$1 = function (tagName, name, value, canUseEventSystem) { 17355 if (_hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) { 17356 return true; 17357 } 17358 17359 var lowerCasedName = name.toLowerCase(); 17360 17361 if (lowerCasedName === 'onfocusin' || lowerCasedName === 'onfocusout') { 17362 error('React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.'); 17363 17364 warnedProperties$1[name] = true; 17365 return true; 17366 } // We can't rely on the event system being injected on the server. 17367 17368 17369 if (canUseEventSystem) { 17370 if (registrationNameModules.hasOwnProperty(name)) { 17371 return true; 17372 } 17373 17374 var registrationName = possibleRegistrationNames.hasOwnProperty(lowerCasedName) ? possibleRegistrationNames[lowerCasedName] : null; 17375 17376 if (registrationName != null) { 17377 error('Invalid event handler property `%s`. Did you mean `%s`?', name, registrationName); 17378 17379 warnedProperties$1[name] = true; 17380 return true; 17381 } 17382 17383 if (EVENT_NAME_REGEX.test(name)) { 17384 error('Unknown event handler property `%s`. It will be ignored.', name); 17385 17386 warnedProperties$1[name] = true; 17387 return true; 17388 } 17389 } else if (EVENT_NAME_REGEX.test(name)) { 17390 // If no event plugins have been injected, we are in a server environment. 17391 // So we can't tell if the event name is correct for sure, but we can filter 17392 // out known bad ones like `onclick`. We can't suggest a specific replacement though. 17393 if (INVALID_EVENT_NAME_REGEX.test(name)) { 17394 error('Invalid event handler property `%s`. ' + 'React events use the camelCase naming convention, for example `onClick`.', name); 17395 } 17396 17397 warnedProperties$1[name] = true; 17398 return true; 17399 } // Let the ARIA attribute hook validate ARIA attributes 17400 17401 17402 if (rARIA$1.test(name) || rARIACamel$1.test(name)) { 17403 return true; 17404 } 17405 17406 if (lowerCasedName === 'innerhtml') { 17407 error('Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.'); 17408 17409 warnedProperties$1[name] = true; 17410 return true; 17411 } 17412 17413 if (lowerCasedName === 'aria') { 17414 error('The `aria` attribute is reserved for future use in React. ' + 'Pass individual `aria-` attributes instead.'); 17415 17416 warnedProperties$1[name] = true; 17417 return true; 17418 } 17419 17420 if (lowerCasedName === 'is' && value !== null && value !== undefined && typeof value !== 'string') { 17421 error('Received a `%s` for a string attribute `is`. If this is expected, cast ' + 'the value to a string.', typeof value); 17422 17423 warnedProperties$1[name] = true; 17424 return true; 17425 } 17426 17427 if (typeof value === 'number' && isNaN(value)) { 17428 error('Received NaN for the `%s` attribute. If this is expected, cast ' + 'the value to a string.', name); 17429 17430 warnedProperties$1[name] = true; 17431 return true; 17432 } 17433 17434 var propertyInfo = getPropertyInfo(name); 17435 var isReserved = propertyInfo !== null && propertyInfo.type === RESERVED; // Known attributes should match the casing specified in the property config. 17436 17437 if (possibleStandardNames.hasOwnProperty(lowerCasedName)) { 17438 var standardName = possibleStandardNames[lowerCasedName]; 17439 17440 if (standardName !== name) { 17441 error('Invalid DOM property `%s`. Did you mean `%s`?', name, standardName); 17442 17443 warnedProperties$1[name] = true; 17444 return true; 17445 } 17446 } else if (!isReserved && name !== lowerCasedName) { 17447 // Unknown attributes should have lowercase casing since that's how they 17448 // will be cased anyway with server rendering. 17449 error('React does not recognize the `%s` prop on a DOM element. If you ' + 'intentionally want it to appear in the DOM as a custom ' + 'attribute, spell it as lowercase `%s` instead. ' + 'If you accidentally passed it from a parent component, remove ' + 'it from the DOM element.', name, lowerCasedName); 17450 17451 warnedProperties$1[name] = true; 17452 return true; 17453 } 17454 17455 if (typeof value === 'boolean' && shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) { 17456 if (value) { 17457 error('Received `%s` for a non-boolean attribute `%s`.\n\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s="%s" or %s={value.toString()}.', value, name, name, value, name); 17458 } else { 17459 error('Received `%s` for a non-boolean attribute `%s`.\n\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s="%s" or %s={value.toString()}.\n\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', value, name, name, value, name, name, name); 17460 } 17461 17462 warnedProperties$1[name] = true; 17463 return true; 17464 } // Now that we've validated casing, do not validate 17465 // data types for reserved props 17466 17467 17468 if (isReserved) { 17469 return true; 17470 } // Warn when a known attribute is a bad type 17471 17472 17473 if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) { 17474 warnedProperties$1[name] = true; 17475 return false; 17476 } // Warn when passing the strings 'false' or 'true' into a boolean prop 17477 17478 17479 if ((value === 'false' || value === 'true') && propertyInfo !== null && propertyInfo.type === BOOLEAN) { 17480 error('Received the string `%s` for the boolean attribute `%s`. ' + '%s ' + 'Did you mean %s={%s}?', value, name, value === 'false' ? 'The browser will interpret it as a truthy value.' : 'Although this works, it will not work as expected if you pass the string "false".', name, value); 17481 17482 warnedProperties$1[name] = true; 17483 return true; 17484 } 17485 17486 return true; 17487 }; 17488} 17489 17490var warnUnknownProperties = function (type, props, canUseEventSystem) { 17491 { 17492 var unknownProps = []; 17493 17494 for (var key in props) { 17495 var isValid = validateProperty$1(type, key, props[key], canUseEventSystem); 17496 17497 if (!isValid) { 17498 unknownProps.push(key); 17499 } 17500 } 17501 17502 var unknownPropString = unknownProps.map(function (prop) { 17503 return '`' + prop + '`'; 17504 }).join(', '); 17505 17506 if (unknownProps.length === 1) { 17507 error('Invalid value for prop %s on <%s> tag. Either remove it from the element, ' + 'or pass a string or number value to keep it in the DOM. ' + 'For details, see https://fb.me/react-attribute-behavior', unknownPropString, type); 17508 } else if (unknownProps.length > 1) { 17509 error('Invalid values for props %s on <%s> tag. Either remove them from the element, ' + 'or pass a string or number value to keep them in the DOM. ' + 'For details, see https://fb.me/react-attribute-behavior', unknownPropString, type); 17510 } 17511 } 17512}; 17513 17514function validateProperties$2(type, props, canUseEventSystem) { 17515 if (isCustomComponent(type, props)) { 17516 return; 17517 } 17518 17519 warnUnknownProperties(type, props, canUseEventSystem); 17520} 17521 17522var didWarnInvalidHydration = false; 17523var DANGEROUSLY_SET_INNER_HTML = 'dangerouslySetInnerHTML'; 17524var SUPPRESS_CONTENT_EDITABLE_WARNING = 'suppressContentEditableWarning'; 17525var SUPPRESS_HYDRATION_WARNING = 'suppressHydrationWarning'; 17526var AUTOFOCUS = 'autoFocus'; 17527var CHILDREN = 'children'; 17528var STYLE = 'style'; 17529var HTML$1 = '__html'; 17530var HTML_NAMESPACE$1 = Namespaces.html; 17531var warnedUnknownTags; 17532var suppressHydrationWarning; 17533var validatePropertiesInDevelopment; 17534var warnForTextDifference; 17535var warnForPropDifference; 17536var warnForExtraAttributes; 17537var warnForInvalidEventListener; 17538var canDiffStyleForHydrationWarning; 17539var normalizeMarkupForTextOrAttribute; 17540var normalizeHTML; 17541 17542{ 17543 warnedUnknownTags = { 17544 // Chrome is the only major browser not shipping <time>. But as of July 17545 // 2017 it intends to ship it due to widespread usage. We intentionally 17546 // *don't* warn for <time> even if it's unrecognized by Chrome because 17547 // it soon will be, and many apps have been using it anyway. 17548 time: true, 17549 // There are working polyfills for <dialog>. Let people use it. 17550 dialog: true, 17551 // Electron ships a custom <webview> tag to display external web content in 17552 // an isolated frame and process. 17553 // This tag is not present in non Electron environments such as JSDom which 17554 // is often used for testing purposes. 17555 // @see https://electronjs.org/docs/api/webview-tag 17556 webview: true 17557 }; 17558 17559 validatePropertiesInDevelopment = function (type, props) { 17560 validateProperties(type, props); 17561 validateProperties$1(type, props); 17562 validateProperties$2(type, props, 17563 /* canUseEventSystem */ 17564 true); 17565 }; // IE 11 parses & normalizes the style attribute as opposed to other 17566 // browsers. It adds spaces and sorts the properties in some 17567 // non-alphabetical order. Handling that would require sorting CSS 17568 // properties in the client & server versions or applying 17569 // `expectedStyle` to a temporary DOM node to read its `style` attribute 17570 // normalized. Since it only affects IE, we're skipping style warnings 17571 // in that browser completely in favor of doing all that work. 17572 // See https://github.com/facebook/react/issues/11807 17573 17574 17575 canDiffStyleForHydrationWarning = canUseDOM && !document.documentMode; // HTML parsing normalizes CR and CRLF to LF. 17576 // It also can turn \u0000 into \uFFFD inside attributes. 17577 // https://www.w3.org/TR/html5/single-page.html#preprocessing-the-input-stream 17578 // If we have a mismatch, it might be caused by that. 17579 // We will still patch up in this case but not fire the warning. 17580 17581 var NORMALIZE_NEWLINES_REGEX = /\r\n?/g; 17582 var NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\u0000|\uFFFD/g; 17583 17584 normalizeMarkupForTextOrAttribute = function (markup) { 17585 var markupString = typeof markup === 'string' ? markup : '' + markup; 17586 return markupString.replace(NORMALIZE_NEWLINES_REGEX, '\n').replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, ''); 17587 }; 17588 17589 warnForTextDifference = function (serverText, clientText) { 17590 if (didWarnInvalidHydration) { 17591 return; 17592 } 17593 17594 var normalizedClientText = normalizeMarkupForTextOrAttribute(clientText); 17595 var normalizedServerText = normalizeMarkupForTextOrAttribute(serverText); 17596 17597 if (normalizedServerText === normalizedClientText) { 17598 return; 17599 } 17600 17601 didWarnInvalidHydration = true; 17602 17603 error('Text content did not match. Server: "%s" Client: "%s"', normalizedServerText, normalizedClientText); 17604 }; 17605 17606 warnForPropDifference = function (propName, serverValue, clientValue) { 17607 if (didWarnInvalidHydration) { 17608 return; 17609 } 17610 17611 var normalizedClientValue = normalizeMarkupForTextOrAttribute(clientValue); 17612 var normalizedServerValue = normalizeMarkupForTextOrAttribute(serverValue); 17613 17614 if (normalizedServerValue === normalizedClientValue) { 17615 return; 17616 } 17617 17618 didWarnInvalidHydration = true; 17619 17620 error('Prop `%s` did not match. Server: %s Client: %s', propName, JSON.stringify(normalizedServerValue), JSON.stringify(normalizedClientValue)); 17621 }; 17622 17623 warnForExtraAttributes = function (attributeNames) { 17624 if (didWarnInvalidHydration) { 17625 return; 17626 } 17627 17628 didWarnInvalidHydration = true; 17629 var names = []; 17630 attributeNames.forEach(function (name) { 17631 names.push(name); 17632 }); 17633 17634 error('Extra attributes from the server: %s', names); 17635 }; 17636 17637 warnForInvalidEventListener = function (registrationName, listener) { 17638 if (listener === false) { 17639 error('Expected `%s` listener to be a function, instead got `false`.\n\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', registrationName, registrationName, registrationName); 17640 } else { 17641 error('Expected `%s` listener to be a function, instead got a value of `%s` type.', registrationName, typeof listener); 17642 } 17643 }; // Parse the HTML and read it back to normalize the HTML string so that it 17644 // can be used for comparison. 17645 17646 17647 normalizeHTML = function (parent, html) { 17648 // We could have created a separate document here to avoid 17649 // re-initializing custom elements if they exist. But this breaks 17650 // how <noscript> is being handled. So we use the same document. 17651 // See the discussion in https://github.com/facebook/react/pull/11157. 17652 var testElement = parent.namespaceURI === HTML_NAMESPACE$1 ? parent.ownerDocument.createElement(parent.tagName) : parent.ownerDocument.createElementNS(parent.namespaceURI, parent.tagName); 17653 testElement.innerHTML = html; 17654 return testElement.innerHTML; 17655 }; 17656} 17657 17658function ensureListeningTo(rootContainerElement, registrationName) { 17659 var isDocumentOrFragment = rootContainerElement.nodeType === DOCUMENT_NODE || rootContainerElement.nodeType === DOCUMENT_FRAGMENT_NODE; 17660 var doc = isDocumentOrFragment ? rootContainerElement : rootContainerElement.ownerDocument; 17661 legacyListenToEvent(registrationName, doc); 17662} 17663 17664function getOwnerDocumentFromRootContainer(rootContainerElement) { 17665 return rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument; 17666} 17667 17668function noop() {} 17669 17670function trapClickOnNonInteractiveElement(node) { 17671 // Mobile Safari does not fire properly bubble click events on 17672 // non-interactive elements, which means delegated click listeners do not 17673 // fire. The workaround for this bug involves attaching an empty click 17674 // listener on the target node. 17675 // http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html 17676 // Just set it using the onclick property so that we don't have to manage any 17677 // bookkeeping for it. Not sure if we need to clear it when the listener is 17678 // removed. 17679 // TODO: Only do this for the relevant Safaris maybe? 17680 node.onclick = noop; 17681} 17682 17683function setInitialDOMProperties(tag, domElement, rootContainerElement, nextProps, isCustomComponentTag) { 17684 for (var propKey in nextProps) { 17685 if (!nextProps.hasOwnProperty(propKey)) { 17686 continue; 17687 } 17688 17689 var nextProp = nextProps[propKey]; 17690 17691 if (propKey === STYLE) { 17692 { 17693 if (nextProp) { 17694 // Freeze the next style object so that we can assume it won't be 17695 // mutated. We have already warned for this in the past. 17696 Object.freeze(nextProp); 17697 } 17698 } // Relies on `updateStylesByID` not mutating `styleUpdates`. 17699 17700 17701 setValueForStyles(domElement, nextProp); 17702 } else if (propKey === DANGEROUSLY_SET_INNER_HTML) { 17703 var nextHtml = nextProp ? nextProp[HTML$1] : undefined; 17704 17705 if (nextHtml != null) { 17706 setInnerHTML(domElement, nextHtml); 17707 } 17708 } else if (propKey === CHILDREN) { 17709 if (typeof nextProp === 'string') { 17710 // Avoid setting initial textContent when the text is empty. In IE11 setting 17711 // textContent on a <textarea> will cause the placeholder to not 17712 // show within the <textarea> until it has been focused and blurred again. 17713 // https://github.com/facebook/react/issues/6731#issuecomment-254874553 17714 var canSetTextContent = tag !== 'textarea' || nextProp !== ''; 17715 17716 if (canSetTextContent) { 17717 setTextContent(domElement, nextProp); 17718 } 17719 } else if (typeof nextProp === 'number') { 17720 setTextContent(domElement, '' + nextProp); 17721 } 17722 } else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameModules.hasOwnProperty(propKey)) { 17723 if (nextProp != null) { 17724 if ( typeof nextProp !== 'function') { 17725 warnForInvalidEventListener(propKey, nextProp); 17726 } 17727 17728 ensureListeningTo(rootContainerElement, propKey); 17729 } 17730 } else if (nextProp != null) { 17731 setValueForProperty(domElement, propKey, nextProp, isCustomComponentTag); 17732 } 17733 } 17734} 17735 17736function updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag) { 17737 // TODO: Handle wasCustomComponentTag 17738 for (var i = 0; i < updatePayload.length; i += 2) { 17739 var propKey = updatePayload[i]; 17740 var propValue = updatePayload[i + 1]; 17741 17742 if (propKey === STYLE) { 17743 setValueForStyles(domElement, propValue); 17744 } else if (propKey === DANGEROUSLY_SET_INNER_HTML) { 17745 setInnerHTML(domElement, propValue); 17746 } else if (propKey === CHILDREN) { 17747 setTextContent(domElement, propValue); 17748 } else { 17749 setValueForProperty(domElement, propKey, propValue, isCustomComponentTag); 17750 } 17751 } 17752} 17753 17754function createElement(type, props, rootContainerElement, parentNamespace) { 17755 var isCustomComponentTag; // We create tags in the namespace of their parent container, except HTML 17756 // tags get no namespace. 17757 17758 var ownerDocument = getOwnerDocumentFromRootContainer(rootContainerElement); 17759 var domElement; 17760 var namespaceURI = parentNamespace; 17761 17762 if (namespaceURI === HTML_NAMESPACE$1) { 17763 namespaceURI = getIntrinsicNamespace(type); 17764 } 17765 17766 if (namespaceURI === HTML_NAMESPACE$1) { 17767 { 17768 isCustomComponentTag = isCustomComponent(type, props); // Should this check be gated by parent namespace? Not sure we want to 17769 // allow <SVG> or <mATH>. 17770 17771 if (!isCustomComponentTag && type !== type.toLowerCase()) { 17772 error('<%s /> is using incorrect casing. ' + 'Use PascalCase for React components, ' + 'or lowercase for HTML elements.', type); 17773 } 17774 } 17775 17776 if (type === 'script') { 17777 // Create the script via .innerHTML so its "parser-inserted" flag is 17778 // set to true and it does not execute 17779 var div = ownerDocument.createElement('div'); 17780 17781 div.innerHTML = '<script><' + '/script>'; // eslint-disable-line 17782 // This is guaranteed to yield a script element. 17783 17784 var firstChild = div.firstChild; 17785 domElement = div.removeChild(firstChild); 17786 } else if (typeof props.is === 'string') { 17787 // $FlowIssue `createElement` should be updated for Web Components 17788 domElement = ownerDocument.createElement(type, { 17789 is: props.is 17790 }); 17791 } else { 17792 // Separate else branch instead of using `props.is || undefined` above because of a Firefox bug. 17793 // See discussion in https://github.com/facebook/react/pull/6896 17794 // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240 17795 domElement = ownerDocument.createElement(type); // Normally attributes are assigned in `setInitialDOMProperties`, however the `multiple` and `size` 17796 // attributes on `select`s needs to be added before `option`s are inserted. 17797 // This prevents: 17798 // - a bug where the `select` does not scroll to the correct option because singular 17799 // `select` elements automatically pick the first item #13222 17800 // - a bug where the `select` set the first item as selected despite the `size` attribute #14239 17801 // See https://github.com/facebook/react/issues/13222 17802 // and https://github.com/facebook/react/issues/14239 17803 17804 if (type === 'select') { 17805 var node = domElement; 17806 17807 if (props.multiple) { 17808 node.multiple = true; 17809 } else if (props.size) { 17810 // Setting a size greater than 1 causes a select to behave like `multiple=true`, where 17811 // it is possible that no option is selected. 17812 // 17813 // This is only necessary when a select in "single selection mode". 17814 node.size = props.size; 17815 } 17816 } 17817 } 17818 } else { 17819 domElement = ownerDocument.createElementNS(namespaceURI, type); 17820 } 17821 17822 { 17823 if (namespaceURI === HTML_NAMESPACE$1) { 17824 if (!isCustomComponentTag && Object.prototype.toString.call(domElement) === '[object HTMLUnknownElement]' && !Object.prototype.hasOwnProperty.call(warnedUnknownTags, type)) { 17825 warnedUnknownTags[type] = true; 17826 17827 error('The tag <%s> is unrecognized in this browser. ' + 'If you meant to render a React component, start its name with ' + 'an uppercase letter.', type); 17828 } 17829 } 17830 } 17831 17832 return domElement; 17833} 17834function createTextNode(text, rootContainerElement) { 17835 return getOwnerDocumentFromRootContainer(rootContainerElement).createTextNode(text); 17836} 17837function setInitialProperties(domElement, tag, rawProps, rootContainerElement) { 17838 var isCustomComponentTag = isCustomComponent(tag, rawProps); 17839 17840 { 17841 validatePropertiesInDevelopment(tag, rawProps); 17842 } // TODO: Make sure that we check isMounted before firing any of these events. 17843 17844 17845 var props; 17846 17847 switch (tag) { 17848 case 'iframe': 17849 case 'object': 17850 case 'embed': 17851 trapBubbledEvent(TOP_LOAD, domElement); 17852 props = rawProps; 17853 break; 17854 17855 case 'video': 17856 case 'audio': 17857 // Create listener for each media event 17858 for (var i = 0; i < mediaEventTypes.length; i++) { 17859 trapBubbledEvent(mediaEventTypes[i], domElement); 17860 } 17861 17862 props = rawProps; 17863 break; 17864 17865 case 'source': 17866 trapBubbledEvent(TOP_ERROR, domElement); 17867 props = rawProps; 17868 break; 17869 17870 case 'img': 17871 case 'image': 17872 case 'link': 17873 trapBubbledEvent(TOP_ERROR, domElement); 17874 trapBubbledEvent(TOP_LOAD, domElement); 17875 props = rawProps; 17876 break; 17877 17878 case 'form': 17879 trapBubbledEvent(TOP_RESET, domElement); 17880 trapBubbledEvent(TOP_SUBMIT, domElement); 17881 props = rawProps; 17882 break; 17883 17884 case 'details': 17885 trapBubbledEvent(TOP_TOGGLE, domElement); 17886 props = rawProps; 17887 break; 17888 17889 case 'input': 17890 initWrapperState(domElement, rawProps); 17891 props = getHostProps(domElement, rawProps); 17892 trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening 17893 // to onChange. Even if there is no listener. 17894 17895 ensureListeningTo(rootContainerElement, 'onChange'); 17896 break; 17897 17898 case 'option': 17899 validateProps(domElement, rawProps); 17900 props = getHostProps$1(domElement, rawProps); 17901 break; 17902 17903 case 'select': 17904 initWrapperState$1(domElement, rawProps); 17905 props = getHostProps$2(domElement, rawProps); 17906 trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening 17907 // to onChange. Even if there is no listener. 17908 17909 ensureListeningTo(rootContainerElement, 'onChange'); 17910 break; 17911 17912 case 'textarea': 17913 initWrapperState$2(domElement, rawProps); 17914 props = getHostProps$3(domElement, rawProps); 17915 trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening 17916 // to onChange. Even if there is no listener. 17917 17918 ensureListeningTo(rootContainerElement, 'onChange'); 17919 break; 17920 17921 default: 17922 props = rawProps; 17923 } 17924 17925 assertValidProps(tag, props); 17926 setInitialDOMProperties(tag, domElement, rootContainerElement, props, isCustomComponentTag); 17927 17928 switch (tag) { 17929 case 'input': 17930 // TODO: Make sure we check if this is still unmounted or do any clean 17931 // up necessary since we never stop tracking anymore. 17932 track(domElement); 17933 postMountWrapper(domElement, rawProps, false); 17934 break; 17935 17936 case 'textarea': 17937 // TODO: Make sure we check if this is still unmounted or do any clean 17938 // up necessary since we never stop tracking anymore. 17939 track(domElement); 17940 postMountWrapper$3(domElement); 17941 break; 17942 17943 case 'option': 17944 postMountWrapper$1(domElement, rawProps); 17945 break; 17946 17947 case 'select': 17948 postMountWrapper$2(domElement, rawProps); 17949 break; 17950 17951 default: 17952 if (typeof props.onClick === 'function') { 17953 // TODO: This cast may not be sound for SVG, MathML or custom elements. 17954 trapClickOnNonInteractiveElement(domElement); 17955 } 17956 17957 break; 17958 } 17959} // Calculate the diff between the two objects. 17960 17961function diffProperties(domElement, tag, lastRawProps, nextRawProps, rootContainerElement) { 17962 { 17963 validatePropertiesInDevelopment(tag, nextRawProps); 17964 } 17965 17966 var updatePayload = null; 17967 var lastProps; 17968 var nextProps; 17969 17970 switch (tag) { 17971 case 'input': 17972 lastProps = getHostProps(domElement, lastRawProps); 17973 nextProps = getHostProps(domElement, nextRawProps); 17974 updatePayload = []; 17975 break; 17976 17977 case 'option': 17978 lastProps = getHostProps$1(domElement, lastRawProps); 17979 nextProps = getHostProps$1(domElement, nextRawProps); 17980 updatePayload = []; 17981 break; 17982 17983 case 'select': 17984 lastProps = getHostProps$2(domElement, lastRawProps); 17985 nextProps = getHostProps$2(domElement, nextRawProps); 17986 updatePayload = []; 17987 break; 17988 17989 case 'textarea': 17990 lastProps = getHostProps$3(domElement, lastRawProps); 17991 nextProps = getHostProps$3(domElement, nextRawProps); 17992 updatePayload = []; 17993 break; 17994 17995 default: 17996 lastProps = lastRawProps; 17997 nextProps = nextRawProps; 17998 17999 if (typeof lastProps.onClick !== 'function' && typeof nextProps.onClick === 'function') { 18000 // TODO: This cast may not be sound for SVG, MathML or custom elements. 18001 trapClickOnNonInteractiveElement(domElement); 18002 } 18003 18004 break; 18005 } 18006 18007 assertValidProps(tag, nextProps); 18008 var propKey; 18009 var styleName; 18010 var styleUpdates = null; 18011 18012 for (propKey in lastProps) { 18013 if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey) || lastProps[propKey] == null) { 18014 continue; 18015 } 18016 18017 if (propKey === STYLE) { 18018 var lastStyle = lastProps[propKey]; 18019 18020 for (styleName in lastStyle) { 18021 if (lastStyle.hasOwnProperty(styleName)) { 18022 if (!styleUpdates) { 18023 styleUpdates = {}; 18024 } 18025 18026 styleUpdates[styleName] = ''; 18027 } 18028 } 18029 } else if (propKey === DANGEROUSLY_SET_INNER_HTML || propKey === CHILDREN) ; else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameModules.hasOwnProperty(propKey)) { 18030 // This is a special case. If any listener updates we need to ensure 18031 // that the "current" fiber pointer gets updated so we need a commit 18032 // to update this element. 18033 if (!updatePayload) { 18034 updatePayload = []; 18035 } 18036 } else { 18037 // For all other deleted properties we add it to the queue. We use 18038 // the whitelist in the commit phase instead. 18039 (updatePayload = updatePayload || []).push(propKey, null); 18040 } 18041 } 18042 18043 for (propKey in nextProps) { 18044 var nextProp = nextProps[propKey]; 18045 var lastProp = lastProps != null ? lastProps[propKey] : undefined; 18046 18047 if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp || nextProp == null && lastProp == null) { 18048 continue; 18049 } 18050 18051 if (propKey === STYLE) { 18052 { 18053 if (nextProp) { 18054 // Freeze the next style object so that we can assume it won't be 18055 // mutated. We have already warned for this in the past. 18056 Object.freeze(nextProp); 18057 } 18058 } 18059 18060 if (lastProp) { 18061 // Unset styles on `lastProp` but not on `nextProp`. 18062 for (styleName in lastProp) { 18063 if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) { 18064 if (!styleUpdates) { 18065 styleUpdates = {}; 18066 } 18067 18068 styleUpdates[styleName] = ''; 18069 } 18070 } // Update styles that changed since `lastProp`. 18071 18072 18073 for (styleName in nextProp) { 18074 if (nextProp.hasOwnProperty(styleName) && lastProp[styleName] !== nextProp[styleName]) { 18075 if (!styleUpdates) { 18076 styleUpdates = {}; 18077 } 18078 18079 styleUpdates[styleName] = nextProp[styleName]; 18080 } 18081 } 18082 } else { 18083 // Relies on `updateStylesByID` not mutating `styleUpdates`. 18084 if (!styleUpdates) { 18085 if (!updatePayload) { 18086 updatePayload = []; 18087 } 18088 18089 updatePayload.push(propKey, styleUpdates); 18090 } 18091 18092 styleUpdates = nextProp; 18093 } 18094 } else if (propKey === DANGEROUSLY_SET_INNER_HTML) { 18095 var nextHtml = nextProp ? nextProp[HTML$1] : undefined; 18096 var lastHtml = lastProp ? lastProp[HTML$1] : undefined; 18097 18098 if (nextHtml != null) { 18099 if (lastHtml !== nextHtml) { 18100 (updatePayload = updatePayload || []).push(propKey, nextHtml); 18101 } 18102 } 18103 } else if (propKey === CHILDREN) { 18104 if (lastProp !== nextProp && (typeof nextProp === 'string' || typeof nextProp === 'number')) { 18105 (updatePayload = updatePayload || []).push(propKey, '' + nextProp); 18106 } 18107 } else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (registrationNameModules.hasOwnProperty(propKey)) { 18108 if (nextProp != null) { 18109 // We eagerly listen to this even though we haven't committed yet. 18110 if ( typeof nextProp !== 'function') { 18111 warnForInvalidEventListener(propKey, nextProp); 18112 } 18113 18114 ensureListeningTo(rootContainerElement, propKey); 18115 } 18116 18117 if (!updatePayload && lastProp !== nextProp) { 18118 // This is a special case. If any listener updates we need to ensure 18119 // that the "current" props pointer gets updated so we need a commit 18120 // to update this element. 18121 updatePayload = []; 18122 } 18123 } else { 18124 // For any other property we always add it to the queue and then we 18125 // filter it out using the whitelist during the commit. 18126 (updatePayload = updatePayload || []).push(propKey, nextProp); 18127 } 18128 } 18129 18130 if (styleUpdates) { 18131 { 18132 validateShorthandPropertyCollisionInDev(styleUpdates, nextProps[STYLE]); 18133 } 18134 18135 (updatePayload = updatePayload || []).push(STYLE, styleUpdates); 18136 } 18137 18138 return updatePayload; 18139} // Apply the diff. 18140 18141function updateProperties(domElement, updatePayload, tag, lastRawProps, nextRawProps) { 18142 // Update checked *before* name. 18143 // In the middle of an update, it is possible to have multiple checked. 18144 // When a checked radio tries to change name, browser makes another radio's checked false. 18145 if (tag === 'input' && nextRawProps.type === 'radio' && nextRawProps.name != null) { 18146 updateChecked(domElement, nextRawProps); 18147 } 18148 18149 var wasCustomComponentTag = isCustomComponent(tag, lastRawProps); 18150 var isCustomComponentTag = isCustomComponent(tag, nextRawProps); // Apply the diff. 18151 18152 updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag); // TODO: Ensure that an update gets scheduled if any of the special props 18153 // changed. 18154 18155 switch (tag) { 18156 case 'input': 18157 // Update the wrapper around inputs *after* updating props. This has to 18158 // happen after `updateDOMProperties`. Otherwise HTML5 input validations 18159 // raise warnings and prevent the new value from being assigned. 18160 updateWrapper(domElement, nextRawProps); 18161 break; 18162 18163 case 'textarea': 18164 updateWrapper$1(domElement, nextRawProps); 18165 break; 18166 18167 case 'select': 18168 // <select> value update needs to occur after <option> children 18169 // reconciliation 18170 postUpdateWrapper(domElement, nextRawProps); 18171 break; 18172 } 18173} 18174 18175function getPossibleStandardName(propName) { 18176 { 18177 var lowerCasedName = propName.toLowerCase(); 18178 18179 if (!possibleStandardNames.hasOwnProperty(lowerCasedName)) { 18180 return null; 18181 } 18182 18183 return possibleStandardNames[lowerCasedName] || null; 18184 } 18185} 18186 18187function diffHydratedProperties(domElement, tag, rawProps, parentNamespace, rootContainerElement) { 18188 var isCustomComponentTag; 18189 var extraAttributeNames; 18190 18191 { 18192 suppressHydrationWarning = rawProps[SUPPRESS_HYDRATION_WARNING] === true; 18193 isCustomComponentTag = isCustomComponent(tag, rawProps); 18194 validatePropertiesInDevelopment(tag, rawProps); 18195 } // TODO: Make sure that we check isMounted before firing any of these events. 18196 18197 18198 switch (tag) { 18199 case 'iframe': 18200 case 'object': 18201 case 'embed': 18202 trapBubbledEvent(TOP_LOAD, domElement); 18203 break; 18204 18205 case 'video': 18206 case 'audio': 18207 // Create listener for each media event 18208 for (var i = 0; i < mediaEventTypes.length; i++) { 18209 trapBubbledEvent(mediaEventTypes[i], domElement); 18210 } 18211 18212 break; 18213 18214 case 'source': 18215 trapBubbledEvent(TOP_ERROR, domElement); 18216 break; 18217 18218 case 'img': 18219 case 'image': 18220 case 'link': 18221 trapBubbledEvent(TOP_ERROR, domElement); 18222 trapBubbledEvent(TOP_LOAD, domElement); 18223 break; 18224 18225 case 'form': 18226 trapBubbledEvent(TOP_RESET, domElement); 18227 trapBubbledEvent(TOP_SUBMIT, domElement); 18228 break; 18229 18230 case 'details': 18231 trapBubbledEvent(TOP_TOGGLE, domElement); 18232 break; 18233 18234 case 'input': 18235 initWrapperState(domElement, rawProps); 18236 trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening 18237 // to onChange. Even if there is no listener. 18238 18239 ensureListeningTo(rootContainerElement, 'onChange'); 18240 break; 18241 18242 case 'option': 18243 validateProps(domElement, rawProps); 18244 break; 18245 18246 case 'select': 18247 initWrapperState$1(domElement, rawProps); 18248 trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening 18249 // to onChange. Even if there is no listener. 18250 18251 ensureListeningTo(rootContainerElement, 'onChange'); 18252 break; 18253 18254 case 'textarea': 18255 initWrapperState$2(domElement, rawProps); 18256 trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening 18257 // to onChange. Even if there is no listener. 18258 18259 ensureListeningTo(rootContainerElement, 'onChange'); 18260 break; 18261 } 18262 18263 assertValidProps(tag, rawProps); 18264 18265 { 18266 extraAttributeNames = new Set(); 18267 var attributes = domElement.attributes; 18268 18269 for (var _i = 0; _i < attributes.length; _i++) { 18270 var name = attributes[_i].name.toLowerCase(); 18271 18272 switch (name) { 18273 // Built-in SSR attribute is whitelisted 18274 case 'data-reactroot': 18275 break; 18276 // Controlled attributes are not validated 18277 // TODO: Only ignore them on controlled tags. 18278 18279 case 'value': 18280 break; 18281 18282 case 'checked': 18283 break; 18284 18285 case 'selected': 18286 break; 18287 18288 default: 18289 // Intentionally use the original name. 18290 // See discussion in https://github.com/facebook/react/pull/10676. 18291 extraAttributeNames.add(attributes[_i].name); 18292 } 18293 } 18294 } 18295 18296 var updatePayload = null; 18297 18298 for (var propKey in rawProps) { 18299 if (!rawProps.hasOwnProperty(propKey)) { 18300 continue; 18301 } 18302 18303 var nextProp = rawProps[propKey]; 18304 18305 if (propKey === CHILDREN) { 18306 // For text content children we compare against textContent. This 18307 // might match additional HTML that is hidden when we read it using 18308 // textContent. E.g. "foo" will match "f<span>oo</span>" but that still 18309 // satisfies our requirement. Our requirement is not to produce perfect 18310 // HTML and attributes. Ideally we should preserve structure but it's 18311 // ok not to if the visible content is still enough to indicate what 18312 // even listeners these nodes might be wired up to. 18313 // TODO: Warn if there is more than a single textNode as a child. 18314 // TODO: Should we use domElement.firstChild.nodeValue to compare? 18315 if (typeof nextProp === 'string') { 18316 if (domElement.textContent !== nextProp) { 18317 if ( !suppressHydrationWarning) { 18318 warnForTextDifference(domElement.textContent, nextProp); 18319 } 18320 18321 updatePayload = [CHILDREN, nextProp]; 18322 } 18323 } else if (typeof nextProp === 'number') { 18324 if (domElement.textContent !== '' + nextProp) { 18325 if ( !suppressHydrationWarning) { 18326 warnForTextDifference(domElement.textContent, nextProp); 18327 } 18328 18329 updatePayload = [CHILDREN, '' + nextProp]; 18330 } 18331 } 18332 } else if (registrationNameModules.hasOwnProperty(propKey)) { 18333 if (nextProp != null) { 18334 if ( typeof nextProp !== 'function') { 18335 warnForInvalidEventListener(propKey, nextProp); 18336 } 18337 18338 ensureListeningTo(rootContainerElement, propKey); 18339 } 18340 } else if ( // Convince Flow we've calculated it (it's DEV-only in this method.) 18341 typeof isCustomComponentTag === 'boolean') { 18342 // Validate that the properties correspond to their expected values. 18343 var serverValue = void 0; 18344 var propertyInfo = getPropertyInfo(propKey); 18345 18346 if (suppressHydrationWarning) ; else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING || // Controlled attributes are not validated 18347 // TODO: Only ignore them on controlled tags. 18348 propKey === 'value' || propKey === 'checked' || propKey === 'selected') ; else if (propKey === DANGEROUSLY_SET_INNER_HTML) { 18349 var serverHTML = domElement.innerHTML; 18350 var nextHtml = nextProp ? nextProp[HTML$1] : undefined; 18351 var expectedHTML = normalizeHTML(domElement, nextHtml != null ? nextHtml : ''); 18352 18353 if (expectedHTML !== serverHTML) { 18354 warnForPropDifference(propKey, serverHTML, expectedHTML); 18355 } 18356 } else if (propKey === STYLE) { 18357 // $FlowFixMe - Should be inferred as not undefined. 18358 extraAttributeNames.delete(propKey); 18359 18360 if (canDiffStyleForHydrationWarning) { 18361 var expectedStyle = createDangerousStringForStyles(nextProp); 18362 serverValue = domElement.getAttribute('style'); 18363 18364 if (expectedStyle !== serverValue) { 18365 warnForPropDifference(propKey, serverValue, expectedStyle); 18366 } 18367 } 18368 } else if (isCustomComponentTag) { 18369 // $FlowFixMe - Should be inferred as not undefined. 18370 extraAttributeNames.delete(propKey.toLowerCase()); 18371 serverValue = getValueForAttribute(domElement, propKey, nextProp); 18372 18373 if (nextProp !== serverValue) { 18374 warnForPropDifference(propKey, serverValue, nextProp); 18375 } 18376 } else if (!shouldIgnoreAttribute(propKey, propertyInfo, isCustomComponentTag) && !shouldRemoveAttribute(propKey, nextProp, propertyInfo, isCustomComponentTag)) { 18377 var isMismatchDueToBadCasing = false; 18378 18379 if (propertyInfo !== null) { 18380 // $FlowFixMe - Should be inferred as not undefined. 18381 extraAttributeNames.delete(propertyInfo.attributeName); 18382 serverValue = getValueForProperty(domElement, propKey, nextProp, propertyInfo); 18383 } else { 18384 var ownNamespace = parentNamespace; 18385 18386 if (ownNamespace === HTML_NAMESPACE$1) { 18387 ownNamespace = getIntrinsicNamespace(tag); 18388 } 18389 18390 if (ownNamespace === HTML_NAMESPACE$1) { 18391 // $FlowFixMe - Should be inferred as not undefined. 18392 extraAttributeNames.delete(propKey.toLowerCase()); 18393 } else { 18394 var standardName = getPossibleStandardName(propKey); 18395 18396 if (standardName !== null && standardName !== propKey) { 18397 // If an SVG prop is supplied with bad casing, it will 18398 // be successfully parsed from HTML, but will produce a mismatch 18399 // (and would be incorrectly rendered on the client). 18400 // However, we already warn about bad casing elsewhere. 18401 // So we'll skip the misleading extra mismatch warning in this case. 18402 isMismatchDueToBadCasing = true; // $FlowFixMe - Should be inferred as not undefined. 18403 18404 extraAttributeNames.delete(standardName); 18405 } // $FlowFixMe - Should be inferred as not undefined. 18406 18407 18408 extraAttributeNames.delete(propKey); 18409 } 18410 18411 serverValue = getValueForAttribute(domElement, propKey, nextProp); 18412 } 18413 18414 if (nextProp !== serverValue && !isMismatchDueToBadCasing) { 18415 warnForPropDifference(propKey, serverValue, nextProp); 18416 } 18417 } 18418 } 18419 } 18420 18421 { 18422 // $FlowFixMe - Should be inferred as not undefined. 18423 if (extraAttributeNames.size > 0 && !suppressHydrationWarning) { 18424 // $FlowFixMe - Should be inferred as not undefined. 18425 warnForExtraAttributes(extraAttributeNames); 18426 } 18427 } 18428 18429 switch (tag) { 18430 case 'input': 18431 // TODO: Make sure we check if this is still unmounted or do any clean 18432 // up necessary since we never stop tracking anymore. 18433 track(domElement); 18434 postMountWrapper(domElement, rawProps, true); 18435 break; 18436 18437 case 'textarea': 18438 // TODO: Make sure we check if this is still unmounted or do any clean 18439 // up necessary since we never stop tracking anymore. 18440 track(domElement); 18441 postMountWrapper$3(domElement); 18442 break; 18443 18444 case 'select': 18445 case 'option': 18446 // For input and textarea we current always set the value property at 18447 // post mount to force it to diverge from attributes. However, for 18448 // option and select we don't quite do the same thing and select 18449 // is not resilient to the DOM state changing so we don't do that here. 18450 // TODO: Consider not doing this for input and textarea. 18451 break; 18452 18453 default: 18454 if (typeof rawProps.onClick === 'function') { 18455 // TODO: This cast may not be sound for SVG, MathML or custom elements. 18456 trapClickOnNonInteractiveElement(domElement); 18457 } 18458 18459 break; 18460 } 18461 18462 return updatePayload; 18463} 18464function diffHydratedText(textNode, text) { 18465 var isDifferent = textNode.nodeValue !== text; 18466 return isDifferent; 18467} 18468function warnForUnmatchedText(textNode, text) { 18469 { 18470 warnForTextDifference(textNode.nodeValue, text); 18471 } 18472} 18473function warnForDeletedHydratableElement(parentNode, child) { 18474 { 18475 if (didWarnInvalidHydration) { 18476 return; 18477 } 18478 18479 didWarnInvalidHydration = true; 18480 18481 error('Did not expect server HTML to contain a <%s> in <%s>.', child.nodeName.toLowerCase(), parentNode.nodeName.toLowerCase()); 18482 } 18483} 18484function warnForDeletedHydratableText(parentNode, child) { 18485 { 18486 if (didWarnInvalidHydration) { 18487 return; 18488 } 18489 18490 didWarnInvalidHydration = true; 18491 18492 error('Did not expect server HTML to contain the text node "%s" in <%s>.', child.nodeValue, parentNode.nodeName.toLowerCase()); 18493 } 18494} 18495function warnForInsertedHydratedElement(parentNode, tag, props) { 18496 { 18497 if (didWarnInvalidHydration) { 18498 return; 18499 } 18500 18501 didWarnInvalidHydration = true; 18502 18503 error('Expected server HTML to contain a matching <%s> in <%s>.', tag, parentNode.nodeName.toLowerCase()); 18504 } 18505} 18506function warnForInsertedHydratedText(parentNode, text) { 18507 { 18508 if (text === '') { 18509 // We expect to insert empty text nodes since they're not represented in 18510 // the HTML. 18511 // TODO: Remove this special case if we can just avoid inserting empty 18512 // text nodes. 18513 return; 18514 } 18515 18516 if (didWarnInvalidHydration) { 18517 return; 18518 } 18519 18520 didWarnInvalidHydration = true; 18521 18522 error('Expected server HTML to contain a matching text node for "%s" in <%s>.', text, parentNode.nodeName.toLowerCase()); 18523 } 18524} 18525function restoreControlledState$3(domElement, tag, props) { 18526 switch (tag) { 18527 case 'input': 18528 restoreControlledState(domElement, props); 18529 return; 18530 18531 case 'textarea': 18532 restoreControlledState$2(domElement, props); 18533 return; 18534 18535 case 'select': 18536 restoreControlledState$1(domElement, props); 18537 return; 18538 } 18539} 18540 18541function getActiveElement(doc) { 18542 doc = doc || (typeof document !== 'undefined' ? document : undefined); 18543 18544 if (typeof doc === 'undefined') { 18545 return null; 18546 } 18547 18548 try { 18549 return doc.activeElement || doc.body; 18550 } catch (e) { 18551 return doc.body; 18552 } 18553} 18554 18555/** 18556 * Given any node return the first leaf node without children. 18557 * 18558 * @param {DOMElement|DOMTextNode} node 18559 * @return {DOMElement|DOMTextNode} 18560 */ 18561 18562function getLeafNode(node) { 18563 while (node && node.firstChild) { 18564 node = node.firstChild; 18565 } 18566 18567 return node; 18568} 18569/** 18570 * Get the next sibling within a container. This will walk up the 18571 * DOM if a node's siblings have been exhausted. 18572 * 18573 * @param {DOMElement|DOMTextNode} node 18574 * @return {?DOMElement|DOMTextNode} 18575 */ 18576 18577 18578function getSiblingNode(node) { 18579 while (node) { 18580 if (node.nextSibling) { 18581 return node.nextSibling; 18582 } 18583 18584 node = node.parentNode; 18585 } 18586} 18587/** 18588 * Get object describing the nodes which contain characters at offset. 18589 * 18590 * @param {DOMElement|DOMTextNode} root 18591 * @param {number} offset 18592 * @return {?object} 18593 */ 18594 18595 18596function getNodeForCharacterOffset(root, offset) { 18597 var node = getLeafNode(root); 18598 var nodeStart = 0; 18599 var nodeEnd = 0; 18600 18601 while (node) { 18602 if (node.nodeType === TEXT_NODE) { 18603 nodeEnd = nodeStart + node.textContent.length; 18604 18605 if (nodeStart <= offset && nodeEnd >= offset) { 18606 return { 18607 node: node, 18608 offset: offset - nodeStart 18609 }; 18610 } 18611 18612 nodeStart = nodeEnd; 18613 } 18614 18615 node = getLeafNode(getSiblingNode(node)); 18616 } 18617} 18618 18619/** 18620 * @param {DOMElement} outerNode 18621 * @return {?object} 18622 */ 18623 18624function getOffsets(outerNode) { 18625 var ownerDocument = outerNode.ownerDocument; 18626 var win = ownerDocument && ownerDocument.defaultView || window; 18627 var selection = win.getSelection && win.getSelection(); 18628 18629 if (!selection || selection.rangeCount === 0) { 18630 return null; 18631 } 18632 18633 var anchorNode = selection.anchorNode, 18634 anchorOffset = selection.anchorOffset, 18635 focusNode = selection.focusNode, 18636 focusOffset = selection.focusOffset; // In Firefox, anchorNode and focusNode can be "anonymous divs", e.g. the 18637 // up/down buttons on an <input type="number">. Anonymous divs do not seem to 18638 // expose properties, triggering a "Permission denied error" if any of its 18639 // properties are accessed. The only seemingly possible way to avoid erroring 18640 // is to access a property that typically works for non-anonymous divs and 18641 // catch any error that may otherwise arise. See 18642 // https://bugzilla.mozilla.org/show_bug.cgi?id=208427 18643 18644 try { 18645 /* eslint-disable no-unused-expressions */ 18646 anchorNode.nodeType; 18647 focusNode.nodeType; 18648 /* eslint-enable no-unused-expressions */ 18649 } catch (e) { 18650 return null; 18651 } 18652 18653 return getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset); 18654} 18655/** 18656 * Returns {start, end} where `start` is the character/codepoint index of 18657 * (anchorNode, anchorOffset) within the textContent of `outerNode`, and 18658 * `end` is the index of (focusNode, focusOffset). 18659 * 18660 * Returns null if you pass in garbage input but we should probably just crash. 18661 * 18662 * Exported only for testing. 18663 */ 18664 18665function getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset) { 18666 var length = 0; 18667 var start = -1; 18668 var end = -1; 18669 var indexWithinAnchor = 0; 18670 var indexWithinFocus = 0; 18671 var node = outerNode; 18672 var parentNode = null; 18673 18674 outer: while (true) { 18675 var next = null; 18676 18677 while (true) { 18678 if (node === anchorNode && (anchorOffset === 0 || node.nodeType === TEXT_NODE)) { 18679 start = length + anchorOffset; 18680 } 18681 18682 if (node === focusNode && (focusOffset === 0 || node.nodeType === TEXT_NODE)) { 18683 end = length + focusOffset; 18684 } 18685 18686 if (node.nodeType === TEXT_NODE) { 18687 length += node.nodeValue.length; 18688 } 18689 18690 if ((next = node.firstChild) === null) { 18691 break; 18692 } // Moving from `node` to its first child `next`. 18693 18694 18695 parentNode = node; 18696 node = next; 18697 } 18698 18699 while (true) { 18700 if (node === outerNode) { 18701 // If `outerNode` has children, this is always the second time visiting 18702 // it. If it has no children, this is still the first loop, and the only 18703 // valid selection is anchorNode and focusNode both equal to this node 18704 // and both offsets 0, in which case we will have handled above. 18705 break outer; 18706 } 18707 18708 if (parentNode === anchorNode && ++indexWithinAnchor === anchorOffset) { 18709 start = length; 18710 } 18711 18712 if (parentNode === focusNode && ++indexWithinFocus === focusOffset) { 18713 end = length; 18714 } 18715 18716 if ((next = node.nextSibling) !== null) { 18717 break; 18718 } 18719 18720 node = parentNode; 18721 parentNode = node.parentNode; 18722 } // Moving from `node` to its next sibling `next`. 18723 18724 18725 node = next; 18726 } 18727 18728 if (start === -1 || end === -1) { 18729 // This should never happen. (Would happen if the anchor/focus nodes aren't 18730 // actually inside the passed-in node.) 18731 return null; 18732 } 18733 18734 return { 18735 start: start, 18736 end: end 18737 }; 18738} 18739/** 18740 * In modern non-IE browsers, we can support both forward and backward 18741 * selections. 18742 * 18743 * Note: IE10+ supports the Selection object, but it does not support 18744 * the `extend` method, which means that even in modern IE, it's not possible 18745 * to programmatically create a backward selection. Thus, for all IE 18746 * versions, we use the old IE API to create our selections. 18747 * 18748 * @param {DOMElement|DOMTextNode} node 18749 * @param {object} offsets 18750 */ 18751 18752function setOffsets(node, offsets) { 18753 var doc = node.ownerDocument || document; 18754 var win = doc && doc.defaultView || window; // Edge fails with "Object expected" in some scenarios. 18755 // (For instance: TinyMCE editor used in a list component that supports pasting to add more, 18756 // fails when pasting 100+ items) 18757 18758 if (!win.getSelection) { 18759 return; 18760 } 18761 18762 var selection = win.getSelection(); 18763 var length = node.textContent.length; 18764 var start = Math.min(offsets.start, length); 18765 var end = offsets.end === undefined ? start : Math.min(offsets.end, length); // IE 11 uses modern selection, but doesn't support the extend method. 18766 // Flip backward selections, so we can set with a single range. 18767 18768 if (!selection.extend && start > end) { 18769 var temp = end; 18770 end = start; 18771 start = temp; 18772 } 18773 18774 var startMarker = getNodeForCharacterOffset(node, start); 18775 var endMarker = getNodeForCharacterOffset(node, end); 18776 18777 if (startMarker && endMarker) { 18778 if (selection.rangeCount === 1 && selection.anchorNode === startMarker.node && selection.anchorOffset === startMarker.offset && selection.focusNode === endMarker.node && selection.focusOffset === endMarker.offset) { 18779 return; 18780 } 18781 18782 var range = doc.createRange(); 18783 range.setStart(startMarker.node, startMarker.offset); 18784 selection.removeAllRanges(); 18785 18786 if (start > end) { 18787 selection.addRange(range); 18788 selection.extend(endMarker.node, endMarker.offset); 18789 } else { 18790 range.setEnd(endMarker.node, endMarker.offset); 18791 selection.addRange(range); 18792 } 18793 } 18794} 18795 18796function isTextNode(node) { 18797 return node && node.nodeType === TEXT_NODE; 18798} 18799 18800function containsNode(outerNode, innerNode) { 18801 if (!outerNode || !innerNode) { 18802 return false; 18803 } else if (outerNode === innerNode) { 18804 return true; 18805 } else if (isTextNode(outerNode)) { 18806 return false; 18807 } else if (isTextNode(innerNode)) { 18808 return containsNode(outerNode, innerNode.parentNode); 18809 } else if ('contains' in outerNode) { 18810 return outerNode.contains(innerNode); 18811 } else if (outerNode.compareDocumentPosition) { 18812 return !!(outerNode.compareDocumentPosition(innerNode) & 16); 18813 } else { 18814 return false; 18815 } 18816} 18817 18818function isInDocument(node) { 18819 return node && node.ownerDocument && containsNode(node.ownerDocument.documentElement, node); 18820} 18821 18822function isSameOriginFrame(iframe) { 18823 try { 18824 // Accessing the contentDocument of a HTMLIframeElement can cause the browser 18825 // to throw, e.g. if it has a cross-origin src attribute. 18826 // Safari will show an error in the console when the access results in "Blocked a frame with origin". e.g: 18827 // iframe.contentDocument.defaultView; 18828 // A safety way is to access one of the cross origin properties: Window or Location 18829 // Which might result in "SecurityError" DOM Exception and it is compatible to Safari. 18830 // https://html.spec.whatwg.org/multipage/browsers.html#integration-with-idl 18831 return typeof iframe.contentWindow.location.href === 'string'; 18832 } catch (err) { 18833 return false; 18834 } 18835} 18836 18837function getActiveElementDeep() { 18838 var win = window; 18839 var element = getActiveElement(); 18840 18841 while (element instanceof win.HTMLIFrameElement) { 18842 if (isSameOriginFrame(element)) { 18843 win = element.contentWindow; 18844 } else { 18845 return element; 18846 } 18847 18848 element = getActiveElement(win.document); 18849 } 18850 18851 return element; 18852} 18853/** 18854 * @ReactInputSelection: React input selection module. Based on Selection.js, 18855 * but modified to be suitable for react and has a couple of bug fixes (doesn't 18856 * assume buttons have range selections allowed). 18857 * Input selection module for React. 18858 */ 18859 18860/** 18861 * @hasSelectionCapabilities: we get the element types that support selection 18862 * from https://html.spec.whatwg.org/#do-not-apply, looking at `selectionStart` 18863 * and `selectionEnd` rows. 18864 */ 18865 18866 18867function hasSelectionCapabilities(elem) { 18868 var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); 18869 return nodeName && (nodeName === 'input' && (elem.type === 'text' || elem.type === 'search' || elem.type === 'tel' || elem.type === 'url' || elem.type === 'password') || nodeName === 'textarea' || elem.contentEditable === 'true'); 18870} 18871function getSelectionInformation() { 18872 var focusedElem = getActiveElementDeep(); 18873 return { 18874 // Used by Flare 18875 activeElementDetached: null, 18876 focusedElem: focusedElem, 18877 selectionRange: hasSelectionCapabilities(focusedElem) ? getSelection(focusedElem) : null 18878 }; 18879} 18880/** 18881 * @restoreSelection: If any selection information was potentially lost, 18882 * restore it. This is useful when performing operations that could remove dom 18883 * nodes and place them back in, resulting in focus being lost. 18884 */ 18885 18886function restoreSelection(priorSelectionInformation) { 18887 var curFocusedElem = getActiveElementDeep(); 18888 var priorFocusedElem = priorSelectionInformation.focusedElem; 18889 var priorSelectionRange = priorSelectionInformation.selectionRange; 18890 18891 if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) { 18892 if (priorSelectionRange !== null && hasSelectionCapabilities(priorFocusedElem)) { 18893 setSelection(priorFocusedElem, priorSelectionRange); 18894 } // Focusing a node can change the scroll position, which is undesirable 18895 18896 18897 var ancestors = []; 18898 var ancestor = priorFocusedElem; 18899 18900 while (ancestor = ancestor.parentNode) { 18901 if (ancestor.nodeType === ELEMENT_NODE) { 18902 ancestors.push({ 18903 element: ancestor, 18904 left: ancestor.scrollLeft, 18905 top: ancestor.scrollTop 18906 }); 18907 } 18908 } 18909 18910 if (typeof priorFocusedElem.focus === 'function') { 18911 priorFocusedElem.focus(); 18912 } 18913 18914 for (var i = 0; i < ancestors.length; i++) { 18915 var info = ancestors[i]; 18916 info.element.scrollLeft = info.left; 18917 info.element.scrollTop = info.top; 18918 } 18919 } 18920} 18921/** 18922 * @getSelection: Gets the selection bounds of a focused textarea, input or 18923 * contentEditable node. 18924 * -@input: Look up selection bounds of this input 18925 * -@return {start: selectionStart, end: selectionEnd} 18926 */ 18927 18928function getSelection(input) { 18929 var selection; 18930 18931 if ('selectionStart' in input) { 18932 // Modern browser with input or textarea. 18933 selection = { 18934 start: input.selectionStart, 18935 end: input.selectionEnd 18936 }; 18937 } else { 18938 // Content editable or old IE textarea. 18939 selection = getOffsets(input); 18940 } 18941 18942 return selection || { 18943 start: 0, 18944 end: 0 18945 }; 18946} 18947/** 18948 * @setSelection: Sets the selection bounds of a textarea or input and focuses 18949 * the input. 18950 * -@input Set selection bounds of this input or textarea 18951 * -@offsets Object of same form that is returned from get* 18952 */ 18953 18954function setSelection(input, offsets) { 18955 var start = offsets.start, 18956 end = offsets.end; 18957 18958 if (end === undefined) { 18959 end = start; 18960 } 18961 18962 if ('selectionStart' in input) { 18963 input.selectionStart = start; 18964 input.selectionEnd = Math.min(end, input.value.length); 18965 } else { 18966 setOffsets(input, offsets); 18967 } 18968} 18969 18970var validateDOMNesting = function () {}; 18971 18972var updatedAncestorInfo = function () {}; 18973 18974{ 18975 // This validation code was written based on the HTML5 parsing spec: 18976 // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope 18977 // 18978 // Note: this does not catch all invalid nesting, nor does it try to (as it's 18979 // not clear what practical benefit doing so provides); instead, we warn only 18980 // for cases where the parser will give a parse tree differing from what React 18981 // intended. For example, <b><div></div></b> is invalid but we don't warn 18982 // because it still parses correctly; we do warn for other cases like nested 18983 // <p> tags where the beginning of the second element implicitly closes the 18984 // first, causing a confusing mess. 18985 // https://html.spec.whatwg.org/multipage/syntax.html#special 18986 var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope 18987 18988 var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template', // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point 18989 // TODO: Distinguish by namespace here -- for <title>, including it here 18990 // errs on the side of fewer warnings 18991 'foreignObject', 'desc', 'title']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope 18992 18993 var buttonScopeTags = inScopeTags.concat(['button']); // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags 18994 18995 var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt']; 18996 var emptyAncestorInfo = { 18997 current: null, 18998 formTag: null, 18999 aTagInScope: null, 19000 buttonTagInScope: null, 19001 nobrTagInScope: null, 19002 pTagInButtonScope: null, 19003 listItemTagAutoclosing: null, 19004 dlItemTagAutoclosing: null 19005 }; 19006 19007 updatedAncestorInfo = function (oldInfo, tag) { 19008 var ancestorInfo = _assign({}, oldInfo || emptyAncestorInfo); 19009 19010 var info = { 19011 tag: tag 19012 }; 19013 19014 if (inScopeTags.indexOf(tag) !== -1) { 19015 ancestorInfo.aTagInScope = null; 19016 ancestorInfo.buttonTagInScope = null; 19017 ancestorInfo.nobrTagInScope = null; 19018 } 19019 19020 if (buttonScopeTags.indexOf(tag) !== -1) { 19021 ancestorInfo.pTagInButtonScope = null; 19022 } // See rules for 'li', 'dd', 'dt' start tags in 19023 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody 19024 19025 19026 if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') { 19027 ancestorInfo.listItemTagAutoclosing = null; 19028 ancestorInfo.dlItemTagAutoclosing = null; 19029 } 19030 19031 ancestorInfo.current = info; 19032 19033 if (tag === 'form') { 19034 ancestorInfo.formTag = info; 19035 } 19036 19037 if (tag === 'a') { 19038 ancestorInfo.aTagInScope = info; 19039 } 19040 19041 if (tag === 'button') { 19042 ancestorInfo.buttonTagInScope = info; 19043 } 19044 19045 if (tag === 'nobr') { 19046 ancestorInfo.nobrTagInScope = info; 19047 } 19048 19049 if (tag === 'p') { 19050 ancestorInfo.pTagInButtonScope = info; 19051 } 19052 19053 if (tag === 'li') { 19054 ancestorInfo.listItemTagAutoclosing = info; 19055 } 19056 19057 if (tag === 'dd' || tag === 'dt') { 19058 ancestorInfo.dlItemTagAutoclosing = info; 19059 } 19060 19061 return ancestorInfo; 19062 }; 19063 /** 19064 * Returns whether 19065 */ 19066 19067 19068 var isTagValidWithParent = function (tag, parentTag) { 19069 // First, let's check if we're in an unusual parsing mode... 19070 switch (parentTag) { 19071 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect 19072 case 'select': 19073 return tag === 'option' || tag === 'optgroup' || tag === '#text'; 19074 19075 case 'optgroup': 19076 return tag === 'option' || tag === '#text'; 19077 // Strictly speaking, seeing an <option> doesn't mean we're in a <select> 19078 // but 19079 19080 case 'option': 19081 return tag === '#text'; 19082 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd 19083 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption 19084 // No special behavior since these rules fall back to "in body" mode for 19085 // all except special table nodes which cause bad parsing behavior anyway. 19086 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr 19087 19088 case 'tr': 19089 return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template'; 19090 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody 19091 19092 case 'tbody': 19093 case 'thead': 19094 case 'tfoot': 19095 return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template'; 19096 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup 19097 19098 case 'colgroup': 19099 return tag === 'col' || tag === 'template'; 19100 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable 19101 19102 case 'table': 19103 return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template'; 19104 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead 19105 19106 case 'head': 19107 return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template'; 19108 // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element 19109 19110 case 'html': 19111 return tag === 'head' || tag === 'body' || tag === 'frameset'; 19112 19113 case 'frameset': 19114 return tag === 'frame'; 19115 19116 case '#document': 19117 return tag === 'html'; 19118 } // Probably in the "in body" parsing mode, so we outlaw only tag combos 19119 // where the parsing rules cause implicit opens or closes to be added. 19120 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody 19121 19122 19123 switch (tag) { 19124 case 'h1': 19125 case 'h2': 19126 case 'h3': 19127 case 'h4': 19128 case 'h5': 19129 case 'h6': 19130 return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6'; 19131 19132 case 'rp': 19133 case 'rt': 19134 return impliedEndTags.indexOf(parentTag) === -1; 19135 19136 case 'body': 19137 case 'caption': 19138 case 'col': 19139 case 'colgroup': 19140 case 'frameset': 19141 case 'frame': 19142 case 'head': 19143 case 'html': 19144 case 'tbody': 19145 case 'td': 19146 case 'tfoot': 19147 case 'th': 19148 case 'thead': 19149 case 'tr': 19150 // These tags are only valid with a few parents that have special child 19151 // parsing rules -- if we're down here, then none of those matched and 19152 // so we allow it only if we don't know what the parent is, as all other 19153 // cases are invalid. 19154 return parentTag == null; 19155 } 19156 19157 return true; 19158 }; 19159 /** 19160 * Returns whether 19161 */ 19162 19163 19164 var findInvalidAncestorForTag = function (tag, ancestorInfo) { 19165 switch (tag) { 19166 case 'address': 19167 case 'article': 19168 case 'aside': 19169 case 'blockquote': 19170 case 'center': 19171 case 'details': 19172 case 'dialog': 19173 case 'dir': 19174 case 'div': 19175 case 'dl': 19176 case 'fieldset': 19177 case 'figcaption': 19178 case 'figure': 19179 case 'footer': 19180 case 'header': 19181 case 'hgroup': 19182 case 'main': 19183 case 'menu': 19184 case 'nav': 19185 case 'ol': 19186 case 'p': 19187 case 'section': 19188 case 'summary': 19189 case 'ul': 19190 case 'pre': 19191 case 'listing': 19192 case 'table': 19193 case 'hr': 19194 case 'xmp': 19195 case 'h1': 19196 case 'h2': 19197 case 'h3': 19198 case 'h4': 19199 case 'h5': 19200 case 'h6': 19201 return ancestorInfo.pTagInButtonScope; 19202 19203 case 'form': 19204 return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope; 19205 19206 case 'li': 19207 return ancestorInfo.listItemTagAutoclosing; 19208 19209 case 'dd': 19210 case 'dt': 19211 return ancestorInfo.dlItemTagAutoclosing; 19212 19213 case 'button': 19214 return ancestorInfo.buttonTagInScope; 19215 19216 case 'a': 19217 // Spec says something about storing a list of markers, but it sounds 19218 // equivalent to this check. 19219 return ancestorInfo.aTagInScope; 19220 19221 case 'nobr': 19222 return ancestorInfo.nobrTagInScope; 19223 } 19224 19225 return null; 19226 }; 19227 19228 var didWarn$1 = {}; 19229 19230 validateDOMNesting = function (childTag, childText, ancestorInfo) { 19231 ancestorInfo = ancestorInfo || emptyAncestorInfo; 19232 var parentInfo = ancestorInfo.current; 19233 var parentTag = parentInfo && parentInfo.tag; 19234 19235 if (childText != null) { 19236 if (childTag != null) { 19237 error('validateDOMNesting: when childText is passed, childTag should be null'); 19238 } 19239 19240 childTag = '#text'; 19241 } 19242 19243 var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo; 19244 var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo); 19245 var invalidParentOrAncestor = invalidParent || invalidAncestor; 19246 19247 if (!invalidParentOrAncestor) { 19248 return; 19249 } 19250 19251 var ancestorTag = invalidParentOrAncestor.tag; 19252 var addendum = getCurrentFiberStackInDev(); 19253 var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag + '|' + addendum; 19254 19255 if (didWarn$1[warnKey]) { 19256 return; 19257 } 19258 19259 didWarn$1[warnKey] = true; 19260 var tagDisplayName = childTag; 19261 var whitespaceInfo = ''; 19262 19263 if (childTag === '#text') { 19264 if (/\S/.test(childText)) { 19265 tagDisplayName = 'Text nodes'; 19266 } else { 19267 tagDisplayName = 'Whitespace text nodes'; 19268 whitespaceInfo = " Make sure you don't have any extra whitespace between tags on " + 'each line of your source code.'; 19269 } 19270 } else { 19271 tagDisplayName = '<' + childTag + '>'; 19272 } 19273 19274 if (invalidParent) { 19275 var info = ''; 19276 19277 if (ancestorTag === 'table' && childTag === 'tr') { 19278 info += ' Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by ' + 'the browser.'; 19279 } 19280 19281 error('validateDOMNesting(...): %s cannot appear as a child of <%s>.%s%s', tagDisplayName, ancestorTag, whitespaceInfo, info); 19282 } else { 19283 error('validateDOMNesting(...): %s cannot appear as a descendant of ' + '<%s>.', tagDisplayName, ancestorTag); 19284 } 19285 }; 19286} 19287 19288var SUPPRESS_HYDRATION_WARNING$1; 19289 19290{ 19291 SUPPRESS_HYDRATION_WARNING$1 = 'suppressHydrationWarning'; 19292} 19293 19294var SUSPENSE_START_DATA = '$'; 19295var SUSPENSE_END_DATA = '/$'; 19296var SUSPENSE_PENDING_START_DATA = '$?'; 19297var SUSPENSE_FALLBACK_START_DATA = '$!'; 19298var STYLE$1 = 'style'; 19299var eventsEnabled = null; 19300var selectionInformation = null; 19301 19302function shouldAutoFocusHostComponent(type, props) { 19303 switch (type) { 19304 case 'button': 19305 case 'input': 19306 case 'select': 19307 case 'textarea': 19308 return !!props.autoFocus; 19309 } 19310 19311 return false; 19312} 19313function getRootHostContext(rootContainerInstance) { 19314 var type; 19315 var namespace; 19316 var nodeType = rootContainerInstance.nodeType; 19317 19318 switch (nodeType) { 19319 case DOCUMENT_NODE: 19320 case DOCUMENT_FRAGMENT_NODE: 19321 { 19322 type = nodeType === DOCUMENT_NODE ? '#document' : '#fragment'; 19323 var root = rootContainerInstance.documentElement; 19324 namespace = root ? root.namespaceURI : getChildNamespace(null, ''); 19325 break; 19326 } 19327 19328 default: 19329 { 19330 var container = nodeType === COMMENT_NODE ? rootContainerInstance.parentNode : rootContainerInstance; 19331 var ownNamespace = container.namespaceURI || null; 19332 type = container.tagName; 19333 namespace = getChildNamespace(ownNamespace, type); 19334 break; 19335 } 19336 } 19337 19338 { 19339 var validatedTag = type.toLowerCase(); 19340 var ancestorInfo = updatedAncestorInfo(null, validatedTag); 19341 return { 19342 namespace: namespace, 19343 ancestorInfo: ancestorInfo 19344 }; 19345 } 19346} 19347function getChildHostContext(parentHostContext, type, rootContainerInstance) { 19348 { 19349 var parentHostContextDev = parentHostContext; 19350 var namespace = getChildNamespace(parentHostContextDev.namespace, type); 19351 var ancestorInfo = updatedAncestorInfo(parentHostContextDev.ancestorInfo, type); 19352 return { 19353 namespace: namespace, 19354 ancestorInfo: ancestorInfo 19355 }; 19356 } 19357} 19358function getPublicInstance(instance) { 19359 return instance; 19360} 19361function prepareForCommit(containerInfo) { 19362 eventsEnabled = isEnabled(); 19363 selectionInformation = getSelectionInformation(); 19364 setEnabled(false); 19365} 19366function resetAfterCommit(containerInfo) { 19367 restoreSelection(selectionInformation); 19368 setEnabled(eventsEnabled); 19369 eventsEnabled = null; 19370 19371 selectionInformation = null; 19372} 19373function createInstance(type, props, rootContainerInstance, hostContext, internalInstanceHandle) { 19374 var parentNamespace; 19375 19376 { 19377 // TODO: take namespace into account when validating. 19378 var hostContextDev = hostContext; 19379 validateDOMNesting(type, null, hostContextDev.ancestorInfo); 19380 19381 if (typeof props.children === 'string' || typeof props.children === 'number') { 19382 var string = '' + props.children; 19383 var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type); 19384 validateDOMNesting(null, string, ownAncestorInfo); 19385 } 19386 19387 parentNamespace = hostContextDev.namespace; 19388 } 19389 19390 var domElement = createElement(type, props, rootContainerInstance, parentNamespace); 19391 precacheFiberNode(internalInstanceHandle, domElement); 19392 updateFiberProps(domElement, props); 19393 return domElement; 19394} 19395function appendInitialChild(parentInstance, child) { 19396 parentInstance.appendChild(child); 19397} 19398function finalizeInitialChildren(domElement, type, props, rootContainerInstance, hostContext) { 19399 setInitialProperties(domElement, type, props, rootContainerInstance); 19400 return shouldAutoFocusHostComponent(type, props); 19401} 19402function prepareUpdate(domElement, type, oldProps, newProps, rootContainerInstance, hostContext) { 19403 { 19404 var hostContextDev = hostContext; 19405 19406 if (typeof newProps.children !== typeof oldProps.children && (typeof newProps.children === 'string' || typeof newProps.children === 'number')) { 19407 var string = '' + newProps.children; 19408 var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type); 19409 validateDOMNesting(null, string, ownAncestorInfo); 19410 } 19411 } 19412 19413 return diffProperties(domElement, type, oldProps, newProps, rootContainerInstance); 19414} 19415function shouldSetTextContent(type, props) { 19416 return type === 'textarea' || type === 'option' || type === 'noscript' || typeof props.children === 'string' || typeof props.children === 'number' || typeof props.dangerouslySetInnerHTML === 'object' && props.dangerouslySetInnerHTML !== null && props.dangerouslySetInnerHTML.__html != null; 19417} 19418function shouldDeprioritizeSubtree(type, props) { 19419 return !!props.hidden; 19420} 19421function createTextInstance(text, rootContainerInstance, hostContext, internalInstanceHandle) { 19422 { 19423 var hostContextDev = hostContext; 19424 validateDOMNesting(null, text, hostContextDev.ancestorInfo); 19425 } 19426 19427 var textNode = createTextNode(text, rootContainerInstance); 19428 precacheFiberNode(internalInstanceHandle, textNode); 19429 return textNode; 19430} 19431// if a component just imports ReactDOM (e.g. for findDOMNode). 19432// Some environments might not have setTimeout or clearTimeout. 19433 19434var scheduleTimeout = typeof setTimeout === 'function' ? setTimeout : undefined; 19435var cancelTimeout = typeof clearTimeout === 'function' ? clearTimeout : undefined; 19436var noTimeout = -1; // ------------------- 19437function commitMount(domElement, type, newProps, internalInstanceHandle) { 19438 // Despite the naming that might imply otherwise, this method only 19439 // fires if there is an `Update` effect scheduled during mounting. 19440 // This happens if `finalizeInitialChildren` returns `true` (which it 19441 // does to implement the `autoFocus` attribute on the client). But 19442 // there are also other cases when this might happen (such as patching 19443 // up text content during hydration mismatch). So we'll check this again. 19444 if (shouldAutoFocusHostComponent(type, newProps)) { 19445 domElement.focus(); 19446 } 19447} 19448function commitUpdate(domElement, updatePayload, type, oldProps, newProps, internalInstanceHandle) { 19449 // Update the props handle so that we know which props are the ones with 19450 // with current event handlers. 19451 updateFiberProps(domElement, newProps); // Apply the diff to the DOM node. 19452 19453 updateProperties(domElement, updatePayload, type, oldProps, newProps); 19454} 19455function resetTextContent(domElement) { 19456 setTextContent(domElement, ''); 19457} 19458function commitTextUpdate(textInstance, oldText, newText) { 19459 textInstance.nodeValue = newText; 19460} 19461function appendChild(parentInstance, child) { 19462 parentInstance.appendChild(child); 19463} 19464function appendChildToContainer(container, child) { 19465 var parentNode; 19466 19467 if (container.nodeType === COMMENT_NODE) { 19468 parentNode = container.parentNode; 19469 parentNode.insertBefore(child, container); 19470 } else { 19471 parentNode = container; 19472 parentNode.appendChild(child); 19473 } // This container might be used for a portal. 19474 // If something inside a portal is clicked, that click should bubble 19475 // through the React tree. However, on Mobile Safari the click would 19476 // never bubble through the *DOM* tree unless an ancestor with onclick 19477 // event exists. So we wouldn't see it and dispatch it. 19478 // This is why we ensure that non React root containers have inline onclick 19479 // defined. 19480 // https://github.com/facebook/react/issues/11918 19481 19482 19483 var reactRootContainer = container._reactRootContainer; 19484 19485 if ((reactRootContainer === null || reactRootContainer === undefined) && parentNode.onclick === null) { 19486 // TODO: This cast may not be sound for SVG, MathML or custom elements. 19487 trapClickOnNonInteractiveElement(parentNode); 19488 } 19489} 19490function insertBefore(parentInstance, child, beforeChild) { 19491 parentInstance.insertBefore(child, beforeChild); 19492} 19493function insertInContainerBefore(container, child, beforeChild) { 19494 if (container.nodeType === COMMENT_NODE) { 19495 container.parentNode.insertBefore(child, beforeChild); 19496 } else { 19497 container.insertBefore(child, beforeChild); 19498 } 19499} 19500function removeChild(parentInstance, child) { 19501 parentInstance.removeChild(child); 19502} 19503function removeChildFromContainer(container, child) { 19504 if (container.nodeType === COMMENT_NODE) { 19505 container.parentNode.removeChild(child); 19506 } else { 19507 container.removeChild(child); 19508 } 19509} 19510 19511function hideInstance(instance) { 19512 // pass host context to this method? 19513 19514 19515 instance = instance; 19516 var style = instance.style; 19517 19518 if (typeof style.setProperty === 'function') { 19519 style.setProperty('display', 'none', 'important'); 19520 } else { 19521 style.display = 'none'; 19522 } 19523} 19524function hideTextInstance(textInstance) { 19525 textInstance.nodeValue = ''; 19526} 19527function unhideInstance(instance, props) { 19528 instance = instance; 19529 var styleProp = props[STYLE$1]; 19530 var display = styleProp !== undefined && styleProp !== null && styleProp.hasOwnProperty('display') ? styleProp.display : null; 19531 instance.style.display = dangerousStyleValue('display', display); 19532} 19533function unhideTextInstance(textInstance, text) { 19534 textInstance.nodeValue = text; 19535} // ------------------- 19536function canHydrateInstance(instance, type, props) { 19537 if (instance.nodeType !== ELEMENT_NODE || type.toLowerCase() !== instance.nodeName.toLowerCase()) { 19538 return null; 19539 } // This has now been refined to an element node. 19540 19541 19542 return instance; 19543} 19544function canHydrateTextInstance(instance, text) { 19545 if (text === '' || instance.nodeType !== TEXT_NODE) { 19546 // Empty strings are not parsed by HTML so there won't be a correct match here. 19547 return null; 19548 } // This has now been refined to a text node. 19549 19550 19551 return instance; 19552} 19553function isSuspenseInstancePending(instance) { 19554 return instance.data === SUSPENSE_PENDING_START_DATA; 19555} 19556function isSuspenseInstanceFallback(instance) { 19557 return instance.data === SUSPENSE_FALLBACK_START_DATA; 19558} 19559 19560function getNextHydratable(node) { 19561 // Skip non-hydratable nodes. 19562 for (; node != null; node = node.nextSibling) { 19563 var nodeType = node.nodeType; 19564 19565 if (nodeType === ELEMENT_NODE || nodeType === TEXT_NODE) { 19566 break; 19567 } 19568 } 19569 19570 return node; 19571} 19572 19573function getNextHydratableSibling(instance) { 19574 return getNextHydratable(instance.nextSibling); 19575} 19576function getFirstHydratableChild(parentInstance) { 19577 return getNextHydratable(parentInstance.firstChild); 19578} 19579function hydrateInstance(instance, type, props, rootContainerInstance, hostContext, internalInstanceHandle) { 19580 precacheFiberNode(internalInstanceHandle, instance); // TODO: Possibly defer this until the commit phase where all the events 19581 // get attached. 19582 19583 updateFiberProps(instance, props); 19584 var parentNamespace; 19585 19586 { 19587 var hostContextDev = hostContext; 19588 parentNamespace = hostContextDev.namespace; 19589 } 19590 19591 return diffHydratedProperties(instance, type, props, parentNamespace, rootContainerInstance); 19592} 19593function hydrateTextInstance(textInstance, text, internalInstanceHandle) { 19594 precacheFiberNode(internalInstanceHandle, textInstance); 19595 return diffHydratedText(textInstance, text); 19596} 19597function getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance) { 19598 var node = suspenseInstance.nextSibling; // Skip past all nodes within this suspense boundary. 19599 // There might be nested nodes so we need to keep track of how 19600 // deep we are and only break out when we're back on top. 19601 19602 var depth = 0; 19603 19604 while (node) { 19605 if (node.nodeType === COMMENT_NODE) { 19606 var data = node.data; 19607 19608 if (data === SUSPENSE_END_DATA) { 19609 if (depth === 0) { 19610 return getNextHydratableSibling(node); 19611 } else { 19612 depth--; 19613 } 19614 } else if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) { 19615 depth++; 19616 } 19617 } 19618 19619 node = node.nextSibling; 19620 } // TODO: Warn, we didn't find the end comment boundary. 19621 19622 19623 return null; 19624} // Returns the SuspenseInstance if this node is a direct child of a 19625// SuspenseInstance. I.e. if its previous sibling is a Comment with 19626// SUSPENSE_x_START_DATA. Otherwise, null. 19627 19628function getParentSuspenseInstance(targetInstance) { 19629 var node = targetInstance.previousSibling; // Skip past all nodes within this suspense boundary. 19630 // There might be nested nodes so we need to keep track of how 19631 // deep we are and only break out when we're back on top. 19632 19633 var depth = 0; 19634 19635 while (node) { 19636 if (node.nodeType === COMMENT_NODE) { 19637 var data = node.data; 19638 19639 if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) { 19640 if (depth === 0) { 19641 return node; 19642 } else { 19643 depth--; 19644 } 19645 } else if (data === SUSPENSE_END_DATA) { 19646 depth++; 19647 } 19648 } 19649 19650 node = node.previousSibling; 19651 } 19652 19653 return null; 19654} 19655function commitHydratedContainer(container) { 19656 // Retry if any event replaying was blocked on this. 19657 retryIfBlockedOn(container); 19658} 19659function commitHydratedSuspenseInstance(suspenseInstance) { 19660 // Retry if any event replaying was blocked on this. 19661 retryIfBlockedOn(suspenseInstance); 19662} 19663function didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, text) { 19664 { 19665 warnForUnmatchedText(textInstance, text); 19666 } 19667} 19668function didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, text) { 19669 if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) { 19670 warnForUnmatchedText(textInstance, text); 19671 } 19672} 19673function didNotHydrateContainerInstance(parentContainer, instance) { 19674 { 19675 if (instance.nodeType === ELEMENT_NODE) { 19676 warnForDeletedHydratableElement(parentContainer, instance); 19677 } else if (instance.nodeType === COMMENT_NODE) ; else { 19678 warnForDeletedHydratableText(parentContainer, instance); 19679 } 19680 } 19681} 19682function didNotHydrateInstance(parentType, parentProps, parentInstance, instance) { 19683 if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) { 19684 if (instance.nodeType === ELEMENT_NODE) { 19685 warnForDeletedHydratableElement(parentInstance, instance); 19686 } else if (instance.nodeType === COMMENT_NODE) ; else { 19687 warnForDeletedHydratableText(parentInstance, instance); 19688 } 19689 } 19690} 19691function didNotFindHydratableContainerInstance(parentContainer, type, props) { 19692 { 19693 warnForInsertedHydratedElement(parentContainer, type); 19694 } 19695} 19696function didNotFindHydratableContainerTextInstance(parentContainer, text) { 19697 { 19698 warnForInsertedHydratedText(parentContainer, text); 19699 } 19700} 19701function didNotFindHydratableInstance(parentType, parentProps, parentInstance, type, props) { 19702 if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) { 19703 warnForInsertedHydratedElement(parentInstance, type); 19704 } 19705} 19706function didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, text) { 19707 if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) { 19708 warnForInsertedHydratedText(parentInstance, text); 19709 } 19710} 19711function didNotFindHydratableSuspenseInstance(parentType, parentProps, parentInstance) { 19712 if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) ; 19713} 19714 19715var randomKey = Math.random().toString(36).slice(2); 19716var internalInstanceKey = '__reactInternalInstance$' + randomKey; 19717var internalEventHandlersKey = '__reactEventHandlers$' + randomKey; 19718var internalContainerInstanceKey = '__reactContainere$' + randomKey; 19719function precacheFiberNode(hostInst, node) { 19720 node[internalInstanceKey] = hostInst; 19721} 19722function markContainerAsRoot(hostRoot, node) { 19723 node[internalContainerInstanceKey] = hostRoot; 19724} 19725function unmarkContainerAsRoot(node) { 19726 node[internalContainerInstanceKey] = null; 19727} 19728function isContainerMarkedAsRoot(node) { 19729 return !!node[internalContainerInstanceKey]; 19730} // Given a DOM node, return the closest HostComponent or HostText fiber ancestor. 19731// If the target node is part of a hydrated or not yet rendered subtree, then 19732// this may also return a SuspenseComponent or HostRoot to indicate that. 19733// Conceptually the HostRoot fiber is a child of the Container node. So if you 19734// pass the Container node as the targetNode, you will not actually get the 19735// HostRoot back. To get to the HostRoot, you need to pass a child of it. 19736// The same thing applies to Suspense boundaries. 19737 19738function getClosestInstanceFromNode(targetNode) { 19739 var targetInst = targetNode[internalInstanceKey]; 19740 19741 if (targetInst) { 19742 // Don't return HostRoot or SuspenseComponent here. 19743 return targetInst; 19744 } // If the direct event target isn't a React owned DOM node, we need to look 19745 // to see if one of its parents is a React owned DOM node. 19746 19747 19748 var parentNode = targetNode.parentNode; 19749 19750 while (parentNode) { 19751 // We'll check if this is a container root that could include 19752 // React nodes in the future. We need to check this first because 19753 // if we're a child of a dehydrated container, we need to first 19754 // find that inner container before moving on to finding the parent 19755 // instance. Note that we don't check this field on the targetNode 19756 // itself because the fibers are conceptually between the container 19757 // node and the first child. It isn't surrounding the container node. 19758 // If it's not a container, we check if it's an instance. 19759 targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey]; 19760 19761 if (targetInst) { 19762 // Since this wasn't the direct target of the event, we might have 19763 // stepped past dehydrated DOM nodes to get here. However they could 19764 // also have been non-React nodes. We need to answer which one. 19765 // If we the instance doesn't have any children, then there can't be 19766 // a nested suspense boundary within it. So we can use this as a fast 19767 // bailout. Most of the time, when people add non-React children to 19768 // the tree, it is using a ref to a child-less DOM node. 19769 // Normally we'd only need to check one of the fibers because if it 19770 // has ever gone from having children to deleting them or vice versa 19771 // it would have deleted the dehydrated boundary nested inside already. 19772 // However, since the HostRoot starts out with an alternate it might 19773 // have one on the alternate so we need to check in case this was a 19774 // root. 19775 var alternate = targetInst.alternate; 19776 19777 if (targetInst.child !== null || alternate !== null && alternate.child !== null) { 19778 // Next we need to figure out if the node that skipped past is 19779 // nested within a dehydrated boundary and if so, which one. 19780 var suspenseInstance = getParentSuspenseInstance(targetNode); 19781 19782 while (suspenseInstance !== null) { 19783 // We found a suspense instance. That means that we haven't 19784 // hydrated it yet. Even though we leave the comments in the 19785 // DOM after hydrating, and there are boundaries in the DOM 19786 // that could already be hydrated, we wouldn't have found them 19787 // through this pass since if the target is hydrated it would 19788 // have had an internalInstanceKey on it. 19789 // Let's get the fiber associated with the SuspenseComponent 19790 // as the deepest instance. 19791 var targetSuspenseInst = suspenseInstance[internalInstanceKey]; 19792 19793 if (targetSuspenseInst) { 19794 return targetSuspenseInst; 19795 } // If we don't find a Fiber on the comment, it might be because 19796 // we haven't gotten to hydrate it yet. There might still be a 19797 // parent boundary that hasn't above this one so we need to find 19798 // the outer most that is known. 19799 19800 19801 suspenseInstance = getParentSuspenseInstance(suspenseInstance); // If we don't find one, then that should mean that the parent 19802 // host component also hasn't hydrated yet. We can return it 19803 // below since it will bail out on the isMounted check later. 19804 } 19805 } 19806 19807 return targetInst; 19808 } 19809 19810 targetNode = parentNode; 19811 parentNode = targetNode.parentNode; 19812 } 19813 19814 return null; 19815} 19816/** 19817 * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent 19818 * instance, or null if the node was not rendered by this React. 19819 */ 19820 19821function getInstanceFromNode$1(node) { 19822 var inst = node[internalInstanceKey] || node[internalContainerInstanceKey]; 19823 19824 if (inst) { 19825 if (inst.tag === HostComponent || inst.tag === HostText || inst.tag === SuspenseComponent || inst.tag === HostRoot) { 19826 return inst; 19827 } else { 19828 return null; 19829 } 19830 } 19831 19832 return null; 19833} 19834/** 19835 * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding 19836 * DOM node. 19837 */ 19838 19839function getNodeFromInstance$1(inst) { 19840 if (inst.tag === HostComponent || inst.tag === HostText) { 19841 // In Fiber this, is just the state node right now. We assume it will be 19842 // a host component or host text. 19843 return inst.stateNode; 19844 } // Without this first invariant, passing a non-DOM-component triggers the next 19845 // invariant for a missing parent, which is super confusing. 19846 19847 19848 { 19849 { 19850 throw Error( "getNodeFromInstance: Invalid argument." ); 19851 } 19852 } 19853} 19854function getFiberCurrentPropsFromNode$1(node) { 19855 return node[internalEventHandlersKey] || null; 19856} 19857function updateFiberProps(node, props) { 19858 node[internalEventHandlersKey] = props; 19859} 19860 19861function getParent(inst) { 19862 do { 19863 inst = inst.return; // TODO: If this is a HostRoot we might want to bail out. 19864 // That is depending on if we want nested subtrees (layers) to bubble 19865 // events to their parent. We could also go through parentNode on the 19866 // host node but that wouldn't work for React Native and doesn't let us 19867 // do the portal feature. 19868 } while (inst && inst.tag !== HostComponent); 19869 19870 if (inst) { 19871 return inst; 19872 } 19873 19874 return null; 19875} 19876/** 19877 * Return the lowest common ancestor of A and B, or null if they are in 19878 * different trees. 19879 */ 19880 19881 19882function getLowestCommonAncestor(instA, instB) { 19883 var depthA = 0; 19884 19885 for (var tempA = instA; tempA; tempA = getParent(tempA)) { 19886 depthA++; 19887 } 19888 19889 var depthB = 0; 19890 19891 for (var tempB = instB; tempB; tempB = getParent(tempB)) { 19892 depthB++; 19893 } // If A is deeper, crawl up. 19894 19895 19896 while (depthA - depthB > 0) { 19897 instA = getParent(instA); 19898 depthA--; 19899 } // If B is deeper, crawl up. 19900 19901 19902 while (depthB - depthA > 0) { 19903 instB = getParent(instB); 19904 depthB--; 19905 } // Walk in lockstep until we find a match. 19906 19907 19908 var depth = depthA; 19909 19910 while (depth--) { 19911 if (instA === instB || instA === instB.alternate) { 19912 return instA; 19913 } 19914 19915 instA = getParent(instA); 19916 instB = getParent(instB); 19917 } 19918 19919 return null; 19920} 19921/** 19922 * Simulates the traversal of a two-phase, capture/bubble event dispatch. 19923 */ 19924 19925function traverseTwoPhase(inst, fn, arg) { 19926 var path = []; 19927 19928 while (inst) { 19929 path.push(inst); 19930 inst = getParent(inst); 19931 } 19932 19933 var i; 19934 19935 for (i = path.length; i-- > 0;) { 19936 fn(path[i], 'captured', arg); 19937 } 19938 19939 for (i = 0; i < path.length; i++) { 19940 fn(path[i], 'bubbled', arg); 19941 } 19942} 19943/** 19944 * Traverses the ID hierarchy and invokes the supplied `cb` on any IDs that 19945 * should would receive a `mouseEnter` or `mouseLeave` event. 19946 * 19947 * Does not invoke the callback on the nearest common ancestor because nothing 19948 * "entered" or "left" that element. 19949 */ 19950 19951function traverseEnterLeave(from, to, fn, argFrom, argTo) { 19952 var common = from && to ? getLowestCommonAncestor(from, to) : null; 19953 var pathFrom = []; 19954 19955 while (true) { 19956 if (!from) { 19957 break; 19958 } 19959 19960 if (from === common) { 19961 break; 19962 } 19963 19964 var alternate = from.alternate; 19965 19966 if (alternate !== null && alternate === common) { 19967 break; 19968 } 19969 19970 pathFrom.push(from); 19971 from = getParent(from); 19972 } 19973 19974 var pathTo = []; 19975 19976 while (true) { 19977 if (!to) { 19978 break; 19979 } 19980 19981 if (to === common) { 19982 break; 19983 } 19984 19985 var _alternate = to.alternate; 19986 19987 if (_alternate !== null && _alternate === common) { 19988 break; 19989 } 19990 19991 pathTo.push(to); 19992 to = getParent(to); 19993 } 19994 19995 for (var i = 0; i < pathFrom.length; i++) { 19996 fn(pathFrom[i], 'bubbled', argFrom); 19997 } 19998 19999 for (var _i = pathTo.length; _i-- > 0;) { 20000 fn(pathTo[_i], 'captured', argTo); 20001 } 20002} 20003 20004function isInteractive(tag) { 20005 return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea'; 20006} 20007 20008function shouldPreventMouseEvent(name, type, props) { 20009 switch (name) { 20010 case 'onClick': 20011 case 'onClickCapture': 20012 case 'onDoubleClick': 20013 case 'onDoubleClickCapture': 20014 case 'onMouseDown': 20015 case 'onMouseDownCapture': 20016 case 'onMouseMove': 20017 case 'onMouseMoveCapture': 20018 case 'onMouseUp': 20019 case 'onMouseUpCapture': 20020 case 'onMouseEnter': 20021 return !!(props.disabled && isInteractive(type)); 20022 20023 default: 20024 return false; 20025 } 20026} 20027/** 20028 * @param {object} inst The instance, which is the source of events. 20029 * @param {string} registrationName Name of listener (e.g. `onClick`). 20030 * @return {?function} The stored callback. 20031 */ 20032 20033 20034function getListener(inst, registrationName) { 20035 var listener; // TODO: shouldPreventMouseEvent is DOM-specific and definitely should not 20036 // live here; needs to be moved to a better place soon 20037 20038 var stateNode = inst.stateNode; 20039 20040 if (!stateNode) { 20041 // Work in progress (ex: onload events in incremental mode). 20042 return null; 20043 } 20044 20045 var props = getFiberCurrentPropsFromNode(stateNode); 20046 20047 if (!props) { 20048 // Work in progress. 20049 return null; 20050 } 20051 20052 listener = props[registrationName]; 20053 20054 if (shouldPreventMouseEvent(registrationName, inst.type, props)) { 20055 return null; 20056 } 20057 20058 if (!(!listener || typeof listener === 'function')) { 20059 { 20060 throw Error( "Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof listener + "` type." ); 20061 } 20062 } 20063 20064 return listener; 20065} 20066 20067/** 20068 * Some event types have a notion of different registration names for different 20069 * "phases" of propagation. This finds listeners by a given phase. 20070 */ 20071function listenerAtPhase(inst, event, propagationPhase) { 20072 var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase]; 20073 return getListener(inst, registrationName); 20074} 20075/** 20076 * A small set of propagation patterns, each of which will accept a small amount 20077 * of information, and generate a set of "dispatch ready event objects" - which 20078 * are sets of events that have already been annotated with a set of dispatched 20079 * listener functions/ids. The API is designed this way to discourage these 20080 * propagation strategies from actually executing the dispatches, since we 20081 * always want to collect the entire set of dispatches before executing even a 20082 * single one. 20083 */ 20084 20085/** 20086 * Tags a `SyntheticEvent` with dispatched listeners. Creating this function 20087 * here, allows us to not have to bind or create functions for each event. 20088 * Mutating the event's members allows us to not have to create a wrapping 20089 * "dispatch" object that pairs the event with the listener. 20090 */ 20091 20092 20093function accumulateDirectionalDispatches(inst, phase, event) { 20094 { 20095 if (!inst) { 20096 error('Dispatching inst must not be null'); 20097 } 20098 } 20099 20100 var listener = listenerAtPhase(inst, event, phase); 20101 20102 if (listener) { 20103 event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); 20104 event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); 20105 } 20106} 20107/** 20108 * Collect dispatches (must be entirely collected before dispatching - see unit 20109 * tests). Lazily allocate the array to conserve memory. We must loop through 20110 * each event and perform the traversal for each one. We cannot perform a 20111 * single traversal for the entire collection of events because each event may 20112 * have a different target. 20113 */ 20114 20115 20116function accumulateTwoPhaseDispatchesSingle(event) { 20117 if (event && event.dispatchConfig.phasedRegistrationNames) { 20118 traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event); 20119 } 20120} 20121/** 20122 * Accumulates without regard to direction, does not look for phased 20123 * registration names. Same as `accumulateDirectDispatchesSingle` but without 20124 * requiring that the `dispatchMarker` be the same as the dispatched ID. 20125 */ 20126 20127 20128function accumulateDispatches(inst, ignoredDirection, event) { 20129 if (inst && event && event.dispatchConfig.registrationName) { 20130 var registrationName = event.dispatchConfig.registrationName; 20131 var listener = getListener(inst, registrationName); 20132 20133 if (listener) { 20134 event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); 20135 event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); 20136 } 20137 } 20138} 20139/** 20140 * Accumulates dispatches on an `SyntheticEvent`, but only for the 20141 * `dispatchMarker`. 20142 * @param {SyntheticEvent} event 20143 */ 20144 20145 20146function accumulateDirectDispatchesSingle(event) { 20147 if (event && event.dispatchConfig.registrationName) { 20148 accumulateDispatches(event._targetInst, null, event); 20149 } 20150} 20151 20152function accumulateTwoPhaseDispatches(events) { 20153 forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle); 20154} 20155function accumulateEnterLeaveDispatches(leave, enter, from, to) { 20156 traverseEnterLeave(from, to, accumulateDispatches, leave, enter); 20157} 20158function accumulateDirectDispatches(events) { 20159 forEachAccumulated(events, accumulateDirectDispatchesSingle); 20160} 20161 20162/** 20163 * These variables store information about text content of a target node, 20164 * allowing comparison of content before and after a given event. 20165 * 20166 * Identify the node where selection currently begins, then observe 20167 * both its text content and its current position in the DOM. Since the 20168 * browser may natively replace the target node during composition, we can 20169 * use its position to find its replacement. 20170 * 20171 * 20172 */ 20173var root = null; 20174var startText = null; 20175var fallbackText = null; 20176function initialize(nativeEventTarget) { 20177 root = nativeEventTarget; 20178 startText = getText(); 20179 return true; 20180} 20181function reset() { 20182 root = null; 20183 startText = null; 20184 fallbackText = null; 20185} 20186function getData() { 20187 if (fallbackText) { 20188 return fallbackText; 20189 } 20190 20191 var start; 20192 var startValue = startText; 20193 var startLength = startValue.length; 20194 var end; 20195 var endValue = getText(); 20196 var endLength = endValue.length; 20197 20198 for (start = 0; start < startLength; start++) { 20199 if (startValue[start] !== endValue[start]) { 20200 break; 20201 } 20202 } 20203 20204 var minEnd = startLength - start; 20205 20206 for (end = 1; end <= minEnd; end++) { 20207 if (startValue[startLength - end] !== endValue[endLength - end]) { 20208 break; 20209 } 20210 } 20211 20212 var sliceTail = end > 1 ? 1 - end : undefined; 20213 fallbackText = endValue.slice(start, sliceTail); 20214 return fallbackText; 20215} 20216function getText() { 20217 if ('value' in root) { 20218 return root.value; 20219 } 20220 20221 return root.textContent; 20222} 20223 20224var EVENT_POOL_SIZE = 10; 20225/** 20226 * @interface Event 20227 * @see http://www.w3.org/TR/DOM-Level-3-Events/ 20228 */ 20229 20230var EventInterface = { 20231 type: null, 20232 target: null, 20233 // currentTarget is set when dispatching; no use in copying it here 20234 currentTarget: function () { 20235 return null; 20236 }, 20237 eventPhase: null, 20238 bubbles: null, 20239 cancelable: null, 20240 timeStamp: function (event) { 20241 return event.timeStamp || Date.now(); 20242 }, 20243 defaultPrevented: null, 20244 isTrusted: null 20245}; 20246 20247function functionThatReturnsTrue() { 20248 return true; 20249} 20250 20251function functionThatReturnsFalse() { 20252 return false; 20253} 20254/** 20255 * Synthetic events are dispatched by event plugins, typically in response to a 20256 * top-level event delegation handler. 20257 * 20258 * These systems should generally use pooling to reduce the frequency of garbage 20259 * collection. The system should check `isPersistent` to determine whether the 20260 * event should be released into the pool after being dispatched. Users that 20261 * need a persisted event should invoke `persist`. 20262 * 20263 * Synthetic events (and subclasses) implement the DOM Level 3 Events API by 20264 * normalizing browser quirks. Subclasses do not necessarily have to implement a 20265 * DOM interface; custom application-specific events can also subclass this. 20266 * 20267 * @param {object} dispatchConfig Configuration used to dispatch this event. 20268 * @param {*} targetInst Marker identifying the event target. 20269 * @param {object} nativeEvent Native browser event. 20270 * @param {DOMEventTarget} nativeEventTarget Target node. 20271 */ 20272 20273 20274function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) { 20275 { 20276 // these have a getter/setter for warnings 20277 delete this.nativeEvent; 20278 delete this.preventDefault; 20279 delete this.stopPropagation; 20280 delete this.isDefaultPrevented; 20281 delete this.isPropagationStopped; 20282 } 20283 20284 this.dispatchConfig = dispatchConfig; 20285 this._targetInst = targetInst; 20286 this.nativeEvent = nativeEvent; 20287 var Interface = this.constructor.Interface; 20288 20289 for (var propName in Interface) { 20290 if (!Interface.hasOwnProperty(propName)) { 20291 continue; 20292 } 20293 20294 { 20295 delete this[propName]; // this has a getter/setter for warnings 20296 } 20297 20298 var normalize = Interface[propName]; 20299 20300 if (normalize) { 20301 this[propName] = normalize(nativeEvent); 20302 } else { 20303 if (propName === 'target') { 20304 this.target = nativeEventTarget; 20305 } else { 20306 this[propName] = nativeEvent[propName]; 20307 } 20308 } 20309 } 20310 20311 var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false; 20312 20313 if (defaultPrevented) { 20314 this.isDefaultPrevented = functionThatReturnsTrue; 20315 } else { 20316 this.isDefaultPrevented = functionThatReturnsFalse; 20317 } 20318 20319 this.isPropagationStopped = functionThatReturnsFalse; 20320 return this; 20321} 20322 20323_assign(SyntheticEvent.prototype, { 20324 preventDefault: function () { 20325 this.defaultPrevented = true; 20326 var event = this.nativeEvent; 20327 20328 if (!event) { 20329 return; 20330 } 20331 20332 if (event.preventDefault) { 20333 event.preventDefault(); 20334 } else if (typeof event.returnValue !== 'unknown') { 20335 event.returnValue = false; 20336 } 20337 20338 this.isDefaultPrevented = functionThatReturnsTrue; 20339 }, 20340 stopPropagation: function () { 20341 var event = this.nativeEvent; 20342 20343 if (!event) { 20344 return; 20345 } 20346 20347 if (event.stopPropagation) { 20348 event.stopPropagation(); 20349 } else if (typeof event.cancelBubble !== 'unknown') { 20350 // The ChangeEventPlugin registers a "propertychange" event for 20351 // IE. This event does not support bubbling or cancelling, and 20352 // any references to cancelBubble throw "Member not found". A 20353 // typeof check of "unknown" circumvents this issue (and is also 20354 // IE specific). 20355 event.cancelBubble = true; 20356 } 20357 20358 this.isPropagationStopped = functionThatReturnsTrue; 20359 }, 20360 20361 /** 20362 * We release all dispatched `SyntheticEvent`s after each event loop, adding 20363 * them back into the pool. This allows a way to hold onto a reference that 20364 * won't be added back into the pool. 20365 */ 20366 persist: function () { 20367 this.isPersistent = functionThatReturnsTrue; 20368 }, 20369 20370 /** 20371 * Checks if this event should be released back into the pool. 20372 * 20373 * @return {boolean} True if this should not be released, false otherwise. 20374 */ 20375 isPersistent: functionThatReturnsFalse, 20376 20377 /** 20378 * `PooledClass` looks for `destructor` on each instance it releases. 20379 */ 20380 destructor: function () { 20381 var Interface = this.constructor.Interface; 20382 20383 for (var propName in Interface) { 20384 { 20385 Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName])); 20386 } 20387 } 20388 20389 this.dispatchConfig = null; 20390 this._targetInst = null; 20391 this.nativeEvent = null; 20392 this.isDefaultPrevented = functionThatReturnsFalse; 20393 this.isPropagationStopped = functionThatReturnsFalse; 20394 this._dispatchListeners = null; 20395 this._dispatchInstances = null; 20396 20397 { 20398 Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null)); 20399 Object.defineProperty(this, 'isDefaultPrevented', getPooledWarningPropertyDefinition('isDefaultPrevented', functionThatReturnsFalse)); 20400 Object.defineProperty(this, 'isPropagationStopped', getPooledWarningPropertyDefinition('isPropagationStopped', functionThatReturnsFalse)); 20401 Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', function () {})); 20402 Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', function () {})); 20403 } 20404 } 20405}); 20406 20407SyntheticEvent.Interface = EventInterface; 20408/** 20409 * Helper to reduce boilerplate when creating subclasses. 20410 */ 20411 20412SyntheticEvent.extend = function (Interface) { 20413 var Super = this; 20414 20415 var E = function () {}; 20416 20417 E.prototype = Super.prototype; 20418 var prototype = new E(); 20419 20420 function Class() { 20421 return Super.apply(this, arguments); 20422 } 20423 20424 _assign(prototype, Class.prototype); 20425 20426 Class.prototype = prototype; 20427 Class.prototype.constructor = Class; 20428 Class.Interface = _assign({}, Super.Interface, Interface); 20429 Class.extend = Super.extend; 20430 addEventPoolingTo(Class); 20431 return Class; 20432}; 20433 20434addEventPoolingTo(SyntheticEvent); 20435/** 20436 * Helper to nullify syntheticEvent instance properties when destructing 20437 * 20438 * @param {String} propName 20439 * @param {?object} getVal 20440 * @return {object} defineProperty object 20441 */ 20442 20443function getPooledWarningPropertyDefinition(propName, getVal) { 20444 var isFunction = typeof getVal === 'function'; 20445 return { 20446 configurable: true, 20447 set: set, 20448 get: get 20449 }; 20450 20451 function set(val) { 20452 var action = isFunction ? 'setting the method' : 'setting the property'; 20453 warn(action, 'This is effectively a no-op'); 20454 return val; 20455 } 20456 20457 function get() { 20458 var action = isFunction ? 'accessing the method' : 'accessing the property'; 20459 var result = isFunction ? 'This is a no-op function' : 'This is set to null'; 20460 warn(action, result); 20461 return getVal; 20462 } 20463 20464 function warn(action, result) { 20465 { 20466 error("This synthetic event is reused for performance reasons. If you're seeing this, " + "you're %s `%s` on a released/nullified synthetic event. %s. " + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result); 20467 } 20468 } 20469} 20470 20471function getPooledEvent(dispatchConfig, targetInst, nativeEvent, nativeInst) { 20472 var EventConstructor = this; 20473 20474 if (EventConstructor.eventPool.length) { 20475 var instance = EventConstructor.eventPool.pop(); 20476 EventConstructor.call(instance, dispatchConfig, targetInst, nativeEvent, nativeInst); 20477 return instance; 20478 } 20479 20480 return new EventConstructor(dispatchConfig, targetInst, nativeEvent, nativeInst); 20481} 20482 20483function releasePooledEvent(event) { 20484 var EventConstructor = this; 20485 20486 if (!(event instanceof EventConstructor)) { 20487 { 20488 throw Error( "Trying to release an event instance into a pool of a different type." ); 20489 } 20490 } 20491 20492 event.destructor(); 20493 20494 if (EventConstructor.eventPool.length < EVENT_POOL_SIZE) { 20495 EventConstructor.eventPool.push(event); 20496 } 20497} 20498 20499function addEventPoolingTo(EventConstructor) { 20500 EventConstructor.eventPool = []; 20501 EventConstructor.getPooled = getPooledEvent; 20502 EventConstructor.release = releasePooledEvent; 20503} 20504 20505/** 20506 * @interface Event 20507 * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents 20508 */ 20509 20510var SyntheticCompositionEvent = SyntheticEvent.extend({ 20511 data: null 20512}); 20513 20514/** 20515 * @interface Event 20516 * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105 20517 * /#events-inputevents 20518 */ 20519 20520var SyntheticInputEvent = SyntheticEvent.extend({ 20521 data: null 20522}); 20523 20524var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space 20525 20526var START_KEYCODE = 229; 20527var canUseCompositionEvent = canUseDOM && 'CompositionEvent' in window; 20528var documentMode = null; 20529 20530if (canUseDOM && 'documentMode' in document) { 20531 documentMode = document.documentMode; 20532} // Webkit offers a very useful `textInput` event that can be used to 20533// directly represent `beforeInput`. The IE `textinput` event is not as 20534// useful, so we don't use it. 20535 20536 20537var canUseTextInputEvent = canUseDOM && 'TextEvent' in window && !documentMode; // In IE9+, we have access to composition events, but the data supplied 20538// by the native compositionend event may be incorrect. Japanese ideographic 20539// spaces, for instance (\u3000) are not recorded correctly. 20540 20541var useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11); 20542var SPACEBAR_CODE = 32; 20543var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE); // Events and their corresponding property names. 20544 20545var eventTypes = { 20546 beforeInput: { 20547 phasedRegistrationNames: { 20548 bubbled: 'onBeforeInput', 20549 captured: 'onBeforeInputCapture' 20550 }, 20551 dependencies: [TOP_COMPOSITION_END, TOP_KEY_PRESS, TOP_TEXT_INPUT, TOP_PASTE] 20552 }, 20553 compositionEnd: { 20554 phasedRegistrationNames: { 20555 bubbled: 'onCompositionEnd', 20556 captured: 'onCompositionEndCapture' 20557 }, 20558 dependencies: [TOP_BLUR, TOP_COMPOSITION_END, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_MOUSE_DOWN] 20559 }, 20560 compositionStart: { 20561 phasedRegistrationNames: { 20562 bubbled: 'onCompositionStart', 20563 captured: 'onCompositionStartCapture' 20564 }, 20565 dependencies: [TOP_BLUR, TOP_COMPOSITION_START, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_MOUSE_DOWN] 20566 }, 20567 compositionUpdate: { 20568 phasedRegistrationNames: { 20569 bubbled: 'onCompositionUpdate', 20570 captured: 'onCompositionUpdateCapture' 20571 }, 20572 dependencies: [TOP_BLUR, TOP_COMPOSITION_UPDATE, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_MOUSE_DOWN] 20573 } 20574}; // Track whether we've ever handled a keypress on the space key. 20575 20576var hasSpaceKeypress = false; 20577/** 20578 * Return whether a native keypress event is assumed to be a command. 20579 * This is required because Firefox fires `keypress` events for key commands 20580 * (cut, copy, select-all, etc.) even though no character is inserted. 20581 */ 20582 20583function isKeypressCommand(nativeEvent) { 20584 return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command. 20585 !(nativeEvent.ctrlKey && nativeEvent.altKey); 20586} 20587/** 20588 * Translate native top level events into event types. 20589 * 20590 * @param {string} topLevelType 20591 * @return {object} 20592 */ 20593 20594 20595function getCompositionEventType(topLevelType) { 20596 switch (topLevelType) { 20597 case TOP_COMPOSITION_START: 20598 return eventTypes.compositionStart; 20599 20600 case TOP_COMPOSITION_END: 20601 return eventTypes.compositionEnd; 20602 20603 case TOP_COMPOSITION_UPDATE: 20604 return eventTypes.compositionUpdate; 20605 } 20606} 20607/** 20608 * Does our fallback best-guess model think this event signifies that 20609 * composition has begun? 20610 * 20611 * @param {string} topLevelType 20612 * @param {object} nativeEvent 20613 * @return {boolean} 20614 */ 20615 20616 20617function isFallbackCompositionStart(topLevelType, nativeEvent) { 20618 return topLevelType === TOP_KEY_DOWN && nativeEvent.keyCode === START_KEYCODE; 20619} 20620/** 20621 * Does our fallback mode think that this event is the end of composition? 20622 * 20623 * @param {string} topLevelType 20624 * @param {object} nativeEvent 20625 * @return {boolean} 20626 */ 20627 20628 20629function isFallbackCompositionEnd(topLevelType, nativeEvent) { 20630 switch (topLevelType) { 20631 case TOP_KEY_UP: 20632 // Command keys insert or clear IME input. 20633 return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1; 20634 20635 case TOP_KEY_DOWN: 20636 // Expect IME keyCode on each keydown. If we get any other 20637 // code we must have exited earlier. 20638 return nativeEvent.keyCode !== START_KEYCODE; 20639 20640 case TOP_KEY_PRESS: 20641 case TOP_MOUSE_DOWN: 20642 case TOP_BLUR: 20643 // Events are not possible without cancelling IME. 20644 return true; 20645 20646 default: 20647 return false; 20648 } 20649} 20650/** 20651 * Google Input Tools provides composition data via a CustomEvent, 20652 * with the `data` property populated in the `detail` object. If this 20653 * is available on the event object, use it. If not, this is a plain 20654 * composition event and we have nothing special to extract. 20655 * 20656 * @param {object} nativeEvent 20657 * @return {?string} 20658 */ 20659 20660 20661function getDataFromCustomEvent(nativeEvent) { 20662 var detail = nativeEvent.detail; 20663 20664 if (typeof detail === 'object' && 'data' in detail) { 20665 return detail.data; 20666 } 20667 20668 return null; 20669} 20670/** 20671 * Check if a composition event was triggered by Korean IME. 20672 * Our fallback mode does not work well with IE's Korean IME, 20673 * so just use native composition events when Korean IME is used. 20674 * Although CompositionEvent.locale property is deprecated, 20675 * it is available in IE, where our fallback mode is enabled. 20676 * 20677 * @param {object} nativeEvent 20678 * @return {boolean} 20679 */ 20680 20681 20682function isUsingKoreanIME(nativeEvent) { 20683 return nativeEvent.locale === 'ko'; 20684} // Track the current IME composition status, if any. 20685 20686 20687var isComposing = false; 20688/** 20689 * @return {?object} A SyntheticCompositionEvent. 20690 */ 20691 20692function extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { 20693 var eventType; 20694 var fallbackData; 20695 20696 if (canUseCompositionEvent) { 20697 eventType = getCompositionEventType(topLevelType); 20698 } else if (!isComposing) { 20699 if (isFallbackCompositionStart(topLevelType, nativeEvent)) { 20700 eventType = eventTypes.compositionStart; 20701 } 20702 } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) { 20703 eventType = eventTypes.compositionEnd; 20704 } 20705 20706 if (!eventType) { 20707 return null; 20708 } 20709 20710 if (useFallbackCompositionData && !isUsingKoreanIME(nativeEvent)) { 20711 // The current composition is stored statically and must not be 20712 // overwritten while composition continues. 20713 if (!isComposing && eventType === eventTypes.compositionStart) { 20714 isComposing = initialize(nativeEventTarget); 20715 } else if (eventType === eventTypes.compositionEnd) { 20716 if (isComposing) { 20717 fallbackData = getData(); 20718 } 20719 } 20720 } 20721 20722 var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget); 20723 20724 if (fallbackData) { 20725 // Inject data generated from fallback path into the synthetic event. 20726 // This matches the property of native CompositionEventInterface. 20727 event.data = fallbackData; 20728 } else { 20729 var customData = getDataFromCustomEvent(nativeEvent); 20730 20731 if (customData !== null) { 20732 event.data = customData; 20733 } 20734 } 20735 20736 accumulateTwoPhaseDispatches(event); 20737 return event; 20738} 20739/** 20740 * @param {TopLevelType} topLevelType Number from `TopLevelType`. 20741 * @param {object} nativeEvent Native browser event. 20742 * @return {?string} The string corresponding to this `beforeInput` event. 20743 */ 20744 20745 20746function getNativeBeforeInputChars(topLevelType, nativeEvent) { 20747 switch (topLevelType) { 20748 case TOP_COMPOSITION_END: 20749 return getDataFromCustomEvent(nativeEvent); 20750 20751 case TOP_KEY_PRESS: 20752 /** 20753 * If native `textInput` events are available, our goal is to make 20754 * use of them. However, there is a special case: the spacebar key. 20755 * In Webkit, preventing default on a spacebar `textInput` event 20756 * cancels character insertion, but it *also* causes the browser 20757 * to fall back to its default spacebar behavior of scrolling the 20758 * page. 20759 * 20760 * Tracking at: 20761 * https://code.google.com/p/chromium/issues/detail?id=355103 20762 * 20763 * To avoid this issue, use the keypress event as if no `textInput` 20764 * event is available. 20765 */ 20766 var which = nativeEvent.which; 20767 20768 if (which !== SPACEBAR_CODE) { 20769 return null; 20770 } 20771 20772 hasSpaceKeypress = true; 20773 return SPACEBAR_CHAR; 20774 20775 case TOP_TEXT_INPUT: 20776 // Record the characters to be added to the DOM. 20777 var chars = nativeEvent.data; // If it's a spacebar character, assume that we have already handled 20778 // it at the keypress level and bail immediately. Android Chrome 20779 // doesn't give us keycodes, so we need to ignore it. 20780 20781 if (chars === SPACEBAR_CHAR && hasSpaceKeypress) { 20782 return null; 20783 } 20784 20785 return chars; 20786 20787 default: 20788 // For other native event types, do nothing. 20789 return null; 20790 } 20791} 20792/** 20793 * For browsers that do not provide the `textInput` event, extract the 20794 * appropriate string to use for SyntheticInputEvent. 20795 * 20796 * @param {number} topLevelType Number from `TopLevelEventTypes`. 20797 * @param {object} nativeEvent Native browser event. 20798 * @return {?string} The fallback string for this `beforeInput` event. 20799 */ 20800 20801 20802function getFallbackBeforeInputChars(topLevelType, nativeEvent) { 20803 // If we are currently composing (IME) and using a fallback to do so, 20804 // try to extract the composed characters from the fallback object. 20805 // If composition event is available, we extract a string only at 20806 // compositionevent, otherwise extract it at fallback events. 20807 if (isComposing) { 20808 if (topLevelType === TOP_COMPOSITION_END || !canUseCompositionEvent && isFallbackCompositionEnd(topLevelType, nativeEvent)) { 20809 var chars = getData(); 20810 reset(); 20811 isComposing = false; 20812 return chars; 20813 } 20814 20815 return null; 20816 } 20817 20818 switch (topLevelType) { 20819 case TOP_PASTE: 20820 // If a paste event occurs after a keypress, throw out the input 20821 // chars. Paste events should not lead to BeforeInput events. 20822 return null; 20823 20824 case TOP_KEY_PRESS: 20825 /** 20826 * As of v27, Firefox may fire keypress events even when no character 20827 * will be inserted. A few possibilities: 20828 * 20829 * - `which` is `0`. Arrow keys, Esc key, etc. 20830 * 20831 * - `which` is the pressed key code, but no char is available. 20832 * Ex: 'AltGr + d` in Polish. There is no modified character for 20833 * this key combination and no character is inserted into the 20834 * document, but FF fires the keypress for char code `100` anyway. 20835 * No `input` event will occur. 20836 * 20837 * - `which` is the pressed key code, but a command combination is 20838 * being used. Ex: `Cmd+C`. No character is inserted, and no 20839 * `input` event will occur. 20840 */ 20841 if (!isKeypressCommand(nativeEvent)) { 20842 // IE fires the `keypress` event when a user types an emoji via 20843 // Touch keyboard of Windows. In such a case, the `char` property 20844 // holds an emoji character like `\uD83D\uDE0A`. Because its length 20845 // is 2, the property `which` does not represent an emoji correctly. 20846 // In such a case, we directly return the `char` property instead of 20847 // using `which`. 20848 if (nativeEvent.char && nativeEvent.char.length > 1) { 20849 return nativeEvent.char; 20850 } else if (nativeEvent.which) { 20851 return String.fromCharCode(nativeEvent.which); 20852 } 20853 } 20854 20855 return null; 20856 20857 case TOP_COMPOSITION_END: 20858 return useFallbackCompositionData && !isUsingKoreanIME(nativeEvent) ? null : nativeEvent.data; 20859 20860 default: 20861 return null; 20862 } 20863} 20864/** 20865 * Extract a SyntheticInputEvent for `beforeInput`, based on either native 20866 * `textInput` or fallback behavior. 20867 * 20868 * @return {?object} A SyntheticInputEvent. 20869 */ 20870 20871 20872function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { 20873 var chars; 20874 20875 if (canUseTextInputEvent) { 20876 chars = getNativeBeforeInputChars(topLevelType, nativeEvent); 20877 } else { 20878 chars = getFallbackBeforeInputChars(topLevelType, nativeEvent); 20879 } // If no characters are being inserted, no BeforeInput event should 20880 // be fired. 20881 20882 20883 if (!chars) { 20884 return null; 20885 } 20886 20887 var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget); 20888 event.data = chars; 20889 accumulateTwoPhaseDispatches(event); 20890 return event; 20891} 20892/** 20893 * Create an `onBeforeInput` event to match 20894 * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents. 20895 * 20896 * This event plugin is based on the native `textInput` event 20897 * available in Chrome, Safari, Opera, and IE. This event fires after 20898 * `onKeyPress` and `onCompositionEnd`, but before `onInput`. 20899 * 20900 * `beforeInput` is spec'd but not implemented in any browsers, and 20901 * the `input` event does not provide any useful information about what has 20902 * actually been added, contrary to the spec. Thus, `textInput` is the best 20903 * available event to identify the characters that have actually been inserted 20904 * into the target node. 20905 * 20906 * This plugin is also responsible for emitting `composition` events, thus 20907 * allowing us to share composition fallback code for both `beforeInput` and 20908 * `composition` event types. 20909 */ 20910 20911 20912var BeforeInputEventPlugin = { 20913 eventTypes: eventTypes, 20914 extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) { 20915 var composition = extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget); 20916 var beforeInput = extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget); 20917 20918 if (composition === null) { 20919 return beforeInput; 20920 } 20921 20922 if (beforeInput === null) { 20923 return composition; 20924 } 20925 20926 return [composition, beforeInput]; 20927 } 20928}; 20929 20930/** 20931 * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary 20932 */ 20933var supportedInputTypes = { 20934 color: true, 20935 date: true, 20936 datetime: true, 20937 'datetime-local': true, 20938 email: true, 20939 month: true, 20940 number: true, 20941 password: true, 20942 range: true, 20943 search: true, 20944 tel: true, 20945 text: true, 20946 time: true, 20947 url: true, 20948 week: true 20949}; 20950 20951function isTextInputElement(elem) { 20952 var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); 20953 20954 if (nodeName === 'input') { 20955 return !!supportedInputTypes[elem.type]; 20956 } 20957 20958 if (nodeName === 'textarea') { 20959 return true; 20960 } 20961 20962 return false; 20963} 20964 20965var eventTypes$1 = { 20966 change: { 20967 phasedRegistrationNames: { 20968 bubbled: 'onChange', 20969 captured: 'onChangeCapture' 20970 }, 20971 dependencies: [TOP_BLUR, TOP_CHANGE, TOP_CLICK, TOP_FOCUS, TOP_INPUT, TOP_KEY_DOWN, TOP_KEY_UP, TOP_SELECTION_CHANGE] 20972 } 20973}; 20974 20975function createAndAccumulateChangeEvent(inst, nativeEvent, target) { 20976 var event = SyntheticEvent.getPooled(eventTypes$1.change, inst, nativeEvent, target); 20977 event.type = 'change'; // Flag this event loop as needing state restore. 20978 20979 enqueueStateRestore(target); 20980 accumulateTwoPhaseDispatches(event); 20981 return event; 20982} 20983/** 20984 * For IE shims 20985 */ 20986 20987 20988var activeElement = null; 20989var activeElementInst = null; 20990/** 20991 * SECTION: handle `change` event 20992 */ 20993 20994function shouldUseChangeEvent(elem) { 20995 var nodeName = elem.nodeName && elem.nodeName.toLowerCase(); 20996 return nodeName === 'select' || nodeName === 'input' && elem.type === 'file'; 20997} 20998 20999function manualDispatchChangeEvent(nativeEvent) { 21000 var event = createAndAccumulateChangeEvent(activeElementInst, nativeEvent, getEventTarget(nativeEvent)); // If change and propertychange bubbled, we'd just bind to it like all the 21001 // other events and have it go through ReactBrowserEventEmitter. Since it 21002 // doesn't, we manually listen for the events and so we have to enqueue and 21003 // process the abstract event manually. 21004 // 21005 // Batching is necessary here in order to ensure that all event handlers run 21006 // before the next rerender (including event handlers attached to ancestor 21007 // elements instead of directly on the input). Without this, controlled 21008 // components don't work properly in conjunction with event bubbling because 21009 // the component is rerendered and the value reverted before all the event 21010 // handlers can run. See https://github.com/facebook/react/issues/708. 21011 21012 batchedUpdates(runEventInBatch, event); 21013} 21014 21015function runEventInBatch(event) { 21016 runEventsInBatch(event); 21017} 21018 21019function getInstIfValueChanged(targetInst) { 21020 var targetNode = getNodeFromInstance$1(targetInst); 21021 21022 if (updateValueIfChanged(targetNode)) { 21023 return targetInst; 21024 } 21025} 21026 21027function getTargetInstForChangeEvent(topLevelType, targetInst) { 21028 if (topLevelType === TOP_CHANGE) { 21029 return targetInst; 21030 } 21031} 21032/** 21033 * SECTION: handle `input` event 21034 */ 21035 21036 21037var isInputEventSupported = false; 21038 21039if (canUseDOM) { 21040 // IE9 claims to support the input event but fails to trigger it when 21041 // deleting text, so we ignore its input events. 21042 isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 9); 21043} 21044/** 21045 * (For IE <=9) Starts tracking propertychange events on the passed-in element 21046 * and override the value property so that we can distinguish user events from 21047 * value changes in JS. 21048 */ 21049 21050 21051function startWatchingForValueChange(target, targetInst) { 21052 activeElement = target; 21053 activeElementInst = targetInst; 21054 activeElement.attachEvent('onpropertychange', handlePropertyChange); 21055} 21056/** 21057 * (For IE <=9) Removes the event listeners from the currently-tracked element, 21058 * if any exists. 21059 */ 21060 21061 21062function stopWatchingForValueChange() { 21063 if (!activeElement) { 21064 return; 21065 } 21066 21067 activeElement.detachEvent('onpropertychange', handlePropertyChange); 21068 activeElement = null; 21069 activeElementInst = null; 21070} 21071/** 21072 * (For IE <=9) Handles a propertychange event, sending a `change` event if 21073 * the value of the active element has changed. 21074 */ 21075 21076 21077function handlePropertyChange(nativeEvent) { 21078 if (nativeEvent.propertyName !== 'value') { 21079 return; 21080 } 21081 21082 if (getInstIfValueChanged(activeElementInst)) { 21083 manualDispatchChangeEvent(nativeEvent); 21084 } 21085} 21086 21087function handleEventsForInputEventPolyfill(topLevelType, target, targetInst) { 21088 if (topLevelType === TOP_FOCUS) { 21089 // In IE9, propertychange fires for most input events but is buggy and 21090 // doesn't fire when text is deleted, but conveniently, selectionchange 21091 // appears to fire in all of the remaining cases so we catch those and 21092 // forward the event if the value has changed 21093 // In either case, we don't want to call the event handler if the value 21094 // is changed from JS so we redefine a setter for `.value` that updates 21095 // our activeElementValue variable, allowing us to ignore those changes 21096 // 21097 // stopWatching() should be a noop here but we call it just in case we 21098 // missed a blur event somehow. 21099 stopWatchingForValueChange(); 21100 startWatchingForValueChange(target, targetInst); 21101 } else if (topLevelType === TOP_BLUR) { 21102 stopWatchingForValueChange(); 21103 } 21104} // For IE8 and IE9. 21105 21106 21107function getTargetInstForInputEventPolyfill(topLevelType, targetInst) { 21108 if (topLevelType === TOP_SELECTION_CHANGE || topLevelType === TOP_KEY_UP || topLevelType === TOP_KEY_DOWN) { 21109 // On the selectionchange event, the target is just document which isn't 21110 // helpful for us so just check activeElement instead. 21111 // 21112 // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire 21113 // propertychange on the first input event after setting `value` from a 21114 // script and fires only keydown, keypress, keyup. Catching keyup usually 21115 // gets it and catching keydown lets us fire an event for the first 21116 // keystroke if user does a key repeat (it'll be a little delayed: right 21117 // before the second keystroke). Other input methods (e.g., paste) seem to 21118 // fire selectionchange normally. 21119 return getInstIfValueChanged(activeElementInst); 21120 } 21121} 21122/** 21123 * SECTION: handle `click` event 21124 */ 21125 21126 21127function shouldUseClickEvent(elem) { 21128 // Use the `click` event to detect changes to checkbox and radio inputs. 21129 // This approach works across all browsers, whereas `change` does not fire 21130 // until `blur` in IE8. 21131 var nodeName = elem.nodeName; 21132 return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio'); 21133} 21134 21135function getTargetInstForClickEvent(topLevelType, targetInst) { 21136 if (topLevelType === TOP_CLICK) { 21137 return getInstIfValueChanged(targetInst); 21138 } 21139} 21140 21141function getTargetInstForInputOrChangeEvent(topLevelType, targetInst) { 21142 if (topLevelType === TOP_INPUT || topLevelType === TOP_CHANGE) { 21143 return getInstIfValueChanged(targetInst); 21144 } 21145} 21146 21147function handleControlledInputBlur(node) { 21148 var state = node._wrapperState; 21149 21150 if (!state || !state.controlled || node.type !== 'number') { 21151 return; 21152 } 21153 21154 { 21155 // If controlled, assign the value attribute to the current value on blur 21156 setDefaultValue(node, 'number', node.value); 21157 } 21158} 21159/** 21160 * This plugin creates an `onChange` event that normalizes change events 21161 * across form elements. This event fires at a time when it's possible to 21162 * change the element's value without seeing a flicker. 21163 * 21164 * Supported elements are: 21165 * - input (see `isTextInputElement`) 21166 * - textarea 21167 * - select 21168 */ 21169 21170 21171var ChangeEventPlugin = { 21172 eventTypes: eventTypes$1, 21173 _isInputEventSupported: isInputEventSupported, 21174 extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) { 21175 var targetNode = targetInst ? getNodeFromInstance$1(targetInst) : window; 21176 var getTargetInstFunc, handleEventFunc; 21177 21178 if (shouldUseChangeEvent(targetNode)) { 21179 getTargetInstFunc = getTargetInstForChangeEvent; 21180 } else if (isTextInputElement(targetNode)) { 21181 if (isInputEventSupported) { 21182 getTargetInstFunc = getTargetInstForInputOrChangeEvent; 21183 } else { 21184 getTargetInstFunc = getTargetInstForInputEventPolyfill; 21185 handleEventFunc = handleEventsForInputEventPolyfill; 21186 } 21187 } else if (shouldUseClickEvent(targetNode)) { 21188 getTargetInstFunc = getTargetInstForClickEvent; 21189 } 21190 21191 if (getTargetInstFunc) { 21192 var inst = getTargetInstFunc(topLevelType, targetInst); 21193 21194 if (inst) { 21195 var event = createAndAccumulateChangeEvent(inst, nativeEvent, nativeEventTarget); 21196 return event; 21197 } 21198 } 21199 21200 if (handleEventFunc) { 21201 handleEventFunc(topLevelType, targetNode, targetInst); 21202 } // When blurring, set the value attribute for number inputs 21203 21204 21205 if (topLevelType === TOP_BLUR) { 21206 handleControlledInputBlur(targetNode); 21207 } 21208 } 21209}; 21210 21211var SyntheticUIEvent = SyntheticEvent.extend({ 21212 view: null, 21213 detail: null 21214}); 21215 21216/** 21217 * Translation from modifier key to the associated property in the event. 21218 * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers 21219 */ 21220var modifierKeyToProp = { 21221 Alt: 'altKey', 21222 Control: 'ctrlKey', 21223 Meta: 'metaKey', 21224 Shift: 'shiftKey' 21225}; // Older browsers (Safari <= 10, iOS Safari <= 10.2) do not support 21226// getModifierState. If getModifierState is not supported, we map it to a set of 21227// modifier keys exposed by the event. In this case, Lock-keys are not supported. 21228 21229function modifierStateGetter(keyArg) { 21230 var syntheticEvent = this; 21231 var nativeEvent = syntheticEvent.nativeEvent; 21232 21233 if (nativeEvent.getModifierState) { 21234 return nativeEvent.getModifierState(keyArg); 21235 } 21236 21237 var keyProp = modifierKeyToProp[keyArg]; 21238 return keyProp ? !!nativeEvent[keyProp] : false; 21239} 21240 21241function getEventModifierState(nativeEvent) { 21242 return modifierStateGetter; 21243} 21244 21245var previousScreenX = 0; 21246var previousScreenY = 0; // Use flags to signal movementX/Y has already been set 21247 21248var isMovementXSet = false; 21249var isMovementYSet = false; 21250/** 21251 * @interface MouseEvent 21252 * @see http://www.w3.org/TR/DOM-Level-3-Events/ 21253 */ 21254 21255var SyntheticMouseEvent = SyntheticUIEvent.extend({ 21256 screenX: null, 21257 screenY: null, 21258 clientX: null, 21259 clientY: null, 21260 pageX: null, 21261 pageY: null, 21262 ctrlKey: null, 21263 shiftKey: null, 21264 altKey: null, 21265 metaKey: null, 21266 getModifierState: getEventModifierState, 21267 button: null, 21268 buttons: null, 21269 relatedTarget: function (event) { 21270 return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement); 21271 }, 21272 movementX: function (event) { 21273 if ('movementX' in event) { 21274 return event.movementX; 21275 } 21276 21277 var screenX = previousScreenX; 21278 previousScreenX = event.screenX; 21279 21280 if (!isMovementXSet) { 21281 isMovementXSet = true; 21282 return 0; 21283 } 21284 21285 return event.type === 'mousemove' ? event.screenX - screenX : 0; 21286 }, 21287 movementY: function (event) { 21288 if ('movementY' in event) { 21289 return event.movementY; 21290 } 21291 21292 var screenY = previousScreenY; 21293 previousScreenY = event.screenY; 21294 21295 if (!isMovementYSet) { 21296 isMovementYSet = true; 21297 return 0; 21298 } 21299 21300 return event.type === 'mousemove' ? event.screenY - screenY : 0; 21301 } 21302}); 21303 21304/** 21305 * @interface PointerEvent 21306 * @see http://www.w3.org/TR/pointerevents/ 21307 */ 21308 21309var SyntheticPointerEvent = SyntheticMouseEvent.extend({ 21310 pointerId: null, 21311 width: null, 21312 height: null, 21313 pressure: null, 21314 tangentialPressure: null, 21315 tiltX: null, 21316 tiltY: null, 21317 twist: null, 21318 pointerType: null, 21319 isPrimary: null 21320}); 21321 21322var eventTypes$2 = { 21323 mouseEnter: { 21324 registrationName: 'onMouseEnter', 21325 dependencies: [TOP_MOUSE_OUT, TOP_MOUSE_OVER] 21326 }, 21327 mouseLeave: { 21328 registrationName: 'onMouseLeave', 21329 dependencies: [TOP_MOUSE_OUT, TOP_MOUSE_OVER] 21330 }, 21331 pointerEnter: { 21332 registrationName: 'onPointerEnter', 21333 dependencies: [TOP_POINTER_OUT, TOP_POINTER_OVER] 21334 }, 21335 pointerLeave: { 21336 registrationName: 'onPointerLeave', 21337 dependencies: [TOP_POINTER_OUT, TOP_POINTER_OVER] 21338 } 21339}; 21340var EnterLeaveEventPlugin = { 21341 eventTypes: eventTypes$2, 21342 21343 /** 21344 * For almost every interaction we care about, there will be both a top-level 21345 * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that 21346 * we do not extract duplicate events. However, moving the mouse into the 21347 * browser from outside will not fire a `mouseout` event. In this case, we use 21348 * the `mouseover` top-level event. 21349 */ 21350 extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) { 21351 var isOverEvent = topLevelType === TOP_MOUSE_OVER || topLevelType === TOP_POINTER_OVER; 21352 var isOutEvent = topLevelType === TOP_MOUSE_OUT || topLevelType === TOP_POINTER_OUT; 21353 21354 if (isOverEvent && (eventSystemFlags & IS_REPLAYED) === 0 && (nativeEvent.relatedTarget || nativeEvent.fromElement)) { 21355 // If this is an over event with a target, then we've already dispatched 21356 // the event in the out event of the other target. If this is replayed, 21357 // then it's because we couldn't dispatch against this target previously 21358 // so we have to do it now instead. 21359 return null; 21360 } 21361 21362 if (!isOutEvent && !isOverEvent) { 21363 // Must not be a mouse or pointer in or out - ignoring. 21364 return null; 21365 } 21366 21367 var win; 21368 21369 if (nativeEventTarget.window === nativeEventTarget) { 21370 // `nativeEventTarget` is probably a window object. 21371 win = nativeEventTarget; 21372 } else { 21373 // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. 21374 var doc = nativeEventTarget.ownerDocument; 21375 21376 if (doc) { 21377 win = doc.defaultView || doc.parentWindow; 21378 } else { 21379 win = window; 21380 } 21381 } 21382 21383 var from; 21384 var to; 21385 21386 if (isOutEvent) { 21387 from = targetInst; 21388 var related = nativeEvent.relatedTarget || nativeEvent.toElement; 21389 to = related ? getClosestInstanceFromNode(related) : null; 21390 21391 if (to !== null) { 21392 var nearestMounted = getNearestMountedFiber(to); 21393 21394 if (to !== nearestMounted || to.tag !== HostComponent && to.tag !== HostText) { 21395 to = null; 21396 } 21397 } 21398 } else { 21399 // Moving to a node from outside the window. 21400 from = null; 21401 to = targetInst; 21402 } 21403 21404 if (from === to) { 21405 // Nothing pertains to our managed components. 21406 return null; 21407 } 21408 21409 var eventInterface, leaveEventType, enterEventType, eventTypePrefix; 21410 21411 if (topLevelType === TOP_MOUSE_OUT || topLevelType === TOP_MOUSE_OVER) { 21412 eventInterface = SyntheticMouseEvent; 21413 leaveEventType = eventTypes$2.mouseLeave; 21414 enterEventType = eventTypes$2.mouseEnter; 21415 eventTypePrefix = 'mouse'; 21416 } else if (topLevelType === TOP_POINTER_OUT || topLevelType === TOP_POINTER_OVER) { 21417 eventInterface = SyntheticPointerEvent; 21418 leaveEventType = eventTypes$2.pointerLeave; 21419 enterEventType = eventTypes$2.pointerEnter; 21420 eventTypePrefix = 'pointer'; 21421 } 21422 21423 var fromNode = from == null ? win : getNodeFromInstance$1(from); 21424 var toNode = to == null ? win : getNodeFromInstance$1(to); 21425 var leave = eventInterface.getPooled(leaveEventType, from, nativeEvent, nativeEventTarget); 21426 leave.type = eventTypePrefix + 'leave'; 21427 leave.target = fromNode; 21428 leave.relatedTarget = toNode; 21429 var enter = eventInterface.getPooled(enterEventType, to, nativeEvent, nativeEventTarget); 21430 enter.type = eventTypePrefix + 'enter'; 21431 enter.target = toNode; 21432 enter.relatedTarget = fromNode; 21433 accumulateEnterLeaveDispatches(leave, enter, from, to); // If we are not processing the first ancestor, then we 21434 // should not process the same nativeEvent again, as we 21435 // will have already processed it in the first ancestor. 21436 21437 if ((eventSystemFlags & IS_FIRST_ANCESTOR) === 0) { 21438 return [leave]; 21439 } 21440 21441 return [leave, enter]; 21442 } 21443}; 21444 21445/** 21446 * inlined Object.is polyfill to avoid requiring consumers ship their own 21447 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is 21448 */ 21449function is(x, y) { 21450 return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare 21451 ; 21452} 21453 21454var objectIs = typeof Object.is === 'function' ? Object.is : is; 21455 21456var hasOwnProperty$2 = Object.prototype.hasOwnProperty; 21457/** 21458 * Performs equality by iterating through keys on an object and returning false 21459 * when any key has values which are not strictly equal between the arguments. 21460 * Returns true when the values of all keys are strictly equal. 21461 */ 21462 21463function shallowEqual(objA, objB) { 21464 if (objectIs(objA, objB)) { 21465 return true; 21466 } 21467 21468 if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) { 21469 return false; 21470 } 21471 21472 var keysA = Object.keys(objA); 21473 var keysB = Object.keys(objB); 21474 21475 if (keysA.length !== keysB.length) { 21476 return false; 21477 } // Test for A's keys different from B. 21478 21479 21480 for (var i = 0; i < keysA.length; i++) { 21481 if (!hasOwnProperty$2.call(objB, keysA[i]) || !objectIs(objA[keysA[i]], objB[keysA[i]])) { 21482 return false; 21483 } 21484 } 21485 21486 return true; 21487} 21488 21489var skipSelectionChangeEvent = canUseDOM && 'documentMode' in document && document.documentMode <= 11; 21490var eventTypes$3 = { 21491 select: { 21492 phasedRegistrationNames: { 21493 bubbled: 'onSelect', 21494 captured: 'onSelectCapture' 21495 }, 21496 dependencies: [TOP_BLUR, TOP_CONTEXT_MENU, TOP_DRAG_END, TOP_FOCUS, TOP_KEY_DOWN, TOP_KEY_UP, TOP_MOUSE_DOWN, TOP_MOUSE_UP, TOP_SELECTION_CHANGE] 21497 } 21498}; 21499var activeElement$1 = null; 21500var activeElementInst$1 = null; 21501var lastSelection = null; 21502var mouseDown = false; 21503/** 21504 * Get an object which is a unique representation of the current selection. 21505 * 21506 * The return value will not be consistent across nodes or browsers, but 21507 * two identical selections on the same node will return identical objects. 21508 * 21509 * @param {DOMElement} node 21510 * @return {object} 21511 */ 21512 21513function getSelection$1(node) { 21514 if ('selectionStart' in node && hasSelectionCapabilities(node)) { 21515 return { 21516 start: node.selectionStart, 21517 end: node.selectionEnd 21518 }; 21519 } else { 21520 var win = node.ownerDocument && node.ownerDocument.defaultView || window; 21521 var selection = win.getSelection(); 21522 return { 21523 anchorNode: selection.anchorNode, 21524 anchorOffset: selection.anchorOffset, 21525 focusNode: selection.focusNode, 21526 focusOffset: selection.focusOffset 21527 }; 21528 } 21529} 21530/** 21531 * Get document associated with the event target. 21532 * 21533 * @param {object} nativeEventTarget 21534 * @return {Document} 21535 */ 21536 21537 21538function getEventTargetDocument(eventTarget) { 21539 return eventTarget.window === eventTarget ? eventTarget.document : eventTarget.nodeType === DOCUMENT_NODE ? eventTarget : eventTarget.ownerDocument; 21540} 21541/** 21542 * Poll selection to see whether it's changed. 21543 * 21544 * @param {object} nativeEvent 21545 * @param {object} nativeEventTarget 21546 * @return {?SyntheticEvent} 21547 */ 21548 21549 21550function constructSelectEvent(nativeEvent, nativeEventTarget) { 21551 // Ensure we have the right element, and that the user is not dragging a 21552 // selection (this matches native `select` event behavior). In HTML5, select 21553 // fires only on input and textarea thus if there's no focused element we 21554 // won't dispatch. 21555 var doc = getEventTargetDocument(nativeEventTarget); 21556 21557 if (mouseDown || activeElement$1 == null || activeElement$1 !== getActiveElement(doc)) { 21558 return null; 21559 } // Only fire when selection has actually changed. 21560 21561 21562 var currentSelection = getSelection$1(activeElement$1); 21563 21564 if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) { 21565 lastSelection = currentSelection; 21566 var syntheticEvent = SyntheticEvent.getPooled(eventTypes$3.select, activeElementInst$1, nativeEvent, nativeEventTarget); 21567 syntheticEvent.type = 'select'; 21568 syntheticEvent.target = activeElement$1; 21569 accumulateTwoPhaseDispatches(syntheticEvent); 21570 return syntheticEvent; 21571 } 21572 21573 return null; 21574} 21575/** 21576 * This plugin creates an `onSelect` event that normalizes select events 21577 * across form elements. 21578 * 21579 * Supported elements are: 21580 * - input (see `isTextInputElement`) 21581 * - textarea 21582 * - contentEditable 21583 * 21584 * This differs from native browser implementations in the following ways: 21585 * - Fires on contentEditable fields as well as inputs. 21586 * - Fires for collapsed selection. 21587 * - Fires after user input. 21588 */ 21589 21590 21591var SelectEventPlugin = { 21592 eventTypes: eventTypes$3, 21593 extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, container) { 21594 var containerOrDoc = container || getEventTargetDocument(nativeEventTarget); // Track whether all listeners exists for this plugin. If none exist, we do 21595 // not extract events. See #3639. 21596 21597 if (!containerOrDoc || !isListeningToAllDependencies('onSelect', containerOrDoc)) { 21598 return null; 21599 } 21600 21601 var targetNode = targetInst ? getNodeFromInstance$1(targetInst) : window; 21602 21603 switch (topLevelType) { 21604 // Track the input node that has focus. 21605 case TOP_FOCUS: 21606 if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') { 21607 activeElement$1 = targetNode; 21608 activeElementInst$1 = targetInst; 21609 lastSelection = null; 21610 } 21611 21612 break; 21613 21614 case TOP_BLUR: 21615 activeElement$1 = null; 21616 activeElementInst$1 = null; 21617 lastSelection = null; 21618 break; 21619 // Don't fire the event while the user is dragging. This matches the 21620 // semantics of the native select event. 21621 21622 case TOP_MOUSE_DOWN: 21623 mouseDown = true; 21624 break; 21625 21626 case TOP_CONTEXT_MENU: 21627 case TOP_MOUSE_UP: 21628 case TOP_DRAG_END: 21629 mouseDown = false; 21630 return constructSelectEvent(nativeEvent, nativeEventTarget); 21631 // Chrome and IE fire non-standard event when selection is changed (and 21632 // sometimes when it hasn't). IE's event fires out of order with respect 21633 // to key and input events on deletion, so we discard it. 21634 // 21635 // Firefox doesn't support selectionchange, so check selection status 21636 // after each key entry. The selection changes after keydown and before 21637 // keyup, but we check on keydown as well in the case of holding down a 21638 // key, when multiple keydown events are fired but only one keyup is. 21639 // This is also our approach for IE handling, for the reason above. 21640 21641 case TOP_SELECTION_CHANGE: 21642 if (skipSelectionChangeEvent) { 21643 break; 21644 } 21645 21646 // falls through 21647 21648 case TOP_KEY_DOWN: 21649 case TOP_KEY_UP: 21650 return constructSelectEvent(nativeEvent, nativeEventTarget); 21651 } 21652 21653 return null; 21654 } 21655}; 21656 21657/** 21658 * @interface Event 21659 * @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface 21660 * @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent 21661 */ 21662 21663var SyntheticAnimationEvent = SyntheticEvent.extend({ 21664 animationName: null, 21665 elapsedTime: null, 21666 pseudoElement: null 21667}); 21668 21669/** 21670 * @interface Event 21671 * @see http://www.w3.org/TR/clipboard-apis/ 21672 */ 21673 21674var SyntheticClipboardEvent = SyntheticEvent.extend({ 21675 clipboardData: function (event) { 21676 return 'clipboardData' in event ? event.clipboardData : window.clipboardData; 21677 } 21678}); 21679 21680/** 21681 * @interface FocusEvent 21682 * @see http://www.w3.org/TR/DOM-Level-3-Events/ 21683 */ 21684 21685var SyntheticFocusEvent = SyntheticUIEvent.extend({ 21686 relatedTarget: null 21687}); 21688 21689/** 21690 * `charCode` represents the actual "character code" and is safe to use with 21691 * `String.fromCharCode`. As such, only keys that correspond to printable 21692 * characters produce a valid `charCode`, the only exception to this is Enter. 21693 * The Tab-key is considered non-printable and does not have a `charCode`, 21694 * presumably because it does not produce a tab-character in browsers. 21695 * 21696 * @param {object} nativeEvent Native browser event. 21697 * @return {number} Normalized `charCode` property. 21698 */ 21699function getEventCharCode(nativeEvent) { 21700 var charCode; 21701 var keyCode = nativeEvent.keyCode; 21702 21703 if ('charCode' in nativeEvent) { 21704 charCode = nativeEvent.charCode; // FF does not set `charCode` for the Enter-key, check against `keyCode`. 21705 21706 if (charCode === 0 && keyCode === 13) { 21707 charCode = 13; 21708 } 21709 } else { 21710 // IE8 does not implement `charCode`, but `keyCode` has the correct value. 21711 charCode = keyCode; 21712 } // IE and Edge (on Windows) and Chrome / Safari (on Windows and Linux) 21713 // report Enter as charCode 10 when ctrl is pressed. 21714 21715 21716 if (charCode === 10) { 21717 charCode = 13; 21718 } // Some non-printable keys are reported in `charCode`/`keyCode`, discard them. 21719 // Must not discard the (non-)printable Enter-key. 21720 21721 21722 if (charCode >= 32 || charCode === 13) { 21723 return charCode; 21724 } 21725 21726 return 0; 21727} 21728 21729/** 21730 * Normalization of deprecated HTML5 `key` values 21731 * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names 21732 */ 21733 21734var normalizeKey = { 21735 Esc: 'Escape', 21736 Spacebar: ' ', 21737 Left: 'ArrowLeft', 21738 Up: 'ArrowUp', 21739 Right: 'ArrowRight', 21740 Down: 'ArrowDown', 21741 Del: 'Delete', 21742 Win: 'OS', 21743 Menu: 'ContextMenu', 21744 Apps: 'ContextMenu', 21745 Scroll: 'ScrollLock', 21746 MozPrintableKey: 'Unidentified' 21747}; 21748/** 21749 * Translation from legacy `keyCode` to HTML5 `key` 21750 * Only special keys supported, all others depend on keyboard layout or browser 21751 * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names 21752 */ 21753 21754var translateToKey = { 21755 '8': 'Backspace', 21756 '9': 'Tab', 21757 '12': 'Clear', 21758 '13': 'Enter', 21759 '16': 'Shift', 21760 '17': 'Control', 21761 '18': 'Alt', 21762 '19': 'Pause', 21763 '20': 'CapsLock', 21764 '27': 'Escape', 21765 '32': ' ', 21766 '33': 'PageUp', 21767 '34': 'PageDown', 21768 '35': 'End', 21769 '36': 'Home', 21770 '37': 'ArrowLeft', 21771 '38': 'ArrowUp', 21772 '39': 'ArrowRight', 21773 '40': 'ArrowDown', 21774 '45': 'Insert', 21775 '46': 'Delete', 21776 '112': 'F1', 21777 '113': 'F2', 21778 '114': 'F3', 21779 '115': 'F4', 21780 '116': 'F5', 21781 '117': 'F6', 21782 '118': 'F7', 21783 '119': 'F8', 21784 '120': 'F9', 21785 '121': 'F10', 21786 '122': 'F11', 21787 '123': 'F12', 21788 '144': 'NumLock', 21789 '145': 'ScrollLock', 21790 '224': 'Meta' 21791}; 21792/** 21793 * @param {object} nativeEvent Native browser event. 21794 * @return {string} Normalized `key` property. 21795 */ 21796 21797function getEventKey(nativeEvent) { 21798 if (nativeEvent.key) { 21799 // Normalize inconsistent values reported by browsers due to 21800 // implementations of a working draft specification. 21801 // FireFox implements `key` but returns `MozPrintableKey` for all 21802 // printable characters (normalized to `Unidentified`), ignore it. 21803 var key = normalizeKey[nativeEvent.key] || nativeEvent.key; 21804 21805 if (key !== 'Unidentified') { 21806 return key; 21807 } 21808 } // Browser does not implement `key`, polyfill as much of it as we can. 21809 21810 21811 if (nativeEvent.type === 'keypress') { 21812 var charCode = getEventCharCode(nativeEvent); // The enter-key is technically both printable and non-printable and can 21813 // thus be captured by `keypress`, no other non-printable key should. 21814 21815 return charCode === 13 ? 'Enter' : String.fromCharCode(charCode); 21816 } 21817 21818 if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') { 21819 // While user keyboard layout determines the actual meaning of each 21820 // `keyCode` value, almost all function keys have a universal value. 21821 return translateToKey[nativeEvent.keyCode] || 'Unidentified'; 21822 } 21823 21824 return ''; 21825} 21826 21827/** 21828 * @interface KeyboardEvent 21829 * @see http://www.w3.org/TR/DOM-Level-3-Events/ 21830 */ 21831 21832var SyntheticKeyboardEvent = SyntheticUIEvent.extend({ 21833 key: getEventKey, 21834 location: null, 21835 ctrlKey: null, 21836 shiftKey: null, 21837 altKey: null, 21838 metaKey: null, 21839 repeat: null, 21840 locale: null, 21841 getModifierState: getEventModifierState, 21842 // Legacy Interface 21843 charCode: function (event) { 21844 // `charCode` is the result of a KeyPress event and represents the value of 21845 // the actual printable character. 21846 // KeyPress is deprecated, but its replacement is not yet final and not 21847 // implemented in any major browser. Only KeyPress has charCode. 21848 if (event.type === 'keypress') { 21849 return getEventCharCode(event); 21850 } 21851 21852 return 0; 21853 }, 21854 keyCode: function (event) { 21855 // `keyCode` is the result of a KeyDown/Up event and represents the value of 21856 // physical keyboard key. 21857 // The actual meaning of the value depends on the users' keyboard layout 21858 // which cannot be detected. Assuming that it is a US keyboard layout 21859 // provides a surprisingly accurate mapping for US and European users. 21860 // Due to this, it is left to the user to implement at this time. 21861 if (event.type === 'keydown' || event.type === 'keyup') { 21862 return event.keyCode; 21863 } 21864 21865 return 0; 21866 }, 21867 which: function (event) { 21868 // `which` is an alias for either `keyCode` or `charCode` depending on the 21869 // type of the event. 21870 if (event.type === 'keypress') { 21871 return getEventCharCode(event); 21872 } 21873 21874 if (event.type === 'keydown' || event.type === 'keyup') { 21875 return event.keyCode; 21876 } 21877 21878 return 0; 21879 } 21880}); 21881 21882/** 21883 * @interface DragEvent 21884 * @see http://www.w3.org/TR/DOM-Level-3-Events/ 21885 */ 21886 21887var SyntheticDragEvent = SyntheticMouseEvent.extend({ 21888 dataTransfer: null 21889}); 21890 21891/** 21892 * @interface TouchEvent 21893 * @see http://www.w3.org/TR/touch-events/ 21894 */ 21895 21896var SyntheticTouchEvent = SyntheticUIEvent.extend({ 21897 touches: null, 21898 targetTouches: null, 21899 changedTouches: null, 21900 altKey: null, 21901 metaKey: null, 21902 ctrlKey: null, 21903 shiftKey: null, 21904 getModifierState: getEventModifierState 21905}); 21906 21907/** 21908 * @interface Event 21909 * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events- 21910 * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent 21911 */ 21912 21913var SyntheticTransitionEvent = SyntheticEvent.extend({ 21914 propertyName: null, 21915 elapsedTime: null, 21916 pseudoElement: null 21917}); 21918 21919/** 21920 * @interface WheelEvent 21921 * @see http://www.w3.org/TR/DOM-Level-3-Events/ 21922 */ 21923 21924var SyntheticWheelEvent = SyntheticMouseEvent.extend({ 21925 deltaX: function (event) { 21926 return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive). 21927 'wheelDeltaX' in event ? -event.wheelDeltaX : 0; 21928 }, 21929 deltaY: function (event) { 21930 return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive). 21931 'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive). 21932 'wheelDelta' in event ? -event.wheelDelta : 0; 21933 }, 21934 deltaZ: null, 21935 // Browsers without "deltaMode" is reporting in raw wheel delta where one 21936 // notch on the scroll is always +/- 120, roughly equivalent to pixels. 21937 // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or 21938 // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size. 21939 deltaMode: null 21940}); 21941 21942var knownHTMLTopLevelTypes = [TOP_ABORT, TOP_CANCEL, TOP_CAN_PLAY, TOP_CAN_PLAY_THROUGH, TOP_CLOSE, TOP_DURATION_CHANGE, TOP_EMPTIED, TOP_ENCRYPTED, TOP_ENDED, TOP_ERROR, TOP_INPUT, TOP_INVALID, TOP_LOAD, TOP_LOADED_DATA, TOP_LOADED_METADATA, TOP_LOAD_START, TOP_PAUSE, TOP_PLAY, TOP_PLAYING, TOP_PROGRESS, TOP_RATE_CHANGE, TOP_RESET, TOP_SEEKED, TOP_SEEKING, TOP_STALLED, TOP_SUBMIT, TOP_SUSPEND, TOP_TIME_UPDATE, TOP_TOGGLE, TOP_VOLUME_CHANGE, TOP_WAITING]; 21943var SimpleEventPlugin = { 21944 // simpleEventPluginEventTypes gets populated from 21945 // the DOMEventProperties module. 21946 eventTypes: simpleEventPluginEventTypes, 21947 extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) { 21948 var dispatchConfig = topLevelEventsToDispatchConfig.get(topLevelType); 21949 21950 if (!dispatchConfig) { 21951 return null; 21952 } 21953 21954 var EventConstructor; 21955 21956 switch (topLevelType) { 21957 case TOP_KEY_PRESS: 21958 // Firefox creates a keypress event for function keys too. This removes 21959 // the unwanted keypress events. Enter is however both printable and 21960 // non-printable. One would expect Tab to be as well (but it isn't). 21961 if (getEventCharCode(nativeEvent) === 0) { 21962 return null; 21963 } 21964 21965 /* falls through */ 21966 21967 case TOP_KEY_DOWN: 21968 case TOP_KEY_UP: 21969 EventConstructor = SyntheticKeyboardEvent; 21970 break; 21971 21972 case TOP_BLUR: 21973 case TOP_FOCUS: 21974 EventConstructor = SyntheticFocusEvent; 21975 break; 21976 21977 case TOP_CLICK: 21978 // Firefox creates a click event on right mouse clicks. This removes the 21979 // unwanted click events. 21980 if (nativeEvent.button === 2) { 21981 return null; 21982 } 21983 21984 /* falls through */ 21985 21986 case TOP_AUX_CLICK: 21987 case TOP_DOUBLE_CLICK: 21988 case TOP_MOUSE_DOWN: 21989 case TOP_MOUSE_MOVE: 21990 case TOP_MOUSE_UP: // TODO: Disabled elements should not respond to mouse events 21991 21992 /* falls through */ 21993 21994 case TOP_MOUSE_OUT: 21995 case TOP_MOUSE_OVER: 21996 case TOP_CONTEXT_MENU: 21997 EventConstructor = SyntheticMouseEvent; 21998 break; 21999 22000 case TOP_DRAG: 22001 case TOP_DRAG_END: 22002 case TOP_DRAG_ENTER: 22003 case TOP_DRAG_EXIT: 22004 case TOP_DRAG_LEAVE: 22005 case TOP_DRAG_OVER: 22006 case TOP_DRAG_START: 22007 case TOP_DROP: 22008 EventConstructor = SyntheticDragEvent; 22009 break; 22010 22011 case TOP_TOUCH_CANCEL: 22012 case TOP_TOUCH_END: 22013 case TOP_TOUCH_MOVE: 22014 case TOP_TOUCH_START: 22015 EventConstructor = SyntheticTouchEvent; 22016 break; 22017 22018 case TOP_ANIMATION_END: 22019 case TOP_ANIMATION_ITERATION: 22020 case TOP_ANIMATION_START: 22021 EventConstructor = SyntheticAnimationEvent; 22022 break; 22023 22024 case TOP_TRANSITION_END: 22025 EventConstructor = SyntheticTransitionEvent; 22026 break; 22027 22028 case TOP_SCROLL: 22029 EventConstructor = SyntheticUIEvent; 22030 break; 22031 22032 case TOP_WHEEL: 22033 EventConstructor = SyntheticWheelEvent; 22034 break; 22035 22036 case TOP_COPY: 22037 case TOP_CUT: 22038 case TOP_PASTE: 22039 EventConstructor = SyntheticClipboardEvent; 22040 break; 22041 22042 case TOP_GOT_POINTER_CAPTURE: 22043 case TOP_LOST_POINTER_CAPTURE: 22044 case TOP_POINTER_CANCEL: 22045 case TOP_POINTER_DOWN: 22046 case TOP_POINTER_MOVE: 22047 case TOP_POINTER_OUT: 22048 case TOP_POINTER_OVER: 22049 case TOP_POINTER_UP: 22050 EventConstructor = SyntheticPointerEvent; 22051 break; 22052 22053 default: 22054 { 22055 if (knownHTMLTopLevelTypes.indexOf(topLevelType) === -1) { 22056 error('SimpleEventPlugin: Unhandled event type, `%s`. This warning ' + 'is likely caused by a bug in React. Please file an issue.', topLevelType); 22057 } 22058 } // HTML Events 22059 // @see http://www.w3.org/TR/html5/index.html#events-0 22060 22061 22062 EventConstructor = SyntheticEvent; 22063 break; 22064 } 22065 22066 var event = EventConstructor.getPooled(dispatchConfig, targetInst, nativeEvent, nativeEventTarget); 22067 accumulateTwoPhaseDispatches(event); 22068 return event; 22069 } 22070}; 22071 22072/** 22073 * Specifies a deterministic ordering of `EventPlugin`s. A convenient way to 22074 * reason about plugins, without having to package every one of them. This 22075 * is better than having plugins be ordered in the same order that they 22076 * are injected because that ordering would be influenced by the packaging order. 22077 * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that 22078 * preventing default on events is convenient in `SimpleEventPlugin` handlers. 22079 */ 22080 22081var DOMEventPluginOrder = ['ResponderEventPlugin', 'SimpleEventPlugin', 'EnterLeaveEventPlugin', 'ChangeEventPlugin', 'SelectEventPlugin', 'BeforeInputEventPlugin']; 22082/** 22083 * Inject modules for resolving DOM hierarchy and plugin ordering. 22084 */ 22085 22086injectEventPluginOrder(DOMEventPluginOrder); 22087setComponentTree(getFiberCurrentPropsFromNode$1, getInstanceFromNode$1, getNodeFromInstance$1); 22088/** 22089 * Some important event plugins included by default (without having to require 22090 * them). 22091 */ 22092 22093injectEventPluginsByName({ 22094 SimpleEventPlugin: SimpleEventPlugin, 22095 EnterLeaveEventPlugin: EnterLeaveEventPlugin, 22096 ChangeEventPlugin: ChangeEventPlugin, 22097 SelectEventPlugin: SelectEventPlugin, 22098 BeforeInputEventPlugin: BeforeInputEventPlugin 22099}); 22100 22101// Prefix measurements so that it's possible to filter them. 22102// Longer prefixes are hard to read in DevTools. 22103var reactEmoji = "\u269B"; 22104var warningEmoji = "\u26D4"; 22105var supportsUserTiming = typeof performance !== 'undefined' && typeof performance.mark === 'function' && typeof performance.clearMarks === 'function' && typeof performance.measure === 'function' && typeof performance.clearMeasures === 'function'; // Keep track of current fiber so that we know the path to unwind on pause. 22106// TODO: this looks the same as nextUnitOfWork in scheduler. Can we unify them? 22107 22108var currentFiber = null; // If we're in the middle of user code, which fiber and method is it? 22109// Reusing `currentFiber` would be confusing for this because user code fiber 22110// can change during commit phase too, but we don't need to unwind it (since 22111// lifecycles in the commit phase don't resemble a tree). 22112 22113var currentPhase = null; 22114var currentPhaseFiber = null; // Did lifecycle hook schedule an update? This is often a performance problem, 22115// so we will keep track of it, and include it in the report. 22116// Track commits caused by cascading updates. 22117 22118var isCommitting = false; 22119var hasScheduledUpdateInCurrentCommit = false; 22120var hasScheduledUpdateInCurrentPhase = false; 22121var commitCountInCurrentWorkLoop = 0; 22122var effectCountInCurrentCommit = 0; 22123// to avoid stretch the commit phase with measurement overhead. 22124 22125var labelsInCurrentCommit = new Set(); 22126 22127var formatMarkName = function (markName) { 22128 return reactEmoji + " " + markName; 22129}; 22130 22131var formatLabel = function (label, warning) { 22132 var prefix = warning ? warningEmoji + " " : reactEmoji + " "; 22133 var suffix = warning ? " Warning: " + warning : ''; 22134 return "" + prefix + label + suffix; 22135}; 22136 22137var beginMark = function (markName) { 22138 performance.mark(formatMarkName(markName)); 22139}; 22140 22141var clearMark = function (markName) { 22142 performance.clearMarks(formatMarkName(markName)); 22143}; 22144 22145var endMark = function (label, markName, warning) { 22146 var formattedMarkName = formatMarkName(markName); 22147 var formattedLabel = formatLabel(label, warning); 22148 22149 try { 22150 performance.measure(formattedLabel, formattedMarkName); 22151 } catch (err) {} // If previous mark was missing for some reason, this will throw. 22152 // This could only happen if React crashed in an unexpected place earlier. 22153 // Don't pile on with more errors. 22154 // Clear marks immediately to avoid growing buffer. 22155 22156 22157 performance.clearMarks(formattedMarkName); 22158 performance.clearMeasures(formattedLabel); 22159}; 22160 22161var getFiberMarkName = function (label, debugID) { 22162 return label + " (#" + debugID + ")"; 22163}; 22164 22165var getFiberLabel = function (componentName, isMounted, phase) { 22166 if (phase === null) { 22167 // These are composite component total time measurements. 22168 return componentName + " [" + (isMounted ? 'update' : 'mount') + "]"; 22169 } else { 22170 // Composite component methods. 22171 return componentName + "." + phase; 22172 } 22173}; 22174 22175var beginFiberMark = function (fiber, phase) { 22176 var componentName = getComponentName(fiber.type) || 'Unknown'; 22177 var debugID = fiber._debugID; 22178 var isMounted = fiber.alternate !== null; 22179 var label = getFiberLabel(componentName, isMounted, phase); 22180 22181 if (isCommitting && labelsInCurrentCommit.has(label)) { 22182 // During the commit phase, we don't show duplicate labels because 22183 // there is a fixed overhead for every measurement, and we don't 22184 // want to stretch the commit phase beyond necessary. 22185 return false; 22186 } 22187 22188 labelsInCurrentCommit.add(label); 22189 var markName = getFiberMarkName(label, debugID); 22190 beginMark(markName); 22191 return true; 22192}; 22193 22194var clearFiberMark = function (fiber, phase) { 22195 var componentName = getComponentName(fiber.type) || 'Unknown'; 22196 var debugID = fiber._debugID; 22197 var isMounted = fiber.alternate !== null; 22198 var label = getFiberLabel(componentName, isMounted, phase); 22199 var markName = getFiberMarkName(label, debugID); 22200 clearMark(markName); 22201}; 22202 22203var endFiberMark = function (fiber, phase, warning) { 22204 var componentName = getComponentName(fiber.type) || 'Unknown'; 22205 var debugID = fiber._debugID; 22206 var isMounted = fiber.alternate !== null; 22207 var label = getFiberLabel(componentName, isMounted, phase); 22208 var markName = getFiberMarkName(label, debugID); 22209 endMark(label, markName, warning); 22210}; 22211 22212var shouldIgnoreFiber = function (fiber) { 22213 // Host components should be skipped in the timeline. 22214 // We could check typeof fiber.type, but does this work with RN? 22215 switch (fiber.tag) { 22216 case HostRoot: 22217 case HostComponent: 22218 case HostText: 22219 case HostPortal: 22220 case Fragment: 22221 case ContextProvider: 22222 case ContextConsumer: 22223 case Mode: 22224 return true; 22225 22226 default: 22227 return false; 22228 } 22229}; 22230 22231var clearPendingPhaseMeasurement = function () { 22232 if (currentPhase !== null && currentPhaseFiber !== null) { 22233 clearFiberMark(currentPhaseFiber, currentPhase); 22234 } 22235 22236 currentPhaseFiber = null; 22237 currentPhase = null; 22238 hasScheduledUpdateInCurrentPhase = false; 22239}; 22240 22241var pauseTimers = function () { 22242 // Stops all currently active measurements so that they can be resumed 22243 // if we continue in a later deferred loop from the same unit of work. 22244 var fiber = currentFiber; 22245 22246 while (fiber) { 22247 if (fiber._debugIsCurrentlyTiming) { 22248 endFiberMark(fiber, null, null); 22249 } 22250 22251 fiber = fiber.return; 22252 } 22253}; 22254 22255var resumeTimersRecursively = function (fiber) { 22256 if (fiber.return !== null) { 22257 resumeTimersRecursively(fiber.return); 22258 } 22259 22260 if (fiber._debugIsCurrentlyTiming) { 22261 beginFiberMark(fiber, null); 22262 } 22263}; 22264 22265var resumeTimers = function () { 22266 // Resumes all measurements that were active during the last deferred loop. 22267 if (currentFiber !== null) { 22268 resumeTimersRecursively(currentFiber); 22269 } 22270}; 22271 22272function recordEffect() { 22273 { 22274 effectCountInCurrentCommit++; 22275 } 22276} 22277function recordScheduleUpdate() { 22278 { 22279 if (isCommitting) { 22280 hasScheduledUpdateInCurrentCommit = true; 22281 } 22282 22283 if (currentPhase !== null && currentPhase !== 'componentWillMount' && currentPhase !== 'componentWillReceiveProps') { 22284 hasScheduledUpdateInCurrentPhase = true; 22285 } 22286 } 22287} 22288function startWorkTimer(fiber) { 22289 { 22290 if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { 22291 return; 22292 } // If we pause, this is the fiber to unwind from. 22293 22294 22295 currentFiber = fiber; 22296 22297 if (!beginFiberMark(fiber, null)) { 22298 return; 22299 } 22300 22301 fiber._debugIsCurrentlyTiming = true; 22302 } 22303} 22304function cancelWorkTimer(fiber) { 22305 { 22306 if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { 22307 return; 22308 } // Remember we shouldn't complete measurement for this fiber. 22309 // Otherwise flamechart will be deep even for small updates. 22310 22311 22312 fiber._debugIsCurrentlyTiming = false; 22313 clearFiberMark(fiber, null); 22314 } 22315} 22316function stopWorkTimer(fiber) { 22317 { 22318 if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { 22319 return; 22320 } // If we pause, its parent is the fiber to unwind from. 22321 22322 22323 currentFiber = fiber.return; 22324 22325 if (!fiber._debugIsCurrentlyTiming) { 22326 return; 22327 } 22328 22329 fiber._debugIsCurrentlyTiming = false; 22330 endFiberMark(fiber, null, null); 22331 } 22332} 22333function stopFailedWorkTimer(fiber) { 22334 { 22335 if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { 22336 return; 22337 } // If we pause, its parent is the fiber to unwind from. 22338 22339 22340 currentFiber = fiber.return; 22341 22342 if (!fiber._debugIsCurrentlyTiming) { 22343 return; 22344 } 22345 22346 fiber._debugIsCurrentlyTiming = false; 22347 var warning = fiber.tag === SuspenseComponent ? 'Rendering was suspended' : 'An error was thrown inside this error boundary'; 22348 endFiberMark(fiber, null, warning); 22349 } 22350} 22351function startPhaseTimer(fiber, phase) { 22352 { 22353 if (!supportsUserTiming) { 22354 return; 22355 } 22356 22357 clearPendingPhaseMeasurement(); 22358 22359 if (!beginFiberMark(fiber, phase)) { 22360 return; 22361 } 22362 22363 currentPhaseFiber = fiber; 22364 currentPhase = phase; 22365 } 22366} 22367function stopPhaseTimer() { 22368 { 22369 if (!supportsUserTiming) { 22370 return; 22371 } 22372 22373 if (currentPhase !== null && currentPhaseFiber !== null) { 22374 var warning = hasScheduledUpdateInCurrentPhase ? 'Scheduled a cascading update' : null; 22375 endFiberMark(currentPhaseFiber, currentPhase, warning); 22376 } 22377 22378 currentPhase = null; 22379 currentPhaseFiber = null; 22380 } 22381} 22382function startWorkLoopTimer(nextUnitOfWork) { 22383 { 22384 currentFiber = nextUnitOfWork; 22385 22386 if (!supportsUserTiming) { 22387 return; 22388 } 22389 22390 commitCountInCurrentWorkLoop = 0; // This is top level call. 22391 // Any other measurements are performed within. 22392 22393 beginMark('(React Tree Reconciliation)'); // Resume any measurements that were in progress during the last loop. 22394 22395 resumeTimers(); 22396 } 22397} 22398function stopWorkLoopTimer(interruptedBy, didCompleteRoot) { 22399 { 22400 if (!supportsUserTiming) { 22401 return; 22402 } 22403 22404 var warning = null; 22405 22406 if (interruptedBy !== null) { 22407 if (interruptedBy.tag === HostRoot) { 22408 warning = 'A top-level update interrupted the previous render'; 22409 } else { 22410 var componentName = getComponentName(interruptedBy.type) || 'Unknown'; 22411 warning = "An update to " + componentName + " interrupted the previous render"; 22412 } 22413 } else if (commitCountInCurrentWorkLoop > 1) { 22414 warning = 'There were cascading updates'; 22415 } 22416 22417 commitCountInCurrentWorkLoop = 0; 22418 var label = didCompleteRoot ? '(React Tree Reconciliation: Completed Root)' : '(React Tree Reconciliation: Yielded)'; // Pause any measurements until the next loop. 22419 22420 pauseTimers(); 22421 endMark(label, '(React Tree Reconciliation)', warning); 22422 } 22423} 22424function startCommitTimer() { 22425 { 22426 if (!supportsUserTiming) { 22427 return; 22428 } 22429 22430 isCommitting = true; 22431 hasScheduledUpdateInCurrentCommit = false; 22432 labelsInCurrentCommit.clear(); 22433 beginMark('(Committing Changes)'); 22434 } 22435} 22436function stopCommitTimer() { 22437 { 22438 if (!supportsUserTiming) { 22439 return; 22440 } 22441 22442 var warning = null; 22443 22444 if (hasScheduledUpdateInCurrentCommit) { 22445 warning = 'Lifecycle hook scheduled a cascading update'; 22446 } else if (commitCountInCurrentWorkLoop > 0) { 22447 warning = 'Caused by a cascading update in earlier commit'; 22448 } 22449 22450 hasScheduledUpdateInCurrentCommit = false; 22451 commitCountInCurrentWorkLoop++; 22452 isCommitting = false; 22453 labelsInCurrentCommit.clear(); 22454 endMark('(Committing Changes)', '(Committing Changes)', warning); 22455 } 22456} 22457function startCommitSnapshotEffectsTimer() { 22458 { 22459 if (!supportsUserTiming) { 22460 return; 22461 } 22462 22463 effectCountInCurrentCommit = 0; 22464 beginMark('(Committing Snapshot Effects)'); 22465 } 22466} 22467function stopCommitSnapshotEffectsTimer() { 22468 { 22469 if (!supportsUserTiming) { 22470 return; 22471 } 22472 22473 var count = effectCountInCurrentCommit; 22474 effectCountInCurrentCommit = 0; 22475 endMark("(Committing Snapshot Effects: " + count + " Total)", '(Committing Snapshot Effects)', null); 22476 } 22477} 22478function startCommitHostEffectsTimer() { 22479 { 22480 if (!supportsUserTiming) { 22481 return; 22482 } 22483 22484 effectCountInCurrentCommit = 0; 22485 beginMark('(Committing Host Effects)'); 22486 } 22487} 22488function stopCommitHostEffectsTimer() { 22489 { 22490 if (!supportsUserTiming) { 22491 return; 22492 } 22493 22494 var count = effectCountInCurrentCommit; 22495 effectCountInCurrentCommit = 0; 22496 endMark("(Committing Host Effects: " + count + " Total)", '(Committing Host Effects)', null); 22497 } 22498} 22499function startCommitLifeCyclesTimer() { 22500 { 22501 if (!supportsUserTiming) { 22502 return; 22503 } 22504 22505 effectCountInCurrentCommit = 0; 22506 beginMark('(Calling Lifecycle Methods)'); 22507 } 22508} 22509function stopCommitLifeCyclesTimer() { 22510 { 22511 if (!supportsUserTiming) { 22512 return; 22513 } 22514 22515 var count = effectCountInCurrentCommit; 22516 effectCountInCurrentCommit = 0; 22517 endMark("(Calling Lifecycle Methods: " + count + " Total)", '(Calling Lifecycle Methods)', null); 22518 } 22519} 22520 22521var valueStack = []; 22522var fiberStack; 22523 22524{ 22525 fiberStack = []; 22526} 22527 22528var index = -1; 22529 22530function createCursor(defaultValue) { 22531 return { 22532 current: defaultValue 22533 }; 22534} 22535 22536function pop(cursor, fiber) { 22537 if (index < 0) { 22538 { 22539 error('Unexpected pop.'); 22540 } 22541 22542 return; 22543 } 22544 22545 { 22546 if (fiber !== fiberStack[index]) { 22547 error('Unexpected Fiber popped.'); 22548 } 22549 } 22550 22551 cursor.current = valueStack[index]; 22552 valueStack[index] = null; 22553 22554 { 22555 fiberStack[index] = null; 22556 } 22557 22558 index--; 22559} 22560 22561function push(cursor, value, fiber) { 22562 index++; 22563 valueStack[index] = cursor.current; 22564 22565 { 22566 fiberStack[index] = fiber; 22567 } 22568 22569 cursor.current = value; 22570} 22571 22572var warnedAboutMissingGetChildContext; 22573 22574{ 22575 warnedAboutMissingGetChildContext = {}; 22576} 22577 22578var emptyContextObject = {}; 22579 22580{ 22581 Object.freeze(emptyContextObject); 22582} // A cursor to the current merged context object on the stack. 22583 22584 22585var contextStackCursor = createCursor(emptyContextObject); // A cursor to a boolean indicating whether the context has changed. 22586 22587var didPerformWorkStackCursor = createCursor(false); // Keep track of the previous context object that was on the stack. 22588// We use this to get access to the parent context after we have already 22589// pushed the next context provider, and now need to merge their contexts. 22590 22591var previousContext = emptyContextObject; 22592 22593function getUnmaskedContext(workInProgress, Component, didPushOwnContextIfProvider) { 22594 { 22595 if (didPushOwnContextIfProvider && isContextProvider(Component)) { 22596 // If the fiber is a context provider itself, when we read its context 22597 // we may have already pushed its own child context on the stack. A context 22598 // provider should not "see" its own child context. Therefore we read the 22599 // previous (parent) context instead for a context provider. 22600 return previousContext; 22601 } 22602 22603 return contextStackCursor.current; 22604 } 22605} 22606 22607function cacheContext(workInProgress, unmaskedContext, maskedContext) { 22608 { 22609 var instance = workInProgress.stateNode; 22610 instance.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext; 22611 instance.__reactInternalMemoizedMaskedChildContext = maskedContext; 22612 } 22613} 22614 22615function getMaskedContext(workInProgress, unmaskedContext) { 22616 { 22617 var type = workInProgress.type; 22618 var contextTypes = type.contextTypes; 22619 22620 if (!contextTypes) { 22621 return emptyContextObject; 22622 } // Avoid recreating masked context unless unmasked context has changed. 22623 // Failing to do this will result in unnecessary calls to componentWillReceiveProps. 22624 // This may trigger infinite loops if componentWillReceiveProps calls setState. 22625 22626 22627 var instance = workInProgress.stateNode; 22628 22629 if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) { 22630 return instance.__reactInternalMemoizedMaskedChildContext; 22631 } 22632 22633 var context = {}; 22634 22635 for (var key in contextTypes) { 22636 context[key] = unmaskedContext[key]; 22637 } 22638 22639 { 22640 var name = getComponentName(type) || 'Unknown'; 22641 checkPropTypes(contextTypes, context, 'context', name, getCurrentFiberStackInDev); 22642 } // Cache unmasked context so we can avoid recreating masked context unless necessary. 22643 // Context is created before the class component is instantiated so check for instance. 22644 22645 22646 if (instance) { 22647 cacheContext(workInProgress, unmaskedContext, context); 22648 } 22649 22650 return context; 22651 } 22652} 22653 22654function hasContextChanged() { 22655 { 22656 return didPerformWorkStackCursor.current; 22657 } 22658} 22659 22660function isContextProvider(type) { 22661 { 22662 var childContextTypes = type.childContextTypes; 22663 return childContextTypes !== null && childContextTypes !== undefined; 22664 } 22665} 22666 22667function popContext(fiber) { 22668 { 22669 pop(didPerformWorkStackCursor, fiber); 22670 pop(contextStackCursor, fiber); 22671 } 22672} 22673 22674function popTopLevelContextObject(fiber) { 22675 { 22676 pop(didPerformWorkStackCursor, fiber); 22677 pop(contextStackCursor, fiber); 22678 } 22679} 22680 22681function pushTopLevelContextObject(fiber, context, didChange) { 22682 { 22683 if (!(contextStackCursor.current === emptyContextObject)) { 22684 { 22685 throw Error( "Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue." ); 22686 } 22687 } 22688 22689 push(contextStackCursor, context, fiber); 22690 push(didPerformWorkStackCursor, didChange, fiber); 22691 } 22692} 22693 22694function processChildContext(fiber, type, parentContext) { 22695 { 22696 var instance = fiber.stateNode; 22697 var childContextTypes = type.childContextTypes; // TODO (bvaughn) Replace this behavior with an invariant() in the future. 22698 // It has only been added in Fiber to match the (unintentional) behavior in Stack. 22699 22700 if (typeof instance.getChildContext !== 'function') { 22701 { 22702 var componentName = getComponentName(type) || 'Unknown'; 22703 22704 if (!warnedAboutMissingGetChildContext[componentName]) { 22705 warnedAboutMissingGetChildContext[componentName] = true; 22706 22707 error('%s.childContextTypes is specified but there is no getChildContext() method ' + 'on the instance. You can either define getChildContext() on %s or remove ' + 'childContextTypes from it.', componentName, componentName); 22708 } 22709 } 22710 22711 return parentContext; 22712 } 22713 22714 var childContext; 22715 startPhaseTimer(fiber, 'getChildContext'); 22716 childContext = instance.getChildContext(); 22717 stopPhaseTimer(); 22718 22719 for (var contextKey in childContext) { 22720 if (!(contextKey in childContextTypes)) { 22721 { 22722 throw Error( (getComponentName(type) || 'Unknown') + ".getChildContext(): key \"" + contextKey + "\" is not defined in childContextTypes." ); 22723 } 22724 } 22725 } 22726 22727 { 22728 var name = getComponentName(type) || 'Unknown'; 22729 checkPropTypes(childContextTypes, childContext, 'child context', name, // In practice, there is one case in which we won't get a stack. It's when 22730 // somebody calls unstable_renderSubtreeIntoContainer() and we process 22731 // context from the parent component instance. The stack will be missing 22732 // because it's outside of the reconciliation, and so the pointer has not 22733 // been set. This is rare and doesn't matter. We'll also remove that API. 22734 getCurrentFiberStackInDev); 22735 } 22736 22737 return _assign({}, parentContext, {}, childContext); 22738 } 22739} 22740 22741function pushContextProvider(workInProgress) { 22742 { 22743 var instance = workInProgress.stateNode; // We push the context as early as possible to ensure stack integrity. 22744 // If the instance does not exist yet, we will push null at first, 22745 // and replace it on the stack later when invalidating the context. 22746 22747 var memoizedMergedChildContext = instance && instance.__reactInternalMemoizedMergedChildContext || emptyContextObject; // Remember the parent context so we can merge with it later. 22748 // Inherit the parent's did-perform-work value to avoid inadvertently blocking updates. 22749 22750 previousContext = contextStackCursor.current; 22751 push(contextStackCursor, memoizedMergedChildContext, workInProgress); 22752 push(didPerformWorkStackCursor, didPerformWorkStackCursor.current, workInProgress); 22753 return true; 22754 } 22755} 22756 22757function invalidateContextProvider(workInProgress, type, didChange) { 22758 { 22759 var instance = workInProgress.stateNode; 22760 22761 if (!instance) { 22762 { 22763 throw Error( "Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue." ); 22764 } 22765 } 22766 22767 if (didChange) { 22768 // Merge parent and own context. 22769 // Skip this if we're not updating due to sCU. 22770 // This avoids unnecessarily recomputing memoized values. 22771 var mergedContext = processChildContext(workInProgress, type, previousContext); 22772 instance.__reactInternalMemoizedMergedChildContext = mergedContext; // Replace the old (or empty) context with the new one. 22773 // It is important to unwind the context in the reverse order. 22774 22775 pop(didPerformWorkStackCursor, workInProgress); 22776 pop(contextStackCursor, workInProgress); // Now push the new context and mark that it has changed. 22777 22778 push(contextStackCursor, mergedContext, workInProgress); 22779 push(didPerformWorkStackCursor, didChange, workInProgress); 22780 } else { 22781 pop(didPerformWorkStackCursor, workInProgress); 22782 push(didPerformWorkStackCursor, didChange, workInProgress); 22783 } 22784 } 22785} 22786 22787function findCurrentUnmaskedContext(fiber) { 22788 { 22789 // Currently this is only used with renderSubtreeIntoContainer; not sure if it 22790 // makes sense elsewhere 22791 if (!(isFiberMounted(fiber) && fiber.tag === ClassComponent)) { 22792 { 22793 throw Error( "Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue." ); 22794 } 22795 } 22796 22797 var node = fiber; 22798 22799 do { 22800 switch (node.tag) { 22801 case HostRoot: 22802 return node.stateNode.context; 22803 22804 case ClassComponent: 22805 { 22806 var Component = node.type; 22807 22808 if (isContextProvider(Component)) { 22809 return node.stateNode.__reactInternalMemoizedMergedChildContext; 22810 } 22811 22812 break; 22813 } 22814 } 22815 22816 node = node.return; 22817 } while (node !== null); 22818 22819 { 22820 { 22821 throw Error( "Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue." ); 22822 } 22823 } 22824 } 22825} 22826 22827var LegacyRoot = 0; 22828var BlockingRoot = 1; 22829var ConcurrentRoot = 2; 22830 22831var Scheduler_runWithPriority = Scheduler.unstable_runWithPriority, 22832 Scheduler_scheduleCallback = Scheduler.unstable_scheduleCallback, 22833 Scheduler_cancelCallback = Scheduler.unstable_cancelCallback, 22834 Scheduler_shouldYield = Scheduler.unstable_shouldYield, 22835 Scheduler_requestPaint = Scheduler.unstable_requestPaint, 22836 Scheduler_now = Scheduler.unstable_now, 22837 Scheduler_getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel, 22838 Scheduler_ImmediatePriority = Scheduler.unstable_ImmediatePriority, 22839 Scheduler_UserBlockingPriority = Scheduler.unstable_UserBlockingPriority, 22840 Scheduler_NormalPriority = Scheduler.unstable_NormalPriority, 22841 Scheduler_LowPriority = Scheduler.unstable_LowPriority, 22842 Scheduler_IdlePriority = Scheduler.unstable_IdlePriority; 22843 22844{ 22845 // Provide explicit error message when production+profiling bundle of e.g. 22846 // react-dom is used with production (non-profiling) bundle of 22847 // scheduler/tracing 22848 if (!(tracing.__interactionsRef != null && tracing.__interactionsRef.current != null)) { 22849 { 22850 throw Error( "It is not supported to run the profiling version of a renderer (for example, `react-dom/profiling`) without also replacing the `scheduler/tracing` module with `scheduler/tracing-profiling`. Your bundler might have a setting for aliasing both modules. Learn more at http://fb.me/react-profiling" ); 22851 } 22852 } 22853} 22854 22855var fakeCallbackNode = {}; // Except for NoPriority, these correspond to Scheduler priorities. We use 22856// ascending numbers so we can compare them like numbers. They start at 90 to 22857// avoid clashing with Scheduler's priorities. 22858 22859var ImmediatePriority = 99; 22860var UserBlockingPriority$1 = 98; 22861var NormalPriority = 97; 22862var LowPriority = 96; 22863var IdlePriority = 95; // NoPriority is the absence of priority. Also React-only. 22864 22865var NoPriority = 90; 22866var shouldYield = Scheduler_shouldYield; 22867var requestPaint = // Fall back gracefully if we're running an older version of Scheduler. 22868Scheduler_requestPaint !== undefined ? Scheduler_requestPaint : function () {}; 22869var syncQueue = null; 22870var immediateQueueCallbackNode = null; 22871var isFlushingSyncQueue = false; 22872var initialTimeMs = Scheduler_now(); // If the initial timestamp is reasonably small, use Scheduler's `now` directly. 22873// This will be the case for modern browsers that support `performance.now`. In 22874// older browsers, Scheduler falls back to `Date.now`, which returns a Unix 22875// timestamp. In that case, subtract the module initialization time to simulate 22876// the behavior of performance.now and keep our times small enough to fit 22877// within 32 bits. 22878// TODO: Consider lifting this into Scheduler. 22879 22880var now = initialTimeMs < 10000 ? Scheduler_now : function () { 22881 return Scheduler_now() - initialTimeMs; 22882}; 22883function getCurrentPriorityLevel() { 22884 switch (Scheduler_getCurrentPriorityLevel()) { 22885 case Scheduler_ImmediatePriority: 22886 return ImmediatePriority; 22887 22888 case Scheduler_UserBlockingPriority: 22889 return UserBlockingPriority$1; 22890 22891 case Scheduler_NormalPriority: 22892 return NormalPriority; 22893 22894 case Scheduler_LowPriority: 22895 return LowPriority; 22896 22897 case Scheduler_IdlePriority: 22898 return IdlePriority; 22899 22900 default: 22901 { 22902 { 22903 throw Error( "Unknown priority level." ); 22904 } 22905 } 22906 22907 } 22908} 22909 22910function reactPriorityToSchedulerPriority(reactPriorityLevel) { 22911 switch (reactPriorityLevel) { 22912 case ImmediatePriority: 22913 return Scheduler_ImmediatePriority; 22914 22915 case UserBlockingPriority$1: 22916 return Scheduler_UserBlockingPriority; 22917 22918 case NormalPriority: 22919 return Scheduler_NormalPriority; 22920 22921 case LowPriority: 22922 return Scheduler_LowPriority; 22923 22924 case IdlePriority: 22925 return Scheduler_IdlePriority; 22926 22927 default: 22928 { 22929 { 22930 throw Error( "Unknown priority level." ); 22931 } 22932 } 22933 22934 } 22935} 22936 22937function runWithPriority$1(reactPriorityLevel, fn) { 22938 var priorityLevel = reactPriorityToSchedulerPriority(reactPriorityLevel); 22939 return Scheduler_runWithPriority(priorityLevel, fn); 22940} 22941function scheduleCallback(reactPriorityLevel, callback, options) { 22942 var priorityLevel = reactPriorityToSchedulerPriority(reactPriorityLevel); 22943 return Scheduler_scheduleCallback(priorityLevel, callback, options); 22944} 22945function scheduleSyncCallback(callback) { 22946 // Push this callback into an internal queue. We'll flush these either in 22947 // the next tick, or earlier if something calls `flushSyncCallbackQueue`. 22948 if (syncQueue === null) { 22949 syncQueue = [callback]; // Flush the queue in the next tick, at the earliest. 22950 22951 immediateQueueCallbackNode = Scheduler_scheduleCallback(Scheduler_ImmediatePriority, flushSyncCallbackQueueImpl); 22952 } else { 22953 // Push onto existing queue. Don't need to schedule a callback because 22954 // we already scheduled one when we created the queue. 22955 syncQueue.push(callback); 22956 } 22957 22958 return fakeCallbackNode; 22959} 22960function cancelCallback(callbackNode) { 22961 if (callbackNode !== fakeCallbackNode) { 22962 Scheduler_cancelCallback(callbackNode); 22963 } 22964} 22965function flushSyncCallbackQueue() { 22966 if (immediateQueueCallbackNode !== null) { 22967 var node = immediateQueueCallbackNode; 22968 immediateQueueCallbackNode = null; 22969 Scheduler_cancelCallback(node); 22970 } 22971 22972 flushSyncCallbackQueueImpl(); 22973} 22974 22975function flushSyncCallbackQueueImpl() { 22976 if (!isFlushingSyncQueue && syncQueue !== null) { 22977 // Prevent re-entrancy. 22978 isFlushingSyncQueue = true; 22979 var i = 0; 22980 22981 try { 22982 var _isSync = true; 22983 var queue = syncQueue; 22984 runWithPriority$1(ImmediatePriority, function () { 22985 for (; i < queue.length; i++) { 22986 var callback = queue[i]; 22987 22988 do { 22989 callback = callback(_isSync); 22990 } while (callback !== null); 22991 } 22992 }); 22993 syncQueue = null; 22994 } catch (error) { 22995 // If something throws, leave the remaining callbacks on the queue. 22996 if (syncQueue !== null) { 22997 syncQueue = syncQueue.slice(i + 1); 22998 } // Resume flushing in the next tick 22999 23000 23001 Scheduler_scheduleCallback(Scheduler_ImmediatePriority, flushSyncCallbackQueue); 23002 throw error; 23003 } finally { 23004 isFlushingSyncQueue = false; 23005 } 23006 } 23007} 23008 23009var NoMode = 0; 23010var StrictMode = 1; // TODO: Remove BlockingMode and ConcurrentMode by reading from the root 23011// tag instead 23012 23013var BlockingMode = 2; 23014var ConcurrentMode = 4; 23015var ProfileMode = 8; 23016 23017// Max 31 bit integer. The max integer size in V8 for 32-bit systems. 23018// Math.pow(2, 30) - 1 23019// 0b111111111111111111111111111111 23020var MAX_SIGNED_31_BIT_INT = 1073741823; 23021 23022var NoWork = 0; // TODO: Think of a better name for Never. The key difference with Idle is that 23023// Never work can be committed in an inconsistent state without tearing the UI. 23024// The main example is offscreen content, like a hidden subtree. So one possible 23025// name is Offscreen. However, it also includes dehydrated Suspense boundaries, 23026// which are inconsistent in the sense that they haven't finished yet, but 23027// aren't visibly inconsistent because the server rendered HTML matches what the 23028// hydrated tree would look like. 23029 23030var Never = 1; // Idle is slightly higher priority than Never. It must completely finish in 23031// order to be consistent. 23032 23033var Idle = 2; // Continuous Hydration is slightly higher than Idle and is used to increase 23034// priority of hover targets. 23035 23036var ContinuousHydration = 3; 23037var Sync = MAX_SIGNED_31_BIT_INT; 23038var Batched = Sync - 1; 23039var UNIT_SIZE = 10; 23040var MAGIC_NUMBER_OFFSET = Batched - 1; // 1 unit of expiration time represents 10ms. 23041 23042function msToExpirationTime(ms) { 23043 // Always subtract from the offset so that we don't clash with the magic number for NoWork. 23044 return MAGIC_NUMBER_OFFSET - (ms / UNIT_SIZE | 0); 23045} 23046function expirationTimeToMs(expirationTime) { 23047 return (MAGIC_NUMBER_OFFSET - expirationTime) * UNIT_SIZE; 23048} 23049 23050function ceiling(num, precision) { 23051 return ((num / precision | 0) + 1) * precision; 23052} 23053 23054function computeExpirationBucket(currentTime, expirationInMs, bucketSizeMs) { 23055 return MAGIC_NUMBER_OFFSET - ceiling(MAGIC_NUMBER_OFFSET - currentTime + expirationInMs / UNIT_SIZE, bucketSizeMs / UNIT_SIZE); 23056} // TODO: This corresponds to Scheduler's NormalPriority, not LowPriority. Update 23057// the names to reflect. 23058 23059 23060var LOW_PRIORITY_EXPIRATION = 5000; 23061var LOW_PRIORITY_BATCH_SIZE = 250; 23062function computeAsyncExpiration(currentTime) { 23063 return computeExpirationBucket(currentTime, LOW_PRIORITY_EXPIRATION, LOW_PRIORITY_BATCH_SIZE); 23064} 23065function computeSuspenseExpiration(currentTime, timeoutMs) { 23066 // TODO: Should we warn if timeoutMs is lower than the normal pri expiration time? 23067 return computeExpirationBucket(currentTime, timeoutMs, LOW_PRIORITY_BATCH_SIZE); 23068} // We intentionally set a higher expiration time for interactive updates in 23069// dev than in production. 23070// 23071// If the main thread is being blocked so long that you hit the expiration, 23072// it's a problem that could be solved with better scheduling. 23073// 23074// People will be more likely to notice this and fix it with the long 23075// expiration time in development. 23076// 23077// In production we opt for better UX at the risk of masking scheduling 23078// problems, by expiring fast. 23079 23080var HIGH_PRIORITY_EXPIRATION = 500 ; 23081var HIGH_PRIORITY_BATCH_SIZE = 100; 23082function computeInteractiveExpiration(currentTime) { 23083 return computeExpirationBucket(currentTime, HIGH_PRIORITY_EXPIRATION, HIGH_PRIORITY_BATCH_SIZE); 23084} 23085function inferPriorityFromExpirationTime(currentTime, expirationTime) { 23086 if (expirationTime === Sync) { 23087 return ImmediatePriority; 23088 } 23089 23090 if (expirationTime === Never || expirationTime === Idle) { 23091 return IdlePriority; 23092 } 23093 23094 var msUntil = expirationTimeToMs(expirationTime) - expirationTimeToMs(currentTime); 23095 23096 if (msUntil <= 0) { 23097 return ImmediatePriority; 23098 } 23099 23100 if (msUntil <= HIGH_PRIORITY_EXPIRATION + HIGH_PRIORITY_BATCH_SIZE) { 23101 return UserBlockingPriority$1; 23102 } 23103 23104 if (msUntil <= LOW_PRIORITY_EXPIRATION + LOW_PRIORITY_BATCH_SIZE) { 23105 return NormalPriority; 23106 } // TODO: Handle LowPriority 23107 // Assume anything lower has idle priority 23108 23109 23110 return IdlePriority; 23111} 23112 23113var ReactStrictModeWarnings = { 23114 recordUnsafeLifecycleWarnings: function (fiber, instance) {}, 23115 flushPendingUnsafeLifecycleWarnings: function () {}, 23116 recordLegacyContextWarning: function (fiber, instance) {}, 23117 flushLegacyContextWarning: function () {}, 23118 discardPendingWarnings: function () {} 23119}; 23120 23121{ 23122 var findStrictRoot = function (fiber) { 23123 var maybeStrictRoot = null; 23124 var node = fiber; 23125 23126 while (node !== null) { 23127 if (node.mode & StrictMode) { 23128 maybeStrictRoot = node; 23129 } 23130 23131 node = node.return; 23132 } 23133 23134 return maybeStrictRoot; 23135 }; 23136 23137 var setToSortedString = function (set) { 23138 var array = []; 23139 set.forEach(function (value) { 23140 array.push(value); 23141 }); 23142 return array.sort().join(', '); 23143 }; 23144 23145 var pendingComponentWillMountWarnings = []; 23146 var pendingUNSAFE_ComponentWillMountWarnings = []; 23147 var pendingComponentWillReceivePropsWarnings = []; 23148 var pendingUNSAFE_ComponentWillReceivePropsWarnings = []; 23149 var pendingComponentWillUpdateWarnings = []; 23150 var pendingUNSAFE_ComponentWillUpdateWarnings = []; // Tracks components we have already warned about. 23151 23152 var didWarnAboutUnsafeLifecycles = new Set(); 23153 23154 ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function (fiber, instance) { 23155 // Dedup strategy: Warn once per component. 23156 if (didWarnAboutUnsafeLifecycles.has(fiber.type)) { 23157 return; 23158 } 23159 23160 if (typeof instance.componentWillMount === 'function' && // Don't warn about react-lifecycles-compat polyfilled components. 23161 instance.componentWillMount.__suppressDeprecationWarning !== true) { 23162 pendingComponentWillMountWarnings.push(fiber); 23163 } 23164 23165 if (fiber.mode & StrictMode && typeof instance.UNSAFE_componentWillMount === 'function') { 23166 pendingUNSAFE_ComponentWillMountWarnings.push(fiber); 23167 } 23168 23169 if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) { 23170 pendingComponentWillReceivePropsWarnings.push(fiber); 23171 } 23172 23173 if (fiber.mode & StrictMode && typeof instance.UNSAFE_componentWillReceiveProps === 'function') { 23174 pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber); 23175 } 23176 23177 if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) { 23178 pendingComponentWillUpdateWarnings.push(fiber); 23179 } 23180 23181 if (fiber.mode & StrictMode && typeof instance.UNSAFE_componentWillUpdate === 'function') { 23182 pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber); 23183 } 23184 }; 23185 23186 ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function () { 23187 // We do an initial pass to gather component names 23188 var componentWillMountUniqueNames = new Set(); 23189 23190 if (pendingComponentWillMountWarnings.length > 0) { 23191 pendingComponentWillMountWarnings.forEach(function (fiber) { 23192 componentWillMountUniqueNames.add(getComponentName(fiber.type) || 'Component'); 23193 didWarnAboutUnsafeLifecycles.add(fiber.type); 23194 }); 23195 pendingComponentWillMountWarnings = []; 23196 } 23197 23198 var UNSAFE_componentWillMountUniqueNames = new Set(); 23199 23200 if (pendingUNSAFE_ComponentWillMountWarnings.length > 0) { 23201 pendingUNSAFE_ComponentWillMountWarnings.forEach(function (fiber) { 23202 UNSAFE_componentWillMountUniqueNames.add(getComponentName(fiber.type) || 'Component'); 23203 didWarnAboutUnsafeLifecycles.add(fiber.type); 23204 }); 23205 pendingUNSAFE_ComponentWillMountWarnings = []; 23206 } 23207 23208 var componentWillReceivePropsUniqueNames = new Set(); 23209 23210 if (pendingComponentWillReceivePropsWarnings.length > 0) { 23211 pendingComponentWillReceivePropsWarnings.forEach(function (fiber) { 23212 componentWillReceivePropsUniqueNames.add(getComponentName(fiber.type) || 'Component'); 23213 didWarnAboutUnsafeLifecycles.add(fiber.type); 23214 }); 23215 pendingComponentWillReceivePropsWarnings = []; 23216 } 23217 23218 var UNSAFE_componentWillReceivePropsUniqueNames = new Set(); 23219 23220 if (pendingUNSAFE_ComponentWillReceivePropsWarnings.length > 0) { 23221 pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(function (fiber) { 23222 UNSAFE_componentWillReceivePropsUniqueNames.add(getComponentName(fiber.type) || 'Component'); 23223 didWarnAboutUnsafeLifecycles.add(fiber.type); 23224 }); 23225 pendingUNSAFE_ComponentWillReceivePropsWarnings = []; 23226 } 23227 23228 var componentWillUpdateUniqueNames = new Set(); 23229 23230 if (pendingComponentWillUpdateWarnings.length > 0) { 23231 pendingComponentWillUpdateWarnings.forEach(function (fiber) { 23232 componentWillUpdateUniqueNames.add(getComponentName(fiber.type) || 'Component'); 23233 didWarnAboutUnsafeLifecycles.add(fiber.type); 23234 }); 23235 pendingComponentWillUpdateWarnings = []; 23236 } 23237 23238 var UNSAFE_componentWillUpdateUniqueNames = new Set(); 23239 23240 if (pendingUNSAFE_ComponentWillUpdateWarnings.length > 0) { 23241 pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function (fiber) { 23242 UNSAFE_componentWillUpdateUniqueNames.add(getComponentName(fiber.type) || 'Component'); 23243 didWarnAboutUnsafeLifecycles.add(fiber.type); 23244 }); 23245 pendingUNSAFE_ComponentWillUpdateWarnings = []; 23246 } // Finally, we flush all the warnings 23247 // UNSAFE_ ones before the deprecated ones, since they'll be 'louder' 23248 23249 23250 if (UNSAFE_componentWillMountUniqueNames.size > 0) { 23251 var sortedNames = setToSortedString(UNSAFE_componentWillMountUniqueNames); 23252 23253 error('Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\n' + '\nPlease update the following components: %s', sortedNames); 23254 } 23255 23256 if (UNSAFE_componentWillReceivePropsUniqueNames.size > 0) { 23257 var _sortedNames = setToSortedString(UNSAFE_componentWillReceivePropsUniqueNames); 23258 23259 error('Using UNSAFE_componentWillReceiveProps in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move data fetching code or side effects to componentDidUpdate.\n' + "* If you're updating state whenever props change, " + 'refactor your code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state\n' + '\nPlease update the following components: %s', _sortedNames); 23260 } 23261 23262 if (UNSAFE_componentWillUpdateUniqueNames.size > 0) { 23263 var _sortedNames2 = setToSortedString(UNSAFE_componentWillUpdateUniqueNames); 23264 23265 error('Using UNSAFE_componentWillUpdate in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move data fetching code or side effects to componentDidUpdate.\n' + '\nPlease update the following components: %s', _sortedNames2); 23266 } 23267 23268 if (componentWillMountUniqueNames.size > 0) { 23269 var _sortedNames3 = setToSortedString(componentWillMountUniqueNames); 23270 23271 warn('componentWillMount has been renamed, and is not recommended for use. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\n' + '* Rename componentWillMount to UNSAFE_componentWillMount to suppress ' + 'this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n' + '\nPlease update the following components: %s', _sortedNames3); 23272 } 23273 23274 if (componentWillReceivePropsUniqueNames.size > 0) { 23275 var _sortedNames4 = setToSortedString(componentWillReceivePropsUniqueNames); 23276 23277 warn('componentWillReceiveProps has been renamed, and is not recommended for use. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move data fetching code or side effects to componentDidUpdate.\n' + "* If you're updating state whenever props change, refactor your " + 'code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state\n' + '* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress ' + 'this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n' + '\nPlease update the following components: %s', _sortedNames4); 23278 } 23279 23280 if (componentWillUpdateUniqueNames.size > 0) { 23281 var _sortedNames5 = setToSortedString(componentWillUpdateUniqueNames); 23282 23283 warn('componentWillUpdate has been renamed, and is not recommended for use. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move data fetching code or side effects to componentDidUpdate.\n' + '* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress ' + 'this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n' + '\nPlease update the following components: %s', _sortedNames5); 23284 } 23285 }; 23286 23287 var pendingLegacyContextWarning = new Map(); // Tracks components we have already warned about. 23288 23289 var didWarnAboutLegacyContext = new Set(); 23290 23291 ReactStrictModeWarnings.recordLegacyContextWarning = function (fiber, instance) { 23292 var strictRoot = findStrictRoot(fiber); 23293 23294 if (strictRoot === null) { 23295 error('Expected to find a StrictMode component in a strict mode tree. ' + 'This error is likely caused by a bug in React. Please file an issue.'); 23296 23297 return; 23298 } // Dedup strategy: Warn once per component. 23299 23300 23301 if (didWarnAboutLegacyContext.has(fiber.type)) { 23302 return; 23303 } 23304 23305 var warningsForRoot = pendingLegacyContextWarning.get(strictRoot); 23306 23307 if (fiber.type.contextTypes != null || fiber.type.childContextTypes != null || instance !== null && typeof instance.getChildContext === 'function') { 23308 if (warningsForRoot === undefined) { 23309 warningsForRoot = []; 23310 pendingLegacyContextWarning.set(strictRoot, warningsForRoot); 23311 } 23312 23313 warningsForRoot.push(fiber); 23314 } 23315 }; 23316 23317 ReactStrictModeWarnings.flushLegacyContextWarning = function () { 23318 pendingLegacyContextWarning.forEach(function (fiberArray, strictRoot) { 23319 if (fiberArray.length === 0) { 23320 return; 23321 } 23322 23323 var firstFiber = fiberArray[0]; 23324 var uniqueNames = new Set(); 23325 fiberArray.forEach(function (fiber) { 23326 uniqueNames.add(getComponentName(fiber.type) || 'Component'); 23327 didWarnAboutLegacyContext.add(fiber.type); 23328 }); 23329 var sortedNames = setToSortedString(uniqueNames); 23330 var firstComponentStack = getStackByFiberInDevAndProd(firstFiber); 23331 23332 error('Legacy context API has been detected within a strict-mode tree.' + '\n\nThe old API will be supported in all 16.x releases, but applications ' + 'using it should migrate to the new version.' + '\n\nPlease update the following components: %s' + '\n\nLearn more about this warning here: https://fb.me/react-legacy-context' + '%s', sortedNames, firstComponentStack); 23333 }); 23334 }; 23335 23336 ReactStrictModeWarnings.discardPendingWarnings = function () { 23337 pendingComponentWillMountWarnings = []; 23338 pendingUNSAFE_ComponentWillMountWarnings = []; 23339 pendingComponentWillReceivePropsWarnings = []; 23340 pendingUNSAFE_ComponentWillReceivePropsWarnings = []; 23341 pendingComponentWillUpdateWarnings = []; 23342 pendingUNSAFE_ComponentWillUpdateWarnings = []; 23343 pendingLegacyContextWarning = new Map(); 23344 }; 23345} 23346 23347var resolveFamily = null; // $FlowFixMe Flow gets confused by a WeakSet feature check below. 23348 23349var failedBoundaries = null; 23350var setRefreshHandler = function (handler) { 23351 { 23352 resolveFamily = handler; 23353 } 23354}; 23355function resolveFunctionForHotReloading(type) { 23356 { 23357 if (resolveFamily === null) { 23358 // Hot reloading is disabled. 23359 return type; 23360 } 23361 23362 var family = resolveFamily(type); 23363 23364 if (family === undefined) { 23365 return type; 23366 } // Use the latest known implementation. 23367 23368 23369 return family.current; 23370 } 23371} 23372function resolveClassForHotReloading(type) { 23373 // No implementation differences. 23374 return resolveFunctionForHotReloading(type); 23375} 23376function resolveForwardRefForHotReloading(type) { 23377 { 23378 if (resolveFamily === null) { 23379 // Hot reloading is disabled. 23380 return type; 23381 } 23382 23383 var family = resolveFamily(type); 23384 23385 if (family === undefined) { 23386 // Check if we're dealing with a real forwardRef. Don't want to crash early. 23387 if (type !== null && type !== undefined && typeof type.render === 'function') { 23388 // ForwardRef is special because its resolved .type is an object, 23389 // but it's possible that we only have its inner render function in the map. 23390 // If that inner render function is different, we'll build a new forwardRef type. 23391 var currentRender = resolveFunctionForHotReloading(type.render); 23392 23393 if (type.render !== currentRender) { 23394 var syntheticType = { 23395 $$typeof: REACT_FORWARD_REF_TYPE, 23396 render: currentRender 23397 }; 23398 23399 if (type.displayName !== undefined) { 23400 syntheticType.displayName = type.displayName; 23401 } 23402 23403 return syntheticType; 23404 } 23405 } 23406 23407 return type; 23408 } // Use the latest known implementation. 23409 23410 23411 return family.current; 23412 } 23413} 23414function isCompatibleFamilyForHotReloading(fiber, element) { 23415 { 23416 if (resolveFamily === null) { 23417 // Hot reloading is disabled. 23418 return false; 23419 } 23420 23421 var prevType = fiber.elementType; 23422 var nextType = element.type; // If we got here, we know types aren't === equal. 23423 23424 var needsCompareFamilies = false; 23425 var $$typeofNextType = typeof nextType === 'object' && nextType !== null ? nextType.$$typeof : null; 23426 23427 switch (fiber.tag) { 23428 case ClassComponent: 23429 { 23430 if (typeof nextType === 'function') { 23431 needsCompareFamilies = true; 23432 } 23433 23434 break; 23435 } 23436 23437 case FunctionComponent: 23438 { 23439 if (typeof nextType === 'function') { 23440 needsCompareFamilies = true; 23441 } else if ($$typeofNextType === REACT_LAZY_TYPE) { 23442 // We don't know the inner type yet. 23443 // We're going to assume that the lazy inner type is stable, 23444 // and so it is sufficient to avoid reconciling it away. 23445 // We're not going to unwrap or actually use the new lazy type. 23446 needsCompareFamilies = true; 23447 } 23448 23449 break; 23450 } 23451 23452 case ForwardRef: 23453 { 23454 if ($$typeofNextType === REACT_FORWARD_REF_TYPE) { 23455 needsCompareFamilies = true; 23456 } else if ($$typeofNextType === REACT_LAZY_TYPE) { 23457 needsCompareFamilies = true; 23458 } 23459 23460 break; 23461 } 23462 23463 case MemoComponent: 23464 case SimpleMemoComponent: 23465 { 23466 if ($$typeofNextType === REACT_MEMO_TYPE) { 23467 // TODO: if it was but can no longer be simple, 23468 // we shouldn't set this. 23469 needsCompareFamilies = true; 23470 } else if ($$typeofNextType === REACT_LAZY_TYPE) { 23471 needsCompareFamilies = true; 23472 } 23473 23474 break; 23475 } 23476 23477 default: 23478 return false; 23479 } // Check if both types have a family and it's the same one. 23480 23481 23482 if (needsCompareFamilies) { 23483 // Note: memo() and forwardRef() we'll compare outer rather than inner type. 23484 // This means both of them need to be registered to preserve state. 23485 // If we unwrapped and compared the inner types for wrappers instead, 23486 // then we would risk falsely saying two separate memo(Foo) 23487 // calls are equivalent because they wrap the same Foo function. 23488 var prevFamily = resolveFamily(prevType); 23489 23490 if (prevFamily !== undefined && prevFamily === resolveFamily(nextType)) { 23491 return true; 23492 } 23493 } 23494 23495 return false; 23496 } 23497} 23498function markFailedErrorBoundaryForHotReloading(fiber) { 23499 { 23500 if (resolveFamily === null) { 23501 // Hot reloading is disabled. 23502 return; 23503 } 23504 23505 if (typeof WeakSet !== 'function') { 23506 return; 23507 } 23508 23509 if (failedBoundaries === null) { 23510 failedBoundaries = new WeakSet(); 23511 } 23512 23513 failedBoundaries.add(fiber); 23514 } 23515} 23516var scheduleRefresh = function (root, update) { 23517 { 23518 if (resolveFamily === null) { 23519 // Hot reloading is disabled. 23520 return; 23521 } 23522 23523 var staleFamilies = update.staleFamilies, 23524 updatedFamilies = update.updatedFamilies; 23525 flushPassiveEffects(); 23526 flushSync(function () { 23527 scheduleFibersWithFamiliesRecursively(root.current, updatedFamilies, staleFamilies); 23528 }); 23529 } 23530}; 23531var scheduleRoot = function (root, element) { 23532 { 23533 if (root.context !== emptyContextObject) { 23534 // Super edge case: root has a legacy _renderSubtree context 23535 // but we don't know the parentComponent so we can't pass it. 23536 // Just ignore. We'll delete this with _renderSubtree code path later. 23537 return; 23538 } 23539 23540 flushPassiveEffects(); 23541 syncUpdates(function () { 23542 updateContainer(element, root, null, null); 23543 }); 23544 } 23545}; 23546 23547function scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) { 23548 { 23549 var alternate = fiber.alternate, 23550 child = fiber.child, 23551 sibling = fiber.sibling, 23552 tag = fiber.tag, 23553 type = fiber.type; 23554 var candidateType = null; 23555 23556 switch (tag) { 23557 case FunctionComponent: 23558 case SimpleMemoComponent: 23559 case ClassComponent: 23560 candidateType = type; 23561 break; 23562 23563 case ForwardRef: 23564 candidateType = type.render; 23565 break; 23566 } 23567 23568 if (resolveFamily === null) { 23569 throw new Error('Expected resolveFamily to be set during hot reload.'); 23570 } 23571 23572 var needsRender = false; 23573 var needsRemount = false; 23574 23575 if (candidateType !== null) { 23576 var family = resolveFamily(candidateType); 23577 23578 if (family !== undefined) { 23579 if (staleFamilies.has(family)) { 23580 needsRemount = true; 23581 } else if (updatedFamilies.has(family)) { 23582 if (tag === ClassComponent) { 23583 needsRemount = true; 23584 } else { 23585 needsRender = true; 23586 } 23587 } 23588 } 23589 } 23590 23591 if (failedBoundaries !== null) { 23592 if (failedBoundaries.has(fiber) || alternate !== null && failedBoundaries.has(alternate)) { 23593 needsRemount = true; 23594 } 23595 } 23596 23597 if (needsRemount) { 23598 fiber._debugNeedsRemount = true; 23599 } 23600 23601 if (needsRemount || needsRender) { 23602 scheduleWork(fiber, Sync); 23603 } 23604 23605 if (child !== null && !needsRemount) { 23606 scheduleFibersWithFamiliesRecursively(child, updatedFamilies, staleFamilies); 23607 } 23608 23609 if (sibling !== null) { 23610 scheduleFibersWithFamiliesRecursively(sibling, updatedFamilies, staleFamilies); 23611 } 23612 } 23613} 23614 23615var findHostInstancesForRefresh = function (root, families) { 23616 { 23617 var hostInstances = new Set(); 23618 var types = new Set(families.map(function (family) { 23619 return family.current; 23620 })); 23621 findHostInstancesForMatchingFibersRecursively(root.current, types, hostInstances); 23622 return hostInstances; 23623 } 23624}; 23625 23626function findHostInstancesForMatchingFibersRecursively(fiber, types, hostInstances) { 23627 { 23628 var child = fiber.child, 23629 sibling = fiber.sibling, 23630 tag = fiber.tag, 23631 type = fiber.type; 23632 var candidateType = null; 23633 23634 switch (tag) { 23635 case FunctionComponent: 23636 case SimpleMemoComponent: 23637 case ClassComponent: 23638 candidateType = type; 23639 break; 23640 23641 case ForwardRef: 23642 candidateType = type.render; 23643 break; 23644 } 23645 23646 var didMatch = false; 23647 23648 if (candidateType !== null) { 23649 if (types.has(candidateType)) { 23650 didMatch = true; 23651 } 23652 } 23653 23654 if (didMatch) { 23655 // We have a match. This only drills down to the closest host components. 23656 // There's no need to search deeper because for the purpose of giving 23657 // visual feedback, "flashing" outermost parent rectangles is sufficient. 23658 findHostInstancesForFiberShallowly(fiber, hostInstances); 23659 } else { 23660 // If there's no match, maybe there will be one further down in the child tree. 23661 if (child !== null) { 23662 findHostInstancesForMatchingFibersRecursively(child, types, hostInstances); 23663 } 23664 } 23665 23666 if (sibling !== null) { 23667 findHostInstancesForMatchingFibersRecursively(sibling, types, hostInstances); 23668 } 23669 } 23670} 23671 23672function findHostInstancesForFiberShallowly(fiber, hostInstances) { 23673 { 23674 var foundHostInstances = findChildHostInstancesForFiberShallowly(fiber, hostInstances); 23675 23676 if (foundHostInstances) { 23677 return; 23678 } // If we didn't find any host children, fallback to closest host parent. 23679 23680 23681 var node = fiber; 23682 23683 while (true) { 23684 switch (node.tag) { 23685 case HostComponent: 23686 hostInstances.add(node.stateNode); 23687 return; 23688 23689 case HostPortal: 23690 hostInstances.add(node.stateNode.containerInfo); 23691 return; 23692 23693 case HostRoot: 23694 hostInstances.add(node.stateNode.containerInfo); 23695 return; 23696 } 23697 23698 if (node.return === null) { 23699 throw new Error('Expected to reach root first.'); 23700 } 23701 23702 node = node.return; 23703 } 23704 } 23705} 23706 23707function findChildHostInstancesForFiberShallowly(fiber, hostInstances) { 23708 { 23709 var node = fiber; 23710 var foundHostInstances = false; 23711 23712 while (true) { 23713 if (node.tag === HostComponent) { 23714 // We got a match. 23715 foundHostInstances = true; 23716 hostInstances.add(node.stateNode); // There may still be more, so keep searching. 23717 } else if (node.child !== null) { 23718 node.child.return = node; 23719 node = node.child; 23720 continue; 23721 } 23722 23723 if (node === fiber) { 23724 return foundHostInstances; 23725 } 23726 23727 while (node.sibling === null) { 23728 if (node.return === null || node.return === fiber) { 23729 return foundHostInstances; 23730 } 23731 23732 node = node.return; 23733 } 23734 23735 node.sibling.return = node.return; 23736 node = node.sibling; 23737 } 23738 } 23739 23740 return false; 23741} 23742 23743function resolveDefaultProps(Component, baseProps) { 23744 if (Component && Component.defaultProps) { 23745 // Resolve default props. Taken from ReactElement 23746 var props = _assign({}, baseProps); 23747 23748 var defaultProps = Component.defaultProps; 23749 23750 for (var propName in defaultProps) { 23751 if (props[propName] === undefined) { 23752 props[propName] = defaultProps[propName]; 23753 } 23754 } 23755 23756 return props; 23757 } 23758 23759 return baseProps; 23760} 23761function readLazyComponentType(lazyComponent) { 23762 initializeLazyComponentType(lazyComponent); 23763 23764 if (lazyComponent._status !== Resolved) { 23765 throw lazyComponent._result; 23766 } 23767 23768 return lazyComponent._result; 23769} 23770 23771var valueCursor = createCursor(null); 23772var rendererSigil; 23773 23774{ 23775 // Use this to detect multiple renderers using the same context 23776 rendererSigil = {}; 23777} 23778 23779var currentlyRenderingFiber = null; 23780var lastContextDependency = null; 23781var lastContextWithAllBitsObserved = null; 23782var isDisallowedContextReadInDEV = false; 23783function resetContextDependencies() { 23784 // This is called right before React yields execution, to ensure `readContext` 23785 // cannot be called outside the render phase. 23786 currentlyRenderingFiber = null; 23787 lastContextDependency = null; 23788 lastContextWithAllBitsObserved = null; 23789 23790 { 23791 isDisallowedContextReadInDEV = false; 23792 } 23793} 23794function enterDisallowedContextReadInDEV() { 23795 { 23796 isDisallowedContextReadInDEV = true; 23797 } 23798} 23799function exitDisallowedContextReadInDEV() { 23800 { 23801 isDisallowedContextReadInDEV = false; 23802 } 23803} 23804function pushProvider(providerFiber, nextValue) { 23805 var context = providerFiber.type._context; 23806 23807 { 23808 push(valueCursor, context._currentValue, providerFiber); 23809 context._currentValue = nextValue; 23810 23811 { 23812 if (context._currentRenderer !== undefined && context._currentRenderer !== null && context._currentRenderer !== rendererSigil) { 23813 error('Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.'); 23814 } 23815 23816 context._currentRenderer = rendererSigil; 23817 } 23818 } 23819} 23820function popProvider(providerFiber) { 23821 var currentValue = valueCursor.current; 23822 pop(valueCursor, providerFiber); 23823 var context = providerFiber.type._context; 23824 23825 { 23826 context._currentValue = currentValue; 23827 } 23828} 23829function calculateChangedBits(context, newValue, oldValue) { 23830 if (objectIs(oldValue, newValue)) { 23831 // No change 23832 return 0; 23833 } else { 23834 var changedBits = typeof context._calculateChangedBits === 'function' ? context._calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT; 23835 23836 { 23837 if ((changedBits & MAX_SIGNED_31_BIT_INT) !== changedBits) { 23838 error('calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits); 23839 } 23840 } 23841 23842 return changedBits | 0; 23843 } 23844} 23845function scheduleWorkOnParentPath(parent, renderExpirationTime) { 23846 // Update the child expiration time of all the ancestors, including 23847 // the alternates. 23848 var node = parent; 23849 23850 while (node !== null) { 23851 var alternate = node.alternate; 23852 23853 if (node.childExpirationTime < renderExpirationTime) { 23854 node.childExpirationTime = renderExpirationTime; 23855 23856 if (alternate !== null && alternate.childExpirationTime < renderExpirationTime) { 23857 alternate.childExpirationTime = renderExpirationTime; 23858 } 23859 } else if (alternate !== null && alternate.childExpirationTime < renderExpirationTime) { 23860 alternate.childExpirationTime = renderExpirationTime; 23861 } else { 23862 // Neither alternate was updated, which means the rest of the 23863 // ancestor path already has sufficient priority. 23864 break; 23865 } 23866 23867 node = node.return; 23868 } 23869} 23870function propagateContextChange(workInProgress, context, changedBits, renderExpirationTime) { 23871 var fiber = workInProgress.child; 23872 23873 if (fiber !== null) { 23874 // Set the return pointer of the child to the work-in-progress fiber. 23875 fiber.return = workInProgress; 23876 } 23877 23878 while (fiber !== null) { 23879 var nextFiber = void 0; // Visit this fiber. 23880 23881 var list = fiber.dependencies; 23882 23883 if (list !== null) { 23884 nextFiber = fiber.child; 23885 var dependency = list.firstContext; 23886 23887 while (dependency !== null) { 23888 // Check if the context matches. 23889 if (dependency.context === context && (dependency.observedBits & changedBits) !== 0) { 23890 // Match! Schedule an update on this fiber. 23891 if (fiber.tag === ClassComponent) { 23892 // Schedule a force update on the work-in-progress. 23893 var update = createUpdate(renderExpirationTime, null); 23894 update.tag = ForceUpdate; // TODO: Because we don't have a work-in-progress, this will add the 23895 // update to the current fiber, too, which means it will persist even if 23896 // this render is thrown away. Since it's a race condition, not sure it's 23897 // worth fixing. 23898 23899 enqueueUpdate(fiber, update); 23900 } 23901 23902 if (fiber.expirationTime < renderExpirationTime) { 23903 fiber.expirationTime = renderExpirationTime; 23904 } 23905 23906 var alternate = fiber.alternate; 23907 23908 if (alternate !== null && alternate.expirationTime < renderExpirationTime) { 23909 alternate.expirationTime = renderExpirationTime; 23910 } 23911 23912 scheduleWorkOnParentPath(fiber.return, renderExpirationTime); // Mark the expiration time on the list, too. 23913 23914 if (list.expirationTime < renderExpirationTime) { 23915 list.expirationTime = renderExpirationTime; 23916 } // Since we already found a match, we can stop traversing the 23917 // dependency list. 23918 23919 23920 break; 23921 } 23922 23923 dependency = dependency.next; 23924 } 23925 } else if (fiber.tag === ContextProvider) { 23926 // Don't scan deeper if this is a matching provider 23927 nextFiber = fiber.type === workInProgress.type ? null : fiber.child; 23928 } else { 23929 // Traverse down. 23930 nextFiber = fiber.child; 23931 } 23932 23933 if (nextFiber !== null) { 23934 // Set the return pointer of the child to the work-in-progress fiber. 23935 nextFiber.return = fiber; 23936 } else { 23937 // No child. Traverse to next sibling. 23938 nextFiber = fiber; 23939 23940 while (nextFiber !== null) { 23941 if (nextFiber === workInProgress) { 23942 // We're back to the root of this subtree. Exit. 23943 nextFiber = null; 23944 break; 23945 } 23946 23947 var sibling = nextFiber.sibling; 23948 23949 if (sibling !== null) { 23950 // Set the return pointer of the sibling to the work-in-progress fiber. 23951 sibling.return = nextFiber.return; 23952 nextFiber = sibling; 23953 break; 23954 } // No more siblings. Traverse up. 23955 23956 23957 nextFiber = nextFiber.return; 23958 } 23959 } 23960 23961 fiber = nextFiber; 23962 } 23963} 23964function prepareToReadContext(workInProgress, renderExpirationTime) { 23965 currentlyRenderingFiber = workInProgress; 23966 lastContextDependency = null; 23967 lastContextWithAllBitsObserved = null; 23968 var dependencies = workInProgress.dependencies; 23969 23970 if (dependencies !== null) { 23971 var firstContext = dependencies.firstContext; 23972 23973 if (firstContext !== null) { 23974 if (dependencies.expirationTime >= renderExpirationTime) { 23975 // Context list has a pending update. Mark that this fiber performed work. 23976 markWorkInProgressReceivedUpdate(); 23977 } // Reset the work-in-progress list 23978 23979 23980 dependencies.firstContext = null; 23981 } 23982 } 23983} 23984function readContext(context, observedBits) { 23985 { 23986 // This warning would fire if you read context inside a Hook like useMemo. 23987 // Unlike the class check below, it's not enforced in production for perf. 23988 if (isDisallowedContextReadInDEV) { 23989 error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().'); 23990 } 23991 } 23992 23993 if (lastContextWithAllBitsObserved === context) ; else if (observedBits === false || observedBits === 0) ; else { 23994 var resolvedObservedBits; // Avoid deopting on observable arguments or heterogeneous types. 23995 23996 if (typeof observedBits !== 'number' || observedBits === MAX_SIGNED_31_BIT_INT) { 23997 // Observe all updates. 23998 lastContextWithAllBitsObserved = context; 23999 resolvedObservedBits = MAX_SIGNED_31_BIT_INT; 24000 } else { 24001 resolvedObservedBits = observedBits; 24002 } 24003 24004 var contextItem = { 24005 context: context, 24006 observedBits: resolvedObservedBits, 24007 next: null 24008 }; 24009 24010 if (lastContextDependency === null) { 24011 if (!(currentlyRenderingFiber !== null)) { 24012 { 24013 throw Error( "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()." ); 24014 } 24015 } // This is the first dependency for this component. Create a new list. 24016 24017 24018 lastContextDependency = contextItem; 24019 currentlyRenderingFiber.dependencies = { 24020 expirationTime: NoWork, 24021 firstContext: contextItem, 24022 responders: null 24023 }; 24024 } else { 24025 // Append a new context item. 24026 lastContextDependency = lastContextDependency.next = contextItem; 24027 } 24028 } 24029 24030 return context._currentValue ; 24031} 24032 24033var UpdateState = 0; 24034var ReplaceState = 1; 24035var ForceUpdate = 2; 24036var CaptureUpdate = 3; // Global state that is reset at the beginning of calling `processUpdateQueue`. 24037// It should only be read right after calling `processUpdateQueue`, via 24038// `checkHasForceUpdateAfterProcessing`. 24039 24040var hasForceUpdate = false; 24041var didWarnUpdateInsideUpdate; 24042var currentlyProcessingQueue; 24043 24044{ 24045 didWarnUpdateInsideUpdate = false; 24046 currentlyProcessingQueue = null; 24047} 24048 24049function initializeUpdateQueue(fiber) { 24050 var queue = { 24051 baseState: fiber.memoizedState, 24052 baseQueue: null, 24053 shared: { 24054 pending: null 24055 }, 24056 effects: null 24057 }; 24058 fiber.updateQueue = queue; 24059} 24060function cloneUpdateQueue(current, workInProgress) { 24061 // Clone the update queue from current. Unless it's already a clone. 24062 var queue = workInProgress.updateQueue; 24063 var currentQueue = current.updateQueue; 24064 24065 if (queue === currentQueue) { 24066 var clone = { 24067 baseState: currentQueue.baseState, 24068 baseQueue: currentQueue.baseQueue, 24069 shared: currentQueue.shared, 24070 effects: currentQueue.effects 24071 }; 24072 workInProgress.updateQueue = clone; 24073 } 24074} 24075function createUpdate(expirationTime, suspenseConfig) { 24076 var update = { 24077 expirationTime: expirationTime, 24078 suspenseConfig: suspenseConfig, 24079 tag: UpdateState, 24080 payload: null, 24081 callback: null, 24082 next: null 24083 }; 24084 update.next = update; 24085 24086 { 24087 update.priority = getCurrentPriorityLevel(); 24088 } 24089 24090 return update; 24091} 24092function enqueueUpdate(fiber, update) { 24093 var updateQueue = fiber.updateQueue; 24094 24095 if (updateQueue === null) { 24096 // Only occurs if the fiber has been unmounted. 24097 return; 24098 } 24099 24100 var sharedQueue = updateQueue.shared; 24101 var pending = sharedQueue.pending; 24102 24103 if (pending === null) { 24104 // This is the first update. Create a circular list. 24105 update.next = update; 24106 } else { 24107 update.next = pending.next; 24108 pending.next = update; 24109 } 24110 24111 sharedQueue.pending = update; 24112 24113 { 24114 if (currentlyProcessingQueue === sharedQueue && !didWarnUpdateInsideUpdate) { 24115 error('An update (setState, replaceState, or forceUpdate) was scheduled ' + 'from inside an update function. Update functions should be pure, ' + 'with zero side-effects. Consider using componentDidUpdate or a ' + 'callback.'); 24116 24117 didWarnUpdateInsideUpdate = true; 24118 } 24119 } 24120} 24121function enqueueCapturedUpdate(workInProgress, update) { 24122 var current = workInProgress.alternate; 24123 24124 if (current !== null) { 24125 // Ensure the work-in-progress queue is a clone 24126 cloneUpdateQueue(current, workInProgress); 24127 } // Captured updates go only on the work-in-progress queue. 24128 24129 24130 var queue = workInProgress.updateQueue; // Append the update to the end of the list. 24131 24132 var last = queue.baseQueue; 24133 24134 if (last === null) { 24135 queue.baseQueue = update.next = update; 24136 update.next = update; 24137 } else { 24138 update.next = last.next; 24139 last.next = update; 24140 } 24141} 24142 24143function getStateFromUpdate(workInProgress, queue, update, prevState, nextProps, instance) { 24144 switch (update.tag) { 24145 case ReplaceState: 24146 { 24147 var payload = update.payload; 24148 24149 if (typeof payload === 'function') { 24150 // Updater function 24151 { 24152 enterDisallowedContextReadInDEV(); 24153 24154 if ( workInProgress.mode & StrictMode) { 24155 payload.call(instance, prevState, nextProps); 24156 } 24157 } 24158 24159 var nextState = payload.call(instance, prevState, nextProps); 24160 24161 { 24162 exitDisallowedContextReadInDEV(); 24163 } 24164 24165 return nextState; 24166 } // State object 24167 24168 24169 return payload; 24170 } 24171 24172 case CaptureUpdate: 24173 { 24174 workInProgress.effectTag = workInProgress.effectTag & ~ShouldCapture | DidCapture; 24175 } 24176 // Intentional fallthrough 24177 24178 case UpdateState: 24179 { 24180 var _payload = update.payload; 24181 var partialState; 24182 24183 if (typeof _payload === 'function') { 24184 // Updater function 24185 { 24186 enterDisallowedContextReadInDEV(); 24187 24188 if ( workInProgress.mode & StrictMode) { 24189 _payload.call(instance, prevState, nextProps); 24190 } 24191 } 24192 24193 partialState = _payload.call(instance, prevState, nextProps); 24194 24195 { 24196 exitDisallowedContextReadInDEV(); 24197 } 24198 } else { 24199 // Partial state object 24200 partialState = _payload; 24201 } 24202 24203 if (partialState === null || partialState === undefined) { 24204 // Null and undefined are treated as no-ops. 24205 return prevState; 24206 } // Merge the partial state and the previous state. 24207 24208 24209 return _assign({}, prevState, partialState); 24210 } 24211 24212 case ForceUpdate: 24213 { 24214 hasForceUpdate = true; 24215 return prevState; 24216 } 24217 } 24218 24219 return prevState; 24220} 24221 24222function processUpdateQueue(workInProgress, props, instance, renderExpirationTime) { 24223 // This is always non-null on a ClassComponent or HostRoot 24224 var queue = workInProgress.updateQueue; 24225 hasForceUpdate = false; 24226 24227 { 24228 currentlyProcessingQueue = queue.shared; 24229 } // The last rebase update that is NOT part of the base state. 24230 24231 24232 var baseQueue = queue.baseQueue; // The last pending update that hasn't been processed yet. 24233 24234 var pendingQueue = queue.shared.pending; 24235 24236 if (pendingQueue !== null) { 24237 // We have new updates that haven't been processed yet. 24238 // We'll add them to the base queue. 24239 if (baseQueue !== null) { 24240 // Merge the pending queue and the base queue. 24241 var baseFirst = baseQueue.next; 24242 var pendingFirst = pendingQueue.next; 24243 baseQueue.next = pendingFirst; 24244 pendingQueue.next = baseFirst; 24245 } 24246 24247 baseQueue = pendingQueue; 24248 queue.shared.pending = null; // TODO: Pass `current` as argument 24249 24250 var current = workInProgress.alternate; 24251 24252 if (current !== null) { 24253 var currentQueue = current.updateQueue; 24254 24255 if (currentQueue !== null) { 24256 currentQueue.baseQueue = pendingQueue; 24257 } 24258 } 24259 } // These values may change as we process the queue. 24260 24261 24262 if (baseQueue !== null) { 24263 var first = baseQueue.next; // Iterate through the list of updates to compute the result. 24264 24265 var newState = queue.baseState; 24266 var newExpirationTime = NoWork; 24267 var newBaseState = null; 24268 var newBaseQueueFirst = null; 24269 var newBaseQueueLast = null; 24270 24271 if (first !== null) { 24272 var update = first; 24273 24274 do { 24275 var updateExpirationTime = update.expirationTime; 24276 24277 if (updateExpirationTime < renderExpirationTime) { 24278 // Priority is insufficient. Skip this update. If this is the first 24279 // skipped update, the previous update/state is the new base 24280 // update/state. 24281 var clone = { 24282 expirationTime: update.expirationTime, 24283 suspenseConfig: update.suspenseConfig, 24284 tag: update.tag, 24285 payload: update.payload, 24286 callback: update.callback, 24287 next: null 24288 }; 24289 24290 if (newBaseQueueLast === null) { 24291 newBaseQueueFirst = newBaseQueueLast = clone; 24292 newBaseState = newState; 24293 } else { 24294 newBaseQueueLast = newBaseQueueLast.next = clone; 24295 } // Update the remaining priority in the queue. 24296 24297 24298 if (updateExpirationTime > newExpirationTime) { 24299 newExpirationTime = updateExpirationTime; 24300 } 24301 } else { 24302 // This update does have sufficient priority. 24303 if (newBaseQueueLast !== null) { 24304 var _clone = { 24305 expirationTime: Sync, 24306 // This update is going to be committed so we never want uncommit it. 24307 suspenseConfig: update.suspenseConfig, 24308 tag: update.tag, 24309 payload: update.payload, 24310 callback: update.callback, 24311 next: null 24312 }; 24313 newBaseQueueLast = newBaseQueueLast.next = _clone; 24314 } // Mark the event time of this update as relevant to this render pass. 24315 // TODO: This should ideally use the true event time of this update rather than 24316 // its priority which is a derived and not reverseable value. 24317 // TODO: We should skip this update if it was already committed but currently 24318 // we have no way of detecting the difference between a committed and suspended 24319 // update here. 24320 24321 24322 markRenderEventTimeAndConfig(updateExpirationTime, update.suspenseConfig); // Process this update. 24323 24324 newState = getStateFromUpdate(workInProgress, queue, update, newState, props, instance); 24325 var callback = update.callback; 24326 24327 if (callback !== null) { 24328 workInProgress.effectTag |= Callback; 24329 var effects = queue.effects; 24330 24331 if (effects === null) { 24332 queue.effects = [update]; 24333 } else { 24334 effects.push(update); 24335 } 24336 } 24337 } 24338 24339 update = update.next; 24340 24341 if (update === null || update === first) { 24342 pendingQueue = queue.shared.pending; 24343 24344 if (pendingQueue === null) { 24345 break; 24346 } else { 24347 // An update was scheduled from inside a reducer. Add the new 24348 // pending updates to the end of the list and keep processing. 24349 update = baseQueue.next = pendingQueue.next; 24350 pendingQueue.next = first; 24351 queue.baseQueue = baseQueue = pendingQueue; 24352 queue.shared.pending = null; 24353 } 24354 } 24355 } while (true); 24356 } 24357 24358 if (newBaseQueueLast === null) { 24359 newBaseState = newState; 24360 } else { 24361 newBaseQueueLast.next = newBaseQueueFirst; 24362 } 24363 24364 queue.baseState = newBaseState; 24365 queue.baseQueue = newBaseQueueLast; // Set the remaining expiration time to be whatever is remaining in the queue. 24366 // This should be fine because the only two other things that contribute to 24367 // expiration time are props and context. We're already in the middle of the 24368 // begin phase by the time we start processing the queue, so we've already 24369 // dealt with the props. Context in components that specify 24370 // shouldComponentUpdate is tricky; but we'll have to account for 24371 // that regardless. 24372 24373 markUnprocessedUpdateTime(newExpirationTime); 24374 workInProgress.expirationTime = newExpirationTime; 24375 workInProgress.memoizedState = newState; 24376 } 24377 24378 { 24379 currentlyProcessingQueue = null; 24380 } 24381} 24382 24383function callCallback(callback, context) { 24384 if (!(typeof callback === 'function')) { 24385 { 24386 throw Error( "Invalid argument passed as callback. Expected a function. Instead received: " + callback ); 24387 } 24388 } 24389 24390 callback.call(context); 24391} 24392 24393function resetHasForceUpdateBeforeProcessing() { 24394 hasForceUpdate = false; 24395} 24396function checkHasForceUpdateAfterProcessing() { 24397 return hasForceUpdate; 24398} 24399function commitUpdateQueue(finishedWork, finishedQueue, instance) { 24400 // Commit the effects 24401 var effects = finishedQueue.effects; 24402 finishedQueue.effects = null; 24403 24404 if (effects !== null) { 24405 for (var i = 0; i < effects.length; i++) { 24406 var effect = effects[i]; 24407 var callback = effect.callback; 24408 24409 if (callback !== null) { 24410 effect.callback = null; 24411 callCallback(callback, instance); 24412 } 24413 } 24414 } 24415} 24416 24417var ReactCurrentBatchConfig = ReactSharedInternals.ReactCurrentBatchConfig; 24418function requestCurrentSuspenseConfig() { 24419 return ReactCurrentBatchConfig.suspense; 24420} 24421 24422var fakeInternalInstance = {}; 24423var isArray = Array.isArray; // React.Component uses a shared frozen object by default. 24424// We'll use it to determine whether we need to initialize legacy refs. 24425 24426var emptyRefsObject = new React.Component().refs; 24427var didWarnAboutStateAssignmentForComponent; 24428var didWarnAboutUninitializedState; 24429var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate; 24430var didWarnAboutLegacyLifecyclesAndDerivedState; 24431var didWarnAboutUndefinedDerivedState; 24432var warnOnUndefinedDerivedState; 24433var warnOnInvalidCallback; 24434var didWarnAboutDirectlyAssigningPropsToState; 24435var didWarnAboutContextTypeAndContextTypes; 24436var didWarnAboutInvalidateContextType; 24437 24438{ 24439 didWarnAboutStateAssignmentForComponent = new Set(); 24440 didWarnAboutUninitializedState = new Set(); 24441 didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set(); 24442 didWarnAboutLegacyLifecyclesAndDerivedState = new Set(); 24443 didWarnAboutDirectlyAssigningPropsToState = new Set(); 24444 didWarnAboutUndefinedDerivedState = new Set(); 24445 didWarnAboutContextTypeAndContextTypes = new Set(); 24446 didWarnAboutInvalidateContextType = new Set(); 24447 var didWarnOnInvalidCallback = new Set(); 24448 24449 warnOnInvalidCallback = function (callback, callerName) { 24450 if (callback === null || typeof callback === 'function') { 24451 return; 24452 } 24453 24454 var key = callerName + "_" + callback; 24455 24456 if (!didWarnOnInvalidCallback.has(key)) { 24457 didWarnOnInvalidCallback.add(key); 24458 24459 error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback); 24460 } 24461 }; 24462 24463 warnOnUndefinedDerivedState = function (type, partialState) { 24464 if (partialState === undefined) { 24465 var componentName = getComponentName(type) || 'Component'; 24466 24467 if (!didWarnAboutUndefinedDerivedState.has(componentName)) { 24468 didWarnAboutUndefinedDerivedState.add(componentName); 24469 24470 error('%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. ' + 'You have returned undefined.', componentName); 24471 } 24472 } 24473 }; // This is so gross but it's at least non-critical and can be removed if 24474 // it causes problems. This is meant to give a nicer error message for 24475 // ReactDOM15.unstable_renderSubtreeIntoContainer(reactDOM16Component, 24476 // ...)) which otherwise throws a "_processChildContext is not a function" 24477 // exception. 24478 24479 24480 Object.defineProperty(fakeInternalInstance, '_processChildContext', { 24481 enumerable: false, 24482 value: function () { 24483 { 24484 { 24485 throw Error( "_processChildContext is not available in React 16+. This likely means you have multiple copies of React and are attempting to nest a React 15 tree inside a React 16 tree using unstable_renderSubtreeIntoContainer, which isn't supported. Try to make sure you have only one copy of React (and ideally, switch to ReactDOM.createPortal)." ); 24486 } 24487 } 24488 } 24489 }); 24490 Object.freeze(fakeInternalInstance); 24491} 24492 24493function applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, nextProps) { 24494 var prevState = workInProgress.memoizedState; 24495 24496 { 24497 if ( workInProgress.mode & StrictMode) { 24498 // Invoke the function an extra time to help detect side-effects. 24499 getDerivedStateFromProps(nextProps, prevState); 24500 } 24501 } 24502 24503 var partialState = getDerivedStateFromProps(nextProps, prevState); 24504 24505 { 24506 warnOnUndefinedDerivedState(ctor, partialState); 24507 } // Merge the partial state and the previous state. 24508 24509 24510 var memoizedState = partialState === null || partialState === undefined ? prevState : _assign({}, prevState, partialState); 24511 workInProgress.memoizedState = memoizedState; // Once the update queue is empty, persist the derived state onto the 24512 // base state. 24513 24514 if (workInProgress.expirationTime === NoWork) { 24515 // Queue is always non-null for classes 24516 var updateQueue = workInProgress.updateQueue; 24517 updateQueue.baseState = memoizedState; 24518 } 24519} 24520var classComponentUpdater = { 24521 isMounted: isMounted, 24522 enqueueSetState: function (inst, payload, callback) { 24523 var fiber = get(inst); 24524 var currentTime = requestCurrentTimeForUpdate(); 24525 var suspenseConfig = requestCurrentSuspenseConfig(); 24526 var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig); 24527 var update = createUpdate(expirationTime, suspenseConfig); 24528 update.payload = payload; 24529 24530 if (callback !== undefined && callback !== null) { 24531 { 24532 warnOnInvalidCallback(callback, 'setState'); 24533 } 24534 24535 update.callback = callback; 24536 } 24537 24538 enqueueUpdate(fiber, update); 24539 scheduleWork(fiber, expirationTime); 24540 }, 24541 enqueueReplaceState: function (inst, payload, callback) { 24542 var fiber = get(inst); 24543 var currentTime = requestCurrentTimeForUpdate(); 24544 var suspenseConfig = requestCurrentSuspenseConfig(); 24545 var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig); 24546 var update = createUpdate(expirationTime, suspenseConfig); 24547 update.tag = ReplaceState; 24548 update.payload = payload; 24549 24550 if (callback !== undefined && callback !== null) { 24551 { 24552 warnOnInvalidCallback(callback, 'replaceState'); 24553 } 24554 24555 update.callback = callback; 24556 } 24557 24558 enqueueUpdate(fiber, update); 24559 scheduleWork(fiber, expirationTime); 24560 }, 24561 enqueueForceUpdate: function (inst, callback) { 24562 var fiber = get(inst); 24563 var currentTime = requestCurrentTimeForUpdate(); 24564 var suspenseConfig = requestCurrentSuspenseConfig(); 24565 var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig); 24566 var update = createUpdate(expirationTime, suspenseConfig); 24567 update.tag = ForceUpdate; 24568 24569 if (callback !== undefined && callback !== null) { 24570 { 24571 warnOnInvalidCallback(callback, 'forceUpdate'); 24572 } 24573 24574 update.callback = callback; 24575 } 24576 24577 enqueueUpdate(fiber, update); 24578 scheduleWork(fiber, expirationTime); 24579 } 24580}; 24581 24582function checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) { 24583 var instance = workInProgress.stateNode; 24584 24585 if (typeof instance.shouldComponentUpdate === 'function') { 24586 { 24587 if ( workInProgress.mode & StrictMode) { 24588 // Invoke the function an extra time to help detect side-effects. 24589 instance.shouldComponentUpdate(newProps, newState, nextContext); 24590 } 24591 } 24592 24593 startPhaseTimer(workInProgress, 'shouldComponentUpdate'); 24594 var shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext); 24595 stopPhaseTimer(); 24596 24597 { 24598 if (shouldUpdate === undefined) { 24599 error('%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', getComponentName(ctor) || 'Component'); 24600 } 24601 } 24602 24603 return shouldUpdate; 24604 } 24605 24606 if (ctor.prototype && ctor.prototype.isPureReactComponent) { 24607 return !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState); 24608 } 24609 24610 return true; 24611} 24612 24613function checkClassInstance(workInProgress, ctor, newProps) { 24614 var instance = workInProgress.stateNode; 24615 24616 { 24617 var name = getComponentName(ctor) || 'Component'; 24618 var renderPresent = instance.render; 24619 24620 if (!renderPresent) { 24621 if (ctor.prototype && typeof ctor.prototype.render === 'function') { 24622 error('%s(...): No `render` method found on the returned component ' + 'instance: did you accidentally return an object from the constructor?', name); 24623 } else { 24624 error('%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', name); 24625 } 24626 } 24627 24628 if (instance.getInitialState && !instance.getInitialState.isReactClassApproved && !instance.state) { 24629 error('getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', name); 24630 } 24631 24632 if (instance.getDefaultProps && !instance.getDefaultProps.isReactClassApproved) { 24633 error('getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', name); 24634 } 24635 24636 if (instance.propTypes) { 24637 error('propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', name); 24638 } 24639 24640 if (instance.contextType) { 24641 error('contextType was defined as an instance property on %s. Use a static ' + 'property to define contextType instead.', name); 24642 } 24643 24644 { 24645 if (instance.contextTypes) { 24646 error('contextTypes was defined as an instance property on %s. Use a static ' + 'property to define contextTypes instead.', name); 24647 } 24648 24649 if (ctor.contextType && ctor.contextTypes && !didWarnAboutContextTypeAndContextTypes.has(ctor)) { 24650 didWarnAboutContextTypeAndContextTypes.add(ctor); 24651 24652 error('%s declares both contextTypes and contextType static properties. ' + 'The legacy contextTypes property will be ignored.', name); 24653 } 24654 } 24655 24656 if (typeof instance.componentShouldUpdate === 'function') { 24657 error('%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', name); 24658 } 24659 24660 if (ctor.prototype && ctor.prototype.isPureReactComponent && typeof instance.shouldComponentUpdate !== 'undefined') { 24661 error('%s has a method called shouldComponentUpdate(). ' + 'shouldComponentUpdate should not be used when extending React.PureComponent. ' + 'Please extend React.Component if shouldComponentUpdate is used.', getComponentName(ctor) || 'A pure component'); 24662 } 24663 24664 if (typeof instance.componentDidUnmount === 'function') { 24665 error('%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', name); 24666 } 24667 24668 if (typeof instance.componentDidReceiveProps === 'function') { 24669 error('%s has a method called ' + 'componentDidReceiveProps(). But there is no such lifecycle method. ' + 'If you meant to update the state in response to changing props, ' + 'use componentWillReceiveProps(). If you meant to fetch data or ' + 'run side-effects or mutations after React has updated the UI, use componentDidUpdate().', name); 24670 } 24671 24672 if (typeof instance.componentWillRecieveProps === 'function') { 24673 error('%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', name); 24674 } 24675 24676 if (typeof instance.UNSAFE_componentWillRecieveProps === 'function') { 24677 error('%s has a method called ' + 'UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?', name); 24678 } 24679 24680 var hasMutatedProps = instance.props !== newProps; 24681 24682 if (instance.props !== undefined && hasMutatedProps) { 24683 error('%s(...): When calling super() in `%s`, make sure to pass ' + "up the same props that your component's constructor was passed.", name, name); 24684 } 24685 24686 if (instance.defaultProps) { 24687 error('Setting defaultProps as an instance property on %s is not supported and will be ignored.' + ' Instead, define defaultProps as a static property on %s.', name, name); 24688 } 24689 24690 if (typeof instance.getSnapshotBeforeUpdate === 'function' && typeof instance.componentDidUpdate !== 'function' && !didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(ctor)) { 24691 didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(ctor); 24692 24693 error('%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). ' + 'This component defines getSnapshotBeforeUpdate() only.', getComponentName(ctor)); 24694 } 24695 24696 if (typeof instance.getDerivedStateFromProps === 'function') { 24697 error('%s: getDerivedStateFromProps() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name); 24698 } 24699 24700 if (typeof instance.getDerivedStateFromError === 'function') { 24701 error('%s: getDerivedStateFromError() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name); 24702 } 24703 24704 if (typeof ctor.getSnapshotBeforeUpdate === 'function') { 24705 error('%s: getSnapshotBeforeUpdate() is defined as a static method ' + 'and will be ignored. Instead, declare it as an instance method.', name); 24706 } 24707 24708 var _state = instance.state; 24709 24710 if (_state && (typeof _state !== 'object' || isArray(_state))) { 24711 error('%s.state: must be set to an object or null', name); 24712 } 24713 24714 if (typeof instance.getChildContext === 'function' && typeof ctor.childContextTypes !== 'object') { 24715 error('%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', name); 24716 } 24717 } 24718} 24719 24720function adoptClassInstance(workInProgress, instance) { 24721 instance.updater = classComponentUpdater; 24722 workInProgress.stateNode = instance; // The instance needs access to the fiber so that it can schedule updates 24723 24724 set(instance, workInProgress); 24725 24726 { 24727 instance._reactInternalInstance = fakeInternalInstance; 24728 } 24729} 24730 24731function constructClassInstance(workInProgress, ctor, props) { 24732 var isLegacyContextConsumer = false; 24733 var unmaskedContext = emptyContextObject; 24734 var context = emptyContextObject; 24735 var contextType = ctor.contextType; 24736 24737 { 24738 if ('contextType' in ctor) { 24739 var isValid = // Allow null for conditional declaration 24740 contextType === null || contextType !== undefined && contextType.$$typeof === REACT_CONTEXT_TYPE && contextType._context === undefined; // Not a <Context.Consumer> 24741 24742 if (!isValid && !didWarnAboutInvalidateContextType.has(ctor)) { 24743 didWarnAboutInvalidateContextType.add(ctor); 24744 var addendum = ''; 24745 24746 if (contextType === undefined) { 24747 addendum = ' However, it is set to undefined. ' + 'This can be caused by a typo or by mixing up named and default imports. ' + 'This can also happen due to a circular dependency, so ' + 'try moving the createContext() call to a separate file.'; 24748 } else if (typeof contextType !== 'object') { 24749 addendum = ' However, it is set to a ' + typeof contextType + '.'; 24750 } else if (contextType.$$typeof === REACT_PROVIDER_TYPE) { 24751 addendum = ' Did you accidentally pass the Context.Provider instead?'; 24752 } else if (contextType._context !== undefined) { 24753 // <Context.Consumer> 24754 addendum = ' Did you accidentally pass the Context.Consumer instead?'; 24755 } else { 24756 addendum = ' However, it is set to an object with keys {' + Object.keys(contextType).join(', ') + '}.'; 24757 } 24758 24759 error('%s defines an invalid contextType. ' + 'contextType should point to the Context object returned by React.createContext().%s', getComponentName(ctor) || 'Component', addendum); 24760 } 24761 } 24762 } 24763 24764 if (typeof contextType === 'object' && contextType !== null) { 24765 context = readContext(contextType); 24766 } else { 24767 unmaskedContext = getUnmaskedContext(workInProgress, ctor, true); 24768 var contextTypes = ctor.contextTypes; 24769 isLegacyContextConsumer = contextTypes !== null && contextTypes !== undefined; 24770 context = isLegacyContextConsumer ? getMaskedContext(workInProgress, unmaskedContext) : emptyContextObject; 24771 } // Instantiate twice to help detect side-effects. 24772 24773 24774 { 24775 if ( workInProgress.mode & StrictMode) { 24776 new ctor(props, context); // eslint-disable-line no-new 24777 } 24778 } 24779 24780 var instance = new ctor(props, context); 24781 var state = workInProgress.memoizedState = instance.state !== null && instance.state !== undefined ? instance.state : null; 24782 adoptClassInstance(workInProgress, instance); 24783 24784 { 24785 if (typeof ctor.getDerivedStateFromProps === 'function' && state === null) { 24786 var componentName = getComponentName(ctor) || 'Component'; 24787 24788 if (!didWarnAboutUninitializedState.has(componentName)) { 24789 didWarnAboutUninitializedState.add(componentName); 24790 24791 error('`%s` uses `getDerivedStateFromProps` but its initial state is ' + '%s. This is not recommended. Instead, define the initial state by ' + 'assigning an object to `this.state` in the constructor of `%s`. ' + 'This ensures that `getDerivedStateFromProps` arguments have a consistent shape.', componentName, instance.state === null ? 'null' : 'undefined', componentName); 24792 } 24793 } // If new component APIs are defined, "unsafe" lifecycles won't be called. 24794 // Warn about these lifecycles if they are present. 24795 // Don't warn about react-lifecycles-compat polyfilled methods though. 24796 24797 24798 if (typeof ctor.getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function') { 24799 var foundWillMountName = null; 24800 var foundWillReceivePropsName = null; 24801 var foundWillUpdateName = null; 24802 24803 if (typeof instance.componentWillMount === 'function' && instance.componentWillMount.__suppressDeprecationWarning !== true) { 24804 foundWillMountName = 'componentWillMount'; 24805 } else if (typeof instance.UNSAFE_componentWillMount === 'function') { 24806 foundWillMountName = 'UNSAFE_componentWillMount'; 24807 } 24808 24809 if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) { 24810 foundWillReceivePropsName = 'componentWillReceiveProps'; 24811 } else if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') { 24812 foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps'; 24813 } 24814 24815 if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) { 24816 foundWillUpdateName = 'componentWillUpdate'; 24817 } else if (typeof instance.UNSAFE_componentWillUpdate === 'function') { 24818 foundWillUpdateName = 'UNSAFE_componentWillUpdate'; 24819 } 24820 24821 if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) { 24822 var _componentName = getComponentName(ctor) || 'Component'; 24823 24824 var newApiName = typeof ctor.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()'; 24825 24826 if (!didWarnAboutLegacyLifecyclesAndDerivedState.has(_componentName)) { 24827 didWarnAboutLegacyLifecyclesAndDerivedState.add(_componentName); 24828 24829 error('Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n' + '%s uses %s but also contains the following legacy lifecycles:%s%s%s\n\n' + 'The above lifecycles should be removed. Learn more about this warning here:\n' + 'https://fb.me/react-unsafe-component-lifecycles', _componentName, newApiName, foundWillMountName !== null ? "\n " + foundWillMountName : '', foundWillReceivePropsName !== null ? "\n " + foundWillReceivePropsName : '', foundWillUpdateName !== null ? "\n " + foundWillUpdateName : ''); 24830 } 24831 } 24832 } 24833 } // Cache unmasked context so we can avoid recreating masked context unless necessary. 24834 // ReactFiberContext usually updates this cache but can't for newly-created instances. 24835 24836 24837 if (isLegacyContextConsumer) { 24838 cacheContext(workInProgress, unmaskedContext, context); 24839 } 24840 24841 return instance; 24842} 24843 24844function callComponentWillMount(workInProgress, instance) { 24845 startPhaseTimer(workInProgress, 'componentWillMount'); 24846 var oldState = instance.state; 24847 24848 if (typeof instance.componentWillMount === 'function') { 24849 instance.componentWillMount(); 24850 } 24851 24852 if (typeof instance.UNSAFE_componentWillMount === 'function') { 24853 instance.UNSAFE_componentWillMount(); 24854 } 24855 24856 stopPhaseTimer(); 24857 24858 if (oldState !== instance.state) { 24859 { 24860 error('%s.componentWillMount(): Assigning directly to this.state is ' + "deprecated (except inside a component's " + 'constructor). Use setState instead.', getComponentName(workInProgress.type) || 'Component'); 24861 } 24862 24863 classComponentUpdater.enqueueReplaceState(instance, instance.state, null); 24864 } 24865} 24866 24867function callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext) { 24868 var oldState = instance.state; 24869 startPhaseTimer(workInProgress, 'componentWillReceiveProps'); 24870 24871 if (typeof instance.componentWillReceiveProps === 'function') { 24872 instance.componentWillReceiveProps(newProps, nextContext); 24873 } 24874 24875 if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') { 24876 instance.UNSAFE_componentWillReceiveProps(newProps, nextContext); 24877 } 24878 24879 stopPhaseTimer(); 24880 24881 if (instance.state !== oldState) { 24882 { 24883 var componentName = getComponentName(workInProgress.type) || 'Component'; 24884 24885 if (!didWarnAboutStateAssignmentForComponent.has(componentName)) { 24886 didWarnAboutStateAssignmentForComponent.add(componentName); 24887 24888 error('%s.componentWillReceiveProps(): Assigning directly to ' + "this.state is deprecated (except inside a component's " + 'constructor). Use setState instead.', componentName); 24889 } 24890 } 24891 24892 classComponentUpdater.enqueueReplaceState(instance, instance.state, null); 24893 } 24894} // Invokes the mount life-cycles on a previously never rendered instance. 24895 24896 24897function mountClassInstance(workInProgress, ctor, newProps, renderExpirationTime) { 24898 { 24899 checkClassInstance(workInProgress, ctor, newProps); 24900 } 24901 24902 var instance = workInProgress.stateNode; 24903 instance.props = newProps; 24904 instance.state = workInProgress.memoizedState; 24905 instance.refs = emptyRefsObject; 24906 initializeUpdateQueue(workInProgress); 24907 var contextType = ctor.contextType; 24908 24909 if (typeof contextType === 'object' && contextType !== null) { 24910 instance.context = readContext(contextType); 24911 } else { 24912 var unmaskedContext = getUnmaskedContext(workInProgress, ctor, true); 24913 instance.context = getMaskedContext(workInProgress, unmaskedContext); 24914 } 24915 24916 { 24917 if (instance.state === newProps) { 24918 var componentName = getComponentName(ctor) || 'Component'; 24919 24920 if (!didWarnAboutDirectlyAssigningPropsToState.has(componentName)) { 24921 didWarnAboutDirectlyAssigningPropsToState.add(componentName); 24922 24923 error('%s: It is not recommended to assign props directly to state ' + "because updates to props won't be reflected in state. " + 'In most cases, it is better to use props directly.', componentName); 24924 } 24925 } 24926 24927 if (workInProgress.mode & StrictMode) { 24928 ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, instance); 24929 } 24930 24931 { 24932 ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(workInProgress, instance); 24933 } 24934 } 24935 24936 processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime); 24937 instance.state = workInProgress.memoizedState; 24938 var getDerivedStateFromProps = ctor.getDerivedStateFromProps; 24939 24940 if (typeof getDerivedStateFromProps === 'function') { 24941 applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps); 24942 instance.state = workInProgress.memoizedState; 24943 } // In order to support react-lifecycles-compat polyfilled components, 24944 // Unsafe lifecycles should not be invoked for components using the new APIs. 24945 24946 24947 if (typeof ctor.getDerivedStateFromProps !== 'function' && typeof instance.getSnapshotBeforeUpdate !== 'function' && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) { 24948 callComponentWillMount(workInProgress, instance); // If we had additional state updates during this life-cycle, let's 24949 // process them now. 24950 24951 processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime); 24952 instance.state = workInProgress.memoizedState; 24953 } 24954 24955 if (typeof instance.componentDidMount === 'function') { 24956 workInProgress.effectTag |= Update; 24957 } 24958} 24959 24960function resumeMountClassInstance(workInProgress, ctor, newProps, renderExpirationTime) { 24961 var instance = workInProgress.stateNode; 24962 var oldProps = workInProgress.memoizedProps; 24963 instance.props = oldProps; 24964 var oldContext = instance.context; 24965 var contextType = ctor.contextType; 24966 var nextContext = emptyContextObject; 24967 24968 if (typeof contextType === 'object' && contextType !== null) { 24969 nextContext = readContext(contextType); 24970 } else { 24971 var nextLegacyUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true); 24972 nextContext = getMaskedContext(workInProgress, nextLegacyUnmaskedContext); 24973 } 24974 24975 var getDerivedStateFromProps = ctor.getDerivedStateFromProps; 24976 var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what 24977 // ever the previously attempted to render - not the "current". However, 24978 // during componentDidUpdate we pass the "current" props. 24979 // In order to support react-lifecycles-compat polyfilled components, 24980 // Unsafe lifecycles should not be invoked for components using the new APIs. 24981 24982 if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) { 24983 if (oldProps !== newProps || oldContext !== nextContext) { 24984 callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext); 24985 } 24986 } 24987 24988 resetHasForceUpdateBeforeProcessing(); 24989 var oldState = workInProgress.memoizedState; 24990 var newState = instance.state = oldState; 24991 processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime); 24992 newState = workInProgress.memoizedState; 24993 24994 if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) { 24995 // If an update was already in progress, we should schedule an Update 24996 // effect even though we're bailing out, so that cWU/cDU are called. 24997 if (typeof instance.componentDidMount === 'function') { 24998 workInProgress.effectTag |= Update; 24999 } 25000 25001 return false; 25002 } 25003 25004 if (typeof getDerivedStateFromProps === 'function') { 25005 applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps); 25006 newState = workInProgress.memoizedState; 25007 } 25008 25009 var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext); 25010 25011 if (shouldUpdate) { 25012 // In order to support react-lifecycles-compat polyfilled components, 25013 // Unsafe lifecycles should not be invoked for components using the new APIs. 25014 if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) { 25015 startPhaseTimer(workInProgress, 'componentWillMount'); 25016 25017 if (typeof instance.componentWillMount === 'function') { 25018 instance.componentWillMount(); 25019 } 25020 25021 if (typeof instance.UNSAFE_componentWillMount === 'function') { 25022 instance.UNSAFE_componentWillMount(); 25023 } 25024 25025 stopPhaseTimer(); 25026 } 25027 25028 if (typeof instance.componentDidMount === 'function') { 25029 workInProgress.effectTag |= Update; 25030 } 25031 } else { 25032 // If an update was already in progress, we should schedule an Update 25033 // effect even though we're bailing out, so that cWU/cDU are called. 25034 if (typeof instance.componentDidMount === 'function') { 25035 workInProgress.effectTag |= Update; 25036 } // If shouldComponentUpdate returned false, we should still update the 25037 // memoized state to indicate that this work can be reused. 25038 25039 25040 workInProgress.memoizedProps = newProps; 25041 workInProgress.memoizedState = newState; 25042 } // Update the existing instance's state, props, and context pointers even 25043 // if shouldComponentUpdate returns false. 25044 25045 25046 instance.props = newProps; 25047 instance.state = newState; 25048 instance.context = nextContext; 25049 return shouldUpdate; 25050} // Invokes the update life-cycles and returns false if it shouldn't rerender. 25051 25052 25053function updateClassInstance(current, workInProgress, ctor, newProps, renderExpirationTime) { 25054 var instance = workInProgress.stateNode; 25055 cloneUpdateQueue(current, workInProgress); 25056 var oldProps = workInProgress.memoizedProps; 25057 instance.props = workInProgress.type === workInProgress.elementType ? oldProps : resolveDefaultProps(workInProgress.type, oldProps); 25058 var oldContext = instance.context; 25059 var contextType = ctor.contextType; 25060 var nextContext = emptyContextObject; 25061 25062 if (typeof contextType === 'object' && contextType !== null) { 25063 nextContext = readContext(contextType); 25064 } else { 25065 var nextUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true); 25066 nextContext = getMaskedContext(workInProgress, nextUnmaskedContext); 25067 } 25068 25069 var getDerivedStateFromProps = ctor.getDerivedStateFromProps; 25070 var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what 25071 // ever the previously attempted to render - not the "current". However, 25072 // during componentDidUpdate we pass the "current" props. 25073 // In order to support react-lifecycles-compat polyfilled components, 25074 // Unsafe lifecycles should not be invoked for components using the new APIs. 25075 25076 if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) { 25077 if (oldProps !== newProps || oldContext !== nextContext) { 25078 callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext); 25079 } 25080 } 25081 25082 resetHasForceUpdateBeforeProcessing(); 25083 var oldState = workInProgress.memoizedState; 25084 var newState = instance.state = oldState; 25085 processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime); 25086 newState = workInProgress.memoizedState; 25087 25088 if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) { 25089 // If an update was already in progress, we should schedule an Update 25090 // effect even though we're bailing out, so that cWU/cDU are called. 25091 if (typeof instance.componentDidUpdate === 'function') { 25092 if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { 25093 workInProgress.effectTag |= Update; 25094 } 25095 } 25096 25097 if (typeof instance.getSnapshotBeforeUpdate === 'function') { 25098 if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { 25099 workInProgress.effectTag |= Snapshot; 25100 } 25101 } 25102 25103 return false; 25104 } 25105 25106 if (typeof getDerivedStateFromProps === 'function') { 25107 applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps); 25108 newState = workInProgress.memoizedState; 25109 } 25110 25111 var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext); 25112 25113 if (shouldUpdate) { 25114 // In order to support react-lifecycles-compat polyfilled components, 25115 // Unsafe lifecycles should not be invoked for components using the new APIs. 25116 if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillUpdate === 'function' || typeof instance.componentWillUpdate === 'function')) { 25117 startPhaseTimer(workInProgress, 'componentWillUpdate'); 25118 25119 if (typeof instance.componentWillUpdate === 'function') { 25120 instance.componentWillUpdate(newProps, newState, nextContext); 25121 } 25122 25123 if (typeof instance.UNSAFE_componentWillUpdate === 'function') { 25124 instance.UNSAFE_componentWillUpdate(newProps, newState, nextContext); 25125 } 25126 25127 stopPhaseTimer(); 25128 } 25129 25130 if (typeof instance.componentDidUpdate === 'function') { 25131 workInProgress.effectTag |= Update; 25132 } 25133 25134 if (typeof instance.getSnapshotBeforeUpdate === 'function') { 25135 workInProgress.effectTag |= Snapshot; 25136 } 25137 } else { 25138 // If an update was already in progress, we should schedule an Update 25139 // effect even though we're bailing out, so that cWU/cDU are called. 25140 if (typeof instance.componentDidUpdate === 'function') { 25141 if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { 25142 workInProgress.effectTag |= Update; 25143 } 25144 } 25145 25146 if (typeof instance.getSnapshotBeforeUpdate === 'function') { 25147 if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { 25148 workInProgress.effectTag |= Snapshot; 25149 } 25150 } // If shouldComponentUpdate returned false, we should still update the 25151 // memoized props/state to indicate that this work can be reused. 25152 25153 25154 workInProgress.memoizedProps = newProps; 25155 workInProgress.memoizedState = newState; 25156 } // Update the existing instance's state, props, and context pointers even 25157 // if shouldComponentUpdate returns false. 25158 25159 25160 instance.props = newProps; 25161 instance.state = newState; 25162 instance.context = nextContext; 25163 return shouldUpdate; 25164} 25165 25166var didWarnAboutMaps; 25167var didWarnAboutGenerators; 25168var didWarnAboutStringRefs; 25169var ownerHasKeyUseWarning; 25170var ownerHasFunctionTypeWarning; 25171 25172var warnForMissingKey = function (child) {}; 25173 25174{ 25175 didWarnAboutMaps = false; 25176 didWarnAboutGenerators = false; 25177 didWarnAboutStringRefs = {}; 25178 /** 25179 * Warn if there's no key explicitly set on dynamic arrays of children or 25180 * object keys are not valid. This allows us to keep track of children between 25181 * updates. 25182 */ 25183 25184 ownerHasKeyUseWarning = {}; 25185 ownerHasFunctionTypeWarning = {}; 25186 25187 warnForMissingKey = function (child) { 25188 if (child === null || typeof child !== 'object') { 25189 return; 25190 } 25191 25192 if (!child._store || child._store.validated || child.key != null) { 25193 return; 25194 } 25195 25196 if (!(typeof child._store === 'object')) { 25197 { 25198 throw Error( "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue." ); 25199 } 25200 } 25201 25202 child._store.validated = true; 25203 var currentComponentErrorInfo = 'Each child in a list should have a unique ' + '"key" prop. See https://fb.me/react-warning-keys for ' + 'more information.' + getCurrentFiberStackInDev(); 25204 25205 if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { 25206 return; 25207 } 25208 25209 ownerHasKeyUseWarning[currentComponentErrorInfo] = true; 25210 25211 error('Each child in a list should have a unique ' + '"key" prop. See https://fb.me/react-warning-keys for ' + 'more information.'); 25212 }; 25213} 25214 25215var isArray$1 = Array.isArray; 25216 25217function coerceRef(returnFiber, current, element) { 25218 var mixedRef = element.ref; 25219 25220 if (mixedRef !== null && typeof mixedRef !== 'function' && typeof mixedRef !== 'object') { 25221 { 25222 // TODO: Clean this up once we turn on the string ref warning for 25223 // everyone, because the strict mode case will no longer be relevant 25224 if ((returnFiber.mode & StrictMode || warnAboutStringRefs) && // We warn in ReactElement.js if owner and self are equal for string refs 25225 // because these cannot be automatically converted to an arrow function 25226 // using a codemod. Therefore, we don't have to warn about string refs again. 25227 !(element._owner && element._self && element._owner.stateNode !== element._self)) { 25228 var componentName = getComponentName(returnFiber.type) || 'Component'; 25229 25230 if (!didWarnAboutStringRefs[componentName]) { 25231 { 25232 error('A string ref, "%s", has been found within a strict mode tree. ' + 'String refs are a source of potential bugs and should be avoided. ' + 'We recommend using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-string-ref%s', mixedRef, getStackByFiberInDevAndProd(returnFiber)); 25233 } 25234 25235 didWarnAboutStringRefs[componentName] = true; 25236 } 25237 } 25238 } 25239 25240 if (element._owner) { 25241 var owner = element._owner; 25242 var inst; 25243 25244 if (owner) { 25245 var ownerFiber = owner; 25246 25247 if (!(ownerFiber.tag === ClassComponent)) { 25248 { 25249 throw Error( "Function components cannot have string refs. We recommend using useRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref" ); 25250 } 25251 } 25252 25253 inst = ownerFiber.stateNode; 25254 } 25255 25256 if (!inst) { 25257 { 25258 throw Error( "Missing owner for string ref " + mixedRef + ". This error is likely caused by a bug in React. Please file an issue." ); 25259 } 25260 } 25261 25262 var stringRef = '' + mixedRef; // Check if previous string ref matches new string ref 25263 25264 if (current !== null && current.ref !== null && typeof current.ref === 'function' && current.ref._stringRef === stringRef) { 25265 return current.ref; 25266 } 25267 25268 var ref = function (value) { 25269 var refs = inst.refs; 25270 25271 if (refs === emptyRefsObject) { 25272 // This is a lazy pooled frozen object, so we need to initialize. 25273 refs = inst.refs = {}; 25274 } 25275 25276 if (value === null) { 25277 delete refs[stringRef]; 25278 } else { 25279 refs[stringRef] = value; 25280 } 25281 }; 25282 25283 ref._stringRef = stringRef; 25284 return ref; 25285 } else { 25286 if (!(typeof mixedRef === 'string')) { 25287 { 25288 throw Error( "Expected ref to be a function, a string, an object returned by React.createRef(), or null." ); 25289 } 25290 } 25291 25292 if (!element._owner) { 25293 { 25294 throw Error( "Element ref was specified as a string (" + mixedRef + ") but no owner was set. This could happen for one of the following reasons:\n1. You may be adding a ref to a function component\n2. You may be adding a ref to a component that was not created inside a component's render method\n3. You have multiple copies of React loaded\nSee https://fb.me/react-refs-must-have-owner for more information." ); 25295 } 25296 } 25297 } 25298 } 25299 25300 return mixedRef; 25301} 25302 25303function throwOnInvalidObjectType(returnFiber, newChild) { 25304 if (returnFiber.type !== 'textarea') { 25305 var addendum = ''; 25306 25307 { 25308 addendum = ' If you meant to render a collection of children, use an array ' + 'instead.' + getCurrentFiberStackInDev(); 25309 } 25310 25311 { 25312 { 25313 throw Error( "Objects are not valid as a React child (found: " + (Object.prototype.toString.call(newChild) === '[object Object]' ? 'object with keys {' + Object.keys(newChild).join(', ') + '}' : newChild) + ")." + addendum ); 25314 } 25315 } 25316 } 25317} 25318 25319function warnOnFunctionType() { 25320 { 25321 var currentComponentErrorInfo = 'Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of <Component /> from render. ' + 'Or maybe you meant to call this function rather than return it.' + getCurrentFiberStackInDev(); 25322 25323 if (ownerHasFunctionTypeWarning[currentComponentErrorInfo]) { 25324 return; 25325 } 25326 25327 ownerHasFunctionTypeWarning[currentComponentErrorInfo] = true; 25328 25329 error('Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of <Component /> from render. ' + 'Or maybe you meant to call this function rather than return it.'); 25330 } 25331} // This wrapper function exists because I expect to clone the code in each path 25332// to be able to optimize each path individually by branching early. This needs 25333// a compiler or we can do it manually. Helpers that don't need this branching 25334// live outside of this function. 25335 25336 25337function ChildReconciler(shouldTrackSideEffects) { 25338 function deleteChild(returnFiber, childToDelete) { 25339 if (!shouldTrackSideEffects) { 25340 // Noop. 25341 return; 25342 } // Deletions are added in reversed order so we add it to the front. 25343 // At this point, the return fiber's effect list is empty except for 25344 // deletions, so we can just append the deletion to the list. The remaining 25345 // effects aren't added until the complete phase. Once we implement 25346 // resuming, this may not be true. 25347 25348 25349 var last = returnFiber.lastEffect; 25350 25351 if (last !== null) { 25352 last.nextEffect = childToDelete; 25353 returnFiber.lastEffect = childToDelete; 25354 } else { 25355 returnFiber.firstEffect = returnFiber.lastEffect = childToDelete; 25356 } 25357 25358 childToDelete.nextEffect = null; 25359 childToDelete.effectTag = Deletion; 25360 } 25361 25362 function deleteRemainingChildren(returnFiber, currentFirstChild) { 25363 if (!shouldTrackSideEffects) { 25364 // Noop. 25365 return null; 25366 } // TODO: For the shouldClone case, this could be micro-optimized a bit by 25367 // assuming that after the first child we've already added everything. 25368 25369 25370 var childToDelete = currentFirstChild; 25371 25372 while (childToDelete !== null) { 25373 deleteChild(returnFiber, childToDelete); 25374 childToDelete = childToDelete.sibling; 25375 } 25376 25377 return null; 25378 } 25379 25380 function mapRemainingChildren(returnFiber, currentFirstChild) { 25381 // Add the remaining children to a temporary map so that we can find them by 25382 // keys quickly. Implicit (null) keys get added to this set with their index 25383 // instead. 25384 var existingChildren = new Map(); 25385 var existingChild = currentFirstChild; 25386 25387 while (existingChild !== null) { 25388 if (existingChild.key !== null) { 25389 existingChildren.set(existingChild.key, existingChild); 25390 } else { 25391 existingChildren.set(existingChild.index, existingChild); 25392 } 25393 25394 existingChild = existingChild.sibling; 25395 } 25396 25397 return existingChildren; 25398 } 25399 25400 function useFiber(fiber, pendingProps) { 25401 // We currently set sibling to null and index to 0 here because it is easy 25402 // to forget to do before returning it. E.g. for the single child case. 25403 var clone = createWorkInProgress(fiber, pendingProps); 25404 clone.index = 0; 25405 clone.sibling = null; 25406 return clone; 25407 } 25408 25409 function placeChild(newFiber, lastPlacedIndex, newIndex) { 25410 newFiber.index = newIndex; 25411 25412 if (!shouldTrackSideEffects) { 25413 // Noop. 25414 return lastPlacedIndex; 25415 } 25416 25417 var current = newFiber.alternate; 25418 25419 if (current !== null) { 25420 var oldIndex = current.index; 25421 25422 if (oldIndex < lastPlacedIndex) { 25423 // This is a move. 25424 newFiber.effectTag = Placement; 25425 return lastPlacedIndex; 25426 } else { 25427 // This item can stay in place. 25428 return oldIndex; 25429 } 25430 } else { 25431 // This is an insertion. 25432 newFiber.effectTag = Placement; 25433 return lastPlacedIndex; 25434 } 25435 } 25436 25437 function placeSingleChild(newFiber) { 25438 // This is simpler for the single child case. We only need to do a 25439 // placement for inserting new children. 25440 if (shouldTrackSideEffects && newFiber.alternate === null) { 25441 newFiber.effectTag = Placement; 25442 } 25443 25444 return newFiber; 25445 } 25446 25447 function updateTextNode(returnFiber, current, textContent, expirationTime) { 25448 if (current === null || current.tag !== HostText) { 25449 // Insert 25450 var created = createFiberFromText(textContent, returnFiber.mode, expirationTime); 25451 created.return = returnFiber; 25452 return created; 25453 } else { 25454 // Update 25455 var existing = useFiber(current, textContent); 25456 existing.return = returnFiber; 25457 return existing; 25458 } 25459 } 25460 25461 function updateElement(returnFiber, current, element, expirationTime) { 25462 if (current !== null) { 25463 if (current.elementType === element.type || ( // Keep this check inline so it only runs on the false path: 25464 isCompatibleFamilyForHotReloading(current, element) )) { 25465 // Move based on index 25466 var existing = useFiber(current, element.props); 25467 existing.ref = coerceRef(returnFiber, current, element); 25468 existing.return = returnFiber; 25469 25470 { 25471 existing._debugSource = element._source; 25472 existing._debugOwner = element._owner; 25473 } 25474 25475 return existing; 25476 } 25477 } // Insert 25478 25479 25480 var created = createFiberFromElement(element, returnFiber.mode, expirationTime); 25481 created.ref = coerceRef(returnFiber, current, element); 25482 created.return = returnFiber; 25483 return created; 25484 } 25485 25486 function updatePortal(returnFiber, current, portal, expirationTime) { 25487 if (current === null || current.tag !== HostPortal || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation) { 25488 // Insert 25489 var created = createFiberFromPortal(portal, returnFiber.mode, expirationTime); 25490 created.return = returnFiber; 25491 return created; 25492 } else { 25493 // Update 25494 var existing = useFiber(current, portal.children || []); 25495 existing.return = returnFiber; 25496 return existing; 25497 } 25498 } 25499 25500 function updateFragment(returnFiber, current, fragment, expirationTime, key) { 25501 if (current === null || current.tag !== Fragment) { 25502 // Insert 25503 var created = createFiberFromFragment(fragment, returnFiber.mode, expirationTime, key); 25504 created.return = returnFiber; 25505 return created; 25506 } else { 25507 // Update 25508 var existing = useFiber(current, fragment); 25509 existing.return = returnFiber; 25510 return existing; 25511 } 25512 } 25513 25514 function createChild(returnFiber, newChild, expirationTime) { 25515 if (typeof newChild === 'string' || typeof newChild === 'number') { 25516 // Text nodes don't have keys. If the previous node is implicitly keyed 25517 // we can continue to replace it without aborting even if it is not a text 25518 // node. 25519 var created = createFiberFromText('' + newChild, returnFiber.mode, expirationTime); 25520 created.return = returnFiber; 25521 return created; 25522 } 25523 25524 if (typeof newChild === 'object' && newChild !== null) { 25525 switch (newChild.$$typeof) { 25526 case REACT_ELEMENT_TYPE: 25527 { 25528 var _created = createFiberFromElement(newChild, returnFiber.mode, expirationTime); 25529 25530 _created.ref = coerceRef(returnFiber, null, newChild); 25531 _created.return = returnFiber; 25532 return _created; 25533 } 25534 25535 case REACT_PORTAL_TYPE: 25536 { 25537 var _created2 = createFiberFromPortal(newChild, returnFiber.mode, expirationTime); 25538 25539 _created2.return = returnFiber; 25540 return _created2; 25541 } 25542 } 25543 25544 if (isArray$1(newChild) || getIteratorFn(newChild)) { 25545 var _created3 = createFiberFromFragment(newChild, returnFiber.mode, expirationTime, null); 25546 25547 _created3.return = returnFiber; 25548 return _created3; 25549 } 25550 25551 throwOnInvalidObjectType(returnFiber, newChild); 25552 } 25553 25554 { 25555 if (typeof newChild === 'function') { 25556 warnOnFunctionType(); 25557 } 25558 } 25559 25560 return null; 25561 } 25562 25563 function updateSlot(returnFiber, oldFiber, newChild, expirationTime) { 25564 // Update the fiber if the keys match, otherwise return null. 25565 var key = oldFiber !== null ? oldFiber.key : null; 25566 25567 if (typeof newChild === 'string' || typeof newChild === 'number') { 25568 // Text nodes don't have keys. If the previous node is implicitly keyed 25569 // we can continue to replace it without aborting even if it is not a text 25570 // node. 25571 if (key !== null) { 25572 return null; 25573 } 25574 25575 return updateTextNode(returnFiber, oldFiber, '' + newChild, expirationTime); 25576 } 25577 25578 if (typeof newChild === 'object' && newChild !== null) { 25579 switch (newChild.$$typeof) { 25580 case REACT_ELEMENT_TYPE: 25581 { 25582 if (newChild.key === key) { 25583 if (newChild.type === REACT_FRAGMENT_TYPE) { 25584 return updateFragment(returnFiber, oldFiber, newChild.props.children, expirationTime, key); 25585 } 25586 25587 return updateElement(returnFiber, oldFiber, newChild, expirationTime); 25588 } else { 25589 return null; 25590 } 25591 } 25592 25593 case REACT_PORTAL_TYPE: 25594 { 25595 if (newChild.key === key) { 25596 return updatePortal(returnFiber, oldFiber, newChild, expirationTime); 25597 } else { 25598 return null; 25599 } 25600 } 25601 } 25602 25603 if (isArray$1(newChild) || getIteratorFn(newChild)) { 25604 if (key !== null) { 25605 return null; 25606 } 25607 25608 return updateFragment(returnFiber, oldFiber, newChild, expirationTime, null); 25609 } 25610 25611 throwOnInvalidObjectType(returnFiber, newChild); 25612 } 25613 25614 { 25615 if (typeof newChild === 'function') { 25616 warnOnFunctionType(); 25617 } 25618 } 25619 25620 return null; 25621 } 25622 25623 function updateFromMap(existingChildren, returnFiber, newIdx, newChild, expirationTime) { 25624 if (typeof newChild === 'string' || typeof newChild === 'number') { 25625 // Text nodes don't have keys, so we neither have to check the old nor 25626 // new node for the key. If both are text nodes, they match. 25627 var matchedFiber = existingChildren.get(newIdx) || null; 25628 return updateTextNode(returnFiber, matchedFiber, '' + newChild, expirationTime); 25629 } 25630 25631 if (typeof newChild === 'object' && newChild !== null) { 25632 switch (newChild.$$typeof) { 25633 case REACT_ELEMENT_TYPE: 25634 { 25635 var _matchedFiber = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null; 25636 25637 if (newChild.type === REACT_FRAGMENT_TYPE) { 25638 return updateFragment(returnFiber, _matchedFiber, newChild.props.children, expirationTime, newChild.key); 25639 } 25640 25641 return updateElement(returnFiber, _matchedFiber, newChild, expirationTime); 25642 } 25643 25644 case REACT_PORTAL_TYPE: 25645 { 25646 var _matchedFiber2 = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null; 25647 25648 return updatePortal(returnFiber, _matchedFiber2, newChild, expirationTime); 25649 } 25650 } 25651 25652 if (isArray$1(newChild) || getIteratorFn(newChild)) { 25653 var _matchedFiber3 = existingChildren.get(newIdx) || null; 25654 25655 return updateFragment(returnFiber, _matchedFiber3, newChild, expirationTime, null); 25656 } 25657 25658 throwOnInvalidObjectType(returnFiber, newChild); 25659 } 25660 25661 { 25662 if (typeof newChild === 'function') { 25663 warnOnFunctionType(); 25664 } 25665 } 25666 25667 return null; 25668 } 25669 /** 25670 * Warns if there is a duplicate or missing key 25671 */ 25672 25673 25674 function warnOnInvalidKey(child, knownKeys) { 25675 { 25676 if (typeof child !== 'object' || child === null) { 25677 return knownKeys; 25678 } 25679 25680 switch (child.$$typeof) { 25681 case REACT_ELEMENT_TYPE: 25682 case REACT_PORTAL_TYPE: 25683 warnForMissingKey(child); 25684 var key = child.key; 25685 25686 if (typeof key !== 'string') { 25687 break; 25688 } 25689 25690 if (knownKeys === null) { 25691 knownKeys = new Set(); 25692 knownKeys.add(key); 25693 break; 25694 } 25695 25696 if (!knownKeys.has(key)) { 25697 knownKeys.add(key); 25698 break; 25699 } 25700 25701 error('Encountered two children with the same key, `%s`. ' + 'Keys should be unique so that components maintain their identity ' + 'across updates. Non-unique keys may cause children to be ' + 'duplicated and/or omitted â the behavior is unsupported and ' + 'could change in a future version.', key); 25702 25703 break; 25704 } 25705 } 25706 25707 return knownKeys; 25708 } 25709 25710 function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, expirationTime) { 25711 // This algorithm can't optimize by searching from both ends since we 25712 // don't have backpointers on fibers. I'm trying to see how far we can get 25713 // with that model. If it ends up not being worth the tradeoffs, we can 25714 // add it later. 25715 // Even with a two ended optimization, we'd want to optimize for the case 25716 // where there are few changes and brute force the comparison instead of 25717 // going for the Map. It'd like to explore hitting that path first in 25718 // forward-only mode and only go for the Map once we notice that we need 25719 // lots of look ahead. This doesn't handle reversal as well as two ended 25720 // search but that's unusual. Besides, for the two ended optimization to 25721 // work on Iterables, we'd need to copy the whole set. 25722 // In this first iteration, we'll just live with hitting the bad case 25723 // (adding everything to a Map) in for every insert/move. 25724 // If you change this code, also update reconcileChildrenIterator() which 25725 // uses the same algorithm. 25726 { 25727 // First, validate keys. 25728 var knownKeys = null; 25729 25730 for (var i = 0; i < newChildren.length; i++) { 25731 var child = newChildren[i]; 25732 knownKeys = warnOnInvalidKey(child, knownKeys); 25733 } 25734 } 25735 25736 var resultingFirstChild = null; 25737 var previousNewFiber = null; 25738 var oldFiber = currentFirstChild; 25739 var lastPlacedIndex = 0; 25740 var newIdx = 0; 25741 var nextOldFiber = null; 25742 25743 for (; oldFiber !== null && newIdx < newChildren.length; newIdx++) { 25744 if (oldFiber.index > newIdx) { 25745 nextOldFiber = oldFiber; 25746 oldFiber = null; 25747 } else { 25748 nextOldFiber = oldFiber.sibling; 25749 } 25750 25751 var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], expirationTime); 25752 25753 if (newFiber === null) { 25754 // TODO: This breaks on empty slots like null children. That's 25755 // unfortunate because it triggers the slow path all the time. We need 25756 // a better way to communicate whether this was a miss or null, 25757 // boolean, undefined, etc. 25758 if (oldFiber === null) { 25759 oldFiber = nextOldFiber; 25760 } 25761 25762 break; 25763 } 25764 25765 if (shouldTrackSideEffects) { 25766 if (oldFiber && newFiber.alternate === null) { 25767 // We matched the slot, but we didn't reuse the existing fiber, so we 25768 // need to delete the existing child. 25769 deleteChild(returnFiber, oldFiber); 25770 } 25771 } 25772 25773 lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx); 25774 25775 if (previousNewFiber === null) { 25776 // TODO: Move out of the loop. This only happens for the first run. 25777 resultingFirstChild = newFiber; 25778 } else { 25779 // TODO: Defer siblings if we're not at the right index for this slot. 25780 // I.e. if we had null values before, then we want to defer this 25781 // for each null value. However, we also don't want to call updateSlot 25782 // with the previous one. 25783 previousNewFiber.sibling = newFiber; 25784 } 25785 25786 previousNewFiber = newFiber; 25787 oldFiber = nextOldFiber; 25788 } 25789 25790 if (newIdx === newChildren.length) { 25791 // We've reached the end of the new children. We can delete the rest. 25792 deleteRemainingChildren(returnFiber, oldFiber); 25793 return resultingFirstChild; 25794 } 25795 25796 if (oldFiber === null) { 25797 // If we don't have any more existing children we can choose a fast path 25798 // since the rest will all be insertions. 25799 for (; newIdx < newChildren.length; newIdx++) { 25800 var _newFiber = createChild(returnFiber, newChildren[newIdx], expirationTime); 25801 25802 if (_newFiber === null) { 25803 continue; 25804 } 25805 25806 lastPlacedIndex = placeChild(_newFiber, lastPlacedIndex, newIdx); 25807 25808 if (previousNewFiber === null) { 25809 // TODO: Move out of the loop. This only happens for the first run. 25810 resultingFirstChild = _newFiber; 25811 } else { 25812 previousNewFiber.sibling = _newFiber; 25813 } 25814 25815 previousNewFiber = _newFiber; 25816 } 25817 25818 return resultingFirstChild; 25819 } // Add all children to a key map for quick lookups. 25820 25821 25822 var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves. 25823 25824 for (; newIdx < newChildren.length; newIdx++) { 25825 var _newFiber2 = updateFromMap(existingChildren, returnFiber, newIdx, newChildren[newIdx], expirationTime); 25826 25827 if (_newFiber2 !== null) { 25828 if (shouldTrackSideEffects) { 25829 if (_newFiber2.alternate !== null) { 25830 // The new fiber is a work in progress, but if there exists a 25831 // current, that means that we reused the fiber. We need to delete 25832 // it from the child list so that we don't add it to the deletion 25833 // list. 25834 existingChildren.delete(_newFiber2.key === null ? newIdx : _newFiber2.key); 25835 } 25836 } 25837 25838 lastPlacedIndex = placeChild(_newFiber2, lastPlacedIndex, newIdx); 25839 25840 if (previousNewFiber === null) { 25841 resultingFirstChild = _newFiber2; 25842 } else { 25843 previousNewFiber.sibling = _newFiber2; 25844 } 25845 25846 previousNewFiber = _newFiber2; 25847 } 25848 } 25849 25850 if (shouldTrackSideEffects) { 25851 // Any existing children that weren't consumed above were deleted. We need 25852 // to add them to the deletion list. 25853 existingChildren.forEach(function (child) { 25854 return deleteChild(returnFiber, child); 25855 }); 25856 } 25857 25858 return resultingFirstChild; 25859 } 25860 25861 function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, expirationTime) { 25862 // This is the same implementation as reconcileChildrenArray(), 25863 // but using the iterator instead. 25864 var iteratorFn = getIteratorFn(newChildrenIterable); 25865 25866 if (!(typeof iteratorFn === 'function')) { 25867 { 25868 throw Error( "An object is not an iterable. This error is likely caused by a bug in React. Please file an issue." ); 25869 } 25870 } 25871 25872 { 25873 // We don't support rendering Generators because it's a mutation. 25874 // See https://github.com/facebook/react/issues/12995 25875 if (typeof Symbol === 'function' && // $FlowFixMe Flow doesn't know about toStringTag 25876 newChildrenIterable[Symbol.toStringTag] === 'Generator') { 25877 if (!didWarnAboutGenerators) { 25878 error('Using Generators as children is unsupported and will likely yield ' + 'unexpected results because enumerating a generator mutates it. ' + 'You may convert it to an array with `Array.from()` or the ' + '`[...spread]` operator before rendering. Keep in mind ' + 'you might need to polyfill these features for older browsers.'); 25879 } 25880 25881 didWarnAboutGenerators = true; 25882 } // Warn about using Maps as children 25883 25884 25885 if (newChildrenIterable.entries === iteratorFn) { 25886 if (!didWarnAboutMaps) { 25887 error('Using Maps as children is unsupported and will likely yield ' + 'unexpected results. Convert it to a sequence/iterable of keyed ' + 'ReactElements instead.'); 25888 } 25889 25890 didWarnAboutMaps = true; 25891 } // First, validate keys. 25892 // We'll get a different iterator later for the main pass. 25893 25894 25895 var _newChildren = iteratorFn.call(newChildrenIterable); 25896 25897 if (_newChildren) { 25898 var knownKeys = null; 25899 25900 var _step = _newChildren.next(); 25901 25902 for (; !_step.done; _step = _newChildren.next()) { 25903 var child = _step.value; 25904 knownKeys = warnOnInvalidKey(child, knownKeys); 25905 } 25906 } 25907 } 25908 25909 var newChildren = iteratorFn.call(newChildrenIterable); 25910 25911 if (!(newChildren != null)) { 25912 { 25913 throw Error( "An iterable object provided no iterator." ); 25914 } 25915 } 25916 25917 var resultingFirstChild = null; 25918 var previousNewFiber = null; 25919 var oldFiber = currentFirstChild; 25920 var lastPlacedIndex = 0; 25921 var newIdx = 0; 25922 var nextOldFiber = null; 25923 var step = newChildren.next(); 25924 25925 for (; oldFiber !== null && !step.done; newIdx++, step = newChildren.next()) { 25926 if (oldFiber.index > newIdx) { 25927 nextOldFiber = oldFiber; 25928 oldFiber = null; 25929 } else { 25930 nextOldFiber = oldFiber.sibling; 25931 } 25932 25933 var newFiber = updateSlot(returnFiber, oldFiber, step.value, expirationTime); 25934 25935 if (newFiber === null) { 25936 // TODO: This breaks on empty slots like null children. That's 25937 // unfortunate because it triggers the slow path all the time. We need 25938 // a better way to communicate whether this was a miss or null, 25939 // boolean, undefined, etc. 25940 if (oldFiber === null) { 25941 oldFiber = nextOldFiber; 25942 } 25943 25944 break; 25945 } 25946 25947 if (shouldTrackSideEffects) { 25948 if (oldFiber && newFiber.alternate === null) { 25949 // We matched the slot, but we didn't reuse the existing fiber, so we 25950 // need to delete the existing child. 25951 deleteChild(returnFiber, oldFiber); 25952 } 25953 } 25954 25955 lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx); 25956 25957 if (previousNewFiber === null) { 25958 // TODO: Move out of the loop. This only happens for the first run. 25959 resultingFirstChild = newFiber; 25960 } else { 25961 // TODO: Defer siblings if we're not at the right index for this slot. 25962 // I.e. if we had null values before, then we want to defer this 25963 // for each null value. However, we also don't want to call updateSlot 25964 // with the previous one. 25965 previousNewFiber.sibling = newFiber; 25966 } 25967 25968 previousNewFiber = newFiber; 25969 oldFiber = nextOldFiber; 25970 } 25971 25972 if (step.done) { 25973 // We've reached the end of the new children. We can delete the rest. 25974 deleteRemainingChildren(returnFiber, oldFiber); 25975 return resultingFirstChild; 25976 } 25977 25978 if (oldFiber === null) { 25979 // If we don't have any more existing children we can choose a fast path 25980 // since the rest will all be insertions. 25981 for (; !step.done; newIdx++, step = newChildren.next()) { 25982 var _newFiber3 = createChild(returnFiber, step.value, expirationTime); 25983 25984 if (_newFiber3 === null) { 25985 continue; 25986 } 25987 25988 lastPlacedIndex = placeChild(_newFiber3, lastPlacedIndex, newIdx); 25989 25990 if (previousNewFiber === null) { 25991 // TODO: Move out of the loop. This only happens for the first run. 25992 resultingFirstChild = _newFiber3; 25993 } else { 25994 previousNewFiber.sibling = _newFiber3; 25995 } 25996 25997 previousNewFiber = _newFiber3; 25998 } 25999 26000 return resultingFirstChild; 26001 } // Add all children to a key map for quick lookups. 26002 26003 26004 var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves. 26005 26006 for (; !step.done; newIdx++, step = newChildren.next()) { 26007 var _newFiber4 = updateFromMap(existingChildren, returnFiber, newIdx, step.value, expirationTime); 26008 26009 if (_newFiber4 !== null) { 26010 if (shouldTrackSideEffects) { 26011 if (_newFiber4.alternate !== null) { 26012 // The new fiber is a work in progress, but if there exists a 26013 // current, that means that we reused the fiber. We need to delete 26014 // it from the child list so that we don't add it to the deletion 26015 // list. 26016 existingChildren.delete(_newFiber4.key === null ? newIdx : _newFiber4.key); 26017 } 26018 } 26019 26020 lastPlacedIndex = placeChild(_newFiber4, lastPlacedIndex, newIdx); 26021 26022 if (previousNewFiber === null) { 26023 resultingFirstChild = _newFiber4; 26024 } else { 26025 previousNewFiber.sibling = _newFiber4; 26026 } 26027 26028 previousNewFiber = _newFiber4; 26029 } 26030 } 26031 26032 if (shouldTrackSideEffects) { 26033 // Any existing children that weren't consumed above were deleted. We need 26034 // to add them to the deletion list. 26035 existingChildren.forEach(function (child) { 26036 return deleteChild(returnFiber, child); 26037 }); 26038 } 26039 26040 return resultingFirstChild; 26041 } 26042 26043 function reconcileSingleTextNode(returnFiber, currentFirstChild, textContent, expirationTime) { 26044 // There's no need to check for keys on text nodes since we don't have a 26045 // way to define them. 26046 if (currentFirstChild !== null && currentFirstChild.tag === HostText) { 26047 // We already have an existing node so let's just update it and delete 26048 // the rest. 26049 deleteRemainingChildren(returnFiber, currentFirstChild.sibling); 26050 var existing = useFiber(currentFirstChild, textContent); 26051 existing.return = returnFiber; 26052 return existing; 26053 } // The existing first child is not a text node so we need to create one 26054 // and delete the existing ones. 26055 26056 26057 deleteRemainingChildren(returnFiber, currentFirstChild); 26058 var created = createFiberFromText(textContent, returnFiber.mode, expirationTime); 26059 created.return = returnFiber; 26060 return created; 26061 } 26062 26063 function reconcileSingleElement(returnFiber, currentFirstChild, element, expirationTime) { 26064 var key = element.key; 26065 var child = currentFirstChild; 26066 26067 while (child !== null) { 26068 // TODO: If key === null and child.key === null, then this only applies to 26069 // the first item in the list. 26070 if (child.key === key) { 26071 switch (child.tag) { 26072 case Fragment: 26073 { 26074 if (element.type === REACT_FRAGMENT_TYPE) { 26075 deleteRemainingChildren(returnFiber, child.sibling); 26076 var existing = useFiber(child, element.props.children); 26077 existing.return = returnFiber; 26078 26079 { 26080 existing._debugSource = element._source; 26081 existing._debugOwner = element._owner; 26082 } 26083 26084 return existing; 26085 } 26086 26087 break; 26088 } 26089 26090 case Block: 26091 26092 // We intentionally fallthrough here if enableBlocksAPI is not on. 26093 // eslint-disable-next-lined no-fallthrough 26094 26095 default: 26096 { 26097 if (child.elementType === element.type || ( // Keep this check inline so it only runs on the false path: 26098 isCompatibleFamilyForHotReloading(child, element) )) { 26099 deleteRemainingChildren(returnFiber, child.sibling); 26100 26101 var _existing3 = useFiber(child, element.props); 26102 26103 _existing3.ref = coerceRef(returnFiber, child, element); 26104 _existing3.return = returnFiber; 26105 26106 { 26107 _existing3._debugSource = element._source; 26108 _existing3._debugOwner = element._owner; 26109 } 26110 26111 return _existing3; 26112 } 26113 26114 break; 26115 } 26116 } // Didn't match. 26117 26118 26119 deleteRemainingChildren(returnFiber, child); 26120 break; 26121 } else { 26122 deleteChild(returnFiber, child); 26123 } 26124 26125 child = child.sibling; 26126 } 26127 26128 if (element.type === REACT_FRAGMENT_TYPE) { 26129 var created = createFiberFromFragment(element.props.children, returnFiber.mode, expirationTime, element.key); 26130 created.return = returnFiber; 26131 return created; 26132 } else { 26133 var _created4 = createFiberFromElement(element, returnFiber.mode, expirationTime); 26134 26135 _created4.ref = coerceRef(returnFiber, currentFirstChild, element); 26136 _created4.return = returnFiber; 26137 return _created4; 26138 } 26139 } 26140 26141 function reconcileSinglePortal(returnFiber, currentFirstChild, portal, expirationTime) { 26142 var key = portal.key; 26143 var child = currentFirstChild; 26144 26145 while (child !== null) { 26146 // TODO: If key === null and child.key === null, then this only applies to 26147 // the first item in the list. 26148 if (child.key === key) { 26149 if (child.tag === HostPortal && child.stateNode.containerInfo === portal.containerInfo && child.stateNode.implementation === portal.implementation) { 26150 deleteRemainingChildren(returnFiber, child.sibling); 26151 var existing = useFiber(child, portal.children || []); 26152 existing.return = returnFiber; 26153 return existing; 26154 } else { 26155 deleteRemainingChildren(returnFiber, child); 26156 break; 26157 } 26158 } else { 26159 deleteChild(returnFiber, child); 26160 } 26161 26162 child = child.sibling; 26163 } 26164 26165 var created = createFiberFromPortal(portal, returnFiber.mode, expirationTime); 26166 created.return = returnFiber; 26167 return created; 26168 } // This API will tag the children with the side-effect of the reconciliation 26169 // itself. They will be added to the side-effect list as we pass through the 26170 // children and the parent. 26171 26172 26173 function reconcileChildFibers(returnFiber, currentFirstChild, newChild, expirationTime) { 26174 // This function is not recursive. 26175 // If the top level item is an array, we treat it as a set of children, 26176 // not as a fragment. Nested arrays on the other hand will be treated as 26177 // fragment nodes. Recursion happens at the normal flow. 26178 // Handle top level unkeyed fragments as if they were arrays. 26179 // This leads to an ambiguity between <>{[...]}</> and <>...</>. 26180 // We treat the ambiguous cases above the same. 26181 var isUnkeyedTopLevelFragment = typeof newChild === 'object' && newChild !== null && newChild.type === REACT_FRAGMENT_TYPE && newChild.key === null; 26182 26183 if (isUnkeyedTopLevelFragment) { 26184 newChild = newChild.props.children; 26185 } // Handle object types 26186 26187 26188 var isObject = typeof newChild === 'object' && newChild !== null; 26189 26190 if (isObject) { 26191 switch (newChild.$$typeof) { 26192 case REACT_ELEMENT_TYPE: 26193 return placeSingleChild(reconcileSingleElement(returnFiber, currentFirstChild, newChild, expirationTime)); 26194 26195 case REACT_PORTAL_TYPE: 26196 return placeSingleChild(reconcileSinglePortal(returnFiber, currentFirstChild, newChild, expirationTime)); 26197 } 26198 } 26199 26200 if (typeof newChild === 'string' || typeof newChild === 'number') { 26201 return placeSingleChild(reconcileSingleTextNode(returnFiber, currentFirstChild, '' + newChild, expirationTime)); 26202 } 26203 26204 if (isArray$1(newChild)) { 26205 return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, expirationTime); 26206 } 26207 26208 if (getIteratorFn(newChild)) { 26209 return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, expirationTime); 26210 } 26211 26212 if (isObject) { 26213 throwOnInvalidObjectType(returnFiber, newChild); 26214 } 26215 26216 { 26217 if (typeof newChild === 'function') { 26218 warnOnFunctionType(); 26219 } 26220 } 26221 26222 if (typeof newChild === 'undefined' && !isUnkeyedTopLevelFragment) { 26223 // If the new child is undefined, and the return fiber is a composite 26224 // component, throw an error. If Fiber return types are disabled, 26225 // we already threw above. 26226 switch (returnFiber.tag) { 26227 case ClassComponent: 26228 { 26229 { 26230 var instance = returnFiber.stateNode; 26231 26232 if (instance.render._isMockFunction) { 26233 // We allow auto-mocks to proceed as if they're returning null. 26234 break; 26235 } 26236 } 26237 } 26238 // Intentionally fall through to the next case, which handles both 26239 // functions and classes 26240 // eslint-disable-next-lined no-fallthrough 26241 26242 case FunctionComponent: 26243 { 26244 var Component = returnFiber.type; 26245 26246 { 26247 { 26248 throw Error( (Component.displayName || Component.name || 'Component') + "(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null." ); 26249 } 26250 } 26251 } 26252 } 26253 } // Remaining cases are all treated as empty. 26254 26255 26256 return deleteRemainingChildren(returnFiber, currentFirstChild); 26257 } 26258 26259 return reconcileChildFibers; 26260} 26261 26262var reconcileChildFibers = ChildReconciler(true); 26263var mountChildFibers = ChildReconciler(false); 26264function cloneChildFibers(current, workInProgress) { 26265 if (!(current === null || workInProgress.child === current.child)) { 26266 { 26267 throw Error( "Resuming work not yet implemented." ); 26268 } 26269 } 26270 26271 if (workInProgress.child === null) { 26272 return; 26273 } 26274 26275 var currentChild = workInProgress.child; 26276 var newChild = createWorkInProgress(currentChild, currentChild.pendingProps); 26277 workInProgress.child = newChild; 26278 newChild.return = workInProgress; 26279 26280 while (currentChild.sibling !== null) { 26281 currentChild = currentChild.sibling; 26282 newChild = newChild.sibling = createWorkInProgress(currentChild, currentChild.pendingProps); 26283 newChild.return = workInProgress; 26284 } 26285 26286 newChild.sibling = null; 26287} // Reset a workInProgress child set to prepare it for a second pass. 26288 26289function resetChildFibers(workInProgress, renderExpirationTime) { 26290 var child = workInProgress.child; 26291 26292 while (child !== null) { 26293 resetWorkInProgress(child, renderExpirationTime); 26294 child = child.sibling; 26295 } 26296} 26297 26298var NO_CONTEXT = {}; 26299var contextStackCursor$1 = createCursor(NO_CONTEXT); 26300var contextFiberStackCursor = createCursor(NO_CONTEXT); 26301var rootInstanceStackCursor = createCursor(NO_CONTEXT); 26302 26303function requiredContext(c) { 26304 if (!(c !== NO_CONTEXT)) { 26305 { 26306 throw Error( "Expected host context to exist. This error is likely caused by a bug in React. Please file an issue." ); 26307 } 26308 } 26309 26310 return c; 26311} 26312 26313function getRootHostContainer() { 26314 var rootInstance = requiredContext(rootInstanceStackCursor.current); 26315 return rootInstance; 26316} 26317 26318function pushHostContainer(fiber, nextRootInstance) { 26319 // Push current root instance onto the stack; 26320 // This allows us to reset root when portals are popped. 26321 push(rootInstanceStackCursor, nextRootInstance, fiber); // Track the context and the Fiber that provided it. 26322 // This enables us to pop only Fibers that provide unique contexts. 26323 26324 push(contextFiberStackCursor, fiber, fiber); // Finally, we need to push the host context to the stack. 26325 // However, we can't just call getRootHostContext() and push it because 26326 // we'd have a different number of entries on the stack depending on 26327 // whether getRootHostContext() throws somewhere in renderer code or not. 26328 // So we push an empty value first. This lets us safely unwind on errors. 26329 26330 push(contextStackCursor$1, NO_CONTEXT, fiber); 26331 var nextRootContext = getRootHostContext(nextRootInstance); // Now that we know this function doesn't throw, replace it. 26332 26333 pop(contextStackCursor$1, fiber); 26334 push(contextStackCursor$1, nextRootContext, fiber); 26335} 26336 26337function popHostContainer(fiber) { 26338 pop(contextStackCursor$1, fiber); 26339 pop(contextFiberStackCursor, fiber); 26340 pop(rootInstanceStackCursor, fiber); 26341} 26342 26343function getHostContext() { 26344 var context = requiredContext(contextStackCursor$1.current); 26345 return context; 26346} 26347 26348function pushHostContext(fiber) { 26349 var rootInstance = requiredContext(rootInstanceStackCursor.current); 26350 var context = requiredContext(contextStackCursor$1.current); 26351 var nextContext = getChildHostContext(context, fiber.type); // Don't push this Fiber's context unless it's unique. 26352 26353 if (context === nextContext) { 26354 return; 26355 } // Track the context and the Fiber that provided it. 26356 // This enables us to pop only Fibers that provide unique contexts. 26357 26358 26359 push(contextFiberStackCursor, fiber, fiber); 26360 push(contextStackCursor$1, nextContext, fiber); 26361} 26362 26363function popHostContext(fiber) { 26364 // Do not pop unless this Fiber provided the current context. 26365 // pushHostContext() only pushes Fibers that provide unique contexts. 26366 if (contextFiberStackCursor.current !== fiber) { 26367 return; 26368 } 26369 26370 pop(contextStackCursor$1, fiber); 26371 pop(contextFiberStackCursor, fiber); 26372} 26373 26374var DefaultSuspenseContext = 0; // The Suspense Context is split into two parts. The lower bits is 26375// inherited deeply down the subtree. The upper bits only affect 26376// this immediate suspense boundary and gets reset each new 26377// boundary or suspense list. 26378 26379var SubtreeSuspenseContextMask = 1; // Subtree Flags: 26380// InvisibleParentSuspenseContext indicates that one of our parent Suspense 26381// boundaries is not currently showing visible main content. 26382// Either because it is already showing a fallback or is not mounted at all. 26383// We can use this to determine if it is desirable to trigger a fallback at 26384// the parent. If not, then we might need to trigger undesirable boundaries 26385// and/or suspend the commit to avoid hiding the parent content. 26386 26387var InvisibleParentSuspenseContext = 1; // Shallow Flags: 26388// ForceSuspenseFallback can be used by SuspenseList to force newly added 26389// items into their fallback state during one of the render passes. 26390 26391var ForceSuspenseFallback = 2; 26392var suspenseStackCursor = createCursor(DefaultSuspenseContext); 26393function hasSuspenseContext(parentContext, flag) { 26394 return (parentContext & flag) !== 0; 26395} 26396function setDefaultShallowSuspenseContext(parentContext) { 26397 return parentContext & SubtreeSuspenseContextMask; 26398} 26399function setShallowSuspenseContext(parentContext, shallowContext) { 26400 return parentContext & SubtreeSuspenseContextMask | shallowContext; 26401} 26402function addSubtreeSuspenseContext(parentContext, subtreeContext) { 26403 return parentContext | subtreeContext; 26404} 26405function pushSuspenseContext(fiber, newContext) { 26406 push(suspenseStackCursor, newContext, fiber); 26407} 26408function popSuspenseContext(fiber) { 26409 pop(suspenseStackCursor, fiber); 26410} 26411 26412function shouldCaptureSuspense(workInProgress, hasInvisibleParent) { 26413 // If it was the primary children that just suspended, capture and render the 26414 // fallback. Otherwise, don't capture and bubble to the next boundary. 26415 var nextState = workInProgress.memoizedState; 26416 26417 if (nextState !== null) { 26418 if (nextState.dehydrated !== null) { 26419 // A dehydrated boundary always captures. 26420 return true; 26421 } 26422 26423 return false; 26424 } 26425 26426 var props = workInProgress.memoizedProps; // In order to capture, the Suspense component must have a fallback prop. 26427 26428 if (props.fallback === undefined) { 26429 return false; 26430 } // Regular boundaries always capture. 26431 26432 26433 if (props.unstable_avoidThisFallback !== true) { 26434 return true; 26435 } // If it's a boundary we should avoid, then we prefer to bubble up to the 26436 // parent boundary if it is currently invisible. 26437 26438 26439 if (hasInvisibleParent) { 26440 return false; 26441 } // If the parent is not able to handle it, we must handle it. 26442 26443 26444 return true; 26445} 26446function findFirstSuspended(row) { 26447 var node = row; 26448 26449 while (node !== null) { 26450 if (node.tag === SuspenseComponent) { 26451 var state = node.memoizedState; 26452 26453 if (state !== null) { 26454 var dehydrated = state.dehydrated; 26455 26456 if (dehydrated === null || isSuspenseInstancePending(dehydrated) || isSuspenseInstanceFallback(dehydrated)) { 26457 return node; 26458 } 26459 } 26460 } else if (node.tag === SuspenseListComponent && // revealOrder undefined can't be trusted because it don't 26461 // keep track of whether it suspended or not. 26462 node.memoizedProps.revealOrder !== undefined) { 26463 var didSuspend = (node.effectTag & DidCapture) !== NoEffect; 26464 26465 if (didSuspend) { 26466 return node; 26467 } 26468 } else if (node.child !== null) { 26469 node.child.return = node; 26470 node = node.child; 26471 continue; 26472 } 26473 26474 if (node === row) { 26475 return null; 26476 } 26477 26478 while (node.sibling === null) { 26479 if (node.return === null || node.return === row) { 26480 return null; 26481 } 26482 26483 node = node.return; 26484 } 26485 26486 node.sibling.return = node.return; 26487 node = node.sibling; 26488 } 26489 26490 return null; 26491} 26492 26493function createDeprecatedResponderListener(responder, props) { 26494 var eventResponderListener = { 26495 responder: responder, 26496 props: props 26497 }; 26498 26499 { 26500 Object.freeze(eventResponderListener); 26501 } 26502 26503 return eventResponderListener; 26504} 26505 26506var HasEffect = 26507/* */ 265081; // Represents the phase in which the effect (not the clean-up) fires. 26509 26510var Layout = 26511/* */ 265122; 26513var Passive$1 = 26514/* */ 265154; 26516 26517var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher, 26518 ReactCurrentBatchConfig$1 = ReactSharedInternals.ReactCurrentBatchConfig; 26519var didWarnAboutMismatchedHooksForComponent; 26520 26521{ 26522 didWarnAboutMismatchedHooksForComponent = new Set(); 26523} 26524 26525// These are set right before calling the component. 26526var renderExpirationTime = NoWork; // The work-in-progress fiber. I've named it differently to distinguish it from 26527// the work-in-progress hook. 26528 26529var currentlyRenderingFiber$1 = null; // Hooks are stored as a linked list on the fiber's memoizedState field. The 26530// current hook list is the list that belongs to the current fiber. The 26531// work-in-progress hook list is a new list that will be added to the 26532// work-in-progress fiber. 26533 26534var currentHook = null; 26535var workInProgressHook = null; // Whether an update was scheduled at any point during the render phase. This 26536// does not get reset if we do another render pass; only when we're completely 26537// finished evaluating this component. This is an optimization so we know 26538// whether we need to clear render phase updates after a throw. 26539 26540var didScheduleRenderPhaseUpdate = false; 26541var RE_RENDER_LIMIT = 25; // In DEV, this is the name of the currently executing primitive hook 26542 26543var currentHookNameInDev = null; // In DEV, this list ensures that hooks are called in the same order between renders. 26544// The list stores the order of hooks used during the initial render (mount). 26545// Subsequent renders (updates) reference this list. 26546 26547var hookTypesDev = null; 26548var hookTypesUpdateIndexDev = -1; // In DEV, this tracks whether currently rendering component needs to ignore 26549// the dependencies for Hooks that need them (e.g. useEffect or useMemo). 26550// When true, such Hooks will always be "remounted". Only used during hot reload. 26551 26552var ignorePreviousDependencies = false; 26553 26554function mountHookTypesDev() { 26555 { 26556 var hookName = currentHookNameInDev; 26557 26558 if (hookTypesDev === null) { 26559 hookTypesDev = [hookName]; 26560 } else { 26561 hookTypesDev.push(hookName); 26562 } 26563 } 26564} 26565 26566function updateHookTypesDev() { 26567 { 26568 var hookName = currentHookNameInDev; 26569 26570 if (hookTypesDev !== null) { 26571 hookTypesUpdateIndexDev++; 26572 26573 if (hookTypesDev[hookTypesUpdateIndexDev] !== hookName) { 26574 warnOnHookMismatchInDev(hookName); 26575 } 26576 } 26577 } 26578} 26579 26580function checkDepsAreArrayDev(deps) { 26581 { 26582 if (deps !== undefined && deps !== null && !Array.isArray(deps)) { 26583 // Verify deps, but only on mount to avoid extra checks. 26584 // It's unlikely their type would change as usually you define them inline. 26585 error('%s received a final argument that is not an array (instead, received `%s`). When ' + 'specified, the final argument must be an array.', currentHookNameInDev, typeof deps); 26586 } 26587 } 26588} 26589 26590function warnOnHookMismatchInDev(currentHookName) { 26591 { 26592 var componentName = getComponentName(currentlyRenderingFiber$1.type); 26593 26594 if (!didWarnAboutMismatchedHooksForComponent.has(componentName)) { 26595 didWarnAboutMismatchedHooksForComponent.add(componentName); 26596 26597 if (hookTypesDev !== null) { 26598 var table = ''; 26599 var secondColumnStart = 30; 26600 26601 for (var i = 0; i <= hookTypesUpdateIndexDev; i++) { 26602 var oldHookName = hookTypesDev[i]; 26603 var newHookName = i === hookTypesUpdateIndexDev ? currentHookName : oldHookName; 26604 var row = i + 1 + ". " + oldHookName; // Extra space so second column lines up 26605 // lol @ IE not supporting String#repeat 26606 26607 while (row.length < secondColumnStart) { 26608 row += ' '; 26609 } 26610 26611 row += newHookName + '\n'; 26612 table += row; 26613 } 26614 26615 error('React has detected a change in the order of Hooks called by %s. ' + 'This will lead to bugs and errors if not fixed. ' + 'For more information, read the Rules of Hooks: https://fb.me/rules-of-hooks\n\n' + ' Previous render Next render\n' + ' ------------------------------------------------------\n' + '%s' + ' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', componentName, table); 26616 } 26617 } 26618 } 26619} 26620 26621function throwInvalidHookError() { 26622 { 26623 { 26624 throw Error( "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem." ); 26625 } 26626 } 26627} 26628 26629function areHookInputsEqual(nextDeps, prevDeps) { 26630 { 26631 if (ignorePreviousDependencies) { 26632 // Only true when this component is being hot reloaded. 26633 return false; 26634 } 26635 } 26636 26637 if (prevDeps === null) { 26638 { 26639 error('%s received a final argument during this render, but not during ' + 'the previous render. Even though the final argument is optional, ' + 'its type cannot change between renders.', currentHookNameInDev); 26640 } 26641 26642 return false; 26643 } 26644 26645 { 26646 // Don't bother comparing lengths in prod because these arrays should be 26647 // passed inline. 26648 if (nextDeps.length !== prevDeps.length) { 26649 error('The final argument passed to %s changed size between renders. The ' + 'order and size of this array must remain constant.\n\n' + 'Previous: %s\n' + 'Incoming: %s', currentHookNameInDev, "[" + prevDeps.join(', ') + "]", "[" + nextDeps.join(', ') + "]"); 26650 } 26651 } 26652 26653 for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) { 26654 if (objectIs(nextDeps[i], prevDeps[i])) { 26655 continue; 26656 } 26657 26658 return false; 26659 } 26660 26661 return true; 26662} 26663 26664function renderWithHooks(current, workInProgress, Component, props, secondArg, nextRenderExpirationTime) { 26665 renderExpirationTime = nextRenderExpirationTime; 26666 currentlyRenderingFiber$1 = workInProgress; 26667 26668 { 26669 hookTypesDev = current !== null ? current._debugHookTypes : null; 26670 hookTypesUpdateIndexDev = -1; // Used for hot reloading: 26671 26672 ignorePreviousDependencies = current !== null && current.type !== workInProgress.type; 26673 } 26674 26675 workInProgress.memoizedState = null; 26676 workInProgress.updateQueue = null; 26677 workInProgress.expirationTime = NoWork; // The following should have already been reset 26678 // currentHook = null; 26679 // workInProgressHook = null; 26680 // didScheduleRenderPhaseUpdate = false; 26681 // TODO Warn if no hooks are used at all during mount, then some are used during update. 26682 // Currently we will identify the update render as a mount because memoizedState === null. 26683 // This is tricky because it's valid for certain types of components (e.g. React.lazy) 26684 // Using memoizedState to differentiate between mount/update only works if at least one stateful hook is used. 26685 // Non-stateful hooks (e.g. context) don't get added to memoizedState, 26686 // so memoizedState would be null during updates and mounts. 26687 26688 { 26689 if (current !== null && current.memoizedState !== null) { 26690 ReactCurrentDispatcher.current = HooksDispatcherOnUpdateInDEV; 26691 } else if (hookTypesDev !== null) { 26692 // This dispatcher handles an edge case where a component is updating, 26693 // but no stateful hooks have been used. 26694 // We want to match the production code behavior (which will use HooksDispatcherOnMount), 26695 // but with the extra DEV validation to ensure hooks ordering hasn't changed. 26696 // This dispatcher does that. 26697 ReactCurrentDispatcher.current = HooksDispatcherOnMountWithHookTypesInDEV; 26698 } else { 26699 ReactCurrentDispatcher.current = HooksDispatcherOnMountInDEV; 26700 } 26701 } 26702 26703 var children = Component(props, secondArg); // Check if there was a render phase update 26704 26705 if (workInProgress.expirationTime === renderExpirationTime) { 26706 // Keep rendering in a loop for as long as render phase updates continue to 26707 // be scheduled. Use a counter to prevent infinite loops. 26708 var numberOfReRenders = 0; 26709 26710 do { 26711 workInProgress.expirationTime = NoWork; 26712 26713 if (!(numberOfReRenders < RE_RENDER_LIMIT)) { 26714 { 26715 throw Error( "Too many re-renders. React limits the number of renders to prevent an infinite loop." ); 26716 } 26717 } 26718 26719 numberOfReRenders += 1; 26720 26721 { 26722 // Even when hot reloading, allow dependencies to stabilize 26723 // after first render to prevent infinite render phase updates. 26724 ignorePreviousDependencies = false; 26725 } // Start over from the beginning of the list 26726 26727 26728 currentHook = null; 26729 workInProgressHook = null; 26730 workInProgress.updateQueue = null; 26731 26732 { 26733 // Also validate hook order for cascading updates. 26734 hookTypesUpdateIndexDev = -1; 26735 } 26736 26737 ReactCurrentDispatcher.current = HooksDispatcherOnRerenderInDEV ; 26738 children = Component(props, secondArg); 26739 } while (workInProgress.expirationTime === renderExpirationTime); 26740 } // We can assume the previous dispatcher is always this one, since we set it 26741 // at the beginning of the render phase and there's no re-entrancy. 26742 26743 26744 ReactCurrentDispatcher.current = ContextOnlyDispatcher; 26745 26746 { 26747 workInProgress._debugHookTypes = hookTypesDev; 26748 } // This check uses currentHook so that it works the same in DEV and prod bundles. 26749 // hookTypesDev could catch more cases (e.g. context) but only in DEV bundles. 26750 26751 26752 var didRenderTooFewHooks = currentHook !== null && currentHook.next !== null; 26753 renderExpirationTime = NoWork; 26754 currentlyRenderingFiber$1 = null; 26755 currentHook = null; 26756 workInProgressHook = null; 26757 26758 { 26759 currentHookNameInDev = null; 26760 hookTypesDev = null; 26761 hookTypesUpdateIndexDev = -1; 26762 } 26763 26764 didScheduleRenderPhaseUpdate = false; 26765 26766 if (!!didRenderTooFewHooks) { 26767 { 26768 throw Error( "Rendered fewer hooks than expected. This may be caused by an accidental early return statement." ); 26769 } 26770 } 26771 26772 return children; 26773} 26774function bailoutHooks(current, workInProgress, expirationTime) { 26775 workInProgress.updateQueue = current.updateQueue; 26776 workInProgress.effectTag &= ~(Passive | Update); 26777 26778 if (current.expirationTime <= expirationTime) { 26779 current.expirationTime = NoWork; 26780 } 26781} 26782function resetHooksAfterThrow() { 26783 // We can assume the previous dispatcher is always this one, since we set it 26784 // at the beginning of the render phase and there's no re-entrancy. 26785 ReactCurrentDispatcher.current = ContextOnlyDispatcher; 26786 26787 if (didScheduleRenderPhaseUpdate) { 26788 // There were render phase updates. These are only valid for this render 26789 // phase, which we are now aborting. Remove the updates from the queues so 26790 // they do not persist to the next render. Do not remove updates from hooks 26791 // that weren't processed. 26792 // 26793 // Only reset the updates from the queue if it has a clone. If it does 26794 // not have a clone, that means it wasn't processed, and the updates were 26795 // scheduled before we entered the render phase. 26796 var hook = currentlyRenderingFiber$1.memoizedState; 26797 26798 while (hook !== null) { 26799 var queue = hook.queue; 26800 26801 if (queue !== null) { 26802 queue.pending = null; 26803 } 26804 26805 hook = hook.next; 26806 } 26807 } 26808 26809 renderExpirationTime = NoWork; 26810 currentlyRenderingFiber$1 = null; 26811 currentHook = null; 26812 workInProgressHook = null; 26813 26814 { 26815 hookTypesDev = null; 26816 hookTypesUpdateIndexDev = -1; 26817 currentHookNameInDev = null; 26818 } 26819 26820 didScheduleRenderPhaseUpdate = false; 26821} 26822 26823function mountWorkInProgressHook() { 26824 var hook = { 26825 memoizedState: null, 26826 baseState: null, 26827 baseQueue: null, 26828 queue: null, 26829 next: null 26830 }; 26831 26832 if (workInProgressHook === null) { 26833 // This is the first hook in the list 26834 currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook; 26835 } else { 26836 // Append to the end of the list 26837 workInProgressHook = workInProgressHook.next = hook; 26838 } 26839 26840 return workInProgressHook; 26841} 26842 26843function updateWorkInProgressHook() { 26844 // This function is used both for updates and for re-renders triggered by a 26845 // render phase update. It assumes there is either a current hook we can 26846 // clone, or a work-in-progress hook from a previous render pass that we can 26847 // use as a base. When we reach the end of the base list, we must switch to 26848 // the dispatcher used for mounts. 26849 var nextCurrentHook; 26850 26851 if (currentHook === null) { 26852 var current = currentlyRenderingFiber$1.alternate; 26853 26854 if (current !== null) { 26855 nextCurrentHook = current.memoizedState; 26856 } else { 26857 nextCurrentHook = null; 26858 } 26859 } else { 26860 nextCurrentHook = currentHook.next; 26861 } 26862 26863 var nextWorkInProgressHook; 26864 26865 if (workInProgressHook === null) { 26866 nextWorkInProgressHook = currentlyRenderingFiber$1.memoizedState; 26867 } else { 26868 nextWorkInProgressHook = workInProgressHook.next; 26869 } 26870 26871 if (nextWorkInProgressHook !== null) { 26872 // There's already a work-in-progress. Reuse it. 26873 workInProgressHook = nextWorkInProgressHook; 26874 nextWorkInProgressHook = workInProgressHook.next; 26875 currentHook = nextCurrentHook; 26876 } else { 26877 // Clone from the current hook. 26878 if (!(nextCurrentHook !== null)) { 26879 { 26880 throw Error( "Rendered more hooks than during the previous render." ); 26881 } 26882 } 26883 26884 currentHook = nextCurrentHook; 26885 var newHook = { 26886 memoizedState: currentHook.memoizedState, 26887 baseState: currentHook.baseState, 26888 baseQueue: currentHook.baseQueue, 26889 queue: currentHook.queue, 26890 next: null 26891 }; 26892 26893 if (workInProgressHook === null) { 26894 // This is the first hook in the list. 26895 currentlyRenderingFiber$1.memoizedState = workInProgressHook = newHook; 26896 } else { 26897 // Append to the end of the list. 26898 workInProgressHook = workInProgressHook.next = newHook; 26899 } 26900 } 26901 26902 return workInProgressHook; 26903} 26904 26905function createFunctionComponentUpdateQueue() { 26906 return { 26907 lastEffect: null 26908 }; 26909} 26910 26911function basicStateReducer(state, action) { 26912 // $FlowFixMe: Flow doesn't like mixed types 26913 return typeof action === 'function' ? action(state) : action; 26914} 26915 26916function mountReducer(reducer, initialArg, init) { 26917 var hook = mountWorkInProgressHook(); 26918 var initialState; 26919 26920 if (init !== undefined) { 26921 initialState = init(initialArg); 26922 } else { 26923 initialState = initialArg; 26924 } 26925 26926 hook.memoizedState = hook.baseState = initialState; 26927 var queue = hook.queue = { 26928 pending: null, 26929 dispatch: null, 26930 lastRenderedReducer: reducer, 26931 lastRenderedState: initialState 26932 }; 26933 var dispatch = queue.dispatch = dispatchAction.bind(null, currentlyRenderingFiber$1, queue); 26934 return [hook.memoizedState, dispatch]; 26935} 26936 26937function updateReducer(reducer, initialArg, init) { 26938 var hook = updateWorkInProgressHook(); 26939 var queue = hook.queue; 26940 26941 if (!(queue !== null)) { 26942 { 26943 throw Error( "Should have a queue. This is likely a bug in React. Please file an issue." ); 26944 } 26945 } 26946 26947 queue.lastRenderedReducer = reducer; 26948 var current = currentHook; // The last rebase update that is NOT part of the base state. 26949 26950 var baseQueue = current.baseQueue; // The last pending update that hasn't been processed yet. 26951 26952 var pendingQueue = queue.pending; 26953 26954 if (pendingQueue !== null) { 26955 // We have new updates that haven't been processed yet. 26956 // We'll add them to the base queue. 26957 if (baseQueue !== null) { 26958 // Merge the pending queue and the base queue. 26959 var baseFirst = baseQueue.next; 26960 var pendingFirst = pendingQueue.next; 26961 baseQueue.next = pendingFirst; 26962 pendingQueue.next = baseFirst; 26963 } 26964 26965 current.baseQueue = baseQueue = pendingQueue; 26966 queue.pending = null; 26967 } 26968 26969 if (baseQueue !== null) { 26970 // We have a queue to process. 26971 var first = baseQueue.next; 26972 var newState = current.baseState; 26973 var newBaseState = null; 26974 var newBaseQueueFirst = null; 26975 var newBaseQueueLast = null; 26976 var update = first; 26977 26978 do { 26979 var updateExpirationTime = update.expirationTime; 26980 26981 if (updateExpirationTime < renderExpirationTime) { 26982 // Priority is insufficient. Skip this update. If this is the first 26983 // skipped update, the previous update/state is the new base 26984 // update/state. 26985 var clone = { 26986 expirationTime: update.expirationTime, 26987 suspenseConfig: update.suspenseConfig, 26988 action: update.action, 26989 eagerReducer: update.eagerReducer, 26990 eagerState: update.eagerState, 26991 next: null 26992 }; 26993 26994 if (newBaseQueueLast === null) { 26995 newBaseQueueFirst = newBaseQueueLast = clone; 26996 newBaseState = newState; 26997 } else { 26998 newBaseQueueLast = newBaseQueueLast.next = clone; 26999 } // Update the remaining priority in the queue. 27000 27001 27002 if (updateExpirationTime > currentlyRenderingFiber$1.expirationTime) { 27003 currentlyRenderingFiber$1.expirationTime = updateExpirationTime; 27004 markUnprocessedUpdateTime(updateExpirationTime); 27005 } 27006 } else { 27007 // This update does have sufficient priority. 27008 if (newBaseQueueLast !== null) { 27009 var _clone = { 27010 expirationTime: Sync, 27011 // This update is going to be committed so we never want uncommit it. 27012 suspenseConfig: update.suspenseConfig, 27013 action: update.action, 27014 eagerReducer: update.eagerReducer, 27015 eagerState: update.eagerState, 27016 next: null 27017 }; 27018 newBaseQueueLast = newBaseQueueLast.next = _clone; 27019 } // Mark the event time of this update as relevant to this render pass. 27020 // TODO: This should ideally use the true event time of this update rather than 27021 // its priority which is a derived and not reverseable value. 27022 // TODO: We should skip this update if it was already committed but currently 27023 // we have no way of detecting the difference between a committed and suspended 27024 // update here. 27025 27026 27027 markRenderEventTimeAndConfig(updateExpirationTime, update.suspenseConfig); // Process this update. 27028 27029 if (update.eagerReducer === reducer) { 27030 // If this update was processed eagerly, and its reducer matches the 27031 // current reducer, we can use the eagerly computed state. 27032 newState = update.eagerState; 27033 } else { 27034 var action = update.action; 27035 newState = reducer(newState, action); 27036 } 27037 } 27038 27039 update = update.next; 27040 } while (update !== null && update !== first); 27041 27042 if (newBaseQueueLast === null) { 27043 newBaseState = newState; 27044 } else { 27045 newBaseQueueLast.next = newBaseQueueFirst; 27046 } // Mark that the fiber performed work, but only if the new state is 27047 // different from the current state. 27048 27049 27050 if (!objectIs(newState, hook.memoizedState)) { 27051 markWorkInProgressReceivedUpdate(); 27052 } 27053 27054 hook.memoizedState = newState; 27055 hook.baseState = newBaseState; 27056 hook.baseQueue = newBaseQueueLast; 27057 queue.lastRenderedState = newState; 27058 } 27059 27060 var dispatch = queue.dispatch; 27061 return [hook.memoizedState, dispatch]; 27062} 27063 27064function rerenderReducer(reducer, initialArg, init) { 27065 var hook = updateWorkInProgressHook(); 27066 var queue = hook.queue; 27067 27068 if (!(queue !== null)) { 27069 { 27070 throw Error( "Should have a queue. This is likely a bug in React. Please file an issue." ); 27071 } 27072 } 27073 27074 queue.lastRenderedReducer = reducer; // This is a re-render. Apply the new render phase updates to the previous 27075 // work-in-progress hook. 27076 27077 var dispatch = queue.dispatch; 27078 var lastRenderPhaseUpdate = queue.pending; 27079 var newState = hook.memoizedState; 27080 27081 if (lastRenderPhaseUpdate !== null) { 27082 // The queue doesn't persist past this render pass. 27083 queue.pending = null; 27084 var firstRenderPhaseUpdate = lastRenderPhaseUpdate.next; 27085 var update = firstRenderPhaseUpdate; 27086 27087 do { 27088 // Process this render phase update. We don't have to check the 27089 // priority because it will always be the same as the current 27090 // render's. 27091 var action = update.action; 27092 newState = reducer(newState, action); 27093 update = update.next; 27094 } while (update !== firstRenderPhaseUpdate); // Mark that the fiber performed work, but only if the new state is 27095 // different from the current state. 27096 27097 27098 if (!objectIs(newState, hook.memoizedState)) { 27099 markWorkInProgressReceivedUpdate(); 27100 } 27101 27102 hook.memoizedState = newState; // Don't persist the state accumulated from the render phase updates to 27103 // the base state unless the queue is empty. 27104 // TODO: Not sure if this is the desired semantics, but it's what we 27105 // do for gDSFP. I can't remember why. 27106 27107 if (hook.baseQueue === null) { 27108 hook.baseState = newState; 27109 } 27110 27111 queue.lastRenderedState = newState; 27112 } 27113 27114 return [newState, dispatch]; 27115} 27116 27117function mountState(initialState) { 27118 var hook = mountWorkInProgressHook(); 27119 27120 if (typeof initialState === 'function') { 27121 // $FlowFixMe: Flow doesn't like mixed types 27122 initialState = initialState(); 27123 } 27124 27125 hook.memoizedState = hook.baseState = initialState; 27126 var queue = hook.queue = { 27127 pending: null, 27128 dispatch: null, 27129 lastRenderedReducer: basicStateReducer, 27130 lastRenderedState: initialState 27131 }; 27132 var dispatch = queue.dispatch = dispatchAction.bind(null, currentlyRenderingFiber$1, queue); 27133 return [hook.memoizedState, dispatch]; 27134} 27135 27136function updateState(initialState) { 27137 return updateReducer(basicStateReducer); 27138} 27139 27140function rerenderState(initialState) { 27141 return rerenderReducer(basicStateReducer); 27142} 27143 27144function pushEffect(tag, create, destroy, deps) { 27145 var effect = { 27146 tag: tag, 27147 create: create, 27148 destroy: destroy, 27149 deps: deps, 27150 // Circular 27151 next: null 27152 }; 27153 var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue; 27154 27155 if (componentUpdateQueue === null) { 27156 componentUpdateQueue = createFunctionComponentUpdateQueue(); 27157 currentlyRenderingFiber$1.updateQueue = componentUpdateQueue; 27158 componentUpdateQueue.lastEffect = effect.next = effect; 27159 } else { 27160 var lastEffect = componentUpdateQueue.lastEffect; 27161 27162 if (lastEffect === null) { 27163 componentUpdateQueue.lastEffect = effect.next = effect; 27164 } else { 27165 var firstEffect = lastEffect.next; 27166 lastEffect.next = effect; 27167 effect.next = firstEffect; 27168 componentUpdateQueue.lastEffect = effect; 27169 } 27170 } 27171 27172 return effect; 27173} 27174 27175function mountRef(initialValue) { 27176 var hook = mountWorkInProgressHook(); 27177 var ref = { 27178 current: initialValue 27179 }; 27180 27181 { 27182 Object.seal(ref); 27183 } 27184 27185 hook.memoizedState = ref; 27186 return ref; 27187} 27188 27189function updateRef(initialValue) { 27190 var hook = updateWorkInProgressHook(); 27191 return hook.memoizedState; 27192} 27193 27194function mountEffectImpl(fiberEffectTag, hookEffectTag, create, deps) { 27195 var hook = mountWorkInProgressHook(); 27196 var nextDeps = deps === undefined ? null : deps; 27197 currentlyRenderingFiber$1.effectTag |= fiberEffectTag; 27198 hook.memoizedState = pushEffect(HasEffect | hookEffectTag, create, undefined, nextDeps); 27199} 27200 27201function updateEffectImpl(fiberEffectTag, hookEffectTag, create, deps) { 27202 var hook = updateWorkInProgressHook(); 27203 var nextDeps = deps === undefined ? null : deps; 27204 var destroy = undefined; 27205 27206 if (currentHook !== null) { 27207 var prevEffect = currentHook.memoizedState; 27208 destroy = prevEffect.destroy; 27209 27210 if (nextDeps !== null) { 27211 var prevDeps = prevEffect.deps; 27212 27213 if (areHookInputsEqual(nextDeps, prevDeps)) { 27214 pushEffect(hookEffectTag, create, destroy, nextDeps); 27215 return; 27216 } 27217 } 27218 } 27219 27220 currentlyRenderingFiber$1.effectTag |= fiberEffectTag; 27221 hook.memoizedState = pushEffect(HasEffect | hookEffectTag, create, destroy, nextDeps); 27222} 27223 27224function mountEffect(create, deps) { 27225 { 27226 // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests 27227 if ('undefined' !== typeof jest) { 27228 warnIfNotCurrentlyActingEffectsInDEV(currentlyRenderingFiber$1); 27229 } 27230 } 27231 27232 return mountEffectImpl(Update | Passive, Passive$1, create, deps); 27233} 27234 27235function updateEffect(create, deps) { 27236 { 27237 // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests 27238 if ('undefined' !== typeof jest) { 27239 warnIfNotCurrentlyActingEffectsInDEV(currentlyRenderingFiber$1); 27240 } 27241 } 27242 27243 return updateEffectImpl(Update | Passive, Passive$1, create, deps); 27244} 27245 27246function mountLayoutEffect(create, deps) { 27247 return mountEffectImpl(Update, Layout, create, deps); 27248} 27249 27250function updateLayoutEffect(create, deps) { 27251 return updateEffectImpl(Update, Layout, create, deps); 27252} 27253 27254function imperativeHandleEffect(create, ref) { 27255 if (typeof ref === 'function') { 27256 var refCallback = ref; 27257 27258 var _inst = create(); 27259 27260 refCallback(_inst); 27261 return function () { 27262 refCallback(null); 27263 }; 27264 } else if (ref !== null && ref !== undefined) { 27265 var refObject = ref; 27266 27267 { 27268 if (!refObject.hasOwnProperty('current')) { 27269 error('Expected useImperativeHandle() first argument to either be a ' + 'ref callback or React.createRef() object. Instead received: %s.', 'an object with keys {' + Object.keys(refObject).join(', ') + '}'); 27270 } 27271 } 27272 27273 var _inst2 = create(); 27274 27275 refObject.current = _inst2; 27276 return function () { 27277 refObject.current = null; 27278 }; 27279 } 27280} 27281 27282function mountImperativeHandle(ref, create, deps) { 27283 { 27284 if (typeof create !== 'function') { 27285 error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null'); 27286 } 27287 } // TODO: If deps are provided, should we skip comparing the ref itself? 27288 27289 27290 var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null; 27291 return mountEffectImpl(Update, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps); 27292} 27293 27294function updateImperativeHandle(ref, create, deps) { 27295 { 27296 if (typeof create !== 'function') { 27297 error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null'); 27298 } 27299 } // TODO: If deps are provided, should we skip comparing the ref itself? 27300 27301 27302 var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null; 27303 return updateEffectImpl(Update, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps); 27304} 27305 27306function mountDebugValue(value, formatterFn) {// This hook is normally a no-op. 27307 // The react-debug-hooks package injects its own implementation 27308 // so that e.g. DevTools can display custom hook values. 27309} 27310 27311var updateDebugValue = mountDebugValue; 27312 27313function mountCallback(callback, deps) { 27314 var hook = mountWorkInProgressHook(); 27315 var nextDeps = deps === undefined ? null : deps; 27316 hook.memoizedState = [callback, nextDeps]; 27317 return callback; 27318} 27319 27320function updateCallback(callback, deps) { 27321 var hook = updateWorkInProgressHook(); 27322 var nextDeps = deps === undefined ? null : deps; 27323 var prevState = hook.memoizedState; 27324 27325 if (prevState !== null) { 27326 if (nextDeps !== null) { 27327 var prevDeps = prevState[1]; 27328 27329 if (areHookInputsEqual(nextDeps, prevDeps)) { 27330 return prevState[0]; 27331 } 27332 } 27333 } 27334 27335 hook.memoizedState = [callback, nextDeps]; 27336 return callback; 27337} 27338 27339function mountMemo(nextCreate, deps) { 27340 var hook = mountWorkInProgressHook(); 27341 var nextDeps = deps === undefined ? null : deps; 27342 var nextValue = nextCreate(); 27343 hook.memoizedState = [nextValue, nextDeps]; 27344 return nextValue; 27345} 27346 27347function updateMemo(nextCreate, deps) { 27348 var hook = updateWorkInProgressHook(); 27349 var nextDeps = deps === undefined ? null : deps; 27350 var prevState = hook.memoizedState; 27351 27352 if (prevState !== null) { 27353 // Assume these are defined. If they're not, areHookInputsEqual will warn. 27354 if (nextDeps !== null) { 27355 var prevDeps = prevState[1]; 27356 27357 if (areHookInputsEqual(nextDeps, prevDeps)) { 27358 return prevState[0]; 27359 } 27360 } 27361 } 27362 27363 var nextValue = nextCreate(); 27364 hook.memoizedState = [nextValue, nextDeps]; 27365 return nextValue; 27366} 27367 27368function mountDeferredValue(value, config) { 27369 var _mountState = mountState(value), 27370 prevValue = _mountState[0], 27371 setValue = _mountState[1]; 27372 27373 mountEffect(function () { 27374 var previousConfig = ReactCurrentBatchConfig$1.suspense; 27375 ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config; 27376 27377 try { 27378 setValue(value); 27379 } finally { 27380 ReactCurrentBatchConfig$1.suspense = previousConfig; 27381 } 27382 }, [value, config]); 27383 return prevValue; 27384} 27385 27386function updateDeferredValue(value, config) { 27387 var _updateState = updateState(), 27388 prevValue = _updateState[0], 27389 setValue = _updateState[1]; 27390 27391 updateEffect(function () { 27392 var previousConfig = ReactCurrentBatchConfig$1.suspense; 27393 ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config; 27394 27395 try { 27396 setValue(value); 27397 } finally { 27398 ReactCurrentBatchConfig$1.suspense = previousConfig; 27399 } 27400 }, [value, config]); 27401 return prevValue; 27402} 27403 27404function rerenderDeferredValue(value, config) { 27405 var _rerenderState = rerenderState(), 27406 prevValue = _rerenderState[0], 27407 setValue = _rerenderState[1]; 27408 27409 updateEffect(function () { 27410 var previousConfig = ReactCurrentBatchConfig$1.suspense; 27411 ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config; 27412 27413 try { 27414 setValue(value); 27415 } finally { 27416 ReactCurrentBatchConfig$1.suspense = previousConfig; 27417 } 27418 }, [value, config]); 27419 return prevValue; 27420} 27421 27422function startTransition(setPending, config, callback) { 27423 var priorityLevel = getCurrentPriorityLevel(); 27424 runWithPriority$1(priorityLevel < UserBlockingPriority$1 ? UserBlockingPriority$1 : priorityLevel, function () { 27425 setPending(true); 27426 }); 27427 runWithPriority$1(priorityLevel > NormalPriority ? NormalPriority : priorityLevel, function () { 27428 var previousConfig = ReactCurrentBatchConfig$1.suspense; 27429 ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config; 27430 27431 try { 27432 setPending(false); 27433 callback(); 27434 } finally { 27435 ReactCurrentBatchConfig$1.suspense = previousConfig; 27436 } 27437 }); 27438} 27439 27440function mountTransition(config) { 27441 var _mountState2 = mountState(false), 27442 isPending = _mountState2[0], 27443 setPending = _mountState2[1]; 27444 27445 var start = mountCallback(startTransition.bind(null, setPending, config), [setPending, config]); 27446 return [start, isPending]; 27447} 27448 27449function updateTransition(config) { 27450 var _updateState2 = updateState(), 27451 isPending = _updateState2[0], 27452 setPending = _updateState2[1]; 27453 27454 var start = updateCallback(startTransition.bind(null, setPending, config), [setPending, config]); 27455 return [start, isPending]; 27456} 27457 27458function rerenderTransition(config) { 27459 var _rerenderState2 = rerenderState(), 27460 isPending = _rerenderState2[0], 27461 setPending = _rerenderState2[1]; 27462 27463 var start = updateCallback(startTransition.bind(null, setPending, config), [setPending, config]); 27464 return [start, isPending]; 27465} 27466 27467function dispatchAction(fiber, queue, action) { 27468 { 27469 if (typeof arguments[3] === 'function') { 27470 error("State updates from the useState() and useReducer() Hooks don't support the " + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().'); 27471 } 27472 } 27473 27474 var currentTime = requestCurrentTimeForUpdate(); 27475 var suspenseConfig = requestCurrentSuspenseConfig(); 27476 var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig); 27477 var update = { 27478 expirationTime: expirationTime, 27479 suspenseConfig: suspenseConfig, 27480 action: action, 27481 eagerReducer: null, 27482 eagerState: null, 27483 next: null 27484 }; 27485 27486 { 27487 update.priority = getCurrentPriorityLevel(); 27488 } // Append the update to the end of the list. 27489 27490 27491 var pending = queue.pending; 27492 27493 if (pending === null) { 27494 // This is the first update. Create a circular list. 27495 update.next = update; 27496 } else { 27497 update.next = pending.next; 27498 pending.next = update; 27499 } 27500 27501 queue.pending = update; 27502 var alternate = fiber.alternate; 27503 27504 if (fiber === currentlyRenderingFiber$1 || alternate !== null && alternate === currentlyRenderingFiber$1) { 27505 // This is a render phase update. Stash it in a lazily-created map of 27506 // queue -> linked list of updates. After this render pass, we'll restart 27507 // and apply the stashed updates on top of the work-in-progress hook. 27508 didScheduleRenderPhaseUpdate = true; 27509 update.expirationTime = renderExpirationTime; 27510 currentlyRenderingFiber$1.expirationTime = renderExpirationTime; 27511 } else { 27512 if (fiber.expirationTime === NoWork && (alternate === null || alternate.expirationTime === NoWork)) { 27513 // The queue is currently empty, which means we can eagerly compute the 27514 // next state before entering the render phase. If the new state is the 27515 // same as the current state, we may be able to bail out entirely. 27516 var lastRenderedReducer = queue.lastRenderedReducer; 27517 27518 if (lastRenderedReducer !== null) { 27519 var prevDispatcher; 27520 27521 { 27522 prevDispatcher = ReactCurrentDispatcher.current; 27523 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 27524 } 27525 27526 try { 27527 var currentState = queue.lastRenderedState; 27528 var eagerState = lastRenderedReducer(currentState, action); // Stash the eagerly computed state, and the reducer used to compute 27529 // it, on the update object. If the reducer hasn't changed by the 27530 // time we enter the render phase, then the eager state can be used 27531 // without calling the reducer again. 27532 27533 update.eagerReducer = lastRenderedReducer; 27534 update.eagerState = eagerState; 27535 27536 if (objectIs(eagerState, currentState)) { 27537 // Fast path. We can bail out without scheduling React to re-render. 27538 // It's still possible that we'll need to rebase this update later, 27539 // if the component re-renders for a different reason and by that 27540 // time the reducer has changed. 27541 return; 27542 } 27543 } catch (error) {// Suppress the error. It will throw again in the render phase. 27544 } finally { 27545 { 27546 ReactCurrentDispatcher.current = prevDispatcher; 27547 } 27548 } 27549 } 27550 } 27551 27552 { 27553 // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests 27554 if ('undefined' !== typeof jest) { 27555 warnIfNotScopedWithMatchingAct(fiber); 27556 warnIfNotCurrentlyActingUpdatesInDev(fiber); 27557 } 27558 } 27559 27560 scheduleWork(fiber, expirationTime); 27561 } 27562} 27563 27564var ContextOnlyDispatcher = { 27565 readContext: readContext, 27566 useCallback: throwInvalidHookError, 27567 useContext: throwInvalidHookError, 27568 useEffect: throwInvalidHookError, 27569 useImperativeHandle: throwInvalidHookError, 27570 useLayoutEffect: throwInvalidHookError, 27571 useMemo: throwInvalidHookError, 27572 useReducer: throwInvalidHookError, 27573 useRef: throwInvalidHookError, 27574 useState: throwInvalidHookError, 27575 useDebugValue: throwInvalidHookError, 27576 useResponder: throwInvalidHookError, 27577 useDeferredValue: throwInvalidHookError, 27578 useTransition: throwInvalidHookError 27579}; 27580var HooksDispatcherOnMountInDEV = null; 27581var HooksDispatcherOnMountWithHookTypesInDEV = null; 27582var HooksDispatcherOnUpdateInDEV = null; 27583var HooksDispatcherOnRerenderInDEV = null; 27584var InvalidNestedHooksDispatcherOnMountInDEV = null; 27585var InvalidNestedHooksDispatcherOnUpdateInDEV = null; 27586var InvalidNestedHooksDispatcherOnRerenderInDEV = null; 27587 27588{ 27589 var warnInvalidContextAccess = function () { 27590 error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().'); 27591 }; 27592 27593 var warnInvalidHookAccess = function () { 27594 error('Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. ' + 'You can only call Hooks at the top level of your React function. ' + 'For more information, see ' + 'https://fb.me/rules-of-hooks'); 27595 }; 27596 27597 HooksDispatcherOnMountInDEV = { 27598 readContext: function (context, observedBits) { 27599 return readContext(context, observedBits); 27600 }, 27601 useCallback: function (callback, deps) { 27602 currentHookNameInDev = 'useCallback'; 27603 mountHookTypesDev(); 27604 checkDepsAreArrayDev(deps); 27605 return mountCallback(callback, deps); 27606 }, 27607 useContext: function (context, observedBits) { 27608 currentHookNameInDev = 'useContext'; 27609 mountHookTypesDev(); 27610 return readContext(context, observedBits); 27611 }, 27612 useEffect: function (create, deps) { 27613 currentHookNameInDev = 'useEffect'; 27614 mountHookTypesDev(); 27615 checkDepsAreArrayDev(deps); 27616 return mountEffect(create, deps); 27617 }, 27618 useImperativeHandle: function (ref, create, deps) { 27619 currentHookNameInDev = 'useImperativeHandle'; 27620 mountHookTypesDev(); 27621 checkDepsAreArrayDev(deps); 27622 return mountImperativeHandle(ref, create, deps); 27623 }, 27624 useLayoutEffect: function (create, deps) { 27625 currentHookNameInDev = 'useLayoutEffect'; 27626 mountHookTypesDev(); 27627 checkDepsAreArrayDev(deps); 27628 return mountLayoutEffect(create, deps); 27629 }, 27630 useMemo: function (create, deps) { 27631 currentHookNameInDev = 'useMemo'; 27632 mountHookTypesDev(); 27633 checkDepsAreArrayDev(deps); 27634 var prevDispatcher = ReactCurrentDispatcher.current; 27635 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 27636 27637 try { 27638 return mountMemo(create, deps); 27639 } finally { 27640 ReactCurrentDispatcher.current = prevDispatcher; 27641 } 27642 }, 27643 useReducer: function (reducer, initialArg, init) { 27644 currentHookNameInDev = 'useReducer'; 27645 mountHookTypesDev(); 27646 var prevDispatcher = ReactCurrentDispatcher.current; 27647 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 27648 27649 try { 27650 return mountReducer(reducer, initialArg, init); 27651 } finally { 27652 ReactCurrentDispatcher.current = prevDispatcher; 27653 } 27654 }, 27655 useRef: function (initialValue) { 27656 currentHookNameInDev = 'useRef'; 27657 mountHookTypesDev(); 27658 return mountRef(initialValue); 27659 }, 27660 useState: function (initialState) { 27661 currentHookNameInDev = 'useState'; 27662 mountHookTypesDev(); 27663 var prevDispatcher = ReactCurrentDispatcher.current; 27664 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 27665 27666 try { 27667 return mountState(initialState); 27668 } finally { 27669 ReactCurrentDispatcher.current = prevDispatcher; 27670 } 27671 }, 27672 useDebugValue: function (value, formatterFn) { 27673 currentHookNameInDev = 'useDebugValue'; 27674 mountHookTypesDev(); 27675 return mountDebugValue(); 27676 }, 27677 useResponder: function (responder, props) { 27678 currentHookNameInDev = 'useResponder'; 27679 mountHookTypesDev(); 27680 return createDeprecatedResponderListener(responder, props); 27681 }, 27682 useDeferredValue: function (value, config) { 27683 currentHookNameInDev = 'useDeferredValue'; 27684 mountHookTypesDev(); 27685 return mountDeferredValue(value, config); 27686 }, 27687 useTransition: function (config) { 27688 currentHookNameInDev = 'useTransition'; 27689 mountHookTypesDev(); 27690 return mountTransition(config); 27691 } 27692 }; 27693 HooksDispatcherOnMountWithHookTypesInDEV = { 27694 readContext: function (context, observedBits) { 27695 return readContext(context, observedBits); 27696 }, 27697 useCallback: function (callback, deps) { 27698 currentHookNameInDev = 'useCallback'; 27699 updateHookTypesDev(); 27700 return mountCallback(callback, deps); 27701 }, 27702 useContext: function (context, observedBits) { 27703 currentHookNameInDev = 'useContext'; 27704 updateHookTypesDev(); 27705 return readContext(context, observedBits); 27706 }, 27707 useEffect: function (create, deps) { 27708 currentHookNameInDev = 'useEffect'; 27709 updateHookTypesDev(); 27710 return mountEffect(create, deps); 27711 }, 27712 useImperativeHandle: function (ref, create, deps) { 27713 currentHookNameInDev = 'useImperativeHandle'; 27714 updateHookTypesDev(); 27715 return mountImperativeHandle(ref, create, deps); 27716 }, 27717 useLayoutEffect: function (create, deps) { 27718 currentHookNameInDev = 'useLayoutEffect'; 27719 updateHookTypesDev(); 27720 return mountLayoutEffect(create, deps); 27721 }, 27722 useMemo: function (create, deps) { 27723 currentHookNameInDev = 'useMemo'; 27724 updateHookTypesDev(); 27725 var prevDispatcher = ReactCurrentDispatcher.current; 27726 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 27727 27728 try { 27729 return mountMemo(create, deps); 27730 } finally { 27731 ReactCurrentDispatcher.current = prevDispatcher; 27732 } 27733 }, 27734 useReducer: function (reducer, initialArg, init) { 27735 currentHookNameInDev = 'useReducer'; 27736 updateHookTypesDev(); 27737 var prevDispatcher = ReactCurrentDispatcher.current; 27738 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 27739 27740 try { 27741 return mountReducer(reducer, initialArg, init); 27742 } finally { 27743 ReactCurrentDispatcher.current = prevDispatcher; 27744 } 27745 }, 27746 useRef: function (initialValue) { 27747 currentHookNameInDev = 'useRef'; 27748 updateHookTypesDev(); 27749 return mountRef(initialValue); 27750 }, 27751 useState: function (initialState) { 27752 currentHookNameInDev = 'useState'; 27753 updateHookTypesDev(); 27754 var prevDispatcher = ReactCurrentDispatcher.current; 27755 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 27756 27757 try { 27758 return mountState(initialState); 27759 } finally { 27760 ReactCurrentDispatcher.current = prevDispatcher; 27761 } 27762 }, 27763 useDebugValue: function (value, formatterFn) { 27764 currentHookNameInDev = 'useDebugValue'; 27765 updateHookTypesDev(); 27766 return mountDebugValue(); 27767 }, 27768 useResponder: function (responder, props) { 27769 currentHookNameInDev = 'useResponder'; 27770 updateHookTypesDev(); 27771 return createDeprecatedResponderListener(responder, props); 27772 }, 27773 useDeferredValue: function (value, config) { 27774 currentHookNameInDev = 'useDeferredValue'; 27775 updateHookTypesDev(); 27776 return mountDeferredValue(value, config); 27777 }, 27778 useTransition: function (config) { 27779 currentHookNameInDev = 'useTransition'; 27780 updateHookTypesDev(); 27781 return mountTransition(config); 27782 } 27783 }; 27784 HooksDispatcherOnUpdateInDEV = { 27785 readContext: function (context, observedBits) { 27786 return readContext(context, observedBits); 27787 }, 27788 useCallback: function (callback, deps) { 27789 currentHookNameInDev = 'useCallback'; 27790 updateHookTypesDev(); 27791 return updateCallback(callback, deps); 27792 }, 27793 useContext: function (context, observedBits) { 27794 currentHookNameInDev = 'useContext'; 27795 updateHookTypesDev(); 27796 return readContext(context, observedBits); 27797 }, 27798 useEffect: function (create, deps) { 27799 currentHookNameInDev = 'useEffect'; 27800 updateHookTypesDev(); 27801 return updateEffect(create, deps); 27802 }, 27803 useImperativeHandle: function (ref, create, deps) { 27804 currentHookNameInDev = 'useImperativeHandle'; 27805 updateHookTypesDev(); 27806 return updateImperativeHandle(ref, create, deps); 27807 }, 27808 useLayoutEffect: function (create, deps) { 27809 currentHookNameInDev = 'useLayoutEffect'; 27810 updateHookTypesDev(); 27811 return updateLayoutEffect(create, deps); 27812 }, 27813 useMemo: function (create, deps) { 27814 currentHookNameInDev = 'useMemo'; 27815 updateHookTypesDev(); 27816 var prevDispatcher = ReactCurrentDispatcher.current; 27817 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 27818 27819 try { 27820 return updateMemo(create, deps); 27821 } finally { 27822 ReactCurrentDispatcher.current = prevDispatcher; 27823 } 27824 }, 27825 useReducer: function (reducer, initialArg, init) { 27826 currentHookNameInDev = 'useReducer'; 27827 updateHookTypesDev(); 27828 var prevDispatcher = ReactCurrentDispatcher.current; 27829 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 27830 27831 try { 27832 return updateReducer(reducer, initialArg, init); 27833 } finally { 27834 ReactCurrentDispatcher.current = prevDispatcher; 27835 } 27836 }, 27837 useRef: function (initialValue) { 27838 currentHookNameInDev = 'useRef'; 27839 updateHookTypesDev(); 27840 return updateRef(); 27841 }, 27842 useState: function (initialState) { 27843 currentHookNameInDev = 'useState'; 27844 updateHookTypesDev(); 27845 var prevDispatcher = ReactCurrentDispatcher.current; 27846 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 27847 27848 try { 27849 return updateState(initialState); 27850 } finally { 27851 ReactCurrentDispatcher.current = prevDispatcher; 27852 } 27853 }, 27854 useDebugValue: function (value, formatterFn) { 27855 currentHookNameInDev = 'useDebugValue'; 27856 updateHookTypesDev(); 27857 return updateDebugValue(); 27858 }, 27859 useResponder: function (responder, props) { 27860 currentHookNameInDev = 'useResponder'; 27861 updateHookTypesDev(); 27862 return createDeprecatedResponderListener(responder, props); 27863 }, 27864 useDeferredValue: function (value, config) { 27865 currentHookNameInDev = 'useDeferredValue'; 27866 updateHookTypesDev(); 27867 return updateDeferredValue(value, config); 27868 }, 27869 useTransition: function (config) { 27870 currentHookNameInDev = 'useTransition'; 27871 updateHookTypesDev(); 27872 return updateTransition(config); 27873 } 27874 }; 27875 HooksDispatcherOnRerenderInDEV = { 27876 readContext: function (context, observedBits) { 27877 return readContext(context, observedBits); 27878 }, 27879 useCallback: function (callback, deps) { 27880 currentHookNameInDev = 'useCallback'; 27881 updateHookTypesDev(); 27882 return updateCallback(callback, deps); 27883 }, 27884 useContext: function (context, observedBits) { 27885 currentHookNameInDev = 'useContext'; 27886 updateHookTypesDev(); 27887 return readContext(context, observedBits); 27888 }, 27889 useEffect: function (create, deps) { 27890 currentHookNameInDev = 'useEffect'; 27891 updateHookTypesDev(); 27892 return updateEffect(create, deps); 27893 }, 27894 useImperativeHandle: function (ref, create, deps) { 27895 currentHookNameInDev = 'useImperativeHandle'; 27896 updateHookTypesDev(); 27897 return updateImperativeHandle(ref, create, deps); 27898 }, 27899 useLayoutEffect: function (create, deps) { 27900 currentHookNameInDev = 'useLayoutEffect'; 27901 updateHookTypesDev(); 27902 return updateLayoutEffect(create, deps); 27903 }, 27904 useMemo: function (create, deps) { 27905 currentHookNameInDev = 'useMemo'; 27906 updateHookTypesDev(); 27907 var prevDispatcher = ReactCurrentDispatcher.current; 27908 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnRerenderInDEV; 27909 27910 try { 27911 return updateMemo(create, deps); 27912 } finally { 27913 ReactCurrentDispatcher.current = prevDispatcher; 27914 } 27915 }, 27916 useReducer: function (reducer, initialArg, init) { 27917 currentHookNameInDev = 'useReducer'; 27918 updateHookTypesDev(); 27919 var prevDispatcher = ReactCurrentDispatcher.current; 27920 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnRerenderInDEV; 27921 27922 try { 27923 return rerenderReducer(reducer, initialArg, init); 27924 } finally { 27925 ReactCurrentDispatcher.current = prevDispatcher; 27926 } 27927 }, 27928 useRef: function (initialValue) { 27929 currentHookNameInDev = 'useRef'; 27930 updateHookTypesDev(); 27931 return updateRef(); 27932 }, 27933 useState: function (initialState) { 27934 currentHookNameInDev = 'useState'; 27935 updateHookTypesDev(); 27936 var prevDispatcher = ReactCurrentDispatcher.current; 27937 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnRerenderInDEV; 27938 27939 try { 27940 return rerenderState(initialState); 27941 } finally { 27942 ReactCurrentDispatcher.current = prevDispatcher; 27943 } 27944 }, 27945 useDebugValue: function (value, formatterFn) { 27946 currentHookNameInDev = 'useDebugValue'; 27947 updateHookTypesDev(); 27948 return updateDebugValue(); 27949 }, 27950 useResponder: function (responder, props) { 27951 currentHookNameInDev = 'useResponder'; 27952 updateHookTypesDev(); 27953 return createDeprecatedResponderListener(responder, props); 27954 }, 27955 useDeferredValue: function (value, config) { 27956 currentHookNameInDev = 'useDeferredValue'; 27957 updateHookTypesDev(); 27958 return rerenderDeferredValue(value, config); 27959 }, 27960 useTransition: function (config) { 27961 currentHookNameInDev = 'useTransition'; 27962 updateHookTypesDev(); 27963 return rerenderTransition(config); 27964 } 27965 }; 27966 InvalidNestedHooksDispatcherOnMountInDEV = { 27967 readContext: function (context, observedBits) { 27968 warnInvalidContextAccess(); 27969 return readContext(context, observedBits); 27970 }, 27971 useCallback: function (callback, deps) { 27972 currentHookNameInDev = 'useCallback'; 27973 warnInvalidHookAccess(); 27974 mountHookTypesDev(); 27975 return mountCallback(callback, deps); 27976 }, 27977 useContext: function (context, observedBits) { 27978 currentHookNameInDev = 'useContext'; 27979 warnInvalidHookAccess(); 27980 mountHookTypesDev(); 27981 return readContext(context, observedBits); 27982 }, 27983 useEffect: function (create, deps) { 27984 currentHookNameInDev = 'useEffect'; 27985 warnInvalidHookAccess(); 27986 mountHookTypesDev(); 27987 return mountEffect(create, deps); 27988 }, 27989 useImperativeHandle: function (ref, create, deps) { 27990 currentHookNameInDev = 'useImperativeHandle'; 27991 warnInvalidHookAccess(); 27992 mountHookTypesDev(); 27993 return mountImperativeHandle(ref, create, deps); 27994 }, 27995 useLayoutEffect: function (create, deps) { 27996 currentHookNameInDev = 'useLayoutEffect'; 27997 warnInvalidHookAccess(); 27998 mountHookTypesDev(); 27999 return mountLayoutEffect(create, deps); 28000 }, 28001 useMemo: function (create, deps) { 28002 currentHookNameInDev = 'useMemo'; 28003 warnInvalidHookAccess(); 28004 mountHookTypesDev(); 28005 var prevDispatcher = ReactCurrentDispatcher.current; 28006 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 28007 28008 try { 28009 return mountMemo(create, deps); 28010 } finally { 28011 ReactCurrentDispatcher.current = prevDispatcher; 28012 } 28013 }, 28014 useReducer: function (reducer, initialArg, init) { 28015 currentHookNameInDev = 'useReducer'; 28016 warnInvalidHookAccess(); 28017 mountHookTypesDev(); 28018 var prevDispatcher = ReactCurrentDispatcher.current; 28019 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 28020 28021 try { 28022 return mountReducer(reducer, initialArg, init); 28023 } finally { 28024 ReactCurrentDispatcher.current = prevDispatcher; 28025 } 28026 }, 28027 useRef: function (initialValue) { 28028 currentHookNameInDev = 'useRef'; 28029 warnInvalidHookAccess(); 28030 mountHookTypesDev(); 28031 return mountRef(initialValue); 28032 }, 28033 useState: function (initialState) { 28034 currentHookNameInDev = 'useState'; 28035 warnInvalidHookAccess(); 28036 mountHookTypesDev(); 28037 var prevDispatcher = ReactCurrentDispatcher.current; 28038 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 28039 28040 try { 28041 return mountState(initialState); 28042 } finally { 28043 ReactCurrentDispatcher.current = prevDispatcher; 28044 } 28045 }, 28046 useDebugValue: function (value, formatterFn) { 28047 currentHookNameInDev = 'useDebugValue'; 28048 warnInvalidHookAccess(); 28049 mountHookTypesDev(); 28050 return mountDebugValue(); 28051 }, 28052 useResponder: function (responder, props) { 28053 currentHookNameInDev = 'useResponder'; 28054 warnInvalidHookAccess(); 28055 mountHookTypesDev(); 28056 return createDeprecatedResponderListener(responder, props); 28057 }, 28058 useDeferredValue: function (value, config) { 28059 currentHookNameInDev = 'useDeferredValue'; 28060 warnInvalidHookAccess(); 28061 mountHookTypesDev(); 28062 return mountDeferredValue(value, config); 28063 }, 28064 useTransition: function (config) { 28065 currentHookNameInDev = 'useTransition'; 28066 warnInvalidHookAccess(); 28067 mountHookTypesDev(); 28068 return mountTransition(config); 28069 } 28070 }; 28071 InvalidNestedHooksDispatcherOnUpdateInDEV = { 28072 readContext: function (context, observedBits) { 28073 warnInvalidContextAccess(); 28074 return readContext(context, observedBits); 28075 }, 28076 useCallback: function (callback, deps) { 28077 currentHookNameInDev = 'useCallback'; 28078 warnInvalidHookAccess(); 28079 updateHookTypesDev(); 28080 return updateCallback(callback, deps); 28081 }, 28082 useContext: function (context, observedBits) { 28083 currentHookNameInDev = 'useContext'; 28084 warnInvalidHookAccess(); 28085 updateHookTypesDev(); 28086 return readContext(context, observedBits); 28087 }, 28088 useEffect: function (create, deps) { 28089 currentHookNameInDev = 'useEffect'; 28090 warnInvalidHookAccess(); 28091 updateHookTypesDev(); 28092 return updateEffect(create, deps); 28093 }, 28094 useImperativeHandle: function (ref, create, deps) { 28095 currentHookNameInDev = 'useImperativeHandle'; 28096 warnInvalidHookAccess(); 28097 updateHookTypesDev(); 28098 return updateImperativeHandle(ref, create, deps); 28099 }, 28100 useLayoutEffect: function (create, deps) { 28101 currentHookNameInDev = 'useLayoutEffect'; 28102 warnInvalidHookAccess(); 28103 updateHookTypesDev(); 28104 return updateLayoutEffect(create, deps); 28105 }, 28106 useMemo: function (create, deps) { 28107 currentHookNameInDev = 'useMemo'; 28108 warnInvalidHookAccess(); 28109 updateHookTypesDev(); 28110 var prevDispatcher = ReactCurrentDispatcher.current; 28111 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 28112 28113 try { 28114 return updateMemo(create, deps); 28115 } finally { 28116 ReactCurrentDispatcher.current = prevDispatcher; 28117 } 28118 }, 28119 useReducer: function (reducer, initialArg, init) { 28120 currentHookNameInDev = 'useReducer'; 28121 warnInvalidHookAccess(); 28122 updateHookTypesDev(); 28123 var prevDispatcher = ReactCurrentDispatcher.current; 28124 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 28125 28126 try { 28127 return updateReducer(reducer, initialArg, init); 28128 } finally { 28129 ReactCurrentDispatcher.current = prevDispatcher; 28130 } 28131 }, 28132 useRef: function (initialValue) { 28133 currentHookNameInDev = 'useRef'; 28134 warnInvalidHookAccess(); 28135 updateHookTypesDev(); 28136 return updateRef(); 28137 }, 28138 useState: function (initialState) { 28139 currentHookNameInDev = 'useState'; 28140 warnInvalidHookAccess(); 28141 updateHookTypesDev(); 28142 var prevDispatcher = ReactCurrentDispatcher.current; 28143 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 28144 28145 try { 28146 return updateState(initialState); 28147 } finally { 28148 ReactCurrentDispatcher.current = prevDispatcher; 28149 } 28150 }, 28151 useDebugValue: function (value, formatterFn) { 28152 currentHookNameInDev = 'useDebugValue'; 28153 warnInvalidHookAccess(); 28154 updateHookTypesDev(); 28155 return updateDebugValue(); 28156 }, 28157 useResponder: function (responder, props) { 28158 currentHookNameInDev = 'useResponder'; 28159 warnInvalidHookAccess(); 28160 updateHookTypesDev(); 28161 return createDeprecatedResponderListener(responder, props); 28162 }, 28163 useDeferredValue: function (value, config) { 28164 currentHookNameInDev = 'useDeferredValue'; 28165 warnInvalidHookAccess(); 28166 updateHookTypesDev(); 28167 return updateDeferredValue(value, config); 28168 }, 28169 useTransition: function (config) { 28170 currentHookNameInDev = 'useTransition'; 28171 warnInvalidHookAccess(); 28172 updateHookTypesDev(); 28173 return updateTransition(config); 28174 } 28175 }; 28176 InvalidNestedHooksDispatcherOnRerenderInDEV = { 28177 readContext: function (context, observedBits) { 28178 warnInvalidContextAccess(); 28179 return readContext(context, observedBits); 28180 }, 28181 useCallback: function (callback, deps) { 28182 currentHookNameInDev = 'useCallback'; 28183 warnInvalidHookAccess(); 28184 updateHookTypesDev(); 28185 return updateCallback(callback, deps); 28186 }, 28187 useContext: function (context, observedBits) { 28188 currentHookNameInDev = 'useContext'; 28189 warnInvalidHookAccess(); 28190 updateHookTypesDev(); 28191 return readContext(context, observedBits); 28192 }, 28193 useEffect: function (create, deps) { 28194 currentHookNameInDev = 'useEffect'; 28195 warnInvalidHookAccess(); 28196 updateHookTypesDev(); 28197 return updateEffect(create, deps); 28198 }, 28199 useImperativeHandle: function (ref, create, deps) { 28200 currentHookNameInDev = 'useImperativeHandle'; 28201 warnInvalidHookAccess(); 28202 updateHookTypesDev(); 28203 return updateImperativeHandle(ref, create, deps); 28204 }, 28205 useLayoutEffect: function (create, deps) { 28206 currentHookNameInDev = 'useLayoutEffect'; 28207 warnInvalidHookAccess(); 28208 updateHookTypesDev(); 28209 return updateLayoutEffect(create, deps); 28210 }, 28211 useMemo: function (create, deps) { 28212 currentHookNameInDev = 'useMemo'; 28213 warnInvalidHookAccess(); 28214 updateHookTypesDev(); 28215 var prevDispatcher = ReactCurrentDispatcher.current; 28216 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 28217 28218 try { 28219 return updateMemo(create, deps); 28220 } finally { 28221 ReactCurrentDispatcher.current = prevDispatcher; 28222 } 28223 }, 28224 useReducer: function (reducer, initialArg, init) { 28225 currentHookNameInDev = 'useReducer'; 28226 warnInvalidHookAccess(); 28227 updateHookTypesDev(); 28228 var prevDispatcher = ReactCurrentDispatcher.current; 28229 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 28230 28231 try { 28232 return rerenderReducer(reducer, initialArg, init); 28233 } finally { 28234 ReactCurrentDispatcher.current = prevDispatcher; 28235 } 28236 }, 28237 useRef: function (initialValue) { 28238 currentHookNameInDev = 'useRef'; 28239 warnInvalidHookAccess(); 28240 updateHookTypesDev(); 28241 return updateRef(); 28242 }, 28243 useState: function (initialState) { 28244 currentHookNameInDev = 'useState'; 28245 warnInvalidHookAccess(); 28246 updateHookTypesDev(); 28247 var prevDispatcher = ReactCurrentDispatcher.current; 28248 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 28249 28250 try { 28251 return rerenderState(initialState); 28252 } finally { 28253 ReactCurrentDispatcher.current = prevDispatcher; 28254 } 28255 }, 28256 useDebugValue: function (value, formatterFn) { 28257 currentHookNameInDev = 'useDebugValue'; 28258 warnInvalidHookAccess(); 28259 updateHookTypesDev(); 28260 return updateDebugValue(); 28261 }, 28262 useResponder: function (responder, props) { 28263 currentHookNameInDev = 'useResponder'; 28264 warnInvalidHookAccess(); 28265 updateHookTypesDev(); 28266 return createDeprecatedResponderListener(responder, props); 28267 }, 28268 useDeferredValue: function (value, config) { 28269 currentHookNameInDev = 'useDeferredValue'; 28270 warnInvalidHookAccess(); 28271 updateHookTypesDev(); 28272 return rerenderDeferredValue(value, config); 28273 }, 28274 useTransition: function (config) { 28275 currentHookNameInDev = 'useTransition'; 28276 warnInvalidHookAccess(); 28277 updateHookTypesDev(); 28278 return rerenderTransition(config); 28279 } 28280 }; 28281} 28282 28283var now$1 = Scheduler.unstable_now; 28284var commitTime = 0; 28285var profilerStartTime = -1; 28286 28287function getCommitTime() { 28288 return commitTime; 28289} 28290 28291function recordCommitTime() { 28292 28293 commitTime = now$1(); 28294} 28295 28296function startProfilerTimer(fiber) { 28297 28298 profilerStartTime = now$1(); 28299 28300 if (fiber.actualStartTime < 0) { 28301 fiber.actualStartTime = now$1(); 28302 } 28303} 28304 28305function stopProfilerTimerIfRunning(fiber) { 28306 28307 profilerStartTime = -1; 28308} 28309 28310function stopProfilerTimerIfRunningAndRecordDelta(fiber, overrideBaseTime) { 28311 28312 if (profilerStartTime >= 0) { 28313 var elapsedTime = now$1() - profilerStartTime; 28314 fiber.actualDuration += elapsedTime; 28315 28316 if (overrideBaseTime) { 28317 fiber.selfBaseDuration = elapsedTime; 28318 } 28319 28320 profilerStartTime = -1; 28321 } 28322} 28323 28324// This may have been an insertion or a hydration. 28325 28326var hydrationParentFiber = null; 28327var nextHydratableInstance = null; 28328var isHydrating = false; 28329 28330function enterHydrationState(fiber) { 28331 28332 var parentInstance = fiber.stateNode.containerInfo; 28333 nextHydratableInstance = getFirstHydratableChild(parentInstance); 28334 hydrationParentFiber = fiber; 28335 isHydrating = true; 28336 return true; 28337} 28338 28339function deleteHydratableInstance(returnFiber, instance) { 28340 { 28341 switch (returnFiber.tag) { 28342 case HostRoot: 28343 didNotHydrateContainerInstance(returnFiber.stateNode.containerInfo, instance); 28344 break; 28345 28346 case HostComponent: 28347 didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance); 28348 break; 28349 } 28350 } 28351 28352 var childToDelete = createFiberFromHostInstanceForDeletion(); 28353 childToDelete.stateNode = instance; 28354 childToDelete.return = returnFiber; 28355 childToDelete.effectTag = Deletion; // This might seem like it belongs on progressedFirstDeletion. However, 28356 // these children are not part of the reconciliation list of children. 28357 // Even if we abort and rereconcile the children, that will try to hydrate 28358 // again and the nodes are still in the host tree so these will be 28359 // recreated. 28360 28361 if (returnFiber.lastEffect !== null) { 28362 returnFiber.lastEffect.nextEffect = childToDelete; 28363 returnFiber.lastEffect = childToDelete; 28364 } else { 28365 returnFiber.firstEffect = returnFiber.lastEffect = childToDelete; 28366 } 28367} 28368 28369function insertNonHydratedInstance(returnFiber, fiber) { 28370 fiber.effectTag = fiber.effectTag & ~Hydrating | Placement; 28371 28372 { 28373 switch (returnFiber.tag) { 28374 case HostRoot: 28375 { 28376 var parentContainer = returnFiber.stateNode.containerInfo; 28377 28378 switch (fiber.tag) { 28379 case HostComponent: 28380 var type = fiber.type; 28381 var props = fiber.pendingProps; 28382 didNotFindHydratableContainerInstance(parentContainer, type); 28383 break; 28384 28385 case HostText: 28386 var text = fiber.pendingProps; 28387 didNotFindHydratableContainerTextInstance(parentContainer, text); 28388 break; 28389 } 28390 28391 break; 28392 } 28393 28394 case HostComponent: 28395 { 28396 var parentType = returnFiber.type; 28397 var parentProps = returnFiber.memoizedProps; 28398 var parentInstance = returnFiber.stateNode; 28399 28400 switch (fiber.tag) { 28401 case HostComponent: 28402 var _type = fiber.type; 28403 var _props = fiber.pendingProps; 28404 didNotFindHydratableInstance(parentType, parentProps, parentInstance, _type); 28405 break; 28406 28407 case HostText: 28408 var _text = fiber.pendingProps; 28409 didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, _text); 28410 break; 28411 28412 case SuspenseComponent: 28413 didNotFindHydratableSuspenseInstance(parentType, parentProps); 28414 break; 28415 } 28416 28417 break; 28418 } 28419 28420 default: 28421 return; 28422 } 28423 } 28424} 28425 28426function tryHydrate(fiber, nextInstance) { 28427 switch (fiber.tag) { 28428 case HostComponent: 28429 { 28430 var type = fiber.type; 28431 var props = fiber.pendingProps; 28432 var instance = canHydrateInstance(nextInstance, type); 28433 28434 if (instance !== null) { 28435 fiber.stateNode = instance; 28436 return true; 28437 } 28438 28439 return false; 28440 } 28441 28442 case HostText: 28443 { 28444 var text = fiber.pendingProps; 28445 var textInstance = canHydrateTextInstance(nextInstance, text); 28446 28447 if (textInstance !== null) { 28448 fiber.stateNode = textInstance; 28449 return true; 28450 } 28451 28452 return false; 28453 } 28454 28455 case SuspenseComponent: 28456 { 28457 28458 return false; 28459 } 28460 28461 default: 28462 return false; 28463 } 28464} 28465 28466function tryToClaimNextHydratableInstance(fiber) { 28467 if (!isHydrating) { 28468 return; 28469 } 28470 28471 var nextInstance = nextHydratableInstance; 28472 28473 if (!nextInstance) { 28474 // Nothing to hydrate. Make it an insertion. 28475 insertNonHydratedInstance(hydrationParentFiber, fiber); 28476 isHydrating = false; 28477 hydrationParentFiber = fiber; 28478 return; 28479 } 28480 28481 var firstAttemptedInstance = nextInstance; 28482 28483 if (!tryHydrate(fiber, nextInstance)) { 28484 // If we can't hydrate this instance let's try the next one. 28485 // We use this as a heuristic. It's based on intuition and not data so it 28486 // might be flawed or unnecessary. 28487 nextInstance = getNextHydratableSibling(firstAttemptedInstance); 28488 28489 if (!nextInstance || !tryHydrate(fiber, nextInstance)) { 28490 // Nothing to hydrate. Make it an insertion. 28491 insertNonHydratedInstance(hydrationParentFiber, fiber); 28492 isHydrating = false; 28493 hydrationParentFiber = fiber; 28494 return; 28495 } // We matched the next one, we'll now assume that the first one was 28496 // superfluous and we'll delete it. Since we can't eagerly delete it 28497 // we'll have to schedule a deletion. To do that, this node needs a dummy 28498 // fiber associated with it. 28499 28500 28501 deleteHydratableInstance(hydrationParentFiber, firstAttemptedInstance); 28502 } 28503 28504 hydrationParentFiber = fiber; 28505 nextHydratableInstance = getFirstHydratableChild(nextInstance); 28506} 28507 28508function prepareToHydrateHostInstance(fiber, rootContainerInstance, hostContext) { 28509 28510 var instance = fiber.stateNode; 28511 var updatePayload = hydrateInstance(instance, fiber.type, fiber.memoizedProps, rootContainerInstance, hostContext, fiber); // TODO: Type this specific to this type of component. 28512 28513 fiber.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there 28514 // is a new ref we mark this as an update. 28515 28516 if (updatePayload !== null) { 28517 return true; 28518 } 28519 28520 return false; 28521} 28522 28523function prepareToHydrateHostTextInstance(fiber) { 28524 28525 var textInstance = fiber.stateNode; 28526 var textContent = fiber.memoizedProps; 28527 var shouldUpdate = hydrateTextInstance(textInstance, textContent, fiber); 28528 28529 { 28530 if (shouldUpdate) { 28531 // We assume that prepareToHydrateHostTextInstance is called in a context where the 28532 // hydration parent is the parent host component of this host text. 28533 var returnFiber = hydrationParentFiber; 28534 28535 if (returnFiber !== null) { 28536 switch (returnFiber.tag) { 28537 case HostRoot: 28538 { 28539 var parentContainer = returnFiber.stateNode.containerInfo; 28540 didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, textContent); 28541 break; 28542 } 28543 28544 case HostComponent: 28545 { 28546 var parentType = returnFiber.type; 28547 var parentProps = returnFiber.memoizedProps; 28548 var parentInstance = returnFiber.stateNode; 28549 didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, textContent); 28550 break; 28551 } 28552 } 28553 } 28554 } 28555 } 28556 28557 return shouldUpdate; 28558} 28559 28560function skipPastDehydratedSuspenseInstance(fiber) { 28561 28562 var suspenseState = fiber.memoizedState; 28563 var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null; 28564 28565 if (!suspenseInstance) { 28566 { 28567 throw Error( "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue." ); 28568 } 28569 } 28570 28571 return getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance); 28572} 28573 28574function popToNextHostParent(fiber) { 28575 var parent = fiber.return; 28576 28577 while (parent !== null && parent.tag !== HostComponent && parent.tag !== HostRoot && parent.tag !== SuspenseComponent) { 28578 parent = parent.return; 28579 } 28580 28581 hydrationParentFiber = parent; 28582} 28583 28584function popHydrationState(fiber) { 28585 28586 if (fiber !== hydrationParentFiber) { 28587 // We're deeper than the current hydration context, inside an inserted 28588 // tree. 28589 return false; 28590 } 28591 28592 if (!isHydrating) { 28593 // If we're not currently hydrating but we're in a hydration context, then 28594 // we were an insertion and now need to pop up reenter hydration of our 28595 // siblings. 28596 popToNextHostParent(fiber); 28597 isHydrating = true; 28598 return false; 28599 } 28600 28601 var type = fiber.type; // If we have any remaining hydratable nodes, we need to delete them now. 28602 // We only do this deeper than head and body since they tend to have random 28603 // other nodes in them. We also ignore components with pure text content in 28604 // side of them. 28605 // TODO: Better heuristic. 28606 28607 if (fiber.tag !== HostComponent || type !== 'head' && type !== 'body' && !shouldSetTextContent(type, fiber.memoizedProps)) { 28608 var nextInstance = nextHydratableInstance; 28609 28610 while (nextInstance) { 28611 deleteHydratableInstance(fiber, nextInstance); 28612 nextInstance = getNextHydratableSibling(nextInstance); 28613 } 28614 } 28615 28616 popToNextHostParent(fiber); 28617 28618 if (fiber.tag === SuspenseComponent) { 28619 nextHydratableInstance = skipPastDehydratedSuspenseInstance(fiber); 28620 } else { 28621 nextHydratableInstance = hydrationParentFiber ? getNextHydratableSibling(fiber.stateNode) : null; 28622 } 28623 28624 return true; 28625} 28626 28627function resetHydrationState() { 28628 28629 hydrationParentFiber = null; 28630 nextHydratableInstance = null; 28631 isHydrating = false; 28632} 28633 28634var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner; 28635var didReceiveUpdate = false; 28636var didWarnAboutBadClass; 28637var didWarnAboutModulePatternComponent; 28638var didWarnAboutContextTypeOnFunctionComponent; 28639var didWarnAboutGetDerivedStateOnFunctionComponent; 28640var didWarnAboutFunctionRefs; 28641var didWarnAboutReassigningProps; 28642var didWarnAboutRevealOrder; 28643var didWarnAboutTailOptions; 28644 28645{ 28646 didWarnAboutBadClass = {}; 28647 didWarnAboutModulePatternComponent = {}; 28648 didWarnAboutContextTypeOnFunctionComponent = {}; 28649 didWarnAboutGetDerivedStateOnFunctionComponent = {}; 28650 didWarnAboutFunctionRefs = {}; 28651 didWarnAboutReassigningProps = false; 28652 didWarnAboutRevealOrder = {}; 28653 didWarnAboutTailOptions = {}; 28654} 28655 28656function reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime) { 28657 if (current === null) { 28658 // If this is a fresh new component that hasn't been rendered yet, we 28659 // won't update its child set by applying minimal side-effects. Instead, 28660 // we will add them all to the child before it gets rendered. That means 28661 // we can optimize this reconciliation pass by not tracking side-effects. 28662 workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime); 28663 } else { 28664 // If the current child is the same as the work in progress, it means that 28665 // we haven't yet started any work on these children. Therefore, we use 28666 // the clone algorithm to create a copy of all the current children. 28667 // If we had any progressed work already, that is invalid at this point so 28668 // let's throw it out. 28669 workInProgress.child = reconcileChildFibers(workInProgress, current.child, nextChildren, renderExpirationTime); 28670 } 28671} 28672 28673function forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderExpirationTime) { 28674 // This function is fork of reconcileChildren. It's used in cases where we 28675 // want to reconcile without matching against the existing set. This has the 28676 // effect of all current children being unmounted; even if the type and key 28677 // are the same, the old child is unmounted and a new child is created. 28678 // 28679 // To do this, we're going to go through the reconcile algorithm twice. In 28680 // the first pass, we schedule a deletion for all the current children by 28681 // passing null. 28682 workInProgress.child = reconcileChildFibers(workInProgress, current.child, null, renderExpirationTime); // In the second pass, we mount the new children. The trick here is that we 28683 // pass null in place of where we usually pass the current child set. This has 28684 // the effect of remounting all children regardless of whether their 28685 // identities match. 28686 28687 workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderExpirationTime); 28688} 28689 28690function updateForwardRef(current, workInProgress, Component, nextProps, renderExpirationTime) { 28691 // TODO: current can be non-null here even if the component 28692 // hasn't yet mounted. This happens after the first render suspends. 28693 // We'll need to figure out if this is fine or can cause issues. 28694 { 28695 if (workInProgress.type !== workInProgress.elementType) { 28696 // Lazy component props can't be validated in createElement 28697 // because they're only guaranteed to be resolved here. 28698 var innerPropTypes = Component.propTypes; 28699 28700 if (innerPropTypes) { 28701 checkPropTypes(innerPropTypes, nextProps, // Resolved props 28702 'prop', getComponentName(Component), getCurrentFiberStackInDev); 28703 } 28704 } 28705 } 28706 28707 var render = Component.render; 28708 var ref = workInProgress.ref; // The rest is a fork of updateFunctionComponent 28709 28710 var nextChildren; 28711 prepareToReadContext(workInProgress, renderExpirationTime); 28712 28713 { 28714 ReactCurrentOwner$1.current = workInProgress; 28715 setIsRendering(true); 28716 nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderExpirationTime); 28717 28718 if ( workInProgress.mode & StrictMode) { 28719 // Only double-render components with Hooks 28720 if (workInProgress.memoizedState !== null) { 28721 nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderExpirationTime); 28722 } 28723 } 28724 28725 setIsRendering(false); 28726 } 28727 28728 if (current !== null && !didReceiveUpdate) { 28729 bailoutHooks(current, workInProgress, renderExpirationTime); 28730 return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 28731 } // React DevTools reads this flag. 28732 28733 28734 workInProgress.effectTag |= PerformedWork; 28735 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 28736 return workInProgress.child; 28737} 28738 28739function updateMemoComponent(current, workInProgress, Component, nextProps, updateExpirationTime, renderExpirationTime) { 28740 if (current === null) { 28741 var type = Component.type; 28742 28743 if (isSimpleFunctionComponent(type) && Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either. 28744 Component.defaultProps === undefined) { 28745 var resolvedType = type; 28746 28747 { 28748 resolvedType = resolveFunctionForHotReloading(type); 28749 } // If this is a plain function component without default props, 28750 // and with only the default shallow comparison, we upgrade it 28751 // to a SimpleMemoComponent to allow fast path updates. 28752 28753 28754 workInProgress.tag = SimpleMemoComponent; 28755 workInProgress.type = resolvedType; 28756 28757 { 28758 validateFunctionComponentInDev(workInProgress, type); 28759 } 28760 28761 return updateSimpleMemoComponent(current, workInProgress, resolvedType, nextProps, updateExpirationTime, renderExpirationTime); 28762 } 28763 28764 { 28765 var innerPropTypes = type.propTypes; 28766 28767 if (innerPropTypes) { 28768 // Inner memo component props aren't currently validated in createElement. 28769 // We could move it there, but we'd still need this for lazy code path. 28770 checkPropTypes(innerPropTypes, nextProps, // Resolved props 28771 'prop', getComponentName(type), getCurrentFiberStackInDev); 28772 } 28773 } 28774 28775 var child = createFiberFromTypeAndProps(Component.type, null, nextProps, null, workInProgress.mode, renderExpirationTime); 28776 child.ref = workInProgress.ref; 28777 child.return = workInProgress; 28778 workInProgress.child = child; 28779 return child; 28780 } 28781 28782 { 28783 var _type = Component.type; 28784 var _innerPropTypes = _type.propTypes; 28785 28786 if (_innerPropTypes) { 28787 // Inner memo component props aren't currently validated in createElement. 28788 // We could move it there, but we'd still need this for lazy code path. 28789 checkPropTypes(_innerPropTypes, nextProps, // Resolved props 28790 'prop', getComponentName(_type), getCurrentFiberStackInDev); 28791 } 28792 } 28793 28794 var currentChild = current.child; // This is always exactly one child 28795 28796 if (updateExpirationTime < renderExpirationTime) { 28797 // This will be the props with resolved defaultProps, 28798 // unlike current.memoizedProps which will be the unresolved ones. 28799 var prevProps = currentChild.memoizedProps; // Default to shallow comparison 28800 28801 var compare = Component.compare; 28802 compare = compare !== null ? compare : shallowEqual; 28803 28804 if (compare(prevProps, nextProps) && current.ref === workInProgress.ref) { 28805 return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 28806 } 28807 } // React DevTools reads this flag. 28808 28809 28810 workInProgress.effectTag |= PerformedWork; 28811 var newChild = createWorkInProgress(currentChild, nextProps); 28812 newChild.ref = workInProgress.ref; 28813 newChild.return = workInProgress; 28814 workInProgress.child = newChild; 28815 return newChild; 28816} 28817 28818function updateSimpleMemoComponent(current, workInProgress, Component, nextProps, updateExpirationTime, renderExpirationTime) { 28819 // TODO: current can be non-null here even if the component 28820 // hasn't yet mounted. This happens when the inner render suspends. 28821 // We'll need to figure out if this is fine or can cause issues. 28822 { 28823 if (workInProgress.type !== workInProgress.elementType) { 28824 // Lazy component props can't be validated in createElement 28825 // because they're only guaranteed to be resolved here. 28826 var outerMemoType = workInProgress.elementType; 28827 28828 if (outerMemoType.$$typeof === REACT_LAZY_TYPE) { 28829 // We warn when you define propTypes on lazy() 28830 // so let's just skip over it to find memo() outer wrapper. 28831 // Inner props for memo are validated later. 28832 outerMemoType = refineResolvedLazyComponent(outerMemoType); 28833 } 28834 28835 var outerPropTypes = outerMemoType && outerMemoType.propTypes; 28836 28837 if (outerPropTypes) { 28838 checkPropTypes(outerPropTypes, nextProps, // Resolved (SimpleMemoComponent has no defaultProps) 28839 'prop', getComponentName(outerMemoType), getCurrentFiberStackInDev); 28840 } // Inner propTypes will be validated in the function component path. 28841 28842 } 28843 } 28844 28845 if (current !== null) { 28846 var prevProps = current.memoizedProps; 28847 28848 if (shallowEqual(prevProps, nextProps) && current.ref === workInProgress.ref && ( // Prevent bailout if the implementation changed due to hot reload. 28849 workInProgress.type === current.type )) { 28850 didReceiveUpdate = false; 28851 28852 if (updateExpirationTime < renderExpirationTime) { 28853 // The pending update priority was cleared at the beginning of 28854 // beginWork. We're about to bail out, but there might be additional 28855 // updates at a lower priority. Usually, the priority level of the 28856 // remaining updates is accumlated during the evaluation of the 28857 // component (i.e. when processing the update queue). But since since 28858 // we're bailing out early *without* evaluating the component, we need 28859 // to account for it here, too. Reset to the value of the current fiber. 28860 // NOTE: This only applies to SimpleMemoComponent, not MemoComponent, 28861 // because a MemoComponent fiber does not have hooks or an update queue; 28862 // rather, it wraps around an inner component, which may or may not 28863 // contains hooks. 28864 // TODO: Move the reset at in beginWork out of the common path so that 28865 // this is no longer necessary. 28866 workInProgress.expirationTime = current.expirationTime; 28867 return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 28868 } 28869 } 28870 } 28871 28872 return updateFunctionComponent(current, workInProgress, Component, nextProps, renderExpirationTime); 28873} 28874 28875function updateFragment(current, workInProgress, renderExpirationTime) { 28876 var nextChildren = workInProgress.pendingProps; 28877 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 28878 return workInProgress.child; 28879} 28880 28881function updateMode(current, workInProgress, renderExpirationTime) { 28882 var nextChildren = workInProgress.pendingProps.children; 28883 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 28884 return workInProgress.child; 28885} 28886 28887function updateProfiler(current, workInProgress, renderExpirationTime) { 28888 { 28889 workInProgress.effectTag |= Update; 28890 } 28891 28892 var nextProps = workInProgress.pendingProps; 28893 var nextChildren = nextProps.children; 28894 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 28895 return workInProgress.child; 28896} 28897 28898function markRef(current, workInProgress) { 28899 var ref = workInProgress.ref; 28900 28901 if (current === null && ref !== null || current !== null && current.ref !== ref) { 28902 // Schedule a Ref effect 28903 workInProgress.effectTag |= Ref; 28904 } 28905} 28906 28907function updateFunctionComponent(current, workInProgress, Component, nextProps, renderExpirationTime) { 28908 { 28909 if (workInProgress.type !== workInProgress.elementType) { 28910 // Lazy component props can't be validated in createElement 28911 // because they're only guaranteed to be resolved here. 28912 var innerPropTypes = Component.propTypes; 28913 28914 if (innerPropTypes) { 28915 checkPropTypes(innerPropTypes, nextProps, // Resolved props 28916 'prop', getComponentName(Component), getCurrentFiberStackInDev); 28917 } 28918 } 28919 } 28920 28921 var context; 28922 28923 { 28924 var unmaskedContext = getUnmaskedContext(workInProgress, Component, true); 28925 context = getMaskedContext(workInProgress, unmaskedContext); 28926 } 28927 28928 var nextChildren; 28929 prepareToReadContext(workInProgress, renderExpirationTime); 28930 28931 { 28932 ReactCurrentOwner$1.current = workInProgress; 28933 setIsRendering(true); 28934 nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderExpirationTime); 28935 28936 if ( workInProgress.mode & StrictMode) { 28937 // Only double-render components with Hooks 28938 if (workInProgress.memoizedState !== null) { 28939 nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderExpirationTime); 28940 } 28941 } 28942 28943 setIsRendering(false); 28944 } 28945 28946 if (current !== null && !didReceiveUpdate) { 28947 bailoutHooks(current, workInProgress, renderExpirationTime); 28948 return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 28949 } // React DevTools reads this flag. 28950 28951 28952 workInProgress.effectTag |= PerformedWork; 28953 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 28954 return workInProgress.child; 28955} 28956 28957function updateClassComponent(current, workInProgress, Component, nextProps, renderExpirationTime) { 28958 { 28959 if (workInProgress.type !== workInProgress.elementType) { 28960 // Lazy component props can't be validated in createElement 28961 // because they're only guaranteed to be resolved here. 28962 var innerPropTypes = Component.propTypes; 28963 28964 if (innerPropTypes) { 28965 checkPropTypes(innerPropTypes, nextProps, // Resolved props 28966 'prop', getComponentName(Component), getCurrentFiberStackInDev); 28967 } 28968 } 28969 } // Push context providers early to prevent context stack mismatches. 28970 // During mounting we don't know the child context yet as the instance doesn't exist. 28971 // We will invalidate the child context in finishClassComponent() right after rendering. 28972 28973 28974 var hasContext; 28975 28976 if (isContextProvider(Component)) { 28977 hasContext = true; 28978 pushContextProvider(workInProgress); 28979 } else { 28980 hasContext = false; 28981 } 28982 28983 prepareToReadContext(workInProgress, renderExpirationTime); 28984 var instance = workInProgress.stateNode; 28985 var shouldUpdate; 28986 28987 if (instance === null) { 28988 if (current !== null) { 28989 // A class component without an instance only mounts if it suspended 28990 // inside a non-concurrent tree, in an inconsistent state. We want to 28991 // treat it like a new mount, even though an empty version of it already 28992 // committed. Disconnect the alternate pointers. 28993 current.alternate = null; 28994 workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect 28995 28996 workInProgress.effectTag |= Placement; 28997 } // In the initial pass we might need to construct the instance. 28998 28999 29000 constructClassInstance(workInProgress, Component, nextProps); 29001 mountClassInstance(workInProgress, Component, nextProps, renderExpirationTime); 29002 shouldUpdate = true; 29003 } else if (current === null) { 29004 // In a resume, we'll already have an instance we can reuse. 29005 shouldUpdate = resumeMountClassInstance(workInProgress, Component, nextProps, renderExpirationTime); 29006 } else { 29007 shouldUpdate = updateClassInstance(current, workInProgress, Component, nextProps, renderExpirationTime); 29008 } 29009 29010 var nextUnitOfWork = finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderExpirationTime); 29011 29012 { 29013 var inst = workInProgress.stateNode; 29014 29015 if (inst.props !== nextProps) { 29016 if (!didWarnAboutReassigningProps) { 29017 error('It looks like %s is reassigning its own `this.props` while rendering. ' + 'This is not supported and can lead to confusing bugs.', getComponentName(workInProgress.type) || 'a component'); 29018 } 29019 29020 didWarnAboutReassigningProps = true; 29021 } 29022 } 29023 29024 return nextUnitOfWork; 29025} 29026 29027function finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderExpirationTime) { 29028 // Refs should update even if shouldComponentUpdate returns false 29029 markRef(current, workInProgress); 29030 var didCaptureError = (workInProgress.effectTag & DidCapture) !== NoEffect; 29031 29032 if (!shouldUpdate && !didCaptureError) { 29033 // Context providers should defer to sCU for rendering 29034 if (hasContext) { 29035 invalidateContextProvider(workInProgress, Component, false); 29036 } 29037 29038 return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 29039 } 29040 29041 var instance = workInProgress.stateNode; // Rerender 29042 29043 ReactCurrentOwner$1.current = workInProgress; 29044 var nextChildren; 29045 29046 if (didCaptureError && typeof Component.getDerivedStateFromError !== 'function') { 29047 // If we captured an error, but getDerivedStateFromError is not defined, 29048 // unmount all the children. componentDidCatch will schedule an update to 29049 // re-render a fallback. This is temporary until we migrate everyone to 29050 // the new API. 29051 // TODO: Warn in a future release. 29052 nextChildren = null; 29053 29054 { 29055 stopProfilerTimerIfRunning(); 29056 } 29057 } else { 29058 { 29059 setIsRendering(true); 29060 nextChildren = instance.render(); 29061 29062 if ( workInProgress.mode & StrictMode) { 29063 instance.render(); 29064 } 29065 29066 setIsRendering(false); 29067 } 29068 } // React DevTools reads this flag. 29069 29070 29071 workInProgress.effectTag |= PerformedWork; 29072 29073 if (current !== null && didCaptureError) { 29074 // If we're recovering from an error, reconcile without reusing any of 29075 // the existing children. Conceptually, the normal children and the children 29076 // that are shown on error are two different sets, so we shouldn't reuse 29077 // normal children even if their identities match. 29078 forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderExpirationTime); 29079 } else { 29080 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 29081 } // Memoize state using the values we just used to render. 29082 // TODO: Restructure so we never read values from the instance. 29083 29084 29085 workInProgress.memoizedState = instance.state; // The context might have changed so we need to recalculate it. 29086 29087 if (hasContext) { 29088 invalidateContextProvider(workInProgress, Component, true); 29089 } 29090 29091 return workInProgress.child; 29092} 29093 29094function pushHostRootContext(workInProgress) { 29095 var root = workInProgress.stateNode; 29096 29097 if (root.pendingContext) { 29098 pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context); 29099 } else if (root.context) { 29100 // Should always be set 29101 pushTopLevelContextObject(workInProgress, root.context, false); 29102 } 29103 29104 pushHostContainer(workInProgress, root.containerInfo); 29105} 29106 29107function updateHostRoot(current, workInProgress, renderExpirationTime) { 29108 pushHostRootContext(workInProgress); 29109 var updateQueue = workInProgress.updateQueue; 29110 29111 if (!(current !== null && updateQueue !== null)) { 29112 { 29113 throw Error( "If the root does not have an updateQueue, we should have already bailed out. This error is likely caused by a bug in React. Please file an issue." ); 29114 } 29115 } 29116 29117 var nextProps = workInProgress.pendingProps; 29118 var prevState = workInProgress.memoizedState; 29119 var prevChildren = prevState !== null ? prevState.element : null; 29120 cloneUpdateQueue(current, workInProgress); 29121 processUpdateQueue(workInProgress, nextProps, null, renderExpirationTime); 29122 var nextState = workInProgress.memoizedState; // Caution: React DevTools currently depends on this property 29123 // being called "element". 29124 29125 var nextChildren = nextState.element; 29126 29127 if (nextChildren === prevChildren) { 29128 // If the state is the same as before, that's a bailout because we had 29129 // no work that expires at this time. 29130 resetHydrationState(); 29131 return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 29132 } 29133 29134 var root = workInProgress.stateNode; 29135 29136 if (root.hydrate && enterHydrationState(workInProgress)) { 29137 // If we don't have any current children this might be the first pass. 29138 // We always try to hydrate. If this isn't a hydration pass there won't 29139 // be any children to hydrate which is effectively the same thing as 29140 // not hydrating. 29141 var child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime); 29142 workInProgress.child = child; 29143 var node = child; 29144 29145 while (node) { 29146 // Mark each child as hydrating. This is a fast path to know whether this 29147 // tree is part of a hydrating tree. This is used to determine if a child 29148 // node has fully mounted yet, and for scheduling event replaying. 29149 // Conceptually this is similar to Placement in that a new subtree is 29150 // inserted into the React tree here. It just happens to not need DOM 29151 // mutations because it already exists. 29152 node.effectTag = node.effectTag & ~Placement | Hydrating; 29153 node = node.sibling; 29154 } 29155 } else { 29156 // Otherwise reset hydration state in case we aborted and resumed another 29157 // root. 29158 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 29159 resetHydrationState(); 29160 } 29161 29162 return workInProgress.child; 29163} 29164 29165function updateHostComponent(current, workInProgress, renderExpirationTime) { 29166 pushHostContext(workInProgress); 29167 29168 if (current === null) { 29169 tryToClaimNextHydratableInstance(workInProgress); 29170 } 29171 29172 var type = workInProgress.type; 29173 var nextProps = workInProgress.pendingProps; 29174 var prevProps = current !== null ? current.memoizedProps : null; 29175 var nextChildren = nextProps.children; 29176 var isDirectTextChild = shouldSetTextContent(type, nextProps); 29177 29178 if (isDirectTextChild) { 29179 // We special case a direct text child of a host node. This is a common 29180 // case. We won't handle it as a reified child. We will instead handle 29181 // this in the host environment that also has access to this prop. That 29182 // avoids allocating another HostText fiber and traversing it. 29183 nextChildren = null; 29184 } else if (prevProps !== null && shouldSetTextContent(type, prevProps)) { 29185 // If we're switching from a direct text child to a normal child, or to 29186 // empty, we need to schedule the text content to be reset. 29187 workInProgress.effectTag |= ContentReset; 29188 } 29189 29190 markRef(current, workInProgress); // Check the host config to see if the children are offscreen/hidden. 29191 29192 if (workInProgress.mode & ConcurrentMode && renderExpirationTime !== Never && shouldDeprioritizeSubtree(type, nextProps)) { 29193 { 29194 markSpawnedWork(Never); 29195 } // Schedule this fiber to re-render at offscreen priority. Then bailout. 29196 29197 29198 workInProgress.expirationTime = workInProgress.childExpirationTime = Never; 29199 return null; 29200 } 29201 29202 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 29203 return workInProgress.child; 29204} 29205 29206function updateHostText(current, workInProgress) { 29207 if (current === null) { 29208 tryToClaimNextHydratableInstance(workInProgress); 29209 } // Nothing to do here. This is terminal. We'll do the completion step 29210 // immediately after. 29211 29212 29213 return null; 29214} 29215 29216function mountLazyComponent(_current, workInProgress, elementType, updateExpirationTime, renderExpirationTime) { 29217 if (_current !== null) { 29218 // A lazy component only mounts if it suspended inside a non- 29219 // concurrent tree, in an inconsistent state. We want to treat it like 29220 // a new mount, even though an empty version of it already committed. 29221 // Disconnect the alternate pointers. 29222 _current.alternate = null; 29223 workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect 29224 29225 workInProgress.effectTag |= Placement; 29226 } 29227 29228 var props = workInProgress.pendingProps; // We can't start a User Timing measurement with correct label yet. 29229 // Cancel and resume right after we know the tag. 29230 29231 cancelWorkTimer(workInProgress); 29232 var Component = readLazyComponentType(elementType); // Store the unwrapped component in the type. 29233 29234 workInProgress.type = Component; 29235 var resolvedTag = workInProgress.tag = resolveLazyComponentTag(Component); 29236 startWorkTimer(workInProgress); 29237 var resolvedProps = resolveDefaultProps(Component, props); 29238 var child; 29239 29240 switch (resolvedTag) { 29241 case FunctionComponent: 29242 { 29243 { 29244 validateFunctionComponentInDev(workInProgress, Component); 29245 workInProgress.type = Component = resolveFunctionForHotReloading(Component); 29246 } 29247 29248 child = updateFunctionComponent(null, workInProgress, Component, resolvedProps, renderExpirationTime); 29249 return child; 29250 } 29251 29252 case ClassComponent: 29253 { 29254 { 29255 workInProgress.type = Component = resolveClassForHotReloading(Component); 29256 } 29257 29258 child = updateClassComponent(null, workInProgress, Component, resolvedProps, renderExpirationTime); 29259 return child; 29260 } 29261 29262 case ForwardRef: 29263 { 29264 { 29265 workInProgress.type = Component = resolveForwardRefForHotReloading(Component); 29266 } 29267 29268 child = updateForwardRef(null, workInProgress, Component, resolvedProps, renderExpirationTime); 29269 return child; 29270 } 29271 29272 case MemoComponent: 29273 { 29274 { 29275 if (workInProgress.type !== workInProgress.elementType) { 29276 var outerPropTypes = Component.propTypes; 29277 29278 if (outerPropTypes) { 29279 checkPropTypes(outerPropTypes, resolvedProps, // Resolved for outer only 29280 'prop', getComponentName(Component), getCurrentFiberStackInDev); 29281 } 29282 } 29283 } 29284 29285 child = updateMemoComponent(null, workInProgress, Component, resolveDefaultProps(Component.type, resolvedProps), // The inner type can have defaults too 29286 updateExpirationTime, renderExpirationTime); 29287 return child; 29288 } 29289 } 29290 29291 var hint = ''; 29292 29293 { 29294 if (Component !== null && typeof Component === 'object' && Component.$$typeof === REACT_LAZY_TYPE) { 29295 hint = ' Did you wrap a component in React.lazy() more than once?'; 29296 } 29297 } // This message intentionally doesn't mention ForwardRef or MemoComponent 29298 // because the fact that it's a separate type of work is an 29299 // implementation detail. 29300 29301 29302 { 29303 { 29304 throw Error( "Element type is invalid. Received a promise that resolves to: " + Component + ". Lazy element type must resolve to a class or function." + hint ); 29305 } 29306 } 29307} 29308 29309function mountIncompleteClassComponent(_current, workInProgress, Component, nextProps, renderExpirationTime) { 29310 if (_current !== null) { 29311 // An incomplete component only mounts if it suspended inside a non- 29312 // concurrent tree, in an inconsistent state. We want to treat it like 29313 // a new mount, even though an empty version of it already committed. 29314 // Disconnect the alternate pointers. 29315 _current.alternate = null; 29316 workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect 29317 29318 workInProgress.effectTag |= Placement; 29319 } // Promote the fiber to a class and try rendering again. 29320 29321 29322 workInProgress.tag = ClassComponent; // The rest of this function is a fork of `updateClassComponent` 29323 // Push context providers early to prevent context stack mismatches. 29324 // During mounting we don't know the child context yet as the instance doesn't exist. 29325 // We will invalidate the child context in finishClassComponent() right after rendering. 29326 29327 var hasContext; 29328 29329 if (isContextProvider(Component)) { 29330 hasContext = true; 29331 pushContextProvider(workInProgress); 29332 } else { 29333 hasContext = false; 29334 } 29335 29336 prepareToReadContext(workInProgress, renderExpirationTime); 29337 constructClassInstance(workInProgress, Component, nextProps); 29338 mountClassInstance(workInProgress, Component, nextProps, renderExpirationTime); 29339 return finishClassComponent(null, workInProgress, Component, true, hasContext, renderExpirationTime); 29340} 29341 29342function mountIndeterminateComponent(_current, workInProgress, Component, renderExpirationTime) { 29343 if (_current !== null) { 29344 // An indeterminate component only mounts if it suspended inside a non- 29345 // concurrent tree, in an inconsistent state. We want to treat it like 29346 // a new mount, even though an empty version of it already committed. 29347 // Disconnect the alternate pointers. 29348 _current.alternate = null; 29349 workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect 29350 29351 workInProgress.effectTag |= Placement; 29352 } 29353 29354 var props = workInProgress.pendingProps; 29355 var context; 29356 29357 { 29358 var unmaskedContext = getUnmaskedContext(workInProgress, Component, false); 29359 context = getMaskedContext(workInProgress, unmaskedContext); 29360 } 29361 29362 prepareToReadContext(workInProgress, renderExpirationTime); 29363 var value; 29364 29365 { 29366 if (Component.prototype && typeof Component.prototype.render === 'function') { 29367 var componentName = getComponentName(Component) || 'Unknown'; 29368 29369 if (!didWarnAboutBadClass[componentName]) { 29370 error("The <%s /> component appears to have a render method, but doesn't extend React.Component. " + 'This is likely to cause errors. Change %s to extend React.Component instead.', componentName, componentName); 29371 29372 didWarnAboutBadClass[componentName] = true; 29373 } 29374 } 29375 29376 if (workInProgress.mode & StrictMode) { 29377 ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, null); 29378 } 29379 29380 setIsRendering(true); 29381 ReactCurrentOwner$1.current = workInProgress; 29382 value = renderWithHooks(null, workInProgress, Component, props, context, renderExpirationTime); 29383 setIsRendering(false); 29384 } // React DevTools reads this flag. 29385 29386 29387 workInProgress.effectTag |= PerformedWork; 29388 29389 if (typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) { 29390 { 29391 var _componentName = getComponentName(Component) || 'Unknown'; 29392 29393 if (!didWarnAboutModulePatternComponent[_componentName]) { 29394 error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + "If you can't use a class try assigning the prototype on the function as a workaround. " + "`%s.prototype = React.Component.prototype`. Don't use an arrow function since it " + 'cannot be called with `new` by React.', _componentName, _componentName, _componentName); 29395 29396 didWarnAboutModulePatternComponent[_componentName] = true; 29397 } 29398 } // Proceed under the assumption that this is a class instance 29399 29400 29401 workInProgress.tag = ClassComponent; // Throw out any hooks that were used. 29402 29403 workInProgress.memoizedState = null; 29404 workInProgress.updateQueue = null; // Push context providers early to prevent context stack mismatches. 29405 // During mounting we don't know the child context yet as the instance doesn't exist. 29406 // We will invalidate the child context in finishClassComponent() right after rendering. 29407 29408 var hasContext = false; 29409 29410 if (isContextProvider(Component)) { 29411 hasContext = true; 29412 pushContextProvider(workInProgress); 29413 } else { 29414 hasContext = false; 29415 } 29416 29417 workInProgress.memoizedState = value.state !== null && value.state !== undefined ? value.state : null; 29418 initializeUpdateQueue(workInProgress); 29419 var getDerivedStateFromProps = Component.getDerivedStateFromProps; 29420 29421 if (typeof getDerivedStateFromProps === 'function') { 29422 applyDerivedStateFromProps(workInProgress, Component, getDerivedStateFromProps, props); 29423 } 29424 29425 adoptClassInstance(workInProgress, value); 29426 mountClassInstance(workInProgress, Component, props, renderExpirationTime); 29427 return finishClassComponent(null, workInProgress, Component, true, hasContext, renderExpirationTime); 29428 } else { 29429 // Proceed under the assumption that this is a function component 29430 workInProgress.tag = FunctionComponent; 29431 29432 { 29433 29434 if ( workInProgress.mode & StrictMode) { 29435 // Only double-render components with Hooks 29436 if (workInProgress.memoizedState !== null) { 29437 value = renderWithHooks(null, workInProgress, Component, props, context, renderExpirationTime); 29438 } 29439 } 29440 } 29441 29442 reconcileChildren(null, workInProgress, value, renderExpirationTime); 29443 29444 { 29445 validateFunctionComponentInDev(workInProgress, Component); 29446 } 29447 29448 return workInProgress.child; 29449 } 29450} 29451 29452function validateFunctionComponentInDev(workInProgress, Component) { 29453 { 29454 if (Component) { 29455 if (Component.childContextTypes) { 29456 error('%s(...): childContextTypes cannot be defined on a function component.', Component.displayName || Component.name || 'Component'); 29457 } 29458 } 29459 29460 if (workInProgress.ref !== null) { 29461 var info = ''; 29462 var ownerName = getCurrentFiberOwnerNameInDevOrNull(); 29463 29464 if (ownerName) { 29465 info += '\n\nCheck the render method of `' + ownerName + '`.'; 29466 } 29467 29468 var warningKey = ownerName || workInProgress._debugID || ''; 29469 var debugSource = workInProgress._debugSource; 29470 29471 if (debugSource) { 29472 warningKey = debugSource.fileName + ':' + debugSource.lineNumber; 29473 } 29474 29475 if (!didWarnAboutFunctionRefs[warningKey]) { 29476 didWarnAboutFunctionRefs[warningKey] = true; 29477 29478 error('Function components cannot be given refs. ' + 'Attempts to access this ref will fail. ' + 'Did you mean to use React.forwardRef()?%s', info); 29479 } 29480 } 29481 29482 if (typeof Component.getDerivedStateFromProps === 'function') { 29483 var _componentName2 = getComponentName(Component) || 'Unknown'; 29484 29485 if (!didWarnAboutGetDerivedStateOnFunctionComponent[_componentName2]) { 29486 error('%s: Function components do not support getDerivedStateFromProps.', _componentName2); 29487 29488 didWarnAboutGetDerivedStateOnFunctionComponent[_componentName2] = true; 29489 } 29490 } 29491 29492 if (typeof Component.contextType === 'object' && Component.contextType !== null) { 29493 var _componentName3 = getComponentName(Component) || 'Unknown'; 29494 29495 if (!didWarnAboutContextTypeOnFunctionComponent[_componentName3]) { 29496 error('%s: Function components do not support contextType.', _componentName3); 29497 29498 didWarnAboutContextTypeOnFunctionComponent[_componentName3] = true; 29499 } 29500 } 29501 } 29502} 29503 29504var SUSPENDED_MARKER = { 29505 dehydrated: null, 29506 retryTime: NoWork 29507}; 29508 29509function shouldRemainOnFallback(suspenseContext, current, workInProgress) { 29510 // If the context is telling us that we should show a fallback, and we're not 29511 // already showing content, then we should show the fallback instead. 29512 return hasSuspenseContext(suspenseContext, ForceSuspenseFallback) && (current === null || current.memoizedState !== null); 29513} 29514 29515function updateSuspenseComponent(current, workInProgress, renderExpirationTime) { 29516 var mode = workInProgress.mode; 29517 var nextProps = workInProgress.pendingProps; // This is used by DevTools to force a boundary to suspend. 29518 29519 { 29520 if (shouldSuspend(workInProgress)) { 29521 workInProgress.effectTag |= DidCapture; 29522 } 29523 } 29524 29525 var suspenseContext = suspenseStackCursor.current; 29526 var nextDidTimeout = false; 29527 var didSuspend = (workInProgress.effectTag & DidCapture) !== NoEffect; 29528 29529 if (didSuspend || shouldRemainOnFallback(suspenseContext, current)) { 29530 // Something in this boundary's subtree already suspended. Switch to 29531 // rendering the fallback children. 29532 nextDidTimeout = true; 29533 workInProgress.effectTag &= ~DidCapture; 29534 } else { 29535 // Attempting the main content 29536 if (current === null || current.memoizedState !== null) { 29537 // This is a new mount or this boundary is already showing a fallback state. 29538 // Mark this subtree context as having at least one invisible parent that could 29539 // handle the fallback state. 29540 // Boundaries without fallbacks or should be avoided are not considered since 29541 // they cannot handle preferred fallback states. 29542 if (nextProps.fallback !== undefined && nextProps.unstable_avoidThisFallback !== true) { 29543 suspenseContext = addSubtreeSuspenseContext(suspenseContext, InvisibleParentSuspenseContext); 29544 } 29545 } 29546 } 29547 29548 suspenseContext = setDefaultShallowSuspenseContext(suspenseContext); 29549 pushSuspenseContext(workInProgress, suspenseContext); // This next part is a bit confusing. If the children timeout, we switch to 29550 // showing the fallback children in place of the "primary" children. 29551 // However, we don't want to delete the primary children because then their 29552 // state will be lost (both the React state and the host state, e.g. 29553 // uncontrolled form inputs). Instead we keep them mounted and hide them. 29554 // Both the fallback children AND the primary children are rendered at the 29555 // same time. Once the primary children are un-suspended, we can delete 29556 // the fallback children â don't need to preserve their state. 29557 // 29558 // The two sets of children are siblings in the host environment, but 29559 // semantically, for purposes of reconciliation, they are two separate sets. 29560 // So we store them using two fragment fibers. 29561 // 29562 // However, we want to avoid allocating extra fibers for every placeholder. 29563 // They're only necessary when the children time out, because that's the 29564 // only time when both sets are mounted. 29565 // 29566 // So, the extra fragment fibers are only used if the children time out. 29567 // Otherwise, we render the primary children directly. This requires some 29568 // custom reconciliation logic to preserve the state of the primary 29569 // children. It's essentially a very basic form of re-parenting. 29570 29571 if (current === null) { 29572 // If we're currently hydrating, try to hydrate this boundary. 29573 // But only if this has a fallback. 29574 if (nextProps.fallback !== undefined) { 29575 tryToClaimNextHydratableInstance(workInProgress); // This could've been a dehydrated suspense component. 29576 } // This is the initial mount. This branch is pretty simple because there's 29577 // no previous state that needs to be preserved. 29578 29579 29580 if (nextDidTimeout) { 29581 // Mount separate fragments for primary and fallback children. 29582 var nextFallbackChildren = nextProps.fallback; 29583 var primaryChildFragment = createFiberFromFragment(null, mode, NoWork, null); 29584 primaryChildFragment.return = workInProgress; 29585 29586 if ((workInProgress.mode & BlockingMode) === NoMode) { 29587 // Outside of blocking mode, we commit the effects from the 29588 // partially completed, timed-out tree, too. 29589 var progressedState = workInProgress.memoizedState; 29590 var progressedPrimaryChild = progressedState !== null ? workInProgress.child.child : workInProgress.child; 29591 primaryChildFragment.child = progressedPrimaryChild; 29592 var progressedChild = progressedPrimaryChild; 29593 29594 while (progressedChild !== null) { 29595 progressedChild.return = primaryChildFragment; 29596 progressedChild = progressedChild.sibling; 29597 } 29598 } 29599 29600 var fallbackChildFragment = createFiberFromFragment(nextFallbackChildren, mode, renderExpirationTime, null); 29601 fallbackChildFragment.return = workInProgress; 29602 primaryChildFragment.sibling = fallbackChildFragment; // Skip the primary children, and continue working on the 29603 // fallback children. 29604 29605 workInProgress.memoizedState = SUSPENDED_MARKER; 29606 workInProgress.child = primaryChildFragment; 29607 return fallbackChildFragment; 29608 } else { 29609 // Mount the primary children without an intermediate fragment fiber. 29610 var nextPrimaryChildren = nextProps.children; 29611 workInProgress.memoizedState = null; 29612 return workInProgress.child = mountChildFibers(workInProgress, null, nextPrimaryChildren, renderExpirationTime); 29613 } 29614 } else { 29615 // This is an update. This branch is more complicated because we need to 29616 // ensure the state of the primary children is preserved. 29617 var prevState = current.memoizedState; 29618 29619 if (prevState !== null) { 29620 // wrapped in a fragment fiber. 29621 29622 29623 var currentPrimaryChildFragment = current.child; 29624 var currentFallbackChildFragment = currentPrimaryChildFragment.sibling; 29625 29626 if (nextDidTimeout) { 29627 // Still timed out. Reuse the current primary children by cloning 29628 // its fragment. We're going to skip over these entirely. 29629 var _nextFallbackChildren2 = nextProps.fallback; 29630 29631 var _primaryChildFragment2 = createWorkInProgress(currentPrimaryChildFragment, currentPrimaryChildFragment.pendingProps); 29632 29633 _primaryChildFragment2.return = workInProgress; 29634 29635 if ((workInProgress.mode & BlockingMode) === NoMode) { 29636 // Outside of blocking mode, we commit the effects from the 29637 // partially completed, timed-out tree, too. 29638 var _progressedState = workInProgress.memoizedState; 29639 29640 var _progressedPrimaryChild = _progressedState !== null ? workInProgress.child.child : workInProgress.child; 29641 29642 if (_progressedPrimaryChild !== currentPrimaryChildFragment.child) { 29643 _primaryChildFragment2.child = _progressedPrimaryChild; 29644 var _progressedChild2 = _progressedPrimaryChild; 29645 29646 while (_progressedChild2 !== null) { 29647 _progressedChild2.return = _primaryChildFragment2; 29648 _progressedChild2 = _progressedChild2.sibling; 29649 } 29650 } 29651 } // Because primaryChildFragment is a new fiber that we're inserting as the 29652 // parent of a new tree, we need to set its treeBaseDuration. 29653 29654 29655 if ( workInProgress.mode & ProfileMode) { 29656 // treeBaseDuration is the sum of all the child tree base durations. 29657 var _treeBaseDuration = 0; 29658 var _hiddenChild = _primaryChildFragment2.child; 29659 29660 while (_hiddenChild !== null) { 29661 _treeBaseDuration += _hiddenChild.treeBaseDuration; 29662 _hiddenChild = _hiddenChild.sibling; 29663 } 29664 29665 _primaryChildFragment2.treeBaseDuration = _treeBaseDuration; 29666 } // Clone the fallback child fragment, too. These we'll continue 29667 // working on. 29668 29669 29670 var _fallbackChildFragment2 = createWorkInProgress(currentFallbackChildFragment, _nextFallbackChildren2); 29671 29672 _fallbackChildFragment2.return = workInProgress; 29673 _primaryChildFragment2.sibling = _fallbackChildFragment2; 29674 _primaryChildFragment2.childExpirationTime = NoWork; // Skip the primary children, and continue working on the 29675 // fallback children. 29676 29677 workInProgress.memoizedState = SUSPENDED_MARKER; 29678 workInProgress.child = _primaryChildFragment2; 29679 return _fallbackChildFragment2; 29680 } else { 29681 // No longer suspended. Switch back to showing the primary children, 29682 // and remove the intermediate fragment fiber. 29683 var _nextPrimaryChildren = nextProps.children; 29684 var currentPrimaryChild = currentPrimaryChildFragment.child; 29685 var primaryChild = reconcileChildFibers(workInProgress, currentPrimaryChild, _nextPrimaryChildren, renderExpirationTime); // If this render doesn't suspend, we need to delete the fallback 29686 // children. Wait until the complete phase, after we've confirmed the 29687 // fallback is no longer needed. 29688 // TODO: Would it be better to store the fallback fragment on 29689 // the stateNode? 29690 // Continue rendering the children, like we normally do. 29691 29692 workInProgress.memoizedState = null; 29693 return workInProgress.child = primaryChild; 29694 } 29695 } else { 29696 // The current tree has not already timed out. That means the primary 29697 // children are not wrapped in a fragment fiber. 29698 var _currentPrimaryChild = current.child; 29699 29700 if (nextDidTimeout) { 29701 // Timed out. Wrap the children in a fragment fiber to keep them 29702 // separate from the fallback children. 29703 var _nextFallbackChildren3 = nextProps.fallback; 29704 29705 var _primaryChildFragment3 = createFiberFromFragment( // It shouldn't matter what the pending props are because we aren't 29706 // going to render this fragment. 29707 null, mode, NoWork, null); 29708 29709 _primaryChildFragment3.return = workInProgress; 29710 _primaryChildFragment3.child = _currentPrimaryChild; 29711 29712 if (_currentPrimaryChild !== null) { 29713 _currentPrimaryChild.return = _primaryChildFragment3; 29714 } // Even though we're creating a new fiber, there are no new children, 29715 // because we're reusing an already mounted tree. So we don't need to 29716 // schedule a placement. 29717 // primaryChildFragment.effectTag |= Placement; 29718 29719 29720 if ((workInProgress.mode & BlockingMode) === NoMode) { 29721 // Outside of blocking mode, we commit the effects from the 29722 // partially completed, timed-out tree, too. 29723 var _progressedState2 = workInProgress.memoizedState; 29724 29725 var _progressedPrimaryChild2 = _progressedState2 !== null ? workInProgress.child.child : workInProgress.child; 29726 29727 _primaryChildFragment3.child = _progressedPrimaryChild2; 29728 var _progressedChild3 = _progressedPrimaryChild2; 29729 29730 while (_progressedChild3 !== null) { 29731 _progressedChild3.return = _primaryChildFragment3; 29732 _progressedChild3 = _progressedChild3.sibling; 29733 } 29734 } // Because primaryChildFragment is a new fiber that we're inserting as the 29735 // parent of a new tree, we need to set its treeBaseDuration. 29736 29737 29738 if ( workInProgress.mode & ProfileMode) { 29739 // treeBaseDuration is the sum of all the child tree base durations. 29740 var _treeBaseDuration2 = 0; 29741 var _hiddenChild2 = _primaryChildFragment3.child; 29742 29743 while (_hiddenChild2 !== null) { 29744 _treeBaseDuration2 += _hiddenChild2.treeBaseDuration; 29745 _hiddenChild2 = _hiddenChild2.sibling; 29746 } 29747 29748 _primaryChildFragment3.treeBaseDuration = _treeBaseDuration2; 29749 } // Create a fragment from the fallback children, too. 29750 29751 29752 var _fallbackChildFragment3 = createFiberFromFragment(_nextFallbackChildren3, mode, renderExpirationTime, null); 29753 29754 _fallbackChildFragment3.return = workInProgress; 29755 _primaryChildFragment3.sibling = _fallbackChildFragment3; 29756 _fallbackChildFragment3.effectTag |= Placement; 29757 _primaryChildFragment3.childExpirationTime = NoWork; // Skip the primary children, and continue working on the 29758 // fallback children. 29759 29760 workInProgress.memoizedState = SUSPENDED_MARKER; 29761 workInProgress.child = _primaryChildFragment3; 29762 return _fallbackChildFragment3; 29763 } else { 29764 // Still haven't timed out. Continue rendering the children, like we 29765 // normally do. 29766 workInProgress.memoizedState = null; 29767 var _nextPrimaryChildren2 = nextProps.children; 29768 return workInProgress.child = reconcileChildFibers(workInProgress, _currentPrimaryChild, _nextPrimaryChildren2, renderExpirationTime); 29769 } 29770 } 29771 } 29772} 29773 29774function scheduleWorkOnFiber(fiber, renderExpirationTime) { 29775 if (fiber.expirationTime < renderExpirationTime) { 29776 fiber.expirationTime = renderExpirationTime; 29777 } 29778 29779 var alternate = fiber.alternate; 29780 29781 if (alternate !== null && alternate.expirationTime < renderExpirationTime) { 29782 alternate.expirationTime = renderExpirationTime; 29783 } 29784 29785 scheduleWorkOnParentPath(fiber.return, renderExpirationTime); 29786} 29787 29788function propagateSuspenseContextChange(workInProgress, firstChild, renderExpirationTime) { 29789 // Mark any Suspense boundaries with fallbacks as having work to do. 29790 // If they were previously forced into fallbacks, they may now be able 29791 // to unblock. 29792 var node = firstChild; 29793 29794 while (node !== null) { 29795 if (node.tag === SuspenseComponent) { 29796 var state = node.memoizedState; 29797 29798 if (state !== null) { 29799 scheduleWorkOnFiber(node, renderExpirationTime); 29800 } 29801 } else if (node.tag === SuspenseListComponent) { 29802 // If the tail is hidden there might not be an Suspense boundaries 29803 // to schedule work on. In this case we have to schedule it on the 29804 // list itself. 29805 // We don't have to traverse to the children of the list since 29806 // the list will propagate the change when it rerenders. 29807 scheduleWorkOnFiber(node, renderExpirationTime); 29808 } else if (node.child !== null) { 29809 node.child.return = node; 29810 node = node.child; 29811 continue; 29812 } 29813 29814 if (node === workInProgress) { 29815 return; 29816 } 29817 29818 while (node.sibling === null) { 29819 if (node.return === null || node.return === workInProgress) { 29820 return; 29821 } 29822 29823 node = node.return; 29824 } 29825 29826 node.sibling.return = node.return; 29827 node = node.sibling; 29828 } 29829} 29830 29831function findLastContentRow(firstChild) { 29832 // This is going to find the last row among these children that is already 29833 // showing content on the screen, as opposed to being in fallback state or 29834 // new. If a row has multiple Suspense boundaries, any of them being in the 29835 // fallback state, counts as the whole row being in a fallback state. 29836 // Note that the "rows" will be workInProgress, but any nested children 29837 // will still be current since we haven't rendered them yet. The mounted 29838 // order may not be the same as the new order. We use the new order. 29839 var row = firstChild; 29840 var lastContentRow = null; 29841 29842 while (row !== null) { 29843 var currentRow = row.alternate; // New rows can't be content rows. 29844 29845 if (currentRow !== null && findFirstSuspended(currentRow) === null) { 29846 lastContentRow = row; 29847 } 29848 29849 row = row.sibling; 29850 } 29851 29852 return lastContentRow; 29853} 29854 29855function validateRevealOrder(revealOrder) { 29856 { 29857 if (revealOrder !== undefined && revealOrder !== 'forwards' && revealOrder !== 'backwards' && revealOrder !== 'together' && !didWarnAboutRevealOrder[revealOrder]) { 29858 didWarnAboutRevealOrder[revealOrder] = true; 29859 29860 if (typeof revealOrder === 'string') { 29861 switch (revealOrder.toLowerCase()) { 29862 case 'together': 29863 case 'forwards': 29864 case 'backwards': 29865 { 29866 error('"%s" is not a valid value for revealOrder on <SuspenseList />. ' + 'Use lowercase "%s" instead.', revealOrder, revealOrder.toLowerCase()); 29867 29868 break; 29869 } 29870 29871 case 'forward': 29872 case 'backward': 29873 { 29874 error('"%s" is not a valid value for revealOrder on <SuspenseList />. ' + 'React uses the -s suffix in the spelling. Use "%ss" instead.', revealOrder, revealOrder.toLowerCase()); 29875 29876 break; 29877 } 29878 29879 default: 29880 error('"%s" is not a supported revealOrder on <SuspenseList />. ' + 'Did you mean "together", "forwards" or "backwards"?', revealOrder); 29881 29882 break; 29883 } 29884 } else { 29885 error('%s is not a supported value for revealOrder on <SuspenseList />. ' + 'Did you mean "together", "forwards" or "backwards"?', revealOrder); 29886 } 29887 } 29888 } 29889} 29890 29891function validateTailOptions(tailMode, revealOrder) { 29892 { 29893 if (tailMode !== undefined && !didWarnAboutTailOptions[tailMode]) { 29894 if (tailMode !== 'collapsed' && tailMode !== 'hidden') { 29895 didWarnAboutTailOptions[tailMode] = true; 29896 29897 error('"%s" is not a supported value for tail on <SuspenseList />. ' + 'Did you mean "collapsed" or "hidden"?', tailMode); 29898 } else if (revealOrder !== 'forwards' && revealOrder !== 'backwards') { 29899 didWarnAboutTailOptions[tailMode] = true; 29900 29901 error('<SuspenseList tail="%s" /> is only valid if revealOrder is ' + '"forwards" or "backwards". ' + 'Did you mean to specify revealOrder="forwards"?', tailMode); 29902 } 29903 } 29904 } 29905} 29906 29907function validateSuspenseListNestedChild(childSlot, index) { 29908 { 29909 var isArray = Array.isArray(childSlot); 29910 var isIterable = !isArray && typeof getIteratorFn(childSlot) === 'function'; 29911 29912 if (isArray || isIterable) { 29913 var type = isArray ? 'array' : 'iterable'; 29914 29915 error('A nested %s was passed to row #%s in <SuspenseList />. Wrap it in ' + 'an additional SuspenseList to configure its revealOrder: ' + '<SuspenseList revealOrder=...> ... ' + '<SuspenseList revealOrder=...>{%s}</SuspenseList> ... ' + '</SuspenseList>', type, index, type); 29916 29917 return false; 29918 } 29919 } 29920 29921 return true; 29922} 29923 29924function validateSuspenseListChildren(children, revealOrder) { 29925 { 29926 if ((revealOrder === 'forwards' || revealOrder === 'backwards') && children !== undefined && children !== null && children !== false) { 29927 if (Array.isArray(children)) { 29928 for (var i = 0; i < children.length; i++) { 29929 if (!validateSuspenseListNestedChild(children[i], i)) { 29930 return; 29931 } 29932 } 29933 } else { 29934 var iteratorFn = getIteratorFn(children); 29935 29936 if (typeof iteratorFn === 'function') { 29937 var childrenIterator = iteratorFn.call(children); 29938 29939 if (childrenIterator) { 29940 var step = childrenIterator.next(); 29941 var _i = 0; 29942 29943 for (; !step.done; step = childrenIterator.next()) { 29944 if (!validateSuspenseListNestedChild(step.value, _i)) { 29945 return; 29946 } 29947 29948 _i++; 29949 } 29950 } 29951 } else { 29952 error('A single row was passed to a <SuspenseList revealOrder="%s" />. ' + 'This is not useful since it needs multiple rows. ' + 'Did you mean to pass multiple children or an array?', revealOrder); 29953 } 29954 } 29955 } 29956 } 29957} 29958 29959function initSuspenseListRenderState(workInProgress, isBackwards, tail, lastContentRow, tailMode, lastEffectBeforeRendering) { 29960 var renderState = workInProgress.memoizedState; 29961 29962 if (renderState === null) { 29963 workInProgress.memoizedState = { 29964 isBackwards: isBackwards, 29965 rendering: null, 29966 renderingStartTime: 0, 29967 last: lastContentRow, 29968 tail: tail, 29969 tailExpiration: 0, 29970 tailMode: tailMode, 29971 lastEffect: lastEffectBeforeRendering 29972 }; 29973 } else { 29974 // We can reuse the existing object from previous renders. 29975 renderState.isBackwards = isBackwards; 29976 renderState.rendering = null; 29977 renderState.renderingStartTime = 0; 29978 renderState.last = lastContentRow; 29979 renderState.tail = tail; 29980 renderState.tailExpiration = 0; 29981 renderState.tailMode = tailMode; 29982 renderState.lastEffect = lastEffectBeforeRendering; 29983 } 29984} // This can end up rendering this component multiple passes. 29985// The first pass splits the children fibers into two sets. A head and tail. 29986// We first render the head. If anything is in fallback state, we do another 29987// pass through beginWork to rerender all children (including the tail) with 29988// the force suspend context. If the first render didn't have anything in 29989// in fallback state. Then we render each row in the tail one-by-one. 29990// That happens in the completeWork phase without going back to beginWork. 29991 29992 29993function updateSuspenseListComponent(current, workInProgress, renderExpirationTime) { 29994 var nextProps = workInProgress.pendingProps; 29995 var revealOrder = nextProps.revealOrder; 29996 var tailMode = nextProps.tail; 29997 var newChildren = nextProps.children; 29998 validateRevealOrder(revealOrder); 29999 validateTailOptions(tailMode, revealOrder); 30000 validateSuspenseListChildren(newChildren, revealOrder); 30001 reconcileChildren(current, workInProgress, newChildren, renderExpirationTime); 30002 var suspenseContext = suspenseStackCursor.current; 30003 var shouldForceFallback = hasSuspenseContext(suspenseContext, ForceSuspenseFallback); 30004 30005 if (shouldForceFallback) { 30006 suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback); 30007 workInProgress.effectTag |= DidCapture; 30008 } else { 30009 var didSuspendBefore = current !== null && (current.effectTag & DidCapture) !== NoEffect; 30010 30011 if (didSuspendBefore) { 30012 // If we previously forced a fallback, we need to schedule work 30013 // on any nested boundaries to let them know to try to render 30014 // again. This is the same as context updating. 30015 propagateSuspenseContextChange(workInProgress, workInProgress.child, renderExpirationTime); 30016 } 30017 30018 suspenseContext = setDefaultShallowSuspenseContext(suspenseContext); 30019 } 30020 30021 pushSuspenseContext(workInProgress, suspenseContext); 30022 30023 if ((workInProgress.mode & BlockingMode) === NoMode) { 30024 // Outside of blocking mode, SuspenseList doesn't work so we just 30025 // use make it a noop by treating it as the default revealOrder. 30026 workInProgress.memoizedState = null; 30027 } else { 30028 switch (revealOrder) { 30029 case 'forwards': 30030 { 30031 var lastContentRow = findLastContentRow(workInProgress.child); 30032 var tail; 30033 30034 if (lastContentRow === null) { 30035 // The whole list is part of the tail. 30036 // TODO: We could fast path by just rendering the tail now. 30037 tail = workInProgress.child; 30038 workInProgress.child = null; 30039 } else { 30040 // Disconnect the tail rows after the content row. 30041 // We're going to render them separately later. 30042 tail = lastContentRow.sibling; 30043 lastContentRow.sibling = null; 30044 } 30045 30046 initSuspenseListRenderState(workInProgress, false, // isBackwards 30047 tail, lastContentRow, tailMode, workInProgress.lastEffect); 30048 break; 30049 } 30050 30051 case 'backwards': 30052 { 30053 // We're going to find the first row that has existing content. 30054 // At the same time we're going to reverse the list of everything 30055 // we pass in the meantime. That's going to be our tail in reverse 30056 // order. 30057 var _tail = null; 30058 var row = workInProgress.child; 30059 workInProgress.child = null; 30060 30061 while (row !== null) { 30062 var currentRow = row.alternate; // New rows can't be content rows. 30063 30064 if (currentRow !== null && findFirstSuspended(currentRow) === null) { 30065 // This is the beginning of the main content. 30066 workInProgress.child = row; 30067 break; 30068 } 30069 30070 var nextRow = row.sibling; 30071 row.sibling = _tail; 30072 _tail = row; 30073 row = nextRow; 30074 } // TODO: If workInProgress.child is null, we can continue on the tail immediately. 30075 30076 30077 initSuspenseListRenderState(workInProgress, true, // isBackwards 30078 _tail, null, // last 30079 tailMode, workInProgress.lastEffect); 30080 break; 30081 } 30082 30083 case 'together': 30084 { 30085 initSuspenseListRenderState(workInProgress, false, // isBackwards 30086 null, // tail 30087 null, // last 30088 undefined, workInProgress.lastEffect); 30089 break; 30090 } 30091 30092 default: 30093 { 30094 // The default reveal order is the same as not having 30095 // a boundary. 30096 workInProgress.memoizedState = null; 30097 } 30098 } 30099 } 30100 30101 return workInProgress.child; 30102} 30103 30104function updatePortalComponent(current, workInProgress, renderExpirationTime) { 30105 pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo); 30106 var nextChildren = workInProgress.pendingProps; 30107 30108 if (current === null) { 30109 // Portals are special because we don't append the children during mount 30110 // but at commit. Therefore we need to track insertions which the normal 30111 // flow doesn't do during mount. This doesn't happen at the root because 30112 // the root always starts with a "current" with a null child. 30113 // TODO: Consider unifying this with how the root works. 30114 workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderExpirationTime); 30115 } else { 30116 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 30117 } 30118 30119 return workInProgress.child; 30120} 30121 30122function updateContextProvider(current, workInProgress, renderExpirationTime) { 30123 var providerType = workInProgress.type; 30124 var context = providerType._context; 30125 var newProps = workInProgress.pendingProps; 30126 var oldProps = workInProgress.memoizedProps; 30127 var newValue = newProps.value; 30128 30129 { 30130 var providerPropTypes = workInProgress.type.propTypes; 30131 30132 if (providerPropTypes) { 30133 checkPropTypes(providerPropTypes, newProps, 'prop', 'Context.Provider', getCurrentFiberStackInDev); 30134 } 30135 } 30136 30137 pushProvider(workInProgress, newValue); 30138 30139 if (oldProps !== null) { 30140 var oldValue = oldProps.value; 30141 var changedBits = calculateChangedBits(context, newValue, oldValue); 30142 30143 if (changedBits === 0) { 30144 // No change. Bailout early if children are the same. 30145 if (oldProps.children === newProps.children && !hasContextChanged()) { 30146 return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 30147 } 30148 } else { 30149 // The context value changed. Search for matching consumers and schedule 30150 // them to update. 30151 propagateContextChange(workInProgress, context, changedBits, renderExpirationTime); 30152 } 30153 } 30154 30155 var newChildren = newProps.children; 30156 reconcileChildren(current, workInProgress, newChildren, renderExpirationTime); 30157 return workInProgress.child; 30158} 30159 30160var hasWarnedAboutUsingContextAsConsumer = false; 30161 30162function updateContextConsumer(current, workInProgress, renderExpirationTime) { 30163 var context = workInProgress.type; // The logic below for Context differs depending on PROD or DEV mode. In 30164 // DEV mode, we create a separate object for Context.Consumer that acts 30165 // like a proxy to Context. This proxy object adds unnecessary code in PROD 30166 // so we use the old behaviour (Context.Consumer references Context) to 30167 // reduce size and overhead. The separate object references context via 30168 // a property called "_context", which also gives us the ability to check 30169 // in DEV mode if this property exists or not and warn if it does not. 30170 30171 { 30172 if (context._context === undefined) { 30173 // This may be because it's a Context (rather than a Consumer). 30174 // Or it may be because it's older React where they're the same thing. 30175 // We only want to warn if we're sure it's a new React. 30176 if (context !== context.Consumer) { 30177 if (!hasWarnedAboutUsingContextAsConsumer) { 30178 hasWarnedAboutUsingContextAsConsumer = true; 30179 30180 error('Rendering <Context> directly is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?'); 30181 } 30182 } 30183 } else { 30184 context = context._context; 30185 } 30186 } 30187 30188 var newProps = workInProgress.pendingProps; 30189 var render = newProps.children; 30190 30191 { 30192 if (typeof render !== 'function') { 30193 error('A context consumer was rendered with multiple children, or a child ' + "that isn't a function. A context consumer expects a single child " + 'that is a function. If you did pass a function, make sure there ' + 'is no trailing or leading whitespace around it.'); 30194 } 30195 } 30196 30197 prepareToReadContext(workInProgress, renderExpirationTime); 30198 var newValue = readContext(context, newProps.unstable_observedBits); 30199 var newChildren; 30200 30201 { 30202 ReactCurrentOwner$1.current = workInProgress; 30203 setIsRendering(true); 30204 newChildren = render(newValue); 30205 setIsRendering(false); 30206 } // React DevTools reads this flag. 30207 30208 30209 workInProgress.effectTag |= PerformedWork; 30210 reconcileChildren(current, workInProgress, newChildren, renderExpirationTime); 30211 return workInProgress.child; 30212} 30213 30214function markWorkInProgressReceivedUpdate() { 30215 didReceiveUpdate = true; 30216} 30217 30218function bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime) { 30219 cancelWorkTimer(workInProgress); 30220 30221 if (current !== null) { 30222 // Reuse previous dependencies 30223 workInProgress.dependencies = current.dependencies; 30224 } 30225 30226 { 30227 // Don't update "base" render times for bailouts. 30228 stopProfilerTimerIfRunning(); 30229 } 30230 30231 var updateExpirationTime = workInProgress.expirationTime; 30232 30233 if (updateExpirationTime !== NoWork) { 30234 markUnprocessedUpdateTime(updateExpirationTime); 30235 } // Check if the children have any pending work. 30236 30237 30238 var childExpirationTime = workInProgress.childExpirationTime; 30239 30240 if (childExpirationTime < renderExpirationTime) { 30241 // The children don't have any work either. We can skip them. 30242 // TODO: Once we add back resuming, we should check if the children are 30243 // a work-in-progress set. If so, we need to transfer their effects. 30244 return null; 30245 } else { 30246 // This fiber doesn't have work, but its subtree does. Clone the child 30247 // fibers and continue. 30248 cloneChildFibers(current, workInProgress); 30249 return workInProgress.child; 30250 } 30251} 30252 30253function remountFiber(current, oldWorkInProgress, newWorkInProgress) { 30254 { 30255 var returnFiber = oldWorkInProgress.return; 30256 30257 if (returnFiber === null) { 30258 throw new Error('Cannot swap the root fiber.'); 30259 } // Disconnect from the old current. 30260 // It will get deleted. 30261 30262 30263 current.alternate = null; 30264 oldWorkInProgress.alternate = null; // Connect to the new tree. 30265 30266 newWorkInProgress.index = oldWorkInProgress.index; 30267 newWorkInProgress.sibling = oldWorkInProgress.sibling; 30268 newWorkInProgress.return = oldWorkInProgress.return; 30269 newWorkInProgress.ref = oldWorkInProgress.ref; // Replace the child/sibling pointers above it. 30270 30271 if (oldWorkInProgress === returnFiber.child) { 30272 returnFiber.child = newWorkInProgress; 30273 } else { 30274 var prevSibling = returnFiber.child; 30275 30276 if (prevSibling === null) { 30277 throw new Error('Expected parent to have a child.'); 30278 } 30279 30280 while (prevSibling.sibling !== oldWorkInProgress) { 30281 prevSibling = prevSibling.sibling; 30282 30283 if (prevSibling === null) { 30284 throw new Error('Expected to find the previous sibling.'); 30285 } 30286 } 30287 30288 prevSibling.sibling = newWorkInProgress; 30289 } // Delete the old fiber and place the new one. 30290 // Since the old fiber is disconnected, we have to schedule it manually. 30291 30292 30293 var last = returnFiber.lastEffect; 30294 30295 if (last !== null) { 30296 last.nextEffect = current; 30297 returnFiber.lastEffect = current; 30298 } else { 30299 returnFiber.firstEffect = returnFiber.lastEffect = current; 30300 } 30301 30302 current.nextEffect = null; 30303 current.effectTag = Deletion; 30304 newWorkInProgress.effectTag |= Placement; // Restart work from the new fiber. 30305 30306 return newWorkInProgress; 30307 } 30308} 30309 30310function beginWork(current, workInProgress, renderExpirationTime) { 30311 var updateExpirationTime = workInProgress.expirationTime; 30312 30313 { 30314 if (workInProgress._debugNeedsRemount && current !== null) { 30315 // This will restart the begin phase with a new fiber. 30316 return remountFiber(current, workInProgress, createFiberFromTypeAndProps(workInProgress.type, workInProgress.key, workInProgress.pendingProps, workInProgress._debugOwner || null, workInProgress.mode, workInProgress.expirationTime)); 30317 } 30318 } 30319 30320 if (current !== null) { 30321 var oldProps = current.memoizedProps; 30322 var newProps = workInProgress.pendingProps; 30323 30324 if (oldProps !== newProps || hasContextChanged() || ( // Force a re-render if the implementation changed due to hot reload: 30325 workInProgress.type !== current.type )) { 30326 // If props or context changed, mark the fiber as having performed work. 30327 // This may be unset if the props are determined to be equal later (memo). 30328 didReceiveUpdate = true; 30329 } else if (updateExpirationTime < renderExpirationTime) { 30330 didReceiveUpdate = false; // This fiber does not have any pending work. Bailout without entering 30331 // the begin phase. There's still some bookkeeping we that needs to be done 30332 // in this optimized path, mostly pushing stuff onto the stack. 30333 30334 switch (workInProgress.tag) { 30335 case HostRoot: 30336 pushHostRootContext(workInProgress); 30337 resetHydrationState(); 30338 break; 30339 30340 case HostComponent: 30341 pushHostContext(workInProgress); 30342 30343 if (workInProgress.mode & ConcurrentMode && renderExpirationTime !== Never && shouldDeprioritizeSubtree(workInProgress.type, newProps)) { 30344 { 30345 markSpawnedWork(Never); 30346 } // Schedule this fiber to re-render at offscreen priority. Then bailout. 30347 30348 30349 workInProgress.expirationTime = workInProgress.childExpirationTime = Never; 30350 return null; 30351 } 30352 30353 break; 30354 30355 case ClassComponent: 30356 { 30357 var Component = workInProgress.type; 30358 30359 if (isContextProvider(Component)) { 30360 pushContextProvider(workInProgress); 30361 } 30362 30363 break; 30364 } 30365 30366 case HostPortal: 30367 pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo); 30368 break; 30369 30370 case ContextProvider: 30371 { 30372 var newValue = workInProgress.memoizedProps.value; 30373 pushProvider(workInProgress, newValue); 30374 break; 30375 } 30376 30377 case Profiler: 30378 { 30379 // Profiler should only call onRender when one of its descendants actually rendered. 30380 var hasChildWork = workInProgress.childExpirationTime >= renderExpirationTime; 30381 30382 if (hasChildWork) { 30383 workInProgress.effectTag |= Update; 30384 } 30385 } 30386 30387 break; 30388 30389 case SuspenseComponent: 30390 { 30391 var state = workInProgress.memoizedState; 30392 30393 if (state !== null) { 30394 // whether to retry the primary children, or to skip over it and 30395 // go straight to the fallback. Check the priority of the primary 30396 // child fragment. 30397 30398 30399 var primaryChildFragment = workInProgress.child; 30400 var primaryChildExpirationTime = primaryChildFragment.childExpirationTime; 30401 30402 if (primaryChildExpirationTime !== NoWork && primaryChildExpirationTime >= renderExpirationTime) { 30403 // The primary children have pending work. Use the normal path 30404 // to attempt to render the primary children again. 30405 return updateSuspenseComponent(current, workInProgress, renderExpirationTime); 30406 } else { 30407 pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); // The primary children do not have pending work with sufficient 30408 // priority. Bailout. 30409 30410 var child = bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 30411 30412 if (child !== null) { 30413 // The fallback children have pending work. Skip over the 30414 // primary children and work on the fallback. 30415 return child.sibling; 30416 } else { 30417 return null; 30418 } 30419 } 30420 } else { 30421 pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); 30422 } 30423 30424 break; 30425 } 30426 30427 case SuspenseListComponent: 30428 { 30429 var didSuspendBefore = (current.effectTag & DidCapture) !== NoEffect; 30430 30431 var _hasChildWork = workInProgress.childExpirationTime >= renderExpirationTime; 30432 30433 if (didSuspendBefore) { 30434 if (_hasChildWork) { 30435 // If something was in fallback state last time, and we have all the 30436 // same children then we're still in progressive loading state. 30437 // Something might get unblocked by state updates or retries in the 30438 // tree which will affect the tail. So we need to use the normal 30439 // path to compute the correct tail. 30440 return updateSuspenseListComponent(current, workInProgress, renderExpirationTime); 30441 } // If none of the children had any work, that means that none of 30442 // them got retried so they'll still be blocked in the same way 30443 // as before. We can fast bail out. 30444 30445 30446 workInProgress.effectTag |= DidCapture; 30447 } // If nothing suspended before and we're rendering the same children, 30448 // then the tail doesn't matter. Anything new that suspends will work 30449 // in the "together" mode, so we can continue from the state we had. 30450 30451 30452 var renderState = workInProgress.memoizedState; 30453 30454 if (renderState !== null) { 30455 // Reset to the "together" mode in case we've started a different 30456 // update in the past but didn't complete it. 30457 renderState.rendering = null; 30458 renderState.tail = null; 30459 } 30460 30461 pushSuspenseContext(workInProgress, suspenseStackCursor.current); 30462 30463 if (_hasChildWork) { 30464 break; 30465 } else { 30466 // If none of the children had any work, that means that none of 30467 // them got retried so they'll still be blocked in the same way 30468 // as before. We can fast bail out. 30469 return null; 30470 } 30471 } 30472 } 30473 30474 return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 30475 } else { 30476 // An update was scheduled on this fiber, but there are no new props 30477 // nor legacy context. Set this to false. If an update queue or context 30478 // consumer produces a changed value, it will set this to true. Otherwise, 30479 // the component will assume the children have not changed and bail out. 30480 didReceiveUpdate = false; 30481 } 30482 } else { 30483 didReceiveUpdate = false; 30484 } // Before entering the begin phase, clear pending update priority. 30485 // TODO: This assumes that we're about to evaluate the component and process 30486 // the update queue. However, there's an exception: SimpleMemoComponent 30487 // sometimes bails out later in the begin phase. This indicates that we should 30488 // move this assignment out of the common path and into each branch. 30489 30490 30491 workInProgress.expirationTime = NoWork; 30492 30493 switch (workInProgress.tag) { 30494 case IndeterminateComponent: 30495 { 30496 return mountIndeterminateComponent(current, workInProgress, workInProgress.type, renderExpirationTime); 30497 } 30498 30499 case LazyComponent: 30500 { 30501 var elementType = workInProgress.elementType; 30502 return mountLazyComponent(current, workInProgress, elementType, updateExpirationTime, renderExpirationTime); 30503 } 30504 30505 case FunctionComponent: 30506 { 30507 var _Component = workInProgress.type; 30508 var unresolvedProps = workInProgress.pendingProps; 30509 var resolvedProps = workInProgress.elementType === _Component ? unresolvedProps : resolveDefaultProps(_Component, unresolvedProps); 30510 return updateFunctionComponent(current, workInProgress, _Component, resolvedProps, renderExpirationTime); 30511 } 30512 30513 case ClassComponent: 30514 { 30515 var _Component2 = workInProgress.type; 30516 var _unresolvedProps = workInProgress.pendingProps; 30517 30518 var _resolvedProps = workInProgress.elementType === _Component2 ? _unresolvedProps : resolveDefaultProps(_Component2, _unresolvedProps); 30519 30520 return updateClassComponent(current, workInProgress, _Component2, _resolvedProps, renderExpirationTime); 30521 } 30522 30523 case HostRoot: 30524 return updateHostRoot(current, workInProgress, renderExpirationTime); 30525 30526 case HostComponent: 30527 return updateHostComponent(current, workInProgress, renderExpirationTime); 30528 30529 case HostText: 30530 return updateHostText(current, workInProgress); 30531 30532 case SuspenseComponent: 30533 return updateSuspenseComponent(current, workInProgress, renderExpirationTime); 30534 30535 case HostPortal: 30536 return updatePortalComponent(current, workInProgress, renderExpirationTime); 30537 30538 case ForwardRef: 30539 { 30540 var type = workInProgress.type; 30541 var _unresolvedProps2 = workInProgress.pendingProps; 30542 30543 var _resolvedProps2 = workInProgress.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2); 30544 30545 return updateForwardRef(current, workInProgress, type, _resolvedProps2, renderExpirationTime); 30546 } 30547 30548 case Fragment: 30549 return updateFragment(current, workInProgress, renderExpirationTime); 30550 30551 case Mode: 30552 return updateMode(current, workInProgress, renderExpirationTime); 30553 30554 case Profiler: 30555 return updateProfiler(current, workInProgress, renderExpirationTime); 30556 30557 case ContextProvider: 30558 return updateContextProvider(current, workInProgress, renderExpirationTime); 30559 30560 case ContextConsumer: 30561 return updateContextConsumer(current, workInProgress, renderExpirationTime); 30562 30563 case MemoComponent: 30564 { 30565 var _type2 = workInProgress.type; 30566 var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props. 30567 30568 var _resolvedProps3 = resolveDefaultProps(_type2, _unresolvedProps3); 30569 30570 { 30571 if (workInProgress.type !== workInProgress.elementType) { 30572 var outerPropTypes = _type2.propTypes; 30573 30574 if (outerPropTypes) { 30575 checkPropTypes(outerPropTypes, _resolvedProps3, // Resolved for outer only 30576 'prop', getComponentName(_type2), getCurrentFiberStackInDev); 30577 } 30578 } 30579 } 30580 30581 _resolvedProps3 = resolveDefaultProps(_type2.type, _resolvedProps3); 30582 return updateMemoComponent(current, workInProgress, _type2, _resolvedProps3, updateExpirationTime, renderExpirationTime); 30583 } 30584 30585 case SimpleMemoComponent: 30586 { 30587 return updateSimpleMemoComponent(current, workInProgress, workInProgress.type, workInProgress.pendingProps, updateExpirationTime, renderExpirationTime); 30588 } 30589 30590 case IncompleteClassComponent: 30591 { 30592 var _Component3 = workInProgress.type; 30593 var _unresolvedProps4 = workInProgress.pendingProps; 30594 30595 var _resolvedProps4 = workInProgress.elementType === _Component3 ? _unresolvedProps4 : resolveDefaultProps(_Component3, _unresolvedProps4); 30596 30597 return mountIncompleteClassComponent(current, workInProgress, _Component3, _resolvedProps4, renderExpirationTime); 30598 } 30599 30600 case SuspenseListComponent: 30601 { 30602 return updateSuspenseListComponent(current, workInProgress, renderExpirationTime); 30603 } 30604 } 30605 30606 { 30607 { 30608 throw Error( "Unknown unit of work tag (" + workInProgress.tag + "). This error is likely caused by a bug in React. Please file an issue." ); 30609 } 30610 } 30611} 30612 30613function markUpdate(workInProgress) { 30614 // Tag the fiber with an update effect. This turns a Placement into 30615 // a PlacementAndUpdate. 30616 workInProgress.effectTag |= Update; 30617} 30618 30619function markRef$1(workInProgress) { 30620 workInProgress.effectTag |= Ref; 30621} 30622 30623var appendAllChildren; 30624var updateHostContainer; 30625var updateHostComponent$1; 30626var updateHostText$1; 30627 30628{ 30629 // Mutation mode 30630 appendAllChildren = function (parent, workInProgress, needsVisibilityToggle, isHidden) { 30631 // We only have the top Fiber that was created but we need recurse down its 30632 // children to find all the terminal nodes. 30633 var node = workInProgress.child; 30634 30635 while (node !== null) { 30636 if (node.tag === HostComponent || node.tag === HostText) { 30637 appendInitialChild(parent, node.stateNode); 30638 } else if (node.tag === HostPortal) ; else if (node.child !== null) { 30639 node.child.return = node; 30640 node = node.child; 30641 continue; 30642 } 30643 30644 if (node === workInProgress) { 30645 return; 30646 } 30647 30648 while (node.sibling === null) { 30649 if (node.return === null || node.return === workInProgress) { 30650 return; 30651 } 30652 30653 node = node.return; 30654 } 30655 30656 node.sibling.return = node.return; 30657 node = node.sibling; 30658 } 30659 }; 30660 30661 updateHostContainer = function (workInProgress) {// Noop 30662 }; 30663 30664 updateHostComponent$1 = function (current, workInProgress, type, newProps, rootContainerInstance) { 30665 // If we have an alternate, that means this is an update and we need to 30666 // schedule a side-effect to do the updates. 30667 var oldProps = current.memoizedProps; 30668 30669 if (oldProps === newProps) { 30670 // In mutation mode, this is sufficient for a bailout because 30671 // we won't touch this node even if children changed. 30672 return; 30673 } // If we get updated because one of our children updated, we don't 30674 // have newProps so we'll have to reuse them. 30675 // TODO: Split the update API as separate for the props vs. children. 30676 // Even better would be if children weren't special cased at all tho. 30677 30678 30679 var instance = workInProgress.stateNode; 30680 var currentHostContext = getHostContext(); // TODO: Experiencing an error where oldProps is null. Suggests a host 30681 // component is hitting the resume path. Figure out why. Possibly 30682 // related to `hidden`. 30683 30684 var updatePayload = prepareUpdate(instance, type, oldProps, newProps, rootContainerInstance, currentHostContext); // TODO: Type this specific to this type of component. 30685 30686 workInProgress.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there 30687 // is a new ref we mark this as an update. All the work is done in commitWork. 30688 30689 if (updatePayload) { 30690 markUpdate(workInProgress); 30691 } 30692 }; 30693 30694 updateHostText$1 = function (current, workInProgress, oldText, newText) { 30695 // If the text differs, mark it as an update. All the work in done in commitWork. 30696 if (oldText !== newText) { 30697 markUpdate(workInProgress); 30698 } 30699 }; 30700} 30701 30702function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) { 30703 switch (renderState.tailMode) { 30704 case 'hidden': 30705 { 30706 // Any insertions at the end of the tail list after this point 30707 // should be invisible. If there are already mounted boundaries 30708 // anything before them are not considered for collapsing. 30709 // Therefore we need to go through the whole tail to find if 30710 // there are any. 30711 var tailNode = renderState.tail; 30712 var lastTailNode = null; 30713 30714 while (tailNode !== null) { 30715 if (tailNode.alternate !== null) { 30716 lastTailNode = tailNode; 30717 } 30718 30719 tailNode = tailNode.sibling; 30720 } // Next we're simply going to delete all insertions after the 30721 // last rendered item. 30722 30723 30724 if (lastTailNode === null) { 30725 // All remaining items in the tail are insertions. 30726 renderState.tail = null; 30727 } else { 30728 // Detach the insertion after the last node that was already 30729 // inserted. 30730 lastTailNode.sibling = null; 30731 } 30732 30733 break; 30734 } 30735 30736 case 'collapsed': 30737 { 30738 // Any insertions at the end of the tail list after this point 30739 // should be invisible. If there are already mounted boundaries 30740 // anything before them are not considered for collapsing. 30741 // Therefore we need to go through the whole tail to find if 30742 // there are any. 30743 var _tailNode = renderState.tail; 30744 var _lastTailNode = null; 30745 30746 while (_tailNode !== null) { 30747 if (_tailNode.alternate !== null) { 30748 _lastTailNode = _tailNode; 30749 } 30750 30751 _tailNode = _tailNode.sibling; 30752 } // Next we're simply going to delete all insertions after the 30753 // last rendered item. 30754 30755 30756 if (_lastTailNode === null) { 30757 // All remaining items in the tail are insertions. 30758 if (!hasRenderedATailFallback && renderState.tail !== null) { 30759 // We suspended during the head. We want to show at least one 30760 // row at the tail. So we'll keep on and cut off the rest. 30761 renderState.tail.sibling = null; 30762 } else { 30763 renderState.tail = null; 30764 } 30765 } else { 30766 // Detach the insertion after the last node that was already 30767 // inserted. 30768 _lastTailNode.sibling = null; 30769 } 30770 30771 break; 30772 } 30773 } 30774} 30775 30776function completeWork(current, workInProgress, renderExpirationTime) { 30777 var newProps = workInProgress.pendingProps; 30778 30779 switch (workInProgress.tag) { 30780 case IndeterminateComponent: 30781 case LazyComponent: 30782 case SimpleMemoComponent: 30783 case FunctionComponent: 30784 case ForwardRef: 30785 case Fragment: 30786 case Mode: 30787 case Profiler: 30788 case ContextConsumer: 30789 case MemoComponent: 30790 return null; 30791 30792 case ClassComponent: 30793 { 30794 var Component = workInProgress.type; 30795 30796 if (isContextProvider(Component)) { 30797 popContext(workInProgress); 30798 } 30799 30800 return null; 30801 } 30802 30803 case HostRoot: 30804 { 30805 popHostContainer(workInProgress); 30806 popTopLevelContextObject(workInProgress); 30807 var fiberRoot = workInProgress.stateNode; 30808 30809 if (fiberRoot.pendingContext) { 30810 fiberRoot.context = fiberRoot.pendingContext; 30811 fiberRoot.pendingContext = null; 30812 } 30813 30814 if (current === null || current.child === null) { 30815 // If we hydrated, pop so that we can delete any remaining children 30816 // that weren't hydrated. 30817 var wasHydrated = popHydrationState(workInProgress); 30818 30819 if (wasHydrated) { 30820 // If we hydrated, then we'll need to schedule an update for 30821 // the commit side-effects on the root. 30822 markUpdate(workInProgress); 30823 } 30824 } 30825 30826 updateHostContainer(workInProgress); 30827 return null; 30828 } 30829 30830 case HostComponent: 30831 { 30832 popHostContext(workInProgress); 30833 var rootContainerInstance = getRootHostContainer(); 30834 var type = workInProgress.type; 30835 30836 if (current !== null && workInProgress.stateNode != null) { 30837 updateHostComponent$1(current, workInProgress, type, newProps, rootContainerInstance); 30838 30839 if (current.ref !== workInProgress.ref) { 30840 markRef$1(workInProgress); 30841 } 30842 } else { 30843 if (!newProps) { 30844 if (!(workInProgress.stateNode !== null)) { 30845 { 30846 throw Error( "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." ); 30847 } 30848 } // This can happen when we abort work. 30849 30850 30851 return null; 30852 } 30853 30854 var currentHostContext = getHostContext(); // TODO: Move createInstance to beginWork and keep it on a context 30855 // "stack" as the parent. Then append children as we go in beginWork 30856 // or completeWork depending on whether we want to add them top->down or 30857 // bottom->up. Top->down is faster in IE11. 30858 30859 var _wasHydrated = popHydrationState(workInProgress); 30860 30861 if (_wasHydrated) { 30862 // TODO: Move this and createInstance step into the beginPhase 30863 // to consolidate. 30864 if (prepareToHydrateHostInstance(workInProgress, rootContainerInstance, currentHostContext)) { 30865 // If changes to the hydrated node need to be applied at the 30866 // commit-phase we mark this as such. 30867 markUpdate(workInProgress); 30868 } 30869 } else { 30870 var instance = createInstance(type, newProps, rootContainerInstance, currentHostContext, workInProgress); 30871 appendAllChildren(instance, workInProgress, false, false); // This needs to be set before we mount Flare event listeners 30872 30873 workInProgress.stateNode = instance; 30874 // (eg DOM renderer supports auto-focus for certain elements). 30875 // Make sure such renderers get scheduled for later work. 30876 30877 30878 if (finalizeInitialChildren(instance, type, newProps, rootContainerInstance)) { 30879 markUpdate(workInProgress); 30880 } 30881 } 30882 30883 if (workInProgress.ref !== null) { 30884 // If there is a ref on a host node we need to schedule a callback 30885 markRef$1(workInProgress); 30886 } 30887 } 30888 30889 return null; 30890 } 30891 30892 case HostText: 30893 { 30894 var newText = newProps; 30895 30896 if (current && workInProgress.stateNode != null) { 30897 var oldText = current.memoizedProps; // If we have an alternate, that means this is an update and we need 30898 // to schedule a side-effect to do the updates. 30899 30900 updateHostText$1(current, workInProgress, oldText, newText); 30901 } else { 30902 if (typeof newText !== 'string') { 30903 if (!(workInProgress.stateNode !== null)) { 30904 { 30905 throw Error( "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." ); 30906 } 30907 } // This can happen when we abort work. 30908 30909 } 30910 30911 var _rootContainerInstance = getRootHostContainer(); 30912 30913 var _currentHostContext = getHostContext(); 30914 30915 var _wasHydrated2 = popHydrationState(workInProgress); 30916 30917 if (_wasHydrated2) { 30918 if (prepareToHydrateHostTextInstance(workInProgress)) { 30919 markUpdate(workInProgress); 30920 } 30921 } else { 30922 workInProgress.stateNode = createTextInstance(newText, _rootContainerInstance, _currentHostContext, workInProgress); 30923 } 30924 } 30925 30926 return null; 30927 } 30928 30929 case SuspenseComponent: 30930 { 30931 popSuspenseContext(workInProgress); 30932 var nextState = workInProgress.memoizedState; 30933 30934 if ((workInProgress.effectTag & DidCapture) !== NoEffect) { 30935 // Something suspended. Re-render with the fallback children. 30936 workInProgress.expirationTime = renderExpirationTime; // Do not reset the effect list. 30937 30938 return workInProgress; 30939 } 30940 30941 var nextDidTimeout = nextState !== null; 30942 var prevDidTimeout = false; 30943 30944 if (current === null) { 30945 if (workInProgress.memoizedProps.fallback !== undefined) { 30946 popHydrationState(workInProgress); 30947 } 30948 } else { 30949 var prevState = current.memoizedState; 30950 prevDidTimeout = prevState !== null; 30951 30952 if (!nextDidTimeout && prevState !== null) { 30953 // We just switched from the fallback to the normal children. 30954 // Delete the fallback. 30955 // TODO: Would it be better to store the fallback fragment on 30956 // the stateNode during the begin phase? 30957 var currentFallbackChild = current.child.sibling; 30958 30959 if (currentFallbackChild !== null) { 30960 // Deletions go at the beginning of the return fiber's effect list 30961 var first = workInProgress.firstEffect; 30962 30963 if (first !== null) { 30964 workInProgress.firstEffect = currentFallbackChild; 30965 currentFallbackChild.nextEffect = first; 30966 } else { 30967 workInProgress.firstEffect = workInProgress.lastEffect = currentFallbackChild; 30968 currentFallbackChild.nextEffect = null; 30969 } 30970 30971 currentFallbackChild.effectTag = Deletion; 30972 } 30973 } 30974 } 30975 30976 if (nextDidTimeout && !prevDidTimeout) { 30977 // If this subtreee is running in blocking mode we can suspend, 30978 // otherwise we won't suspend. 30979 // TODO: This will still suspend a synchronous tree if anything 30980 // in the concurrent tree already suspended during this render. 30981 // This is a known bug. 30982 if ((workInProgress.mode & BlockingMode) !== NoMode) { 30983 // TODO: Move this back to throwException because this is too late 30984 // if this is a large tree which is common for initial loads. We 30985 // don't know if we should restart a render or not until we get 30986 // this marker, and this is too late. 30987 // If this render already had a ping or lower pri updates, 30988 // and this is the first time we know we're going to suspend we 30989 // should be able to immediately restart from within throwException. 30990 var hasInvisibleChildContext = current === null && workInProgress.memoizedProps.unstable_avoidThisFallback !== true; 30991 30992 if (hasInvisibleChildContext || hasSuspenseContext(suspenseStackCursor.current, InvisibleParentSuspenseContext)) { 30993 // If this was in an invisible tree or a new render, then showing 30994 // this boundary is ok. 30995 renderDidSuspend(); 30996 } else { 30997 // Otherwise, we're going to have to hide content so we should 30998 // suspend for longer if possible. 30999 renderDidSuspendDelayIfPossible(); 31000 } 31001 } 31002 } 31003 31004 { 31005 // TODO: Only schedule updates if these values are non equal, i.e. it changed. 31006 if (nextDidTimeout || prevDidTimeout) { 31007 // If this boundary just timed out, schedule an effect to attach a 31008 // retry listener to the promise. This flag is also used to hide the 31009 // primary children. In mutation mode, we also need the flag to 31010 // *unhide* children that were previously hidden, so check if this 31011 // is currently timed out, too. 31012 workInProgress.effectTag |= Update; 31013 } 31014 } 31015 31016 return null; 31017 } 31018 31019 case HostPortal: 31020 popHostContainer(workInProgress); 31021 updateHostContainer(workInProgress); 31022 return null; 31023 31024 case ContextProvider: 31025 // Pop provider fiber 31026 popProvider(workInProgress); 31027 return null; 31028 31029 case IncompleteClassComponent: 31030 { 31031 // Same as class component case. I put it down here so that the tags are 31032 // sequential to ensure this switch is compiled to a jump table. 31033 var _Component = workInProgress.type; 31034 31035 if (isContextProvider(_Component)) { 31036 popContext(workInProgress); 31037 } 31038 31039 return null; 31040 } 31041 31042 case SuspenseListComponent: 31043 { 31044 popSuspenseContext(workInProgress); 31045 var renderState = workInProgress.memoizedState; 31046 31047 if (renderState === null) { 31048 // We're running in the default, "independent" mode. 31049 // We don't do anything in this mode. 31050 return null; 31051 } 31052 31053 var didSuspendAlready = (workInProgress.effectTag & DidCapture) !== NoEffect; 31054 var renderedTail = renderState.rendering; 31055 31056 if (renderedTail === null) { 31057 // We just rendered the head. 31058 if (!didSuspendAlready) { 31059 // This is the first pass. We need to figure out if anything is still 31060 // suspended in the rendered set. 31061 // If new content unsuspended, but there's still some content that 31062 // didn't. Then we need to do a second pass that forces everything 31063 // to keep showing their fallbacks. 31064 // We might be suspended if something in this render pass suspended, or 31065 // something in the previous committed pass suspended. Otherwise, 31066 // there's no chance so we can skip the expensive call to 31067 // findFirstSuspended. 31068 var cannotBeSuspended = renderHasNotSuspendedYet() && (current === null || (current.effectTag & DidCapture) === NoEffect); 31069 31070 if (!cannotBeSuspended) { 31071 var row = workInProgress.child; 31072 31073 while (row !== null) { 31074 var suspended = findFirstSuspended(row); 31075 31076 if (suspended !== null) { 31077 didSuspendAlready = true; 31078 workInProgress.effectTag |= DidCapture; 31079 cutOffTailIfNeeded(renderState, false); // If this is a newly suspended tree, it might not get committed as 31080 // part of the second pass. In that case nothing will subscribe to 31081 // its thennables. Instead, we'll transfer its thennables to the 31082 // SuspenseList so that it can retry if they resolve. 31083 // There might be multiple of these in the list but since we're 31084 // going to wait for all of them anyway, it doesn't really matter 31085 // which ones gets to ping. In theory we could get clever and keep 31086 // track of how many dependencies remain but it gets tricky because 31087 // in the meantime, we can add/remove/change items and dependencies. 31088 // We might bail out of the loop before finding any but that 31089 // doesn't matter since that means that the other boundaries that 31090 // we did find already has their listeners attached. 31091 31092 var newThennables = suspended.updateQueue; 31093 31094 if (newThennables !== null) { 31095 workInProgress.updateQueue = newThennables; 31096 workInProgress.effectTag |= Update; 31097 } // Rerender the whole list, but this time, we'll force fallbacks 31098 // to stay in place. 31099 // Reset the effect list before doing the second pass since that's now invalid. 31100 31101 31102 if (renderState.lastEffect === null) { 31103 workInProgress.firstEffect = null; 31104 } 31105 31106 workInProgress.lastEffect = renderState.lastEffect; // Reset the child fibers to their original state. 31107 31108 resetChildFibers(workInProgress, renderExpirationTime); // Set up the Suspense Context to force suspense and immediately 31109 // rerender the children. 31110 31111 pushSuspenseContext(workInProgress, setShallowSuspenseContext(suspenseStackCursor.current, ForceSuspenseFallback)); 31112 return workInProgress.child; 31113 } 31114 31115 row = row.sibling; 31116 } 31117 } 31118 } else { 31119 cutOffTailIfNeeded(renderState, false); 31120 } // Next we're going to render the tail. 31121 31122 } else { 31123 // Append the rendered row to the child list. 31124 if (!didSuspendAlready) { 31125 var _suspended = findFirstSuspended(renderedTail); 31126 31127 if (_suspended !== null) { 31128 workInProgress.effectTag |= DidCapture; 31129 didSuspendAlready = true; // Ensure we transfer the update queue to the parent so that it doesn't 31130 // get lost if this row ends up dropped during a second pass. 31131 31132 var _newThennables = _suspended.updateQueue; 31133 31134 if (_newThennables !== null) { 31135 workInProgress.updateQueue = _newThennables; 31136 workInProgress.effectTag |= Update; 31137 } 31138 31139 cutOffTailIfNeeded(renderState, true); // This might have been modified. 31140 31141 if (renderState.tail === null && renderState.tailMode === 'hidden' && !renderedTail.alternate) { 31142 // We need to delete the row we just rendered. 31143 // Reset the effect list to what it was before we rendered this 31144 // child. The nested children have already appended themselves. 31145 var lastEffect = workInProgress.lastEffect = renderState.lastEffect; // Remove any effects that were appended after this point. 31146 31147 if (lastEffect !== null) { 31148 lastEffect.nextEffect = null; 31149 } // We're done. 31150 31151 31152 return null; 31153 } 31154 } else if ( // The time it took to render last row is greater than time until 31155 // the expiration. 31156 now() * 2 - renderState.renderingStartTime > renderState.tailExpiration && renderExpirationTime > Never) { 31157 // We have now passed our CPU deadline and we'll just give up further 31158 // attempts to render the main content and only render fallbacks. 31159 // The assumption is that this is usually faster. 31160 workInProgress.effectTag |= DidCapture; 31161 didSuspendAlready = true; 31162 cutOffTailIfNeeded(renderState, false); // Since nothing actually suspended, there will nothing to ping this 31163 // to get it started back up to attempt the next item. If we can show 31164 // them, then they really have the same priority as this render. 31165 // So we'll pick it back up the very next render pass once we've had 31166 // an opportunity to yield for paint. 31167 31168 var nextPriority = renderExpirationTime - 1; 31169 workInProgress.expirationTime = workInProgress.childExpirationTime = nextPriority; 31170 31171 { 31172 markSpawnedWork(nextPriority); 31173 } 31174 } 31175 } 31176 31177 if (renderState.isBackwards) { 31178 // The effect list of the backwards tail will have been added 31179 // to the end. This breaks the guarantee that life-cycles fire in 31180 // sibling order but that isn't a strong guarantee promised by React. 31181 // Especially since these might also just pop in during future commits. 31182 // Append to the beginning of the list. 31183 renderedTail.sibling = workInProgress.child; 31184 workInProgress.child = renderedTail; 31185 } else { 31186 var previousSibling = renderState.last; 31187 31188 if (previousSibling !== null) { 31189 previousSibling.sibling = renderedTail; 31190 } else { 31191 workInProgress.child = renderedTail; 31192 } 31193 31194 renderState.last = renderedTail; 31195 } 31196 } 31197 31198 if (renderState.tail !== null) { 31199 // We still have tail rows to render. 31200 if (renderState.tailExpiration === 0) { 31201 // Heuristic for how long we're willing to spend rendering rows 31202 // until we just give up and show what we have so far. 31203 var TAIL_EXPIRATION_TIMEOUT_MS = 500; 31204 renderState.tailExpiration = now() + TAIL_EXPIRATION_TIMEOUT_MS; // TODO: This is meant to mimic the train model or JND but this 31205 // is a per component value. It should really be since the start 31206 // of the total render or last commit. Consider using something like 31207 // globalMostRecentFallbackTime. That doesn't account for being 31208 // suspended for part of the time or when it's a new render. 31209 // It should probably use a global start time value instead. 31210 } // Pop a row. 31211 31212 31213 var next = renderState.tail; 31214 renderState.rendering = next; 31215 renderState.tail = next.sibling; 31216 renderState.lastEffect = workInProgress.lastEffect; 31217 renderState.renderingStartTime = now(); 31218 next.sibling = null; // Restore the context. 31219 // TODO: We can probably just avoid popping it instead and only 31220 // setting it the first time we go from not suspended to suspended. 31221 31222 var suspenseContext = suspenseStackCursor.current; 31223 31224 if (didSuspendAlready) { 31225 suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback); 31226 } else { 31227 suspenseContext = setDefaultShallowSuspenseContext(suspenseContext); 31228 } 31229 31230 pushSuspenseContext(workInProgress, suspenseContext); // Do a pass over the next row. 31231 31232 return next; 31233 } 31234 31235 return null; 31236 } 31237 } 31238 31239 { 31240 { 31241 throw Error( "Unknown unit of work tag (" + workInProgress.tag + "). This error is likely caused by a bug in React. Please file an issue." ); 31242 } 31243 } 31244} 31245 31246function unwindWork(workInProgress, renderExpirationTime) { 31247 switch (workInProgress.tag) { 31248 case ClassComponent: 31249 { 31250 var Component = workInProgress.type; 31251 31252 if (isContextProvider(Component)) { 31253 popContext(workInProgress); 31254 } 31255 31256 var effectTag = workInProgress.effectTag; 31257 31258 if (effectTag & ShouldCapture) { 31259 workInProgress.effectTag = effectTag & ~ShouldCapture | DidCapture; 31260 return workInProgress; 31261 } 31262 31263 return null; 31264 } 31265 31266 case HostRoot: 31267 { 31268 popHostContainer(workInProgress); 31269 popTopLevelContextObject(workInProgress); 31270 var _effectTag = workInProgress.effectTag; 31271 31272 if (!((_effectTag & DidCapture) === NoEffect)) { 31273 { 31274 throw Error( "The root failed to unmount after an error. This is likely a bug in React. Please file an issue." ); 31275 } 31276 } 31277 31278 workInProgress.effectTag = _effectTag & ~ShouldCapture | DidCapture; 31279 return workInProgress; 31280 } 31281 31282 case HostComponent: 31283 { 31284 // TODO: popHydrationState 31285 popHostContext(workInProgress); 31286 return null; 31287 } 31288 31289 case SuspenseComponent: 31290 { 31291 popSuspenseContext(workInProgress); 31292 31293 var _effectTag2 = workInProgress.effectTag; 31294 31295 if (_effectTag2 & ShouldCapture) { 31296 workInProgress.effectTag = _effectTag2 & ~ShouldCapture | DidCapture; // Captured a suspense effect. Re-render the boundary. 31297 31298 return workInProgress; 31299 } 31300 31301 return null; 31302 } 31303 31304 case SuspenseListComponent: 31305 { 31306 popSuspenseContext(workInProgress); // SuspenseList doesn't actually catch anything. It should've been 31307 // caught by a nested boundary. If not, it should bubble through. 31308 31309 return null; 31310 } 31311 31312 case HostPortal: 31313 popHostContainer(workInProgress); 31314 return null; 31315 31316 case ContextProvider: 31317 popProvider(workInProgress); 31318 return null; 31319 31320 default: 31321 return null; 31322 } 31323} 31324 31325function unwindInterruptedWork(interruptedWork) { 31326 switch (interruptedWork.tag) { 31327 case ClassComponent: 31328 { 31329 var childContextTypes = interruptedWork.type.childContextTypes; 31330 31331 if (childContextTypes !== null && childContextTypes !== undefined) { 31332 popContext(interruptedWork); 31333 } 31334 31335 break; 31336 } 31337 31338 case HostRoot: 31339 { 31340 popHostContainer(interruptedWork); 31341 popTopLevelContextObject(interruptedWork); 31342 break; 31343 } 31344 31345 case HostComponent: 31346 { 31347 popHostContext(interruptedWork); 31348 break; 31349 } 31350 31351 case HostPortal: 31352 popHostContainer(interruptedWork); 31353 break; 31354 31355 case SuspenseComponent: 31356 popSuspenseContext(interruptedWork); 31357 break; 31358 31359 case SuspenseListComponent: 31360 popSuspenseContext(interruptedWork); 31361 break; 31362 31363 case ContextProvider: 31364 popProvider(interruptedWork); 31365 break; 31366 } 31367} 31368 31369function createCapturedValue(value, source) { 31370 // If the value is an error, call this function immediately after it is thrown 31371 // so the stack is accurate. 31372 return { 31373 value: value, 31374 source: source, 31375 stack: getStackByFiberInDevAndProd(source) 31376 }; 31377} 31378 31379function logCapturedError(capturedError) { 31380 31381 var error = capturedError.error; 31382 31383 { 31384 var componentName = capturedError.componentName, 31385 componentStack = capturedError.componentStack, 31386 errorBoundaryName = capturedError.errorBoundaryName, 31387 errorBoundaryFound = capturedError.errorBoundaryFound, 31388 willRetry = capturedError.willRetry; // Browsers support silencing uncaught errors by calling 31389 // `preventDefault()` in window `error` handler. 31390 // We record this information as an expando on the error. 31391 31392 if (error != null && error._suppressLogging) { 31393 if (errorBoundaryFound && willRetry) { 31394 // The error is recoverable and was silenced. 31395 // Ignore it and don't print the stack addendum. 31396 // This is handy for testing error boundaries without noise. 31397 return; 31398 } // The error is fatal. Since the silencing might have 31399 // been accidental, we'll surface it anyway. 31400 // However, the browser would have silenced the original error 31401 // so we'll print it first, and then print the stack addendum. 31402 31403 31404 console['error'](error); // Don't transform to our wrapper 31405 // For a more detailed description of this block, see: 31406 // https://github.com/facebook/react/pull/13384 31407 } 31408 31409 var componentNameMessage = componentName ? "The above error occurred in the <" + componentName + "> component:" : 'The above error occurred in one of your React components:'; 31410 var errorBoundaryMessage; // errorBoundaryFound check is sufficient; errorBoundaryName check is to satisfy Flow. 31411 31412 if (errorBoundaryFound && errorBoundaryName) { 31413 if (willRetry) { 31414 errorBoundaryMessage = "React will try to recreate this component tree from scratch " + ("using the error boundary you provided, " + errorBoundaryName + "."); 31415 } else { 31416 errorBoundaryMessage = "This error was initially handled by the error boundary " + errorBoundaryName + ".\n" + "Recreating the tree from scratch failed so React will unmount the tree."; 31417 } 31418 } else { 31419 errorBoundaryMessage = 'Consider adding an error boundary to your tree to customize error handling behavior.\n' + 'Visit https://fb.me/react-error-boundaries to learn more about error boundaries.'; 31420 } 31421 31422 var combinedMessage = "" + componentNameMessage + componentStack + "\n\n" + ("" + errorBoundaryMessage); // In development, we provide our own message with just the component stack. 31423 // We don't include the original error message and JS stack because the browser 31424 // has already printed it. Even if the application swallows the error, it is still 31425 // displayed by the browser thanks to the DEV-only fake event trick in ReactErrorUtils. 31426 31427 console['error'](combinedMessage); // Don't transform to our wrapper 31428 } 31429} 31430 31431var didWarnAboutUndefinedSnapshotBeforeUpdate = null; 31432 31433{ 31434 didWarnAboutUndefinedSnapshotBeforeUpdate = new Set(); 31435} 31436 31437var PossiblyWeakSet = typeof WeakSet === 'function' ? WeakSet : Set; 31438function logError(boundary, errorInfo) { 31439 var source = errorInfo.source; 31440 var stack = errorInfo.stack; 31441 31442 if (stack === null && source !== null) { 31443 stack = getStackByFiberInDevAndProd(source); 31444 } 31445 31446 var capturedError = { 31447 componentName: source !== null ? getComponentName(source.type) : null, 31448 componentStack: stack !== null ? stack : '', 31449 error: errorInfo.value, 31450 errorBoundary: null, 31451 errorBoundaryName: null, 31452 errorBoundaryFound: false, 31453 willRetry: false 31454 }; 31455 31456 if (boundary !== null && boundary.tag === ClassComponent) { 31457 capturedError.errorBoundary = boundary.stateNode; 31458 capturedError.errorBoundaryName = getComponentName(boundary.type); 31459 capturedError.errorBoundaryFound = true; 31460 capturedError.willRetry = true; 31461 } 31462 31463 try { 31464 logCapturedError(capturedError); 31465 } catch (e) { 31466 // This method must not throw, or React internal state will get messed up. 31467 // If console.error is overridden, or logCapturedError() shows a dialog that throws, 31468 // we want to report this error outside of the normal stack as a last resort. 31469 // https://github.com/facebook/react/issues/13188 31470 setTimeout(function () { 31471 throw e; 31472 }); 31473 } 31474} 31475 31476var callComponentWillUnmountWithTimer = function (current, instance) { 31477 startPhaseTimer(current, 'componentWillUnmount'); 31478 instance.props = current.memoizedProps; 31479 instance.state = current.memoizedState; 31480 instance.componentWillUnmount(); 31481 stopPhaseTimer(); 31482}; // Capture errors so they don't interrupt unmounting. 31483 31484 31485function safelyCallComponentWillUnmount(current, instance) { 31486 { 31487 invokeGuardedCallback(null, callComponentWillUnmountWithTimer, null, current, instance); 31488 31489 if (hasCaughtError()) { 31490 var unmountError = clearCaughtError(); 31491 captureCommitPhaseError(current, unmountError); 31492 } 31493 } 31494} 31495 31496function safelyDetachRef(current) { 31497 var ref = current.ref; 31498 31499 if (ref !== null) { 31500 if (typeof ref === 'function') { 31501 { 31502 invokeGuardedCallback(null, ref, null, null); 31503 31504 if (hasCaughtError()) { 31505 var refError = clearCaughtError(); 31506 captureCommitPhaseError(current, refError); 31507 } 31508 } 31509 } else { 31510 ref.current = null; 31511 } 31512 } 31513} 31514 31515function safelyCallDestroy(current, destroy) { 31516 { 31517 invokeGuardedCallback(null, destroy, null); 31518 31519 if (hasCaughtError()) { 31520 var error = clearCaughtError(); 31521 captureCommitPhaseError(current, error); 31522 } 31523 } 31524} 31525 31526function commitBeforeMutationLifeCycles(current, finishedWork) { 31527 switch (finishedWork.tag) { 31528 case FunctionComponent: 31529 case ForwardRef: 31530 case SimpleMemoComponent: 31531 case Block: 31532 { 31533 return; 31534 } 31535 31536 case ClassComponent: 31537 { 31538 if (finishedWork.effectTag & Snapshot) { 31539 if (current !== null) { 31540 var prevProps = current.memoizedProps; 31541 var prevState = current.memoizedState; 31542 startPhaseTimer(finishedWork, 'getSnapshotBeforeUpdate'); 31543 var instance = finishedWork.stateNode; // We could update instance props and state here, 31544 // but instead we rely on them being set during last render. 31545 // TODO: revisit this when we implement resuming. 31546 31547 { 31548 if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) { 31549 if (instance.props !== finishedWork.memoizedProps) { 31550 error('Expected %s props to match memoized props before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance'); 31551 } 31552 31553 if (instance.state !== finishedWork.memoizedState) { 31554 error('Expected %s state to match memoized state before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance'); 31555 } 31556 } 31557 } 31558 31559 var snapshot = instance.getSnapshotBeforeUpdate(finishedWork.elementType === finishedWork.type ? prevProps : resolveDefaultProps(finishedWork.type, prevProps), prevState); 31560 31561 { 31562 var didWarnSet = didWarnAboutUndefinedSnapshotBeforeUpdate; 31563 31564 if (snapshot === undefined && !didWarnSet.has(finishedWork.type)) { 31565 didWarnSet.add(finishedWork.type); 31566 31567 error('%s.getSnapshotBeforeUpdate(): A snapshot value (or null) ' + 'must be returned. You have returned undefined.', getComponentName(finishedWork.type)); 31568 } 31569 } 31570 31571 instance.__reactInternalSnapshotBeforeUpdate = snapshot; 31572 stopPhaseTimer(); 31573 } 31574 } 31575 31576 return; 31577 } 31578 31579 case HostRoot: 31580 case HostComponent: 31581 case HostText: 31582 case HostPortal: 31583 case IncompleteClassComponent: 31584 // Nothing to do for these component types 31585 return; 31586 } 31587 31588 { 31589 { 31590 throw Error( "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue." ); 31591 } 31592 } 31593} 31594 31595function commitHookEffectListUnmount(tag, finishedWork) { 31596 var updateQueue = finishedWork.updateQueue; 31597 var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null; 31598 31599 if (lastEffect !== null) { 31600 var firstEffect = lastEffect.next; 31601 var effect = firstEffect; 31602 31603 do { 31604 if ((effect.tag & tag) === tag) { 31605 // Unmount 31606 var destroy = effect.destroy; 31607 effect.destroy = undefined; 31608 31609 if (destroy !== undefined) { 31610 destroy(); 31611 } 31612 } 31613 31614 effect = effect.next; 31615 } while (effect !== firstEffect); 31616 } 31617} 31618 31619function commitHookEffectListMount(tag, finishedWork) { 31620 var updateQueue = finishedWork.updateQueue; 31621 var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null; 31622 31623 if (lastEffect !== null) { 31624 var firstEffect = lastEffect.next; 31625 var effect = firstEffect; 31626 31627 do { 31628 if ((effect.tag & tag) === tag) { 31629 // Mount 31630 var create = effect.create; 31631 effect.destroy = create(); 31632 31633 { 31634 var destroy = effect.destroy; 31635 31636 if (destroy !== undefined && typeof destroy !== 'function') { 31637 var addendum = void 0; 31638 31639 if (destroy === null) { 31640 addendum = ' You returned null. If your effect does not require clean ' + 'up, return undefined (or nothing).'; 31641 } else if (typeof destroy.then === 'function') { 31642 addendum = '\n\nIt looks like you wrote useEffect(async () => ...) or returned a Promise. ' + 'Instead, write the async function inside your effect ' + 'and call it immediately:\n\n' + 'useEffect(() => {\n' + ' async function fetchData() {\n' + ' // You can await here\n' + ' const response = await MyAPI.getData(someId);\n' + ' // ...\n' + ' }\n' + ' fetchData();\n' + "}, [someId]); // Or [] if effect doesn't need props or state\n\n" + 'Learn more about data fetching with Hooks: https://fb.me/react-hooks-data-fetching'; 31643 } else { 31644 addendum = ' You returned: ' + destroy; 31645 } 31646 31647 error('An effect function must not return anything besides a function, ' + 'which is used for clean-up.%s%s', addendum, getStackByFiberInDevAndProd(finishedWork)); 31648 } 31649 } 31650 } 31651 31652 effect = effect.next; 31653 } while (effect !== firstEffect); 31654 } 31655} 31656 31657function commitPassiveHookEffects(finishedWork) { 31658 if ((finishedWork.effectTag & Passive) !== NoEffect) { 31659 switch (finishedWork.tag) { 31660 case FunctionComponent: 31661 case ForwardRef: 31662 case SimpleMemoComponent: 31663 case Block: 31664 { 31665 // TODO (#17945) We should call all passive destroy functions (for all fibers) 31666 // before calling any create functions. The current approach only serializes 31667 // these for a single fiber. 31668 commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork); 31669 commitHookEffectListMount(Passive$1 | HasEffect, finishedWork); 31670 break; 31671 } 31672 } 31673 } 31674} 31675 31676function commitLifeCycles(finishedRoot, current, finishedWork, committedExpirationTime) { 31677 switch (finishedWork.tag) { 31678 case FunctionComponent: 31679 case ForwardRef: 31680 case SimpleMemoComponent: 31681 case Block: 31682 { 31683 // At this point layout effects have already been destroyed (during mutation phase). 31684 // This is done to prevent sibling component effects from interfering with each other, 31685 // e.g. a destroy function in one component should never override a ref set 31686 // by a create function in another component during the same commit. 31687 commitHookEffectListMount(Layout | HasEffect, finishedWork); 31688 31689 return; 31690 } 31691 31692 case ClassComponent: 31693 { 31694 var instance = finishedWork.stateNode; 31695 31696 if (finishedWork.effectTag & Update) { 31697 if (current === null) { 31698 startPhaseTimer(finishedWork, 'componentDidMount'); // We could update instance props and state here, 31699 // but instead we rely on them being set during last render. 31700 // TODO: revisit this when we implement resuming. 31701 31702 { 31703 if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) { 31704 if (instance.props !== finishedWork.memoizedProps) { 31705 error('Expected %s props to match memoized props before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance'); 31706 } 31707 31708 if (instance.state !== finishedWork.memoizedState) { 31709 error('Expected %s state to match memoized state before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance'); 31710 } 31711 } 31712 } 31713 31714 instance.componentDidMount(); 31715 stopPhaseTimer(); 31716 } else { 31717 var prevProps = finishedWork.elementType === finishedWork.type ? current.memoizedProps : resolveDefaultProps(finishedWork.type, current.memoizedProps); 31718 var prevState = current.memoizedState; 31719 startPhaseTimer(finishedWork, 'componentDidUpdate'); // We could update instance props and state here, 31720 // but instead we rely on them being set during last render. 31721 // TODO: revisit this when we implement resuming. 31722 31723 { 31724 if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) { 31725 if (instance.props !== finishedWork.memoizedProps) { 31726 error('Expected %s props to match memoized props before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance'); 31727 } 31728 31729 if (instance.state !== finishedWork.memoizedState) { 31730 error('Expected %s state to match memoized state before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance'); 31731 } 31732 } 31733 } 31734 31735 instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate); 31736 stopPhaseTimer(); 31737 } 31738 } 31739 31740 var updateQueue = finishedWork.updateQueue; 31741 31742 if (updateQueue !== null) { 31743 { 31744 if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) { 31745 if (instance.props !== finishedWork.memoizedProps) { 31746 error('Expected %s props to match memoized props before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance'); 31747 } 31748 31749 if (instance.state !== finishedWork.memoizedState) { 31750 error('Expected %s state to match memoized state before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance'); 31751 } 31752 } 31753 } // We could update instance props and state here, 31754 // but instead we rely on them being set during last render. 31755 // TODO: revisit this when we implement resuming. 31756 31757 31758 commitUpdateQueue(finishedWork, updateQueue, instance); 31759 } 31760 31761 return; 31762 } 31763 31764 case HostRoot: 31765 { 31766 var _updateQueue = finishedWork.updateQueue; 31767 31768 if (_updateQueue !== null) { 31769 var _instance = null; 31770 31771 if (finishedWork.child !== null) { 31772 switch (finishedWork.child.tag) { 31773 case HostComponent: 31774 _instance = getPublicInstance(finishedWork.child.stateNode); 31775 break; 31776 31777 case ClassComponent: 31778 _instance = finishedWork.child.stateNode; 31779 break; 31780 } 31781 } 31782 31783 commitUpdateQueue(finishedWork, _updateQueue, _instance); 31784 } 31785 31786 return; 31787 } 31788 31789 case HostComponent: 31790 { 31791 var _instance2 = finishedWork.stateNode; // Renderers may schedule work to be done after host components are mounted 31792 // (eg DOM renderer may schedule auto-focus for inputs and form controls). 31793 // These effects should only be committed when components are first mounted, 31794 // aka when there is no current/alternate. 31795 31796 if (current === null && finishedWork.effectTag & Update) { 31797 var type = finishedWork.type; 31798 var props = finishedWork.memoizedProps; 31799 commitMount(_instance2, type, props); 31800 } 31801 31802 return; 31803 } 31804 31805 case HostText: 31806 { 31807 // We have no life-cycles associated with text. 31808 return; 31809 } 31810 31811 case HostPortal: 31812 { 31813 // We have no life-cycles associated with portals. 31814 return; 31815 } 31816 31817 case Profiler: 31818 { 31819 { 31820 var onRender = finishedWork.memoizedProps.onRender; 31821 31822 if (typeof onRender === 'function') { 31823 { 31824 onRender(finishedWork.memoizedProps.id, current === null ? 'mount' : 'update', finishedWork.actualDuration, finishedWork.treeBaseDuration, finishedWork.actualStartTime, getCommitTime(), finishedRoot.memoizedInteractions); 31825 } 31826 } 31827 } 31828 31829 return; 31830 } 31831 31832 case SuspenseComponent: 31833 { 31834 commitSuspenseHydrationCallbacks(finishedRoot, finishedWork); 31835 return; 31836 } 31837 31838 case SuspenseListComponent: 31839 case IncompleteClassComponent: 31840 case FundamentalComponent: 31841 case ScopeComponent: 31842 return; 31843 } 31844 31845 { 31846 { 31847 throw Error( "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue." ); 31848 } 31849 } 31850} 31851 31852function hideOrUnhideAllChildren(finishedWork, isHidden) { 31853 { 31854 // We only have the top Fiber that was inserted but we need to recurse down its 31855 // children to find all the terminal nodes. 31856 var node = finishedWork; 31857 31858 while (true) { 31859 if (node.tag === HostComponent) { 31860 var instance = node.stateNode; 31861 31862 if (isHidden) { 31863 hideInstance(instance); 31864 } else { 31865 unhideInstance(node.stateNode, node.memoizedProps); 31866 } 31867 } else if (node.tag === HostText) { 31868 var _instance3 = node.stateNode; 31869 31870 if (isHidden) { 31871 hideTextInstance(_instance3); 31872 } else { 31873 unhideTextInstance(_instance3, node.memoizedProps); 31874 } 31875 } else if (node.tag === SuspenseComponent && node.memoizedState !== null && node.memoizedState.dehydrated === null) { 31876 // Found a nested Suspense component that timed out. Skip over the 31877 // primary child fragment, which should remain hidden. 31878 var fallbackChildFragment = node.child.sibling; 31879 fallbackChildFragment.return = node; 31880 node = fallbackChildFragment; 31881 continue; 31882 } else if (node.child !== null) { 31883 node.child.return = node; 31884 node = node.child; 31885 continue; 31886 } 31887 31888 if (node === finishedWork) { 31889 return; 31890 } 31891 31892 while (node.sibling === null) { 31893 if (node.return === null || node.return === finishedWork) { 31894 return; 31895 } 31896 31897 node = node.return; 31898 } 31899 31900 node.sibling.return = node.return; 31901 node = node.sibling; 31902 } 31903 } 31904} 31905 31906function commitAttachRef(finishedWork) { 31907 var ref = finishedWork.ref; 31908 31909 if (ref !== null) { 31910 var instance = finishedWork.stateNode; 31911 var instanceToUse; 31912 31913 switch (finishedWork.tag) { 31914 case HostComponent: 31915 instanceToUse = getPublicInstance(instance); 31916 break; 31917 31918 default: 31919 instanceToUse = instance; 31920 } // Moved outside to ensure DCE works with this flag 31921 31922 if (typeof ref === 'function') { 31923 ref(instanceToUse); 31924 } else { 31925 { 31926 if (!ref.hasOwnProperty('current')) { 31927 error('Unexpected ref object provided for %s. ' + 'Use either a ref-setter function or React.createRef().%s', getComponentName(finishedWork.type), getStackByFiberInDevAndProd(finishedWork)); 31928 } 31929 } 31930 31931 ref.current = instanceToUse; 31932 } 31933 } 31934} 31935 31936function commitDetachRef(current) { 31937 var currentRef = current.ref; 31938 31939 if (currentRef !== null) { 31940 if (typeof currentRef === 'function') { 31941 currentRef(null); 31942 } else { 31943 currentRef.current = null; 31944 } 31945 } 31946} // User-originating errors (lifecycles and refs) should not interrupt 31947// deletion, so don't let them throw. Host-originating errors should 31948// interrupt deletion, so it's okay 31949 31950 31951function commitUnmount(finishedRoot, current, renderPriorityLevel) { 31952 onCommitUnmount(current); 31953 31954 switch (current.tag) { 31955 case FunctionComponent: 31956 case ForwardRef: 31957 case MemoComponent: 31958 case SimpleMemoComponent: 31959 case Block: 31960 { 31961 var updateQueue = current.updateQueue; 31962 31963 if (updateQueue !== null) { 31964 var lastEffect = updateQueue.lastEffect; 31965 31966 if (lastEffect !== null) { 31967 var firstEffect = lastEffect.next; 31968 31969 { 31970 // When the owner fiber is deleted, the destroy function of a passive 31971 // effect hook is called during the synchronous commit phase. This is 31972 // a concession to implementation complexity. Calling it in the 31973 // passive effect phase (like they usually are, when dependencies 31974 // change during an update) would require either traversing the 31975 // children of the deleted fiber again, or including unmount effects 31976 // as part of the fiber effect list. 31977 // 31978 // Because this is during the sync commit phase, we need to change 31979 // the priority. 31980 // 31981 // TODO: Reconsider this implementation trade off. 31982 var priorityLevel = renderPriorityLevel > NormalPriority ? NormalPriority : renderPriorityLevel; 31983 runWithPriority$1(priorityLevel, function () { 31984 var effect = firstEffect; 31985 31986 do { 31987 var _destroy = effect.destroy; 31988 31989 if (_destroy !== undefined) { 31990 safelyCallDestroy(current, _destroy); 31991 } 31992 31993 effect = effect.next; 31994 } while (effect !== firstEffect); 31995 }); 31996 } 31997 } 31998 } 31999 32000 return; 32001 } 32002 32003 case ClassComponent: 32004 { 32005 safelyDetachRef(current); 32006 var instance = current.stateNode; 32007 32008 if (typeof instance.componentWillUnmount === 'function') { 32009 safelyCallComponentWillUnmount(current, instance); 32010 } 32011 32012 return; 32013 } 32014 32015 case HostComponent: 32016 { 32017 32018 safelyDetachRef(current); 32019 return; 32020 } 32021 32022 case HostPortal: 32023 { 32024 // TODO: this is recursive. 32025 // We are also not using this parent because 32026 // the portal will get pushed immediately. 32027 { 32028 unmountHostComponents(finishedRoot, current, renderPriorityLevel); 32029 } 32030 32031 return; 32032 } 32033 32034 case FundamentalComponent: 32035 { 32036 32037 return; 32038 } 32039 32040 case DehydratedFragment: 32041 { 32042 32043 return; 32044 } 32045 32046 case ScopeComponent: 32047 { 32048 32049 return; 32050 } 32051 } 32052} 32053 32054function commitNestedUnmounts(finishedRoot, root, renderPriorityLevel) { 32055 // While we're inside a removed host node we don't want to call 32056 // removeChild on the inner nodes because they're removed by the top 32057 // call anyway. We also want to call componentWillUnmount on all 32058 // composites before this host node is removed from the tree. Therefore 32059 // we do an inner loop while we're still inside the host node. 32060 var node = root; 32061 32062 while (true) { 32063 commitUnmount(finishedRoot, node, renderPriorityLevel); // Visit children because they may contain more composite or host nodes. 32064 // Skip portals because commitUnmount() currently visits them recursively. 32065 32066 if (node.child !== null && ( // If we use mutation we drill down into portals using commitUnmount above. 32067 // If we don't use mutation we drill down into portals here instead. 32068 node.tag !== HostPortal)) { 32069 node.child.return = node; 32070 node = node.child; 32071 continue; 32072 } 32073 32074 if (node === root) { 32075 return; 32076 } 32077 32078 while (node.sibling === null) { 32079 if (node.return === null || node.return === root) { 32080 return; 32081 } 32082 32083 node = node.return; 32084 } 32085 32086 node.sibling.return = node.return; 32087 node = node.sibling; 32088 } 32089} 32090 32091function detachFiber(current) { 32092 var alternate = current.alternate; // Cut off the return pointers to disconnect it from the tree. Ideally, we 32093 // should clear the child pointer of the parent alternate to let this 32094 // get GC:ed but we don't know which for sure which parent is the current 32095 // one so we'll settle for GC:ing the subtree of this child. This child 32096 // itself will be GC:ed when the parent updates the next time. 32097 32098 current.return = null; 32099 current.child = null; 32100 current.memoizedState = null; 32101 current.updateQueue = null; 32102 current.dependencies = null; 32103 current.alternate = null; 32104 current.firstEffect = null; 32105 current.lastEffect = null; 32106 current.pendingProps = null; 32107 current.memoizedProps = null; 32108 current.stateNode = null; 32109 32110 if (alternate !== null) { 32111 detachFiber(alternate); 32112 } 32113} 32114 32115function getHostParentFiber(fiber) { 32116 var parent = fiber.return; 32117 32118 while (parent !== null) { 32119 if (isHostParent(parent)) { 32120 return parent; 32121 } 32122 32123 parent = parent.return; 32124 } 32125 32126 { 32127 { 32128 throw Error( "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue." ); 32129 } 32130 } 32131} 32132 32133function isHostParent(fiber) { 32134 return fiber.tag === HostComponent || fiber.tag === HostRoot || fiber.tag === HostPortal; 32135} 32136 32137function getHostSibling(fiber) { 32138 // We're going to search forward into the tree until we find a sibling host 32139 // node. Unfortunately, if multiple insertions are done in a row we have to 32140 // search past them. This leads to exponential search for the next sibling. 32141 // TODO: Find a more efficient way to do this. 32142 var node = fiber; 32143 32144 siblings: while (true) { 32145 // If we didn't find anything, let's try the next sibling. 32146 while (node.sibling === null) { 32147 if (node.return === null || isHostParent(node.return)) { 32148 // If we pop out of the root or hit the parent the fiber we are the 32149 // last sibling. 32150 return null; 32151 } 32152 32153 node = node.return; 32154 } 32155 32156 node.sibling.return = node.return; 32157 node = node.sibling; 32158 32159 while (node.tag !== HostComponent && node.tag !== HostText && node.tag !== DehydratedFragment) { 32160 // If it is not host node and, we might have a host node inside it. 32161 // Try to search down until we find one. 32162 if (node.effectTag & Placement) { 32163 // If we don't have a child, try the siblings instead. 32164 continue siblings; 32165 } // If we don't have a child, try the siblings instead. 32166 // We also skip portals because they are not part of this host tree. 32167 32168 32169 if (node.child === null || node.tag === HostPortal) { 32170 continue siblings; 32171 } else { 32172 node.child.return = node; 32173 node = node.child; 32174 } 32175 } // Check if this host node is stable or about to be placed. 32176 32177 32178 if (!(node.effectTag & Placement)) { 32179 // Found it! 32180 return node.stateNode; 32181 } 32182 } 32183} 32184 32185function commitPlacement(finishedWork) { 32186 32187 32188 var parentFiber = getHostParentFiber(finishedWork); // Note: these two variables *must* always be updated together. 32189 32190 var parent; 32191 var isContainer; 32192 var parentStateNode = parentFiber.stateNode; 32193 32194 switch (parentFiber.tag) { 32195 case HostComponent: 32196 parent = parentStateNode; 32197 isContainer = false; 32198 break; 32199 32200 case HostRoot: 32201 parent = parentStateNode.containerInfo; 32202 isContainer = true; 32203 break; 32204 32205 case HostPortal: 32206 parent = parentStateNode.containerInfo; 32207 isContainer = true; 32208 break; 32209 32210 case FundamentalComponent: 32211 32212 // eslint-disable-next-line-no-fallthrough 32213 32214 default: 32215 { 32216 { 32217 throw Error( "Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue." ); 32218 } 32219 } 32220 32221 } 32222 32223 if (parentFiber.effectTag & ContentReset) { 32224 // Reset the text content of the parent before doing any insertions 32225 resetTextContent(parent); // Clear ContentReset from the effect tag 32226 32227 parentFiber.effectTag &= ~ContentReset; 32228 } 32229 32230 var before = getHostSibling(finishedWork); // We only have the top Fiber that was inserted but we need to recurse down its 32231 // children to find all the terminal nodes. 32232 32233 if (isContainer) { 32234 insertOrAppendPlacementNodeIntoContainer(finishedWork, before, parent); 32235 } else { 32236 insertOrAppendPlacementNode(finishedWork, before, parent); 32237 } 32238} 32239 32240function insertOrAppendPlacementNodeIntoContainer(node, before, parent) { 32241 var tag = node.tag; 32242 var isHost = tag === HostComponent || tag === HostText; 32243 32244 if (isHost || enableFundamentalAPI ) { 32245 var stateNode = isHost ? node.stateNode : node.stateNode.instance; 32246 32247 if (before) { 32248 insertInContainerBefore(parent, stateNode, before); 32249 } else { 32250 appendChildToContainer(parent, stateNode); 32251 } 32252 } else if (tag === HostPortal) ; else { 32253 var child = node.child; 32254 32255 if (child !== null) { 32256 insertOrAppendPlacementNodeIntoContainer(child, before, parent); 32257 var sibling = child.sibling; 32258 32259 while (sibling !== null) { 32260 insertOrAppendPlacementNodeIntoContainer(sibling, before, parent); 32261 sibling = sibling.sibling; 32262 } 32263 } 32264 } 32265} 32266 32267function insertOrAppendPlacementNode(node, before, parent) { 32268 var tag = node.tag; 32269 var isHost = tag === HostComponent || tag === HostText; 32270 32271 if (isHost || enableFundamentalAPI ) { 32272 var stateNode = isHost ? node.stateNode : node.stateNode.instance; 32273 32274 if (before) { 32275 insertBefore(parent, stateNode, before); 32276 } else { 32277 appendChild(parent, stateNode); 32278 } 32279 } else if (tag === HostPortal) ; else { 32280 var child = node.child; 32281 32282 if (child !== null) { 32283 insertOrAppendPlacementNode(child, before, parent); 32284 var sibling = child.sibling; 32285 32286 while (sibling !== null) { 32287 insertOrAppendPlacementNode(sibling, before, parent); 32288 sibling = sibling.sibling; 32289 } 32290 } 32291 } 32292} 32293 32294function unmountHostComponents(finishedRoot, current, renderPriorityLevel) { 32295 // We only have the top Fiber that was deleted but we need to recurse down its 32296 // children to find all the terminal nodes. 32297 var node = current; // Each iteration, currentParent is populated with node's host parent if not 32298 // currentParentIsValid. 32299 32300 var currentParentIsValid = false; // Note: these two variables *must* always be updated together. 32301 32302 var currentParent; 32303 var currentParentIsContainer; 32304 32305 while (true) { 32306 if (!currentParentIsValid) { 32307 var parent = node.return; 32308 32309 findParent: while (true) { 32310 if (!(parent !== null)) { 32311 { 32312 throw Error( "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue." ); 32313 } 32314 } 32315 32316 var parentStateNode = parent.stateNode; 32317 32318 switch (parent.tag) { 32319 case HostComponent: 32320 currentParent = parentStateNode; 32321 currentParentIsContainer = false; 32322 break findParent; 32323 32324 case HostRoot: 32325 currentParent = parentStateNode.containerInfo; 32326 currentParentIsContainer = true; 32327 break findParent; 32328 32329 case HostPortal: 32330 currentParent = parentStateNode.containerInfo; 32331 currentParentIsContainer = true; 32332 break findParent; 32333 32334 } 32335 32336 parent = parent.return; 32337 } 32338 32339 currentParentIsValid = true; 32340 } 32341 32342 if (node.tag === HostComponent || node.tag === HostText) { 32343 commitNestedUnmounts(finishedRoot, node, renderPriorityLevel); // After all the children have unmounted, it is now safe to remove the 32344 // node from the tree. 32345 32346 if (currentParentIsContainer) { 32347 removeChildFromContainer(currentParent, node.stateNode); 32348 } else { 32349 removeChild(currentParent, node.stateNode); 32350 } // Don't visit children because we already visited them. 32351 32352 } else if (node.tag === HostPortal) { 32353 if (node.child !== null) { 32354 // When we go into a portal, it becomes the parent to remove from. 32355 // We will reassign it back when we pop the portal on the way up. 32356 currentParent = node.stateNode.containerInfo; 32357 currentParentIsContainer = true; // Visit children because portals might contain host components. 32358 32359 node.child.return = node; 32360 node = node.child; 32361 continue; 32362 } 32363 } else { 32364 commitUnmount(finishedRoot, node, renderPriorityLevel); // Visit children because we may find more host components below. 32365 32366 if (node.child !== null) { 32367 node.child.return = node; 32368 node = node.child; 32369 continue; 32370 } 32371 } 32372 32373 if (node === current) { 32374 return; 32375 } 32376 32377 while (node.sibling === null) { 32378 if (node.return === null || node.return === current) { 32379 return; 32380 } 32381 32382 node = node.return; 32383 32384 if (node.tag === HostPortal) { 32385 // When we go out of the portal, we need to restore the parent. 32386 // Since we don't keep a stack of them, we will search for it. 32387 currentParentIsValid = false; 32388 } 32389 } 32390 32391 node.sibling.return = node.return; 32392 node = node.sibling; 32393 } 32394} 32395 32396function commitDeletion(finishedRoot, current, renderPriorityLevel) { 32397 { 32398 // Recursively delete all host nodes from the parent. 32399 // Detach refs and call componentWillUnmount() on the whole subtree. 32400 unmountHostComponents(finishedRoot, current, renderPriorityLevel); 32401 } 32402 32403 detachFiber(current); 32404} 32405 32406function commitWork(current, finishedWork) { 32407 32408 switch (finishedWork.tag) { 32409 case FunctionComponent: 32410 case ForwardRef: 32411 case MemoComponent: 32412 case SimpleMemoComponent: 32413 case Block: 32414 { 32415 // Layout effects are destroyed during the mutation phase so that all 32416 // destroy functions for all fibers are called before any create functions. 32417 // This prevents sibling component effects from interfering with each other, 32418 // e.g. a destroy function in one component should never override a ref set 32419 // by a create function in another component during the same commit. 32420 commitHookEffectListUnmount(Layout | HasEffect, finishedWork); 32421 return; 32422 } 32423 32424 case ClassComponent: 32425 { 32426 return; 32427 } 32428 32429 case HostComponent: 32430 { 32431 var instance = finishedWork.stateNode; 32432 32433 if (instance != null) { 32434 // Commit the work prepared earlier. 32435 var newProps = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps 32436 // as the newProps. The updatePayload will contain the real change in 32437 // this case. 32438 32439 var oldProps = current !== null ? current.memoizedProps : newProps; 32440 var type = finishedWork.type; // TODO: Type the updateQueue to be specific to host components. 32441 32442 var updatePayload = finishedWork.updateQueue; 32443 finishedWork.updateQueue = null; 32444 32445 if (updatePayload !== null) { 32446 commitUpdate(instance, updatePayload, type, oldProps, newProps); 32447 } 32448 } 32449 32450 return; 32451 } 32452 32453 case HostText: 32454 { 32455 if (!(finishedWork.stateNode !== null)) { 32456 { 32457 throw Error( "This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue." ); 32458 } 32459 } 32460 32461 var textInstance = finishedWork.stateNode; 32462 var newText = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps 32463 // as the newProps. The updatePayload will contain the real change in 32464 // this case. 32465 32466 var oldText = current !== null ? current.memoizedProps : newText; 32467 commitTextUpdate(textInstance, oldText, newText); 32468 return; 32469 } 32470 32471 case HostRoot: 32472 { 32473 { 32474 var _root = finishedWork.stateNode; 32475 32476 if (_root.hydrate) { 32477 // We've just hydrated. No need to hydrate again. 32478 _root.hydrate = false; 32479 commitHydratedContainer(_root.containerInfo); 32480 } 32481 } 32482 32483 return; 32484 } 32485 32486 case Profiler: 32487 { 32488 return; 32489 } 32490 32491 case SuspenseComponent: 32492 { 32493 commitSuspenseComponent(finishedWork); 32494 attachSuspenseRetryListeners(finishedWork); 32495 return; 32496 } 32497 32498 case SuspenseListComponent: 32499 { 32500 attachSuspenseRetryListeners(finishedWork); 32501 return; 32502 } 32503 32504 case IncompleteClassComponent: 32505 { 32506 return; 32507 } 32508 } 32509 32510 { 32511 { 32512 throw Error( "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue." ); 32513 } 32514 } 32515} 32516 32517function commitSuspenseComponent(finishedWork) { 32518 var newState = finishedWork.memoizedState; 32519 var newDidTimeout; 32520 var primaryChildParent = finishedWork; 32521 32522 if (newState === null) { 32523 newDidTimeout = false; 32524 } else { 32525 newDidTimeout = true; 32526 primaryChildParent = finishedWork.child; 32527 markCommitTimeOfFallback(); 32528 } 32529 32530 if ( primaryChildParent !== null) { 32531 hideOrUnhideAllChildren(primaryChildParent, newDidTimeout); 32532 } 32533} 32534 32535function commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) { 32536 32537 var newState = finishedWork.memoizedState; 32538 32539 if (newState === null) { 32540 var current = finishedWork.alternate; 32541 32542 if (current !== null) { 32543 var prevState = current.memoizedState; 32544 32545 if (prevState !== null) { 32546 var suspenseInstance = prevState.dehydrated; 32547 32548 if (suspenseInstance !== null) { 32549 commitHydratedSuspenseInstance(suspenseInstance); 32550 } 32551 } 32552 } 32553 } 32554} 32555 32556function attachSuspenseRetryListeners(finishedWork) { 32557 // If this boundary just timed out, then it will have a set of thenables. 32558 // For each thenable, attach a listener so that when it resolves, React 32559 // attempts to re-render the boundary in the primary (pre-timeout) state. 32560 var thenables = finishedWork.updateQueue; 32561 32562 if (thenables !== null) { 32563 finishedWork.updateQueue = null; 32564 var retryCache = finishedWork.stateNode; 32565 32566 if (retryCache === null) { 32567 retryCache = finishedWork.stateNode = new PossiblyWeakSet(); 32568 } 32569 32570 thenables.forEach(function (thenable) { 32571 // Memoize using the boundary fiber to prevent redundant listeners. 32572 var retry = resolveRetryThenable.bind(null, finishedWork, thenable); 32573 32574 if (!retryCache.has(thenable)) { 32575 { 32576 if (thenable.__reactDoNotTraceInteractions !== true) { 32577 retry = tracing.unstable_wrap(retry); 32578 } 32579 } 32580 32581 retryCache.add(thenable); 32582 thenable.then(retry, retry); 32583 } 32584 }); 32585 } 32586} 32587 32588function commitResetTextContent(current) { 32589 32590 resetTextContent(current.stateNode); 32591} 32592 32593var PossiblyWeakMap$1 = typeof WeakMap === 'function' ? WeakMap : Map; 32594 32595function createRootErrorUpdate(fiber, errorInfo, expirationTime) { 32596 var update = createUpdate(expirationTime, null); // Unmount the root by rendering null. 32597 32598 update.tag = CaptureUpdate; // Caution: React DevTools currently depends on this property 32599 // being called "element". 32600 32601 update.payload = { 32602 element: null 32603 }; 32604 var error = errorInfo.value; 32605 32606 update.callback = function () { 32607 onUncaughtError(error); 32608 logError(fiber, errorInfo); 32609 }; 32610 32611 return update; 32612} 32613 32614function createClassErrorUpdate(fiber, errorInfo, expirationTime) { 32615 var update = createUpdate(expirationTime, null); 32616 update.tag = CaptureUpdate; 32617 var getDerivedStateFromError = fiber.type.getDerivedStateFromError; 32618 32619 if (typeof getDerivedStateFromError === 'function') { 32620 var error$1 = errorInfo.value; 32621 32622 update.payload = function () { 32623 logError(fiber, errorInfo); 32624 return getDerivedStateFromError(error$1); 32625 }; 32626 } 32627 32628 var inst = fiber.stateNode; 32629 32630 if (inst !== null && typeof inst.componentDidCatch === 'function') { 32631 update.callback = function callback() { 32632 { 32633 markFailedErrorBoundaryForHotReloading(fiber); 32634 } 32635 32636 if (typeof getDerivedStateFromError !== 'function') { 32637 // To preserve the preexisting retry behavior of error boundaries, 32638 // we keep track of which ones already failed during this batch. 32639 // This gets reset before we yield back to the browser. 32640 // TODO: Warn in strict mode if getDerivedStateFromError is 32641 // not defined. 32642 markLegacyErrorBoundaryAsFailed(this); // Only log here if componentDidCatch is the only error boundary method defined 32643 32644 logError(fiber, errorInfo); 32645 } 32646 32647 var error$1 = errorInfo.value; 32648 var stack = errorInfo.stack; 32649 this.componentDidCatch(error$1, { 32650 componentStack: stack !== null ? stack : '' 32651 }); 32652 32653 { 32654 if (typeof getDerivedStateFromError !== 'function') { 32655 // If componentDidCatch is the only error boundary method defined, 32656 // then it needs to call setState to recover from errors. 32657 // If no state update is scheduled then the boundary will swallow the error. 32658 if (fiber.expirationTime !== Sync) { 32659 error('%s: Error boundaries should implement getDerivedStateFromError(). ' + 'In that method, return a state update to display an error message or fallback UI.', getComponentName(fiber.type) || 'Unknown'); 32660 } 32661 } 32662 } 32663 }; 32664 } else { 32665 update.callback = function () { 32666 markFailedErrorBoundaryForHotReloading(fiber); 32667 }; 32668 } 32669 32670 return update; 32671} 32672 32673function attachPingListener(root, renderExpirationTime, thenable) { 32674 // Attach a listener to the promise to "ping" the root and retry. But 32675 // only if one does not already exist for the current render expiration 32676 // time (which acts like a "thread ID" here). 32677 var pingCache = root.pingCache; 32678 var threadIDs; 32679 32680 if (pingCache === null) { 32681 pingCache = root.pingCache = new PossiblyWeakMap$1(); 32682 threadIDs = new Set(); 32683 pingCache.set(thenable, threadIDs); 32684 } else { 32685 threadIDs = pingCache.get(thenable); 32686 32687 if (threadIDs === undefined) { 32688 threadIDs = new Set(); 32689 pingCache.set(thenable, threadIDs); 32690 } 32691 } 32692 32693 if (!threadIDs.has(renderExpirationTime)) { 32694 // Memoize using the thread ID to prevent redundant listeners. 32695 threadIDs.add(renderExpirationTime); 32696 var ping = pingSuspendedRoot.bind(null, root, thenable, renderExpirationTime); 32697 thenable.then(ping, ping); 32698 } 32699} 32700 32701function throwException(root, returnFiber, sourceFiber, value, renderExpirationTime) { 32702 // The source fiber did not complete. 32703 sourceFiber.effectTag |= Incomplete; // Its effect list is no longer valid. 32704 32705 sourceFiber.firstEffect = sourceFiber.lastEffect = null; 32706 32707 if (value !== null && typeof value === 'object' && typeof value.then === 'function') { 32708 // This is a thenable. 32709 var thenable = value; 32710 32711 if ((sourceFiber.mode & BlockingMode) === NoMode) { 32712 // Reset the memoizedState to what it was before we attempted 32713 // to render it. 32714 var currentSource = sourceFiber.alternate; 32715 32716 if (currentSource) { 32717 sourceFiber.updateQueue = currentSource.updateQueue; 32718 sourceFiber.memoizedState = currentSource.memoizedState; 32719 sourceFiber.expirationTime = currentSource.expirationTime; 32720 } else { 32721 sourceFiber.updateQueue = null; 32722 sourceFiber.memoizedState = null; 32723 } 32724 } 32725 32726 var hasInvisibleParentBoundary = hasSuspenseContext(suspenseStackCursor.current, InvisibleParentSuspenseContext); // Schedule the nearest Suspense to re-render the timed out view. 32727 32728 var _workInProgress = returnFiber; 32729 32730 do { 32731 if (_workInProgress.tag === SuspenseComponent && shouldCaptureSuspense(_workInProgress, hasInvisibleParentBoundary)) { 32732 // Found the nearest boundary. 32733 // Stash the promise on the boundary fiber. If the boundary times out, we'll 32734 // attach another listener to flip the boundary back to its normal state. 32735 var thenables = _workInProgress.updateQueue; 32736 32737 if (thenables === null) { 32738 var updateQueue = new Set(); 32739 updateQueue.add(thenable); 32740 _workInProgress.updateQueue = updateQueue; 32741 } else { 32742 thenables.add(thenable); 32743 } // If the boundary is outside of blocking mode, we should *not* 32744 // suspend the commit. Pretend as if the suspended component rendered 32745 // null and keep rendering. In the commit phase, we'll schedule a 32746 // subsequent synchronous update to re-render the Suspense. 32747 // 32748 // Note: It doesn't matter whether the component that suspended was 32749 // inside a blocking mode tree. If the Suspense is outside of it, we 32750 // should *not* suspend the commit. 32751 32752 32753 if ((_workInProgress.mode & BlockingMode) === NoMode) { 32754 _workInProgress.effectTag |= DidCapture; // We're going to commit this fiber even though it didn't complete. 32755 // But we shouldn't call any lifecycle methods or callbacks. Remove 32756 // all lifecycle effect tags. 32757 32758 sourceFiber.effectTag &= ~(LifecycleEffectMask | Incomplete); 32759 32760 if (sourceFiber.tag === ClassComponent) { 32761 var currentSourceFiber = sourceFiber.alternate; 32762 32763 if (currentSourceFiber === null) { 32764 // This is a new mount. Change the tag so it's not mistaken for a 32765 // completed class component. For example, we should not call 32766 // componentWillUnmount if it is deleted. 32767 sourceFiber.tag = IncompleteClassComponent; 32768 } else { 32769 // When we try rendering again, we should not reuse the current fiber, 32770 // since it's known to be in an inconsistent state. Use a force update to 32771 // prevent a bail out. 32772 var update = createUpdate(Sync, null); 32773 update.tag = ForceUpdate; 32774 enqueueUpdate(sourceFiber, update); 32775 } 32776 } // The source fiber did not complete. Mark it with Sync priority to 32777 // indicate that it still has pending work. 32778 32779 32780 sourceFiber.expirationTime = Sync; // Exit without suspending. 32781 32782 return; 32783 } // Confirmed that the boundary is in a concurrent mode tree. Continue 32784 // with the normal suspend path. 32785 // 32786 // After this we'll use a set of heuristics to determine whether this 32787 // render pass will run to completion or restart or "suspend" the commit. 32788 // The actual logic for this is spread out in different places. 32789 // 32790 // This first principle is that if we're going to suspend when we complete 32791 // a root, then we should also restart if we get an update or ping that 32792 // might unsuspend it, and vice versa. The only reason to suspend is 32793 // because you think you might want to restart before committing. However, 32794 // it doesn't make sense to restart only while in the period we're suspended. 32795 // 32796 // Restarting too aggressively is also not good because it starves out any 32797 // intermediate loading state. So we use heuristics to determine when. 32798 // Suspense Heuristics 32799 // 32800 // If nothing threw a Promise or all the same fallbacks are already showing, 32801 // then don't suspend/restart. 32802 // 32803 // If this is an initial render of a new tree of Suspense boundaries and 32804 // those trigger a fallback, then don't suspend/restart. We want to ensure 32805 // that we can show the initial loading state as quickly as possible. 32806 // 32807 // If we hit a "Delayed" case, such as when we'd switch from content back into 32808 // a fallback, then we should always suspend/restart. SuspenseConfig applies to 32809 // this case. If none is defined, JND is used instead. 32810 // 32811 // If we're already showing a fallback and it gets "retried", allowing us to show 32812 // another level, but there's still an inner boundary that would show a fallback, 32813 // then we suspend/restart for 500ms since the last time we showed a fallback 32814 // anywhere in the tree. This effectively throttles progressive loading into a 32815 // consistent train of commits. This also gives us an opportunity to restart to 32816 // get to the completed state slightly earlier. 32817 // 32818 // If there's ambiguity due to batching it's resolved in preference of: 32819 // 1) "delayed", 2) "initial render", 3) "retry". 32820 // 32821 // We want to ensure that a "busy" state doesn't get force committed. We want to 32822 // ensure that new initial loading states can commit as soon as possible. 32823 32824 32825 attachPingListener(root, renderExpirationTime, thenable); 32826 _workInProgress.effectTag |= ShouldCapture; 32827 _workInProgress.expirationTime = renderExpirationTime; 32828 return; 32829 } // This boundary already captured during this render. Continue to the next 32830 // boundary. 32831 32832 32833 _workInProgress = _workInProgress.return; 32834 } while (_workInProgress !== null); // No boundary was found. Fallthrough to error mode. 32835 // TODO: Use invariant so the message is stripped in prod? 32836 32837 32838 value = new Error((getComponentName(sourceFiber.type) || 'A React component') + ' suspended while rendering, but no fallback UI was specified.\n' + '\n' + 'Add a <Suspense fallback=...> component higher in the tree to ' + 'provide a loading indicator or placeholder to display.' + getStackByFiberInDevAndProd(sourceFiber)); 32839 } // We didn't find a boundary that could handle this type of exception. Start 32840 // over and traverse parent path again, this time treating the exception 32841 // as an error. 32842 32843 32844 renderDidError(); 32845 value = createCapturedValue(value, sourceFiber); 32846 var workInProgress = returnFiber; 32847 32848 do { 32849 switch (workInProgress.tag) { 32850 case HostRoot: 32851 { 32852 var _errorInfo = value; 32853 workInProgress.effectTag |= ShouldCapture; 32854 workInProgress.expirationTime = renderExpirationTime; 32855 32856 var _update = createRootErrorUpdate(workInProgress, _errorInfo, renderExpirationTime); 32857 32858 enqueueCapturedUpdate(workInProgress, _update); 32859 return; 32860 } 32861 32862 case ClassComponent: 32863 // Capture and retry 32864 var errorInfo = value; 32865 var ctor = workInProgress.type; 32866 var instance = workInProgress.stateNode; 32867 32868 if ((workInProgress.effectTag & DidCapture) === NoEffect && (typeof ctor.getDerivedStateFromError === 'function' || instance !== null && typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance))) { 32869 workInProgress.effectTag |= ShouldCapture; 32870 workInProgress.expirationTime = renderExpirationTime; // Schedule the error boundary to re-render using updated state 32871 32872 var _update2 = createClassErrorUpdate(workInProgress, errorInfo, renderExpirationTime); 32873 32874 enqueueCapturedUpdate(workInProgress, _update2); 32875 return; 32876 } 32877 32878 break; 32879 } 32880 32881 workInProgress = workInProgress.return; 32882 } while (workInProgress !== null); 32883} 32884 32885var ceil = Math.ceil; 32886var ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher, 32887 ReactCurrentOwner$2 = ReactSharedInternals.ReactCurrentOwner, 32888 IsSomeRendererActing = ReactSharedInternals.IsSomeRendererActing; 32889var NoContext = 32890/* */ 328910; 32892var BatchedContext = 32893/* */ 328941; 32895var EventContext = 32896/* */ 328972; 32898var DiscreteEventContext = 32899/* */ 329004; 32901var LegacyUnbatchedContext = 32902/* */ 329038; 32904var RenderContext = 32905/* */ 3290616; 32907var CommitContext = 32908/* */ 3290932; 32910var RootIncomplete = 0; 32911var RootFatalErrored = 1; 32912var RootErrored = 2; 32913var RootSuspended = 3; 32914var RootSuspendedWithDelay = 4; 32915var RootCompleted = 5; 32916// Describes where we are in the React execution stack 32917var executionContext = NoContext; // The root we're working on 32918 32919var workInProgressRoot = null; // The fiber we're working on 32920 32921var workInProgress = null; // The expiration time we're rendering 32922 32923var renderExpirationTime$1 = NoWork; // Whether to root completed, errored, suspended, etc. 32924 32925var workInProgressRootExitStatus = RootIncomplete; // A fatal error, if one is thrown 32926 32927var workInProgressRootFatalError = null; // Most recent event time among processed updates during this render. 32928// This is conceptually a time stamp but expressed in terms of an ExpirationTime 32929// because we deal mostly with expiration times in the hot path, so this avoids 32930// the conversion happening in the hot path. 32931 32932var workInProgressRootLatestProcessedExpirationTime = Sync; 32933var workInProgressRootLatestSuspenseTimeout = Sync; 32934var workInProgressRootCanSuspendUsingConfig = null; // The work left over by components that were visited during this render. Only 32935// includes unprocessed updates, not work in bailed out children. 32936 32937var workInProgressRootNextUnprocessedUpdateTime = NoWork; // If we're pinged while rendering we don't always restart immediately. 32938// This flag determines if it might be worthwhile to restart if an opportunity 32939// happens latere. 32940 32941var workInProgressRootHasPendingPing = false; // The most recent time we committed a fallback. This lets us ensure a train 32942// model where we don't commit new loading states in too quick succession. 32943 32944var globalMostRecentFallbackTime = 0; 32945var FALLBACK_THROTTLE_MS = 500; 32946var nextEffect = null; 32947var hasUncaughtError = false; 32948var firstUncaughtError = null; 32949var legacyErrorBoundariesThatAlreadyFailed = null; 32950var rootDoesHavePassiveEffects = false; 32951var rootWithPendingPassiveEffects = null; 32952var pendingPassiveEffectsRenderPriority = NoPriority; 32953var pendingPassiveEffectsExpirationTime = NoWork; 32954var rootsWithPendingDiscreteUpdates = null; // Use these to prevent an infinite loop of nested updates 32955 32956var NESTED_UPDATE_LIMIT = 50; 32957var nestedUpdateCount = 0; 32958var rootWithNestedUpdates = null; 32959var NESTED_PASSIVE_UPDATE_LIMIT = 50; 32960var nestedPassiveUpdateCount = 0; 32961var interruptedBy = null; // Marks the need to reschedule pending interactions at these expiration times 32962// during the commit phase. This enables them to be traced across components 32963// that spawn new work during render. E.g. hidden boundaries, suspended SSR 32964// hydration or SuspenseList. 32965 32966var spawnedWorkDuringRender = null; // Expiration times are computed by adding to the current time (the start 32967// time). However, if two updates are scheduled within the same event, we 32968// should treat their start times as simultaneous, even if the actual clock 32969// time has advanced between the first and second call. 32970// In other words, because expiration times determine how updates are batched, 32971// we want all updates of like priority that occur within the same event to 32972// receive the same expiration time. Otherwise we get tearing. 32973 32974var currentEventTime = NoWork; 32975function requestCurrentTimeForUpdate() { 32976 if ((executionContext & (RenderContext | CommitContext)) !== NoContext) { 32977 // We're inside React, so it's fine to read the actual time. 32978 return msToExpirationTime(now()); 32979 } // We're not inside React, so we may be in the middle of a browser event. 32980 32981 32982 if (currentEventTime !== NoWork) { 32983 // Use the same start time for all updates until we enter React again. 32984 return currentEventTime; 32985 } // This is the first update since React yielded. Compute a new start time. 32986 32987 32988 currentEventTime = msToExpirationTime(now()); 32989 return currentEventTime; 32990} 32991function getCurrentTime() { 32992 return msToExpirationTime(now()); 32993} 32994function computeExpirationForFiber(currentTime, fiber, suspenseConfig) { 32995 var mode = fiber.mode; 32996 32997 if ((mode & BlockingMode) === NoMode) { 32998 return Sync; 32999 } 33000 33001 var priorityLevel = getCurrentPriorityLevel(); 33002 33003 if ((mode & ConcurrentMode) === NoMode) { 33004 return priorityLevel === ImmediatePriority ? Sync : Batched; 33005 } 33006 33007 if ((executionContext & RenderContext) !== NoContext) { 33008 // Use whatever time we're already rendering 33009 // TODO: Should there be a way to opt out, like with `runWithPriority`? 33010 return renderExpirationTime$1; 33011 } 33012 33013 var expirationTime; 33014 33015 if (suspenseConfig !== null) { 33016 // Compute an expiration time based on the Suspense timeout. 33017 expirationTime = computeSuspenseExpiration(currentTime, suspenseConfig.timeoutMs | 0 || LOW_PRIORITY_EXPIRATION); 33018 } else { 33019 // Compute an expiration time based on the Scheduler priority. 33020 switch (priorityLevel) { 33021 case ImmediatePriority: 33022 expirationTime = Sync; 33023 break; 33024 33025 case UserBlockingPriority$1: 33026 // TODO: Rename this to computeUserBlockingExpiration 33027 expirationTime = computeInteractiveExpiration(currentTime); 33028 break; 33029 33030 case NormalPriority: 33031 case LowPriority: 33032 // TODO: Handle LowPriority 33033 // TODO: Rename this to... something better. 33034 expirationTime = computeAsyncExpiration(currentTime); 33035 break; 33036 33037 case IdlePriority: 33038 expirationTime = Idle; 33039 break; 33040 33041 default: 33042 { 33043 { 33044 throw Error( "Expected a valid priority level" ); 33045 } 33046 } 33047 33048 } 33049 } // If we're in the middle of rendering a tree, do not update at the same 33050 // expiration time that is already rendering. 33051 // TODO: We shouldn't have to do this if the update is on a different root. 33052 // Refactor computeExpirationForFiber + scheduleUpdate so we have access to 33053 // the root when we check for this condition. 33054 33055 33056 if (workInProgressRoot !== null && expirationTime === renderExpirationTime$1) { 33057 // This is a trick to move this update into a separate batch 33058 expirationTime -= 1; 33059 } 33060 33061 return expirationTime; 33062} 33063function scheduleUpdateOnFiber(fiber, expirationTime) { 33064 checkForNestedUpdates(); 33065 warnAboutRenderPhaseUpdatesInDEV(fiber); 33066 var root = markUpdateTimeFromFiberToRoot(fiber, expirationTime); 33067 33068 if (root === null) { 33069 warnAboutUpdateOnUnmountedFiberInDEV(fiber); 33070 return; 33071 } 33072 33073 checkForInterruption(fiber, expirationTime); 33074 recordScheduleUpdate(); // TODO: computeExpirationForFiber also reads the priority. Pass the 33075 // priority as an argument to that function and this one. 33076 33077 var priorityLevel = getCurrentPriorityLevel(); 33078 33079 if (expirationTime === Sync) { 33080 if ( // Check if we're inside unbatchedUpdates 33081 (executionContext & LegacyUnbatchedContext) !== NoContext && // Check if we're not already rendering 33082 (executionContext & (RenderContext | CommitContext)) === NoContext) { 33083 // Register pending interactions on the root to avoid losing traced interaction data. 33084 schedulePendingInteractions(root, expirationTime); // This is a legacy edge case. The initial mount of a ReactDOM.render-ed 33085 // root inside of batchedUpdates should be synchronous, but layout updates 33086 // should be deferred until the end of the batch. 33087 33088 performSyncWorkOnRoot(root); 33089 } else { 33090 ensureRootIsScheduled(root); 33091 schedulePendingInteractions(root, expirationTime); 33092 33093 if (executionContext === NoContext) { 33094 // Flush the synchronous work now, unless we're already working or inside 33095 // a batch. This is intentionally inside scheduleUpdateOnFiber instead of 33096 // scheduleCallbackForFiber to preserve the ability to schedule a callback 33097 // without immediately flushing it. We only do this for user-initiated 33098 // updates, to preserve historical behavior of legacy mode. 33099 flushSyncCallbackQueue(); 33100 } 33101 } 33102 } else { 33103 ensureRootIsScheduled(root); 33104 schedulePendingInteractions(root, expirationTime); 33105 } 33106 33107 if ((executionContext & DiscreteEventContext) !== NoContext && ( // Only updates at user-blocking priority or greater are considered 33108 // discrete, even inside a discrete event. 33109 priorityLevel === UserBlockingPriority$1 || priorityLevel === ImmediatePriority)) { 33110 // This is the result of a discrete event. Track the lowest priority 33111 // discrete update per root so we can flush them early, if needed. 33112 if (rootsWithPendingDiscreteUpdates === null) { 33113 rootsWithPendingDiscreteUpdates = new Map([[root, expirationTime]]); 33114 } else { 33115 var lastDiscreteTime = rootsWithPendingDiscreteUpdates.get(root); 33116 33117 if (lastDiscreteTime === undefined || lastDiscreteTime > expirationTime) { 33118 rootsWithPendingDiscreteUpdates.set(root, expirationTime); 33119 } 33120 } 33121 } 33122} 33123var scheduleWork = scheduleUpdateOnFiber; // This is split into a separate function so we can mark a fiber with pending 33124// work without treating it as a typical update that originates from an event; 33125// e.g. retrying a Suspense boundary isn't an update, but it does schedule work 33126// on a fiber. 33127 33128function markUpdateTimeFromFiberToRoot(fiber, expirationTime) { 33129 // Update the source fiber's expiration time 33130 if (fiber.expirationTime < expirationTime) { 33131 fiber.expirationTime = expirationTime; 33132 } 33133 33134 var alternate = fiber.alternate; 33135 33136 if (alternate !== null && alternate.expirationTime < expirationTime) { 33137 alternate.expirationTime = expirationTime; 33138 } // Walk the parent path to the root and update the child expiration time. 33139 33140 33141 var node = fiber.return; 33142 var root = null; 33143 33144 if (node === null && fiber.tag === HostRoot) { 33145 root = fiber.stateNode; 33146 } else { 33147 while (node !== null) { 33148 alternate = node.alternate; 33149 33150 if (node.childExpirationTime < expirationTime) { 33151 node.childExpirationTime = expirationTime; 33152 33153 if (alternate !== null && alternate.childExpirationTime < expirationTime) { 33154 alternate.childExpirationTime = expirationTime; 33155 } 33156 } else if (alternate !== null && alternate.childExpirationTime < expirationTime) { 33157 alternate.childExpirationTime = expirationTime; 33158 } 33159 33160 if (node.return === null && node.tag === HostRoot) { 33161 root = node.stateNode; 33162 break; 33163 } 33164 33165 node = node.return; 33166 } 33167 } 33168 33169 if (root !== null) { 33170 if (workInProgressRoot === root) { 33171 // Received an update to a tree that's in the middle of rendering. Mark 33172 // that's unprocessed work on this root. 33173 markUnprocessedUpdateTime(expirationTime); 33174 33175 if (workInProgressRootExitStatus === RootSuspendedWithDelay) { 33176 // The root already suspended with a delay, which means this render 33177 // definitely won't finish. Since we have a new update, let's mark it as 33178 // suspended now, right before marking the incoming update. This has the 33179 // effect of interrupting the current render and switching to the update. 33180 // TODO: This happens to work when receiving an update during the render 33181 // phase, because of the trick inside computeExpirationForFiber to 33182 // subtract 1 from `renderExpirationTime` to move it into a 33183 // separate bucket. But we should probably model it with an exception, 33184 // using the same mechanism we use to force hydration of a subtree. 33185 // TODO: This does not account for low pri updates that were already 33186 // scheduled before the root started rendering. Need to track the next 33187 // pending expiration time (perhaps by backtracking the return path) and 33188 // then trigger a restart in the `renderDidSuspendDelayIfPossible` path. 33189 markRootSuspendedAtTime(root, renderExpirationTime$1); 33190 } 33191 } // Mark that the root has a pending update. 33192 33193 33194 markRootUpdatedAtTime(root, expirationTime); 33195 } 33196 33197 return root; 33198} 33199 33200function getNextRootExpirationTimeToWorkOn(root) { 33201 // Determines the next expiration time that the root should render, taking 33202 // into account levels that may be suspended, or levels that may have 33203 // received a ping. 33204 var lastExpiredTime = root.lastExpiredTime; 33205 33206 if (lastExpiredTime !== NoWork) { 33207 return lastExpiredTime; 33208 } // "Pending" refers to any update that hasn't committed yet, including if it 33209 // suspended. The "suspended" range is therefore a subset. 33210 33211 33212 var firstPendingTime = root.firstPendingTime; 33213 33214 if (!isRootSuspendedAtTime(root, firstPendingTime)) { 33215 // The highest priority pending time is not suspended. Let's work on that. 33216 return firstPendingTime; 33217 } // If the first pending time is suspended, check if there's a lower priority 33218 // pending level that we know about. Or check if we received a ping. Work 33219 // on whichever is higher priority. 33220 33221 33222 var lastPingedTime = root.lastPingedTime; 33223 var nextKnownPendingLevel = root.nextKnownPendingLevel; 33224 var nextLevel = lastPingedTime > nextKnownPendingLevel ? lastPingedTime : nextKnownPendingLevel; 33225 33226 if ( nextLevel <= Idle && firstPendingTime !== nextLevel) { 33227 // Don't work on Idle/Never priority unless everything else is committed. 33228 return NoWork; 33229 } 33230 33231 return nextLevel; 33232} // Use this function to schedule a task for a root. There's only one task per 33233// root; if a task was already scheduled, we'll check to make sure the 33234// expiration time of the existing task is the same as the expiration time of 33235// the next level that the root has work on. This function is called on every 33236// update, and right before exiting a task. 33237 33238 33239function ensureRootIsScheduled(root) { 33240 var lastExpiredTime = root.lastExpiredTime; 33241 33242 if (lastExpiredTime !== NoWork) { 33243 // Special case: Expired work should flush synchronously. 33244 root.callbackExpirationTime = Sync; 33245 root.callbackPriority = ImmediatePriority; 33246 root.callbackNode = scheduleSyncCallback(performSyncWorkOnRoot.bind(null, root)); 33247 return; 33248 } 33249 33250 var expirationTime = getNextRootExpirationTimeToWorkOn(root); 33251 var existingCallbackNode = root.callbackNode; 33252 33253 if (expirationTime === NoWork) { 33254 // There's nothing to work on. 33255 if (existingCallbackNode !== null) { 33256 root.callbackNode = null; 33257 root.callbackExpirationTime = NoWork; 33258 root.callbackPriority = NoPriority; 33259 } 33260 33261 return; 33262 } // TODO: If this is an update, we already read the current time. Pass the 33263 // time as an argument. 33264 33265 33266 var currentTime = requestCurrentTimeForUpdate(); 33267 var priorityLevel = inferPriorityFromExpirationTime(currentTime, expirationTime); // If there's an existing render task, confirm it has the correct priority and 33268 // expiration time. Otherwise, we'll cancel it and schedule a new one. 33269 33270 if (existingCallbackNode !== null) { 33271 var existingCallbackPriority = root.callbackPriority; 33272 var existingCallbackExpirationTime = root.callbackExpirationTime; 33273 33274 if ( // Callback must have the exact same expiration time. 33275 existingCallbackExpirationTime === expirationTime && // Callback must have greater or equal priority. 33276 existingCallbackPriority >= priorityLevel) { 33277 // Existing callback is sufficient. 33278 return; 33279 } // Need to schedule a new task. 33280 // TODO: Instead of scheduling a new task, we should be able to change the 33281 // priority of the existing one. 33282 33283 33284 cancelCallback(existingCallbackNode); 33285 } 33286 33287 root.callbackExpirationTime = expirationTime; 33288 root.callbackPriority = priorityLevel; 33289 var callbackNode; 33290 33291 if (expirationTime === Sync) { 33292 // Sync React callbacks are scheduled on a special internal queue 33293 callbackNode = scheduleSyncCallback(performSyncWorkOnRoot.bind(null, root)); 33294 } else { 33295 callbackNode = scheduleCallback(priorityLevel, performConcurrentWorkOnRoot.bind(null, root), // Compute a task timeout based on the expiration time. This also affects 33296 // ordering because tasks are processed in timeout order. 33297 { 33298 timeout: expirationTimeToMs(expirationTime) - now() 33299 }); 33300 } 33301 33302 root.callbackNode = callbackNode; 33303} // This is the entry point for every concurrent task, i.e. anything that 33304// goes through Scheduler. 33305 33306 33307function performConcurrentWorkOnRoot(root, didTimeout) { 33308 // Since we know we're in a React event, we can clear the current 33309 // event time. The next update will compute a new event time. 33310 currentEventTime = NoWork; 33311 33312 if (didTimeout) { 33313 // The render task took too long to complete. Mark the current time as 33314 // expired to synchronously render all expired work in a single batch. 33315 var currentTime = requestCurrentTimeForUpdate(); 33316 markRootExpiredAtTime(root, currentTime); // This will schedule a synchronous callback. 33317 33318 ensureRootIsScheduled(root); 33319 return null; 33320 } // Determine the next expiration time to work on, using the fields stored 33321 // on the root. 33322 33323 33324 var expirationTime = getNextRootExpirationTimeToWorkOn(root); 33325 33326 if (expirationTime !== NoWork) { 33327 var originalCallbackNode = root.callbackNode; 33328 33329 if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) { 33330 { 33331 throw Error( "Should not already be working." ); 33332 } 33333 } 33334 33335 flushPassiveEffects(); // If the root or expiration time have changed, throw out the existing stack 33336 // and prepare a fresh one. Otherwise we'll continue where we left off. 33337 33338 if (root !== workInProgressRoot || expirationTime !== renderExpirationTime$1) { 33339 prepareFreshStack(root, expirationTime); 33340 startWorkOnPendingInteractions(root, expirationTime); 33341 } // If we have a work-in-progress fiber, it means there's still work to do 33342 // in this root. 33343 33344 33345 if (workInProgress !== null) { 33346 var prevExecutionContext = executionContext; 33347 executionContext |= RenderContext; 33348 var prevDispatcher = pushDispatcher(); 33349 var prevInteractions = pushInteractions(root); 33350 startWorkLoopTimer(workInProgress); 33351 33352 do { 33353 try { 33354 workLoopConcurrent(); 33355 break; 33356 } catch (thrownValue) { 33357 handleError(root, thrownValue); 33358 } 33359 } while (true); 33360 33361 resetContextDependencies(); 33362 executionContext = prevExecutionContext; 33363 popDispatcher(prevDispatcher); 33364 33365 { 33366 popInteractions(prevInteractions); 33367 } 33368 33369 if (workInProgressRootExitStatus === RootFatalErrored) { 33370 var fatalError = workInProgressRootFatalError; 33371 stopInterruptedWorkLoopTimer(); 33372 prepareFreshStack(root, expirationTime); 33373 markRootSuspendedAtTime(root, expirationTime); 33374 ensureRootIsScheduled(root); 33375 throw fatalError; 33376 } 33377 33378 if (workInProgress !== null) { 33379 // There's still work left over. Exit without committing. 33380 stopInterruptedWorkLoopTimer(); 33381 } else { 33382 // We now have a consistent tree. The next step is either to commit it, 33383 // or, if something suspended, wait to commit it after a timeout. 33384 stopFinishedWorkLoopTimer(); 33385 var finishedWork = root.finishedWork = root.current.alternate; 33386 root.finishedExpirationTime = expirationTime; 33387 finishConcurrentRender(root, finishedWork, workInProgressRootExitStatus, expirationTime); 33388 } 33389 33390 ensureRootIsScheduled(root); 33391 33392 if (root.callbackNode === originalCallbackNode) { 33393 // The task node scheduled for this root is the same one that's 33394 // currently executed. Need to return a continuation. 33395 return performConcurrentWorkOnRoot.bind(null, root); 33396 } 33397 } 33398 } 33399 33400 return null; 33401} 33402 33403function finishConcurrentRender(root, finishedWork, exitStatus, expirationTime) { 33404 // Set this to null to indicate there's no in-progress render. 33405 workInProgressRoot = null; 33406 33407 switch (exitStatus) { 33408 case RootIncomplete: 33409 case RootFatalErrored: 33410 { 33411 { 33412 { 33413 throw Error( "Root did not complete. This is a bug in React." ); 33414 } 33415 } 33416 } 33417 // Flow knows about invariant, so it complains if I add a break 33418 // statement, but eslint doesn't know about invariant, so it complains 33419 // if I do. eslint-disable-next-line no-fallthrough 33420 33421 case RootErrored: 33422 { 33423 // If this was an async render, the error may have happened due to 33424 // a mutation in a concurrent event. Try rendering one more time, 33425 // synchronously, to see if the error goes away. If there are 33426 // lower priority updates, let's include those, too, in case they 33427 // fix the inconsistency. Render at Idle to include all updates. 33428 // If it was Idle or Never or some not-yet-invented time, render 33429 // at that time. 33430 markRootExpiredAtTime(root, expirationTime > Idle ? Idle : expirationTime); // We assume that this second render pass will be synchronous 33431 // and therefore not hit this path again. 33432 33433 break; 33434 } 33435 33436 case RootSuspended: 33437 { 33438 markRootSuspendedAtTime(root, expirationTime); 33439 var lastSuspendedTime = root.lastSuspendedTime; 33440 33441 if (expirationTime === lastSuspendedTime) { 33442 root.nextKnownPendingLevel = getRemainingExpirationTime(finishedWork); 33443 } // We have an acceptable loading state. We need to figure out if we 33444 // should immediately commit it or wait a bit. 33445 // If we have processed new updates during this render, we may now 33446 // have a new loading state ready. We want to ensure that we commit 33447 // that as soon as possible. 33448 33449 33450 var hasNotProcessedNewUpdates = workInProgressRootLatestProcessedExpirationTime === Sync; 33451 33452 if (hasNotProcessedNewUpdates && // do not delay if we're inside an act() scope 33453 !( IsThisRendererActing.current)) { 33454 // If we have not processed any new updates during this pass, then 33455 // this is either a retry of an existing fallback state or a 33456 // hidden tree. Hidden trees shouldn't be batched with other work 33457 // and after that's fixed it can only be a retry. We're going to 33458 // throttle committing retries so that we don't show too many 33459 // loading states too quickly. 33460 var msUntilTimeout = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now(); // Don't bother with a very short suspense time. 33461 33462 if (msUntilTimeout > 10) { 33463 if (workInProgressRootHasPendingPing) { 33464 var lastPingedTime = root.lastPingedTime; 33465 33466 if (lastPingedTime === NoWork || lastPingedTime >= expirationTime) { 33467 // This render was pinged but we didn't get to restart 33468 // earlier so try restarting now instead. 33469 root.lastPingedTime = expirationTime; 33470 prepareFreshStack(root, expirationTime); 33471 break; 33472 } 33473 } 33474 33475 var nextTime = getNextRootExpirationTimeToWorkOn(root); 33476 33477 if (nextTime !== NoWork && nextTime !== expirationTime) { 33478 // There's additional work on this root. 33479 break; 33480 } 33481 33482 if (lastSuspendedTime !== NoWork && lastSuspendedTime !== expirationTime) { 33483 // We should prefer to render the fallback of at the last 33484 // suspended level. Ping the last suspended level to try 33485 // rendering it again. 33486 root.lastPingedTime = lastSuspendedTime; 33487 break; 33488 } // The render is suspended, it hasn't timed out, and there's no 33489 // lower priority work to do. Instead of committing the fallback 33490 // immediately, wait for more data to arrive. 33491 33492 33493 root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), msUntilTimeout); 33494 break; 33495 } 33496 } // The work expired. Commit immediately. 33497 33498 33499 commitRoot(root); 33500 break; 33501 } 33502 33503 case RootSuspendedWithDelay: 33504 { 33505 markRootSuspendedAtTime(root, expirationTime); 33506 var _lastSuspendedTime = root.lastSuspendedTime; 33507 33508 if (expirationTime === _lastSuspendedTime) { 33509 root.nextKnownPendingLevel = getRemainingExpirationTime(finishedWork); 33510 } 33511 33512 if ( // do not delay if we're inside an act() scope 33513 !( IsThisRendererActing.current)) { 33514 // We're suspended in a state that should be avoided. We'll try to 33515 // avoid committing it for as long as the timeouts let us. 33516 if (workInProgressRootHasPendingPing) { 33517 var _lastPingedTime = root.lastPingedTime; 33518 33519 if (_lastPingedTime === NoWork || _lastPingedTime >= expirationTime) { 33520 // This render was pinged but we didn't get to restart earlier 33521 // so try restarting now instead. 33522 root.lastPingedTime = expirationTime; 33523 prepareFreshStack(root, expirationTime); 33524 break; 33525 } 33526 } 33527 33528 var _nextTime = getNextRootExpirationTimeToWorkOn(root); 33529 33530 if (_nextTime !== NoWork && _nextTime !== expirationTime) { 33531 // There's additional work on this root. 33532 break; 33533 } 33534 33535 if (_lastSuspendedTime !== NoWork && _lastSuspendedTime !== expirationTime) { 33536 // We should prefer to render the fallback of at the last 33537 // suspended level. Ping the last suspended level to try 33538 // rendering it again. 33539 root.lastPingedTime = _lastSuspendedTime; 33540 break; 33541 } 33542 33543 var _msUntilTimeout; 33544 33545 if (workInProgressRootLatestSuspenseTimeout !== Sync) { 33546 // We have processed a suspense config whose expiration time we 33547 // can use as the timeout. 33548 _msUntilTimeout = expirationTimeToMs(workInProgressRootLatestSuspenseTimeout) - now(); 33549 } else if (workInProgressRootLatestProcessedExpirationTime === Sync) { 33550 // This should never normally happen because only new updates 33551 // cause delayed states, so we should have processed something. 33552 // However, this could also happen in an offscreen tree. 33553 _msUntilTimeout = 0; 33554 } else { 33555 // If we don't have a suspense config, we're going to use a 33556 // heuristic to determine how long we can suspend. 33557 var eventTimeMs = inferTimeFromExpirationTime(workInProgressRootLatestProcessedExpirationTime); 33558 var currentTimeMs = now(); 33559 var timeUntilExpirationMs = expirationTimeToMs(expirationTime) - currentTimeMs; 33560 var timeElapsed = currentTimeMs - eventTimeMs; 33561 33562 if (timeElapsed < 0) { 33563 // We get this wrong some time since we estimate the time. 33564 timeElapsed = 0; 33565 } 33566 33567 _msUntilTimeout = jnd(timeElapsed) - timeElapsed; // Clamp the timeout to the expiration time. TODO: Once the 33568 // event time is exact instead of inferred from expiration time 33569 // we don't need this. 33570 33571 if (timeUntilExpirationMs < _msUntilTimeout) { 33572 _msUntilTimeout = timeUntilExpirationMs; 33573 } 33574 } // Don't bother with a very short suspense time. 33575 33576 33577 if (_msUntilTimeout > 10) { 33578 // The render is suspended, it hasn't timed out, and there's no 33579 // lower priority work to do. Instead of committing the fallback 33580 // immediately, wait for more data to arrive. 33581 root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), _msUntilTimeout); 33582 break; 33583 } 33584 } // The work expired. Commit immediately. 33585 33586 33587 commitRoot(root); 33588 break; 33589 } 33590 33591 case RootCompleted: 33592 { 33593 // The work completed. Ready to commit. 33594 if ( // do not delay if we're inside an act() scope 33595 !( IsThisRendererActing.current) && workInProgressRootLatestProcessedExpirationTime !== Sync && workInProgressRootCanSuspendUsingConfig !== null) { 33596 // If we have exceeded the minimum loading delay, which probably 33597 // means we have shown a spinner already, we might have to suspend 33598 // a bit longer to ensure that the spinner is shown for 33599 // enough time. 33600 var _msUntilTimeout2 = computeMsUntilSuspenseLoadingDelay(workInProgressRootLatestProcessedExpirationTime, expirationTime, workInProgressRootCanSuspendUsingConfig); 33601 33602 if (_msUntilTimeout2 > 10) { 33603 markRootSuspendedAtTime(root, expirationTime); 33604 root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), _msUntilTimeout2); 33605 break; 33606 } 33607 } 33608 33609 commitRoot(root); 33610 break; 33611 } 33612 33613 default: 33614 { 33615 { 33616 { 33617 throw Error( "Unknown root exit status." ); 33618 } 33619 } 33620 } 33621 } 33622} // This is the entry point for synchronous tasks that don't go 33623// through Scheduler 33624 33625 33626function performSyncWorkOnRoot(root) { 33627 // Check if there's expired work on this root. Otherwise, render at Sync. 33628 var lastExpiredTime = root.lastExpiredTime; 33629 var expirationTime = lastExpiredTime !== NoWork ? lastExpiredTime : Sync; 33630 33631 if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) { 33632 { 33633 throw Error( "Should not already be working." ); 33634 } 33635 } 33636 33637 flushPassiveEffects(); // If the root or expiration time have changed, throw out the existing stack 33638 // and prepare a fresh one. Otherwise we'll continue where we left off. 33639 33640 if (root !== workInProgressRoot || expirationTime !== renderExpirationTime$1) { 33641 prepareFreshStack(root, expirationTime); 33642 startWorkOnPendingInteractions(root, expirationTime); 33643 } // If we have a work-in-progress fiber, it means there's still work to do 33644 // in this root. 33645 33646 33647 if (workInProgress !== null) { 33648 var prevExecutionContext = executionContext; 33649 executionContext |= RenderContext; 33650 var prevDispatcher = pushDispatcher(); 33651 var prevInteractions = pushInteractions(root); 33652 startWorkLoopTimer(workInProgress); 33653 33654 do { 33655 try { 33656 workLoopSync(); 33657 break; 33658 } catch (thrownValue) { 33659 handleError(root, thrownValue); 33660 } 33661 } while (true); 33662 33663 resetContextDependencies(); 33664 executionContext = prevExecutionContext; 33665 popDispatcher(prevDispatcher); 33666 33667 { 33668 popInteractions(prevInteractions); 33669 } 33670 33671 if (workInProgressRootExitStatus === RootFatalErrored) { 33672 var fatalError = workInProgressRootFatalError; 33673 stopInterruptedWorkLoopTimer(); 33674 prepareFreshStack(root, expirationTime); 33675 markRootSuspendedAtTime(root, expirationTime); 33676 ensureRootIsScheduled(root); 33677 throw fatalError; 33678 } 33679 33680 if (workInProgress !== null) { 33681 // This is a sync render, so we should have finished the whole tree. 33682 { 33683 { 33684 throw Error( "Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue." ); 33685 } 33686 } 33687 } else { 33688 // We now have a consistent tree. Because this is a sync render, we 33689 // will commit it even if something suspended. 33690 stopFinishedWorkLoopTimer(); 33691 root.finishedWork = root.current.alternate; 33692 root.finishedExpirationTime = expirationTime; 33693 finishSyncRender(root); 33694 } // Before exiting, make sure there's a callback scheduled for the next 33695 // pending level. 33696 33697 33698 ensureRootIsScheduled(root); 33699 } 33700 33701 return null; 33702} 33703 33704function finishSyncRender(root) { 33705 // Set this to null to indicate there's no in-progress render. 33706 workInProgressRoot = null; 33707 commitRoot(root); 33708} 33709function flushDiscreteUpdates() { 33710 // TODO: Should be able to flush inside batchedUpdates, but not inside `act`. 33711 // However, `act` uses `batchedUpdates`, so there's no way to distinguish 33712 // those two cases. Need to fix this before exposing flushDiscreteUpdates 33713 // as a public API. 33714 if ((executionContext & (BatchedContext | RenderContext | CommitContext)) !== NoContext) { 33715 { 33716 if ((executionContext & RenderContext) !== NoContext) { 33717 error('unstable_flushDiscreteUpdates: Cannot flush updates when React is ' + 'already rendering.'); 33718 } 33719 } // We're already rendering, so we can't synchronously flush pending work. 33720 // This is probably a nested event dispatch triggered by a lifecycle/effect, 33721 // like `el.focus()`. Exit. 33722 33723 33724 return; 33725 } 33726 33727 flushPendingDiscreteUpdates(); // If the discrete updates scheduled passive effects, flush them now so that 33728 // they fire before the next serial event. 33729 33730 flushPassiveEffects(); 33731} 33732function syncUpdates(fn, a, b, c) { 33733 return runWithPriority$1(ImmediatePriority, fn.bind(null, a, b, c)); 33734} 33735 33736function flushPendingDiscreteUpdates() { 33737 if (rootsWithPendingDiscreteUpdates !== null) { 33738 // For each root with pending discrete updates, schedule a callback to 33739 // immediately flush them. 33740 var roots = rootsWithPendingDiscreteUpdates; 33741 rootsWithPendingDiscreteUpdates = null; 33742 roots.forEach(function (expirationTime, root) { 33743 markRootExpiredAtTime(root, expirationTime); 33744 ensureRootIsScheduled(root); 33745 }); // Now flush the immediate queue. 33746 33747 flushSyncCallbackQueue(); 33748 } 33749} 33750 33751function batchedUpdates$1(fn, a) { 33752 var prevExecutionContext = executionContext; 33753 executionContext |= BatchedContext; 33754 33755 try { 33756 return fn(a); 33757 } finally { 33758 executionContext = prevExecutionContext; 33759 33760 if (executionContext === NoContext) { 33761 // Flush the immediate callbacks that were scheduled during this batch 33762 flushSyncCallbackQueue(); 33763 } 33764 } 33765} 33766function batchedEventUpdates$1(fn, a) { 33767 var prevExecutionContext = executionContext; 33768 executionContext |= EventContext; 33769 33770 try { 33771 return fn(a); 33772 } finally { 33773 executionContext = prevExecutionContext; 33774 33775 if (executionContext === NoContext) { 33776 // Flush the immediate callbacks that were scheduled during this batch 33777 flushSyncCallbackQueue(); 33778 } 33779 } 33780} 33781function discreteUpdates$1(fn, a, b, c, d) { 33782 var prevExecutionContext = executionContext; 33783 executionContext |= DiscreteEventContext; 33784 33785 try { 33786 // Should this 33787 return runWithPriority$1(UserBlockingPriority$1, fn.bind(null, a, b, c, d)); 33788 } finally { 33789 executionContext = prevExecutionContext; 33790 33791 if (executionContext === NoContext) { 33792 // Flush the immediate callbacks that were scheduled during this batch 33793 flushSyncCallbackQueue(); 33794 } 33795 } 33796} 33797function unbatchedUpdates(fn, a) { 33798 var prevExecutionContext = executionContext; 33799 executionContext &= ~BatchedContext; 33800 executionContext |= LegacyUnbatchedContext; 33801 33802 try { 33803 return fn(a); 33804 } finally { 33805 executionContext = prevExecutionContext; 33806 33807 if (executionContext === NoContext) { 33808 // Flush the immediate callbacks that were scheduled during this batch 33809 flushSyncCallbackQueue(); 33810 } 33811 } 33812} 33813function flushSync(fn, a) { 33814 if ((executionContext & (RenderContext | CommitContext)) !== NoContext) { 33815 { 33816 { 33817 throw Error( "flushSync was called from inside a lifecycle method. It cannot be called when React is already rendering." ); 33818 } 33819 } 33820 } 33821 33822 var prevExecutionContext = executionContext; 33823 executionContext |= BatchedContext; 33824 33825 try { 33826 return runWithPriority$1(ImmediatePriority, fn.bind(null, a)); 33827 } finally { 33828 executionContext = prevExecutionContext; // Flush the immediate callbacks that were scheduled during this batch. 33829 // Note that this will happen even if batchedUpdates is higher up 33830 // the stack. 33831 33832 flushSyncCallbackQueue(); 33833 } 33834} 33835 33836function prepareFreshStack(root, expirationTime) { 33837 root.finishedWork = null; 33838 root.finishedExpirationTime = NoWork; 33839 var timeoutHandle = root.timeoutHandle; 33840 33841 if (timeoutHandle !== noTimeout) { 33842 // The root previous suspended and scheduled a timeout to commit a fallback 33843 // state. Now that we have additional work, cancel the timeout. 33844 root.timeoutHandle = noTimeout; // $FlowFixMe Complains noTimeout is not a TimeoutID, despite the check above 33845 33846 cancelTimeout(timeoutHandle); 33847 } 33848 33849 if (workInProgress !== null) { 33850 var interruptedWork = workInProgress.return; 33851 33852 while (interruptedWork !== null) { 33853 unwindInterruptedWork(interruptedWork); 33854 interruptedWork = interruptedWork.return; 33855 } 33856 } 33857 33858 workInProgressRoot = root; 33859 workInProgress = createWorkInProgress(root.current, null); 33860 renderExpirationTime$1 = expirationTime; 33861 workInProgressRootExitStatus = RootIncomplete; 33862 workInProgressRootFatalError = null; 33863 workInProgressRootLatestProcessedExpirationTime = Sync; 33864 workInProgressRootLatestSuspenseTimeout = Sync; 33865 workInProgressRootCanSuspendUsingConfig = null; 33866 workInProgressRootNextUnprocessedUpdateTime = NoWork; 33867 workInProgressRootHasPendingPing = false; 33868 33869 { 33870 spawnedWorkDuringRender = null; 33871 } 33872 33873 { 33874 ReactStrictModeWarnings.discardPendingWarnings(); 33875 } 33876} 33877 33878function handleError(root, thrownValue) { 33879 do { 33880 try { 33881 // Reset module-level state that was set during the render phase. 33882 resetContextDependencies(); 33883 resetHooksAfterThrow(); 33884 resetCurrentFiber(); 33885 33886 if (workInProgress === null || workInProgress.return === null) { 33887 // Expected to be working on a non-root fiber. This is a fatal error 33888 // because there's no ancestor that can handle it; the root is 33889 // supposed to capture all errors that weren't caught by an error 33890 // boundary. 33891 workInProgressRootExitStatus = RootFatalErrored; 33892 workInProgressRootFatalError = thrownValue; // Set `workInProgress` to null. This represents advancing to the next 33893 // sibling, or the parent if there are no siblings. But since the root 33894 // has no siblings nor a parent, we set it to null. Usually this is 33895 // handled by `completeUnitOfWork` or `unwindWork`, but since we're 33896 // interntionally not calling those, we need set it here. 33897 // TODO: Consider calling `unwindWork` to pop the contexts. 33898 33899 workInProgress = null; 33900 return null; 33901 } 33902 33903 if (enableProfilerTimer && workInProgress.mode & ProfileMode) { 33904 // Record the time spent rendering before an error was thrown. This 33905 // avoids inaccurate Profiler durations in the case of a 33906 // suspended render. 33907 stopProfilerTimerIfRunningAndRecordDelta(workInProgress, true); 33908 } 33909 33910 throwException(root, workInProgress.return, workInProgress, thrownValue, renderExpirationTime$1); 33911 workInProgress = completeUnitOfWork(workInProgress); 33912 } catch (yetAnotherThrownValue) { 33913 // Something in the return path also threw. 33914 thrownValue = yetAnotherThrownValue; 33915 continue; 33916 } // Return to the normal work loop. 33917 33918 33919 return; 33920 } while (true); 33921} 33922 33923function pushDispatcher(root) { 33924 var prevDispatcher = ReactCurrentDispatcher$1.current; 33925 ReactCurrentDispatcher$1.current = ContextOnlyDispatcher; 33926 33927 if (prevDispatcher === null) { 33928 // The React isomorphic package does not include a default dispatcher. 33929 // Instead the first renderer will lazily attach one, in order to give 33930 // nicer error messages. 33931 return ContextOnlyDispatcher; 33932 } else { 33933 return prevDispatcher; 33934 } 33935} 33936 33937function popDispatcher(prevDispatcher) { 33938 ReactCurrentDispatcher$1.current = prevDispatcher; 33939} 33940 33941function pushInteractions(root) { 33942 { 33943 var prevInteractions = tracing.__interactionsRef.current; 33944 tracing.__interactionsRef.current = root.memoizedInteractions; 33945 return prevInteractions; 33946 } 33947} 33948 33949function popInteractions(prevInteractions) { 33950 { 33951 tracing.__interactionsRef.current = prevInteractions; 33952 } 33953} 33954 33955function markCommitTimeOfFallback() { 33956 globalMostRecentFallbackTime = now(); 33957} 33958function markRenderEventTimeAndConfig(expirationTime, suspenseConfig) { 33959 if (expirationTime < workInProgressRootLatestProcessedExpirationTime && expirationTime > Idle) { 33960 workInProgressRootLatestProcessedExpirationTime = expirationTime; 33961 } 33962 33963 if (suspenseConfig !== null) { 33964 if (expirationTime < workInProgressRootLatestSuspenseTimeout && expirationTime > Idle) { 33965 workInProgressRootLatestSuspenseTimeout = expirationTime; // Most of the time we only have one config and getting wrong is not bad. 33966 33967 workInProgressRootCanSuspendUsingConfig = suspenseConfig; 33968 } 33969 } 33970} 33971function markUnprocessedUpdateTime(expirationTime) { 33972 if (expirationTime > workInProgressRootNextUnprocessedUpdateTime) { 33973 workInProgressRootNextUnprocessedUpdateTime = expirationTime; 33974 } 33975} 33976function renderDidSuspend() { 33977 if (workInProgressRootExitStatus === RootIncomplete) { 33978 workInProgressRootExitStatus = RootSuspended; 33979 } 33980} 33981function renderDidSuspendDelayIfPossible() { 33982 if (workInProgressRootExitStatus === RootIncomplete || workInProgressRootExitStatus === RootSuspended) { 33983 workInProgressRootExitStatus = RootSuspendedWithDelay; 33984 } // Check if there's a lower priority update somewhere else in the tree. 33985 33986 33987 if (workInProgressRootNextUnprocessedUpdateTime !== NoWork && workInProgressRoot !== null) { 33988 // Mark the current render as suspended, and then mark that there's a 33989 // pending update. 33990 // TODO: This should immediately interrupt the current render, instead 33991 // of waiting until the next time we yield. 33992 markRootSuspendedAtTime(workInProgressRoot, renderExpirationTime$1); 33993 markRootUpdatedAtTime(workInProgressRoot, workInProgressRootNextUnprocessedUpdateTime); 33994 } 33995} 33996function renderDidError() { 33997 if (workInProgressRootExitStatus !== RootCompleted) { 33998 workInProgressRootExitStatus = RootErrored; 33999 } 34000} // Called during render to determine if anything has suspended. 34001// Returns false if we're not sure. 34002 34003function renderHasNotSuspendedYet() { 34004 // If something errored or completed, we can't really be sure, 34005 // so those are false. 34006 return workInProgressRootExitStatus === RootIncomplete; 34007} 34008 34009function inferTimeFromExpirationTime(expirationTime) { 34010 // We don't know exactly when the update was scheduled, but we can infer an 34011 // approximate start time from the expiration time. 34012 var earliestExpirationTimeMs = expirationTimeToMs(expirationTime); 34013 return earliestExpirationTimeMs - LOW_PRIORITY_EXPIRATION; 34014} 34015 34016function inferTimeFromExpirationTimeWithSuspenseConfig(expirationTime, suspenseConfig) { 34017 // We don't know exactly when the update was scheduled, but we can infer an 34018 // approximate start time from the expiration time by subtracting the timeout 34019 // that was added to the event time. 34020 var earliestExpirationTimeMs = expirationTimeToMs(expirationTime); 34021 return earliestExpirationTimeMs - (suspenseConfig.timeoutMs | 0 || LOW_PRIORITY_EXPIRATION); 34022} // The work loop is an extremely hot path. Tell Closure not to inline it. 34023 34024/** @noinline */ 34025 34026 34027function workLoopSync() { 34028 // Already timed out, so perform work without checking if we need to yield. 34029 while (workInProgress !== null) { 34030 workInProgress = performUnitOfWork(workInProgress); 34031 } 34032} 34033/** @noinline */ 34034 34035 34036function workLoopConcurrent() { 34037 // Perform work until Scheduler asks us to yield 34038 while (workInProgress !== null && !shouldYield()) { 34039 workInProgress = performUnitOfWork(workInProgress); 34040 } 34041} 34042 34043function performUnitOfWork(unitOfWork) { 34044 // The current, flushed, state of this fiber is the alternate. Ideally 34045 // nothing should rely on this, but relying on it here means that we don't 34046 // need an additional field on the work in progress. 34047 var current = unitOfWork.alternate; 34048 startWorkTimer(unitOfWork); 34049 setCurrentFiber(unitOfWork); 34050 var next; 34051 34052 if ( (unitOfWork.mode & ProfileMode) !== NoMode) { 34053 startProfilerTimer(unitOfWork); 34054 next = beginWork$1(current, unitOfWork, renderExpirationTime$1); 34055 stopProfilerTimerIfRunningAndRecordDelta(unitOfWork, true); 34056 } else { 34057 next = beginWork$1(current, unitOfWork, renderExpirationTime$1); 34058 } 34059 34060 resetCurrentFiber(); 34061 unitOfWork.memoizedProps = unitOfWork.pendingProps; 34062 34063 if (next === null) { 34064 // If this doesn't spawn new work, complete the current work. 34065 next = completeUnitOfWork(unitOfWork); 34066 } 34067 34068 ReactCurrentOwner$2.current = null; 34069 return next; 34070} 34071 34072function completeUnitOfWork(unitOfWork) { 34073 // Attempt to complete the current unit of work, then move to the next 34074 // sibling. If there are no more siblings, return to the parent fiber. 34075 workInProgress = unitOfWork; 34076 34077 do { 34078 // The current, flushed, state of this fiber is the alternate. Ideally 34079 // nothing should rely on this, but relying on it here means that we don't 34080 // need an additional field on the work in progress. 34081 var current = workInProgress.alternate; 34082 var returnFiber = workInProgress.return; // Check if the work completed or if something threw. 34083 34084 if ((workInProgress.effectTag & Incomplete) === NoEffect) { 34085 setCurrentFiber(workInProgress); 34086 var next = void 0; 34087 34088 if ( (workInProgress.mode & ProfileMode) === NoMode) { 34089 next = completeWork(current, workInProgress, renderExpirationTime$1); 34090 } else { 34091 startProfilerTimer(workInProgress); 34092 next = completeWork(current, workInProgress, renderExpirationTime$1); // Update render duration assuming we didn't error. 34093 34094 stopProfilerTimerIfRunningAndRecordDelta(workInProgress, false); 34095 } 34096 34097 stopWorkTimer(workInProgress); 34098 resetCurrentFiber(); 34099 resetChildExpirationTime(workInProgress); 34100 34101 if (next !== null) { 34102 // Completing this fiber spawned new work. Work on that next. 34103 return next; 34104 } 34105 34106 if (returnFiber !== null && // Do not append effects to parents if a sibling failed to complete 34107 (returnFiber.effectTag & Incomplete) === NoEffect) { 34108 // Append all the effects of the subtree and this fiber onto the effect 34109 // list of the parent. The completion order of the children affects the 34110 // side-effect order. 34111 if (returnFiber.firstEffect === null) { 34112 returnFiber.firstEffect = workInProgress.firstEffect; 34113 } 34114 34115 if (workInProgress.lastEffect !== null) { 34116 if (returnFiber.lastEffect !== null) { 34117 returnFiber.lastEffect.nextEffect = workInProgress.firstEffect; 34118 } 34119 34120 returnFiber.lastEffect = workInProgress.lastEffect; 34121 } // If this fiber had side-effects, we append it AFTER the children's 34122 // side-effects. We can perform certain side-effects earlier if needed, 34123 // by doing multiple passes over the effect list. We don't want to 34124 // schedule our own side-effect on our own list because if end up 34125 // reusing children we'll schedule this effect onto itself since we're 34126 // at the end. 34127 34128 34129 var effectTag = workInProgress.effectTag; // Skip both NoWork and PerformedWork tags when creating the effect 34130 // list. PerformedWork effect is read by React DevTools but shouldn't be 34131 // committed. 34132 34133 if (effectTag > PerformedWork) { 34134 if (returnFiber.lastEffect !== null) { 34135 returnFiber.lastEffect.nextEffect = workInProgress; 34136 } else { 34137 returnFiber.firstEffect = workInProgress; 34138 } 34139 34140 returnFiber.lastEffect = workInProgress; 34141 } 34142 } 34143 } else { 34144 // This fiber did not complete because something threw. Pop values off 34145 // the stack without entering the complete phase. If this is a boundary, 34146 // capture values if possible. 34147 var _next = unwindWork(workInProgress); // Because this fiber did not complete, don't reset its expiration time. 34148 34149 34150 if ( (workInProgress.mode & ProfileMode) !== NoMode) { 34151 // Record the render duration for the fiber that errored. 34152 stopProfilerTimerIfRunningAndRecordDelta(workInProgress, false); // Include the time spent working on failed children before continuing. 34153 34154 var actualDuration = workInProgress.actualDuration; 34155 var child = workInProgress.child; 34156 34157 while (child !== null) { 34158 actualDuration += child.actualDuration; 34159 child = child.sibling; 34160 } 34161 34162 workInProgress.actualDuration = actualDuration; 34163 } 34164 34165 if (_next !== null) { 34166 // If completing this work spawned new work, do that next. We'll come 34167 // back here again. 34168 // Since we're restarting, remove anything that is not a host effect 34169 // from the effect tag. 34170 // TODO: The name stopFailedWorkTimer is misleading because Suspense 34171 // also captures and restarts. 34172 stopFailedWorkTimer(workInProgress); 34173 _next.effectTag &= HostEffectMask; 34174 return _next; 34175 } 34176 34177 stopWorkTimer(workInProgress); 34178 34179 if (returnFiber !== null) { 34180 // Mark the parent fiber as incomplete and clear its effect list. 34181 returnFiber.firstEffect = returnFiber.lastEffect = null; 34182 returnFiber.effectTag |= Incomplete; 34183 } 34184 } 34185 34186 var siblingFiber = workInProgress.sibling; 34187 34188 if (siblingFiber !== null) { 34189 // If there is more work to do in this returnFiber, do that next. 34190 return siblingFiber; 34191 } // Otherwise, return to the parent 34192 34193 34194 workInProgress = returnFiber; 34195 } while (workInProgress !== null); // We've reached the root. 34196 34197 34198 if (workInProgressRootExitStatus === RootIncomplete) { 34199 workInProgressRootExitStatus = RootCompleted; 34200 } 34201 34202 return null; 34203} 34204 34205function getRemainingExpirationTime(fiber) { 34206 var updateExpirationTime = fiber.expirationTime; 34207 var childExpirationTime = fiber.childExpirationTime; 34208 return updateExpirationTime > childExpirationTime ? updateExpirationTime : childExpirationTime; 34209} 34210 34211function resetChildExpirationTime(completedWork) { 34212 if (renderExpirationTime$1 !== Never && completedWork.childExpirationTime === Never) { 34213 // The children of this component are hidden. Don't bubble their 34214 // expiration times. 34215 return; 34216 } 34217 34218 var newChildExpirationTime = NoWork; // Bubble up the earliest expiration time. 34219 34220 if ( (completedWork.mode & ProfileMode) !== NoMode) { 34221 // In profiling mode, resetChildExpirationTime is also used to reset 34222 // profiler durations. 34223 var actualDuration = completedWork.actualDuration; 34224 var treeBaseDuration = completedWork.selfBaseDuration; // When a fiber is cloned, its actualDuration is reset to 0. This value will 34225 // only be updated if work is done on the fiber (i.e. it doesn't bailout). 34226 // When work is done, it should bubble to the parent's actualDuration. If 34227 // the fiber has not been cloned though, (meaning no work was done), then 34228 // this value will reflect the amount of time spent working on a previous 34229 // render. In that case it should not bubble. We determine whether it was 34230 // cloned by comparing the child pointer. 34231 34232 var shouldBubbleActualDurations = completedWork.alternate === null || completedWork.child !== completedWork.alternate.child; 34233 var child = completedWork.child; 34234 34235 while (child !== null) { 34236 var childUpdateExpirationTime = child.expirationTime; 34237 var childChildExpirationTime = child.childExpirationTime; 34238 34239 if (childUpdateExpirationTime > newChildExpirationTime) { 34240 newChildExpirationTime = childUpdateExpirationTime; 34241 } 34242 34243 if (childChildExpirationTime > newChildExpirationTime) { 34244 newChildExpirationTime = childChildExpirationTime; 34245 } 34246 34247 if (shouldBubbleActualDurations) { 34248 actualDuration += child.actualDuration; 34249 } 34250 34251 treeBaseDuration += child.treeBaseDuration; 34252 child = child.sibling; 34253 } 34254 34255 completedWork.actualDuration = actualDuration; 34256 completedWork.treeBaseDuration = treeBaseDuration; 34257 } else { 34258 var _child = completedWork.child; 34259 34260 while (_child !== null) { 34261 var _childUpdateExpirationTime = _child.expirationTime; 34262 var _childChildExpirationTime = _child.childExpirationTime; 34263 34264 if (_childUpdateExpirationTime > newChildExpirationTime) { 34265 newChildExpirationTime = _childUpdateExpirationTime; 34266 } 34267 34268 if (_childChildExpirationTime > newChildExpirationTime) { 34269 newChildExpirationTime = _childChildExpirationTime; 34270 } 34271 34272 _child = _child.sibling; 34273 } 34274 } 34275 34276 completedWork.childExpirationTime = newChildExpirationTime; 34277} 34278 34279function commitRoot(root) { 34280 var renderPriorityLevel = getCurrentPriorityLevel(); 34281 runWithPriority$1(ImmediatePriority, commitRootImpl.bind(null, root, renderPriorityLevel)); 34282 return null; 34283} 34284 34285function commitRootImpl(root, renderPriorityLevel) { 34286 do { 34287 // `flushPassiveEffects` will call `flushSyncUpdateQueue` at the end, which 34288 // means `flushPassiveEffects` will sometimes result in additional 34289 // passive effects. So we need to keep flushing in a loop until there are 34290 // no more pending effects. 34291 // TODO: Might be better if `flushPassiveEffects` did not automatically 34292 // flush synchronous work at the end, to avoid factoring hazards like this. 34293 flushPassiveEffects(); 34294 } while (rootWithPendingPassiveEffects !== null); 34295 34296 flushRenderPhaseStrictModeWarningsInDEV(); 34297 34298 if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) { 34299 { 34300 throw Error( "Should not already be working." ); 34301 } 34302 } 34303 34304 var finishedWork = root.finishedWork; 34305 var expirationTime = root.finishedExpirationTime; 34306 34307 if (finishedWork === null) { 34308 return null; 34309 } 34310 34311 root.finishedWork = null; 34312 root.finishedExpirationTime = NoWork; 34313 34314 if (!(finishedWork !== root.current)) { 34315 { 34316 throw Error( "Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue." ); 34317 } 34318 } // commitRoot never returns a continuation; it always finishes synchronously. 34319 // So we can clear these now to allow a new callback to be scheduled. 34320 34321 34322 root.callbackNode = null; 34323 root.callbackExpirationTime = NoWork; 34324 root.callbackPriority = NoPriority; 34325 root.nextKnownPendingLevel = NoWork; 34326 startCommitTimer(); // Update the first and last pending times on this root. The new first 34327 // pending time is whatever is left on the root fiber. 34328 34329 var remainingExpirationTimeBeforeCommit = getRemainingExpirationTime(finishedWork); 34330 markRootFinishedAtTime(root, expirationTime, remainingExpirationTimeBeforeCommit); 34331 34332 if (root === workInProgressRoot) { 34333 // We can reset these now that they are finished. 34334 workInProgressRoot = null; 34335 workInProgress = null; 34336 renderExpirationTime$1 = NoWork; 34337 } // This indicates that the last root we worked on is not the same one that 34338 // we're committing now. This most commonly happens when a suspended root 34339 // times out. 34340 // Get the list of effects. 34341 34342 34343 var firstEffect; 34344 34345 if (finishedWork.effectTag > PerformedWork) { 34346 // A fiber's effect list consists only of its children, not itself. So if 34347 // the root has an effect, we need to add it to the end of the list. The 34348 // resulting list is the set that would belong to the root's parent, if it 34349 // had one; that is, all the effects in the tree including the root. 34350 if (finishedWork.lastEffect !== null) { 34351 finishedWork.lastEffect.nextEffect = finishedWork; 34352 firstEffect = finishedWork.firstEffect; 34353 } else { 34354 firstEffect = finishedWork; 34355 } 34356 } else { 34357 // There is no effect on the root. 34358 firstEffect = finishedWork.firstEffect; 34359 } 34360 34361 if (firstEffect !== null) { 34362 var prevExecutionContext = executionContext; 34363 executionContext |= CommitContext; 34364 var prevInteractions = pushInteractions(root); // Reset this to null before calling lifecycles 34365 34366 ReactCurrentOwner$2.current = null; // The commit phase is broken into several sub-phases. We do a separate pass 34367 // of the effect list for each phase: all mutation effects come before all 34368 // layout effects, and so on. 34369 // The first phase a "before mutation" phase. We use this phase to read the 34370 // state of the host tree right before we mutate it. This is where 34371 // getSnapshotBeforeUpdate is called. 34372 34373 startCommitSnapshotEffectsTimer(); 34374 prepareForCommit(root.containerInfo); 34375 nextEffect = firstEffect; 34376 34377 do { 34378 { 34379 invokeGuardedCallback(null, commitBeforeMutationEffects, null); 34380 34381 if (hasCaughtError()) { 34382 if (!(nextEffect !== null)) { 34383 { 34384 throw Error( "Should be working on an effect." ); 34385 } 34386 } 34387 34388 var error = clearCaughtError(); 34389 captureCommitPhaseError(nextEffect, error); 34390 nextEffect = nextEffect.nextEffect; 34391 } 34392 } 34393 } while (nextEffect !== null); 34394 34395 stopCommitSnapshotEffectsTimer(); 34396 34397 { 34398 // Mark the current commit time to be shared by all Profilers in this 34399 // batch. This enables them to be grouped later. 34400 recordCommitTime(); 34401 } // The next phase is the mutation phase, where we mutate the host tree. 34402 34403 34404 startCommitHostEffectsTimer(); 34405 nextEffect = firstEffect; 34406 34407 do { 34408 { 34409 invokeGuardedCallback(null, commitMutationEffects, null, root, renderPriorityLevel); 34410 34411 if (hasCaughtError()) { 34412 if (!(nextEffect !== null)) { 34413 { 34414 throw Error( "Should be working on an effect." ); 34415 } 34416 } 34417 34418 var _error = clearCaughtError(); 34419 34420 captureCommitPhaseError(nextEffect, _error); 34421 nextEffect = nextEffect.nextEffect; 34422 } 34423 } 34424 } while (nextEffect !== null); 34425 34426 stopCommitHostEffectsTimer(); 34427 resetAfterCommit(root.containerInfo); // The work-in-progress tree is now the current tree. This must come after 34428 // the mutation phase, so that the previous tree is still current during 34429 // componentWillUnmount, but before the layout phase, so that the finished 34430 // work is current during componentDidMount/Update. 34431 34432 root.current = finishedWork; // The next phase is the layout phase, where we call effects that read 34433 // the host tree after it's been mutated. The idiomatic use case for this is 34434 // layout, but class component lifecycles also fire here for legacy reasons. 34435 34436 startCommitLifeCyclesTimer(); 34437 nextEffect = firstEffect; 34438 34439 do { 34440 { 34441 invokeGuardedCallback(null, commitLayoutEffects, null, root, expirationTime); 34442 34443 if (hasCaughtError()) { 34444 if (!(nextEffect !== null)) { 34445 { 34446 throw Error( "Should be working on an effect." ); 34447 } 34448 } 34449 34450 var _error2 = clearCaughtError(); 34451 34452 captureCommitPhaseError(nextEffect, _error2); 34453 nextEffect = nextEffect.nextEffect; 34454 } 34455 } 34456 } while (nextEffect !== null); 34457 34458 stopCommitLifeCyclesTimer(); 34459 nextEffect = null; // Tell Scheduler to yield at the end of the frame, so the browser has an 34460 // opportunity to paint. 34461 34462 requestPaint(); 34463 34464 { 34465 popInteractions(prevInteractions); 34466 } 34467 34468 executionContext = prevExecutionContext; 34469 } else { 34470 // No effects. 34471 root.current = finishedWork; // Measure these anyway so the flamegraph explicitly shows that there were 34472 // no effects. 34473 // TODO: Maybe there's a better way to report this. 34474 34475 startCommitSnapshotEffectsTimer(); 34476 stopCommitSnapshotEffectsTimer(); 34477 34478 { 34479 recordCommitTime(); 34480 } 34481 34482 startCommitHostEffectsTimer(); 34483 stopCommitHostEffectsTimer(); 34484 startCommitLifeCyclesTimer(); 34485 stopCommitLifeCyclesTimer(); 34486 } 34487 34488 stopCommitTimer(); 34489 var rootDidHavePassiveEffects = rootDoesHavePassiveEffects; 34490 34491 if (rootDoesHavePassiveEffects) { 34492 // This commit has passive effects. Stash a reference to them. But don't 34493 // schedule a callback until after flushing layout work. 34494 rootDoesHavePassiveEffects = false; 34495 rootWithPendingPassiveEffects = root; 34496 pendingPassiveEffectsExpirationTime = expirationTime; 34497 pendingPassiveEffectsRenderPriority = renderPriorityLevel; 34498 } else { 34499 // We are done with the effect chain at this point so let's clear the 34500 // nextEffect pointers to assist with GC. If we have passive effects, we'll 34501 // clear this in flushPassiveEffects. 34502 nextEffect = firstEffect; 34503 34504 while (nextEffect !== null) { 34505 var nextNextEffect = nextEffect.nextEffect; 34506 nextEffect.nextEffect = null; 34507 nextEffect = nextNextEffect; 34508 } 34509 } // Check if there's remaining work on this root 34510 34511 34512 var remainingExpirationTime = root.firstPendingTime; 34513 34514 if (remainingExpirationTime !== NoWork) { 34515 { 34516 if (spawnedWorkDuringRender !== null) { 34517 var expirationTimes = spawnedWorkDuringRender; 34518 spawnedWorkDuringRender = null; 34519 34520 for (var i = 0; i < expirationTimes.length; i++) { 34521 scheduleInteractions(root, expirationTimes[i], root.memoizedInteractions); 34522 } 34523 } 34524 34525 schedulePendingInteractions(root, remainingExpirationTime); 34526 } 34527 } else { 34528 // If there's no remaining work, we can clear the set of already failed 34529 // error boundaries. 34530 legacyErrorBoundariesThatAlreadyFailed = null; 34531 } 34532 34533 { 34534 if (!rootDidHavePassiveEffects) { 34535 // If there are no passive effects, then we can complete the pending interactions. 34536 // Otherwise, we'll wait until after the passive effects are flushed. 34537 // Wait to do this until after remaining work has been scheduled, 34538 // so that we don't prematurely signal complete for interactions when there's e.g. hidden work. 34539 finishPendingInteractions(root, expirationTime); 34540 } 34541 } 34542 34543 if (remainingExpirationTime === Sync) { 34544 // Count the number of times the root synchronously re-renders without 34545 // finishing. If there are too many, it indicates an infinite update loop. 34546 if (root === rootWithNestedUpdates) { 34547 nestedUpdateCount++; 34548 } else { 34549 nestedUpdateCount = 0; 34550 rootWithNestedUpdates = root; 34551 } 34552 } else { 34553 nestedUpdateCount = 0; 34554 } 34555 34556 onCommitRoot(finishedWork.stateNode, expirationTime); // Always call this before exiting `commitRoot`, to ensure that any 34557 // additional work on this root is scheduled. 34558 34559 ensureRootIsScheduled(root); 34560 34561 if (hasUncaughtError) { 34562 hasUncaughtError = false; 34563 var _error3 = firstUncaughtError; 34564 firstUncaughtError = null; 34565 throw _error3; 34566 } 34567 34568 if ((executionContext & LegacyUnbatchedContext) !== NoContext) { 34569 // This is a legacy edge case. We just committed the initial mount of 34570 // a ReactDOM.render-ed root inside of batchedUpdates. The commit fired 34571 // synchronously, but layout updates should be deferred until the end 34572 // of the batch. 34573 return null; 34574 } // If layout work was scheduled, flush it now. 34575 34576 34577 flushSyncCallbackQueue(); 34578 return null; 34579} 34580 34581function commitBeforeMutationEffects() { 34582 while (nextEffect !== null) { 34583 var effectTag = nextEffect.effectTag; 34584 34585 if ((effectTag & Snapshot) !== NoEffect) { 34586 setCurrentFiber(nextEffect); 34587 recordEffect(); 34588 var current = nextEffect.alternate; 34589 commitBeforeMutationLifeCycles(current, nextEffect); 34590 resetCurrentFiber(); 34591 } 34592 34593 if ((effectTag & Passive) !== NoEffect) { 34594 // If there are passive effects, schedule a callback to flush at 34595 // the earliest opportunity. 34596 if (!rootDoesHavePassiveEffects) { 34597 rootDoesHavePassiveEffects = true; 34598 scheduleCallback(NormalPriority, function () { 34599 flushPassiveEffects(); 34600 return null; 34601 }); 34602 } 34603 } 34604 34605 nextEffect = nextEffect.nextEffect; 34606 } 34607} 34608 34609function commitMutationEffects(root, renderPriorityLevel) { 34610 // TODO: Should probably move the bulk of this function to commitWork. 34611 while (nextEffect !== null) { 34612 setCurrentFiber(nextEffect); 34613 var effectTag = nextEffect.effectTag; 34614 34615 if (effectTag & ContentReset) { 34616 commitResetTextContent(nextEffect); 34617 } 34618 34619 if (effectTag & Ref) { 34620 var current = nextEffect.alternate; 34621 34622 if (current !== null) { 34623 commitDetachRef(current); 34624 } 34625 } // The following switch statement is only concerned about placement, 34626 // updates, and deletions. To avoid needing to add a case for every possible 34627 // bitmap value, we remove the secondary effects from the effect tag and 34628 // switch on that value. 34629 34630 34631 var primaryEffectTag = effectTag & (Placement | Update | Deletion | Hydrating); 34632 34633 switch (primaryEffectTag) { 34634 case Placement: 34635 { 34636 commitPlacement(nextEffect); // Clear the "placement" from effect tag so that we know that this is 34637 // inserted, before any life-cycles like componentDidMount gets called. 34638 // TODO: findDOMNode doesn't rely on this any more but isMounted does 34639 // and isMounted is deprecated anyway so we should be able to kill this. 34640 34641 nextEffect.effectTag &= ~Placement; 34642 break; 34643 } 34644 34645 case PlacementAndUpdate: 34646 { 34647 // Placement 34648 commitPlacement(nextEffect); // Clear the "placement" from effect tag so that we know that this is 34649 // inserted, before any life-cycles like componentDidMount gets called. 34650 34651 nextEffect.effectTag &= ~Placement; // Update 34652 34653 var _current = nextEffect.alternate; 34654 commitWork(_current, nextEffect); 34655 break; 34656 } 34657 34658 case Hydrating: 34659 { 34660 nextEffect.effectTag &= ~Hydrating; 34661 break; 34662 } 34663 34664 case HydratingAndUpdate: 34665 { 34666 nextEffect.effectTag &= ~Hydrating; // Update 34667 34668 var _current2 = nextEffect.alternate; 34669 commitWork(_current2, nextEffect); 34670 break; 34671 } 34672 34673 case Update: 34674 { 34675 var _current3 = nextEffect.alternate; 34676 commitWork(_current3, nextEffect); 34677 break; 34678 } 34679 34680 case Deletion: 34681 { 34682 commitDeletion(root, nextEffect, renderPriorityLevel); 34683 break; 34684 } 34685 } // TODO: Only record a mutation effect if primaryEffectTag is non-zero. 34686 34687 34688 recordEffect(); 34689 resetCurrentFiber(); 34690 nextEffect = nextEffect.nextEffect; 34691 } 34692} 34693 34694function commitLayoutEffects(root, committedExpirationTime) { 34695 // TODO: Should probably move the bulk of this function to commitWork. 34696 while (nextEffect !== null) { 34697 setCurrentFiber(nextEffect); 34698 var effectTag = nextEffect.effectTag; 34699 34700 if (effectTag & (Update | Callback)) { 34701 recordEffect(); 34702 var current = nextEffect.alternate; 34703 commitLifeCycles(root, current, nextEffect); 34704 } 34705 34706 if (effectTag & Ref) { 34707 recordEffect(); 34708 commitAttachRef(nextEffect); 34709 } 34710 34711 resetCurrentFiber(); 34712 nextEffect = nextEffect.nextEffect; 34713 } 34714} 34715 34716function flushPassiveEffects() { 34717 if (pendingPassiveEffectsRenderPriority !== NoPriority) { 34718 var priorityLevel = pendingPassiveEffectsRenderPriority > NormalPriority ? NormalPriority : pendingPassiveEffectsRenderPriority; 34719 pendingPassiveEffectsRenderPriority = NoPriority; 34720 return runWithPriority$1(priorityLevel, flushPassiveEffectsImpl); 34721 } 34722} 34723 34724function flushPassiveEffectsImpl() { 34725 if (rootWithPendingPassiveEffects === null) { 34726 return false; 34727 } 34728 34729 var root = rootWithPendingPassiveEffects; 34730 var expirationTime = pendingPassiveEffectsExpirationTime; 34731 rootWithPendingPassiveEffects = null; 34732 pendingPassiveEffectsExpirationTime = NoWork; 34733 34734 if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) { 34735 { 34736 throw Error( "Cannot flush passive effects while already rendering." ); 34737 } 34738 } 34739 34740 var prevExecutionContext = executionContext; 34741 executionContext |= CommitContext; 34742 var prevInteractions = pushInteractions(root); 34743 34744 { 34745 // Note: This currently assumes there are no passive effects on the root fiber 34746 // because the root is not part of its own effect list. 34747 // This could change in the future. 34748 var _effect2 = root.current.firstEffect; 34749 34750 while (_effect2 !== null) { 34751 { 34752 setCurrentFiber(_effect2); 34753 invokeGuardedCallback(null, commitPassiveHookEffects, null, _effect2); 34754 34755 if (hasCaughtError()) { 34756 if (!(_effect2 !== null)) { 34757 { 34758 throw Error( "Should be working on an effect." ); 34759 } 34760 } 34761 34762 var _error5 = clearCaughtError(); 34763 34764 captureCommitPhaseError(_effect2, _error5); 34765 } 34766 34767 resetCurrentFiber(); 34768 } 34769 34770 var nextNextEffect = _effect2.nextEffect; // Remove nextEffect pointer to assist GC 34771 34772 _effect2.nextEffect = null; 34773 _effect2 = nextNextEffect; 34774 } 34775 } 34776 34777 { 34778 popInteractions(prevInteractions); 34779 finishPendingInteractions(root, expirationTime); 34780 } 34781 34782 executionContext = prevExecutionContext; 34783 flushSyncCallbackQueue(); // If additional passive effects were scheduled, increment a counter. If this 34784 // exceeds the limit, we'll fire a warning. 34785 34786 nestedPassiveUpdateCount = rootWithPendingPassiveEffects === null ? 0 : nestedPassiveUpdateCount + 1; 34787 return true; 34788} 34789 34790function isAlreadyFailedLegacyErrorBoundary(instance) { 34791 return legacyErrorBoundariesThatAlreadyFailed !== null && legacyErrorBoundariesThatAlreadyFailed.has(instance); 34792} 34793function markLegacyErrorBoundaryAsFailed(instance) { 34794 if (legacyErrorBoundariesThatAlreadyFailed === null) { 34795 legacyErrorBoundariesThatAlreadyFailed = new Set([instance]); 34796 } else { 34797 legacyErrorBoundariesThatAlreadyFailed.add(instance); 34798 } 34799} 34800 34801function prepareToThrowUncaughtError(error) { 34802 if (!hasUncaughtError) { 34803 hasUncaughtError = true; 34804 firstUncaughtError = error; 34805 } 34806} 34807 34808var onUncaughtError = prepareToThrowUncaughtError; 34809 34810function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) { 34811 var errorInfo = createCapturedValue(error, sourceFiber); 34812 var update = createRootErrorUpdate(rootFiber, errorInfo, Sync); 34813 enqueueUpdate(rootFiber, update); 34814 var root = markUpdateTimeFromFiberToRoot(rootFiber, Sync); 34815 34816 if (root !== null) { 34817 ensureRootIsScheduled(root); 34818 schedulePendingInteractions(root, Sync); 34819 } 34820} 34821 34822function captureCommitPhaseError(sourceFiber, error) { 34823 if (sourceFiber.tag === HostRoot) { 34824 // Error was thrown at the root. There is no parent, so the root 34825 // itself should capture it. 34826 captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error); 34827 return; 34828 } 34829 34830 var fiber = sourceFiber.return; 34831 34832 while (fiber !== null) { 34833 if (fiber.tag === HostRoot) { 34834 captureCommitPhaseErrorOnRoot(fiber, sourceFiber, error); 34835 return; 34836 } else if (fiber.tag === ClassComponent) { 34837 var ctor = fiber.type; 34838 var instance = fiber.stateNode; 34839 34840 if (typeof ctor.getDerivedStateFromError === 'function' || typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance)) { 34841 var errorInfo = createCapturedValue(error, sourceFiber); 34842 var update = createClassErrorUpdate(fiber, errorInfo, // TODO: This is always sync 34843 Sync); 34844 enqueueUpdate(fiber, update); 34845 var root = markUpdateTimeFromFiberToRoot(fiber, Sync); 34846 34847 if (root !== null) { 34848 ensureRootIsScheduled(root); 34849 schedulePendingInteractions(root, Sync); 34850 } 34851 34852 return; 34853 } 34854 } 34855 34856 fiber = fiber.return; 34857 } 34858} 34859function pingSuspendedRoot(root, thenable, suspendedTime) { 34860 var pingCache = root.pingCache; 34861 34862 if (pingCache !== null) { 34863 // The thenable resolved, so we no longer need to memoize, because it will 34864 // never be thrown again. 34865 pingCache.delete(thenable); 34866 } 34867 34868 if (workInProgressRoot === root && renderExpirationTime$1 === suspendedTime) { 34869 // Received a ping at the same priority level at which we're currently 34870 // rendering. We might want to restart this render. This should mirror 34871 // the logic of whether or not a root suspends once it completes. 34872 // TODO: If we're rendering sync either due to Sync, Batched or expired, 34873 // we should probably never restart. 34874 // If we're suspended with delay, we'll always suspend so we can always 34875 // restart. If we're suspended without any updates, it might be a retry. 34876 // If it's early in the retry we can restart. We can't know for sure 34877 // whether we'll eventually process an update during this render pass, 34878 // but it's somewhat unlikely that we get to a ping before that, since 34879 // getting to the root most update is usually very fast. 34880 if (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && workInProgressRootLatestProcessedExpirationTime === Sync && now() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS) { 34881 // Restart from the root. Don't need to schedule a ping because 34882 // we're already working on this tree. 34883 prepareFreshStack(root, renderExpirationTime$1); 34884 } else { 34885 // Even though we can't restart right now, we might get an 34886 // opportunity later. So we mark this render as having a ping. 34887 workInProgressRootHasPendingPing = true; 34888 } 34889 34890 return; 34891 } 34892 34893 if (!isRootSuspendedAtTime(root, suspendedTime)) { 34894 // The root is no longer suspended at this time. 34895 return; 34896 } 34897 34898 var lastPingedTime = root.lastPingedTime; 34899 34900 if (lastPingedTime !== NoWork && lastPingedTime < suspendedTime) { 34901 // There's already a lower priority ping scheduled. 34902 return; 34903 } // Mark the time at which this ping was scheduled. 34904 34905 34906 root.lastPingedTime = suspendedTime; 34907 34908 ensureRootIsScheduled(root); 34909 schedulePendingInteractions(root, suspendedTime); 34910} 34911 34912function retryTimedOutBoundary(boundaryFiber, retryTime) { 34913 // The boundary fiber (a Suspense component or SuspenseList component) 34914 // previously was rendered in its fallback state. One of the promises that 34915 // suspended it has resolved, which means at least part of the tree was 34916 // likely unblocked. Try rendering again, at a new expiration time. 34917 if (retryTime === NoWork) { 34918 var suspenseConfig = null; // Retries don't carry over the already committed update. 34919 34920 var currentTime = requestCurrentTimeForUpdate(); 34921 retryTime = computeExpirationForFiber(currentTime, boundaryFiber, suspenseConfig); 34922 } // TODO: Special case idle priority? 34923 34924 34925 var root = markUpdateTimeFromFiberToRoot(boundaryFiber, retryTime); 34926 34927 if (root !== null) { 34928 ensureRootIsScheduled(root); 34929 schedulePendingInteractions(root, retryTime); 34930 } 34931} 34932function resolveRetryThenable(boundaryFiber, thenable) { 34933 var retryTime = NoWork; // Default 34934 34935 var retryCache; 34936 34937 { 34938 retryCache = boundaryFiber.stateNode; 34939 } 34940 34941 if (retryCache !== null) { 34942 // The thenable resolved, so we no longer need to memoize, because it will 34943 // never be thrown again. 34944 retryCache.delete(thenable); 34945 } 34946 34947 retryTimedOutBoundary(boundaryFiber, retryTime); 34948} // Computes the next Just Noticeable Difference (JND) boundary. 34949// The theory is that a person can't tell the difference between small differences in time. 34950// Therefore, if we wait a bit longer than necessary that won't translate to a noticeable 34951// difference in the experience. However, waiting for longer might mean that we can avoid 34952// showing an intermediate loading state. The longer we have already waited, the harder it 34953// is to tell small differences in time. Therefore, the longer we've already waited, 34954// the longer we can wait additionally. At some point we have to give up though. 34955// We pick a train model where the next boundary commits at a consistent schedule. 34956// These particular numbers are vague estimates. We expect to adjust them based on research. 34957 34958function jnd(timeElapsed) { 34959 return timeElapsed < 120 ? 120 : timeElapsed < 480 ? 480 : timeElapsed < 1080 ? 1080 : timeElapsed < 1920 ? 1920 : timeElapsed < 3000 ? 3000 : timeElapsed < 4320 ? 4320 : ceil(timeElapsed / 1960) * 1960; 34960} 34961 34962function computeMsUntilSuspenseLoadingDelay(mostRecentEventTime, committedExpirationTime, suspenseConfig) { 34963 var busyMinDurationMs = suspenseConfig.busyMinDurationMs | 0; 34964 34965 if (busyMinDurationMs <= 0) { 34966 return 0; 34967 } 34968 34969 var busyDelayMs = suspenseConfig.busyDelayMs | 0; // Compute the time until this render pass would expire. 34970 34971 var currentTimeMs = now(); 34972 var eventTimeMs = inferTimeFromExpirationTimeWithSuspenseConfig(mostRecentEventTime, suspenseConfig); 34973 var timeElapsed = currentTimeMs - eventTimeMs; 34974 34975 if (timeElapsed <= busyDelayMs) { 34976 // If we haven't yet waited longer than the initial delay, we don't 34977 // have to wait any additional time. 34978 return 0; 34979 } 34980 34981 var msUntilTimeout = busyDelayMs + busyMinDurationMs - timeElapsed; // This is the value that is passed to `setTimeout`. 34982 34983 return msUntilTimeout; 34984} 34985 34986function checkForNestedUpdates() { 34987 if (nestedUpdateCount > NESTED_UPDATE_LIMIT) { 34988 nestedUpdateCount = 0; 34989 rootWithNestedUpdates = null; 34990 34991 { 34992 { 34993 throw Error( "Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops." ); 34994 } 34995 } 34996 } 34997 34998 { 34999 if (nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT) { 35000 nestedPassiveUpdateCount = 0; 35001 35002 error('Maximum update depth exceeded. This can happen when a component ' + "calls setState inside useEffect, but useEffect either doesn't " + 'have a dependency array, or one of the dependencies changes on ' + 'every render.'); 35003 } 35004 } 35005} 35006 35007function flushRenderPhaseStrictModeWarningsInDEV() { 35008 { 35009 ReactStrictModeWarnings.flushLegacyContextWarning(); 35010 35011 { 35012 ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings(); 35013 } 35014 } 35015} 35016 35017function stopFinishedWorkLoopTimer() { 35018 var didCompleteRoot = true; 35019 stopWorkLoopTimer(interruptedBy, didCompleteRoot); 35020 interruptedBy = null; 35021} 35022 35023function stopInterruptedWorkLoopTimer() { 35024 // TODO: Track which fiber caused the interruption. 35025 var didCompleteRoot = false; 35026 stopWorkLoopTimer(interruptedBy, didCompleteRoot); 35027 interruptedBy = null; 35028} 35029 35030function checkForInterruption(fiberThatReceivedUpdate, updateExpirationTime) { 35031 if ( workInProgressRoot !== null && updateExpirationTime > renderExpirationTime$1) { 35032 interruptedBy = fiberThatReceivedUpdate; 35033 } 35034} 35035 35036var didWarnStateUpdateForUnmountedComponent = null; 35037 35038function warnAboutUpdateOnUnmountedFiberInDEV(fiber) { 35039 { 35040 var tag = fiber.tag; 35041 35042 if (tag !== HostRoot && tag !== ClassComponent && tag !== FunctionComponent && tag !== ForwardRef && tag !== MemoComponent && tag !== SimpleMemoComponent && tag !== Block) { 35043 // Only warn for user-defined components, not internal ones like Suspense. 35044 return; 35045 } 35046 // the problematic code almost always lies inside that component. 35047 35048 35049 var componentName = getComponentName(fiber.type) || 'ReactComponent'; 35050 35051 if (didWarnStateUpdateForUnmountedComponent !== null) { 35052 if (didWarnStateUpdateForUnmountedComponent.has(componentName)) { 35053 return; 35054 } 35055 35056 didWarnStateUpdateForUnmountedComponent.add(componentName); 35057 } else { 35058 didWarnStateUpdateForUnmountedComponent = new Set([componentName]); 35059 } 35060 35061 error("Can't perform a React state update on an unmounted component. This " + 'is a no-op, but it indicates a memory leak in your application. To ' + 'fix, cancel all subscriptions and asynchronous tasks in %s.%s', tag === ClassComponent ? 'the componentWillUnmount method' : 'a useEffect cleanup function', getStackByFiberInDevAndProd(fiber)); 35062 } 35063} 35064 35065var beginWork$1; 35066 35067{ 35068 var dummyFiber = null; 35069 35070 beginWork$1 = function (current, unitOfWork, expirationTime) { 35071 // If a component throws an error, we replay it again in a synchronously 35072 // dispatched event, so that the debugger will treat it as an uncaught 35073 // error See ReactErrorUtils for more information. 35074 // Before entering the begin phase, copy the work-in-progress onto a dummy 35075 // fiber. If beginWork throws, we'll use this to reset the state. 35076 var originalWorkInProgressCopy = assignFiberPropertiesInDEV(dummyFiber, unitOfWork); 35077 35078 try { 35079 return beginWork(current, unitOfWork, expirationTime); 35080 } catch (originalError) { 35081 if (originalError !== null && typeof originalError === 'object' && typeof originalError.then === 'function') { 35082 // Don't replay promises. Treat everything else like an error. 35083 throw originalError; 35084 } // Keep this code in sync with handleError; any changes here must have 35085 // corresponding changes there. 35086 35087 35088 resetContextDependencies(); 35089 resetHooksAfterThrow(); // Don't reset current debug fiber, since we're about to work on the 35090 // same fiber again. 35091 // Unwind the failed stack frame 35092 35093 unwindInterruptedWork(unitOfWork); // Restore the original properties of the fiber. 35094 35095 assignFiberPropertiesInDEV(unitOfWork, originalWorkInProgressCopy); 35096 35097 if ( unitOfWork.mode & ProfileMode) { 35098 // Reset the profiler timer. 35099 startProfilerTimer(unitOfWork); 35100 } // Run beginWork again. 35101 35102 35103 invokeGuardedCallback(null, beginWork, null, current, unitOfWork, expirationTime); 35104 35105 if (hasCaughtError()) { 35106 var replayError = clearCaughtError(); // `invokeGuardedCallback` sometimes sets an expando `_suppressLogging`. 35107 // Rethrow this error instead of the original one. 35108 35109 throw replayError; 35110 } else { 35111 // This branch is reachable if the render phase is impure. 35112 throw originalError; 35113 } 35114 } 35115 }; 35116} 35117 35118var didWarnAboutUpdateInRender = false; 35119var didWarnAboutUpdateInRenderForAnotherComponent; 35120 35121{ 35122 didWarnAboutUpdateInRenderForAnotherComponent = new Set(); 35123} 35124 35125function warnAboutRenderPhaseUpdatesInDEV(fiber) { 35126 { 35127 if (isRendering && (executionContext & RenderContext) !== NoContext) { 35128 switch (fiber.tag) { 35129 case FunctionComponent: 35130 case ForwardRef: 35131 case SimpleMemoComponent: 35132 { 35133 var renderingComponentName = workInProgress && getComponentName(workInProgress.type) || 'Unknown'; // Dedupe by the rendering component because it's the one that needs to be fixed. 35134 35135 var dedupeKey = renderingComponentName; 35136 35137 if (!didWarnAboutUpdateInRenderForAnotherComponent.has(dedupeKey)) { 35138 didWarnAboutUpdateInRenderForAnotherComponent.add(dedupeKey); 35139 var setStateComponentName = getComponentName(fiber.type) || 'Unknown'; 35140 35141 error('Cannot update a component (`%s`) while rendering a ' + 'different component (`%s`). To locate the bad setState() call inside `%s`, ' + 'follow the stack trace as described in https://fb.me/setstate-in-render', setStateComponentName, renderingComponentName, renderingComponentName); 35142 } 35143 35144 break; 35145 } 35146 35147 case ClassComponent: 35148 { 35149 if (!didWarnAboutUpdateInRender) { 35150 error('Cannot update during an existing state transition (such as ' + 'within `render`). Render methods should be a pure ' + 'function of props and state.'); 35151 35152 didWarnAboutUpdateInRender = true; 35153 } 35154 35155 break; 35156 } 35157 } 35158 } 35159 } 35160} // a 'shared' variable that changes when act() opens/closes in tests. 35161 35162 35163var IsThisRendererActing = { 35164 current: false 35165}; 35166function warnIfNotScopedWithMatchingAct(fiber) { 35167 { 35168 if ( IsSomeRendererActing.current === true && IsThisRendererActing.current !== true) { 35169 error("It looks like you're using the wrong act() around your test interactions.\n" + 'Be sure to use the matching version of act() corresponding to your renderer:\n\n' + '// for react-dom:\n' + "import {act} from 'react-dom/test-utils';\n" + '// ...\n' + 'act(() => ...);\n\n' + '// for react-test-renderer:\n' + "import TestRenderer from 'react-test-renderer';\n" + 'const {act} = TestRenderer;\n' + '// ...\n' + 'act(() => ...);' + '%s', getStackByFiberInDevAndProd(fiber)); 35170 } 35171 } 35172} 35173function warnIfNotCurrentlyActingEffectsInDEV(fiber) { 35174 { 35175 if ( (fiber.mode & StrictMode) !== NoMode && IsSomeRendererActing.current === false && IsThisRendererActing.current === false) { 35176 error('An update to %s ran an effect, but was not wrapped in act(...).\n\n' + 'When testing, code that causes React state updates should be ' + 'wrapped into act(...):\n\n' + 'act(() => {\n' + ' /* fire events that update state */\n' + '});\n' + '/* assert on the output */\n\n' + "This ensures that you're testing the behavior the user would see " + 'in the browser.' + ' Learn more at https://fb.me/react-wrap-tests-with-act' + '%s', getComponentName(fiber.type), getStackByFiberInDevAndProd(fiber)); 35177 } 35178 } 35179} 35180 35181function warnIfNotCurrentlyActingUpdatesInDEV(fiber) { 35182 { 35183 if ( executionContext === NoContext && IsSomeRendererActing.current === false && IsThisRendererActing.current === false) { 35184 error('An update to %s inside a test was not wrapped in act(...).\n\n' + 'When testing, code that causes React state updates should be ' + 'wrapped into act(...):\n\n' + 'act(() => {\n' + ' /* fire events that update state */\n' + '});\n' + '/* assert on the output */\n\n' + "This ensures that you're testing the behavior the user would see " + 'in the browser.' + ' Learn more at https://fb.me/react-wrap-tests-with-act' + '%s', getComponentName(fiber.type), getStackByFiberInDevAndProd(fiber)); 35185 } 35186 } 35187} 35188 35189var warnIfNotCurrentlyActingUpdatesInDev = warnIfNotCurrentlyActingUpdatesInDEV; // In tests, we want to enforce a mocked scheduler. 35190 35191var didWarnAboutUnmockedScheduler = false; // TODO Before we release concurrent mode, revisit this and decide whether a mocked 35192// scheduler is the actual recommendation. The alternative could be a testing build, 35193// a new lib, or whatever; we dunno just yet. This message is for early adopters 35194// to get their tests right. 35195 35196function warnIfUnmockedScheduler(fiber) { 35197 { 35198 if (didWarnAboutUnmockedScheduler === false && Scheduler.unstable_flushAllWithoutAsserting === undefined) { 35199 if (fiber.mode & BlockingMode || fiber.mode & ConcurrentMode) { 35200 didWarnAboutUnmockedScheduler = true; 35201 35202 error('In Concurrent or Sync modes, the "scheduler" module needs to be mocked ' + 'to guarantee consistent behaviour across tests and browsers. ' + 'For example, with jest: \n' + "jest.mock('scheduler', () => require('scheduler/unstable_mock'));\n\n" + 'For more info, visit https://fb.me/react-mock-scheduler'); 35203 } 35204 } 35205 } 35206} 35207 35208function computeThreadID(root, expirationTime) { 35209 // Interaction threads are unique per root and expiration time. 35210 return expirationTime * 1000 + root.interactionThreadID; 35211} 35212 35213function markSpawnedWork(expirationTime) { 35214 35215 if (spawnedWorkDuringRender === null) { 35216 spawnedWorkDuringRender = [expirationTime]; 35217 } else { 35218 spawnedWorkDuringRender.push(expirationTime); 35219 } 35220} 35221 35222function scheduleInteractions(root, expirationTime, interactions) { 35223 35224 if (interactions.size > 0) { 35225 var pendingInteractionMap = root.pendingInteractionMap; 35226 var pendingInteractions = pendingInteractionMap.get(expirationTime); 35227 35228 if (pendingInteractions != null) { 35229 interactions.forEach(function (interaction) { 35230 if (!pendingInteractions.has(interaction)) { 35231 // Update the pending async work count for previously unscheduled interaction. 35232 interaction.__count++; 35233 } 35234 35235 pendingInteractions.add(interaction); 35236 }); 35237 } else { 35238 pendingInteractionMap.set(expirationTime, new Set(interactions)); // Update the pending async work count for the current interactions. 35239 35240 interactions.forEach(function (interaction) { 35241 interaction.__count++; 35242 }); 35243 } 35244 35245 var subscriber = tracing.__subscriberRef.current; 35246 35247 if (subscriber !== null) { 35248 var threadID = computeThreadID(root, expirationTime); 35249 subscriber.onWorkScheduled(interactions, threadID); 35250 } 35251 } 35252} 35253 35254function schedulePendingInteractions(root, expirationTime) { 35255 35256 scheduleInteractions(root, expirationTime, tracing.__interactionsRef.current); 35257} 35258 35259function startWorkOnPendingInteractions(root, expirationTime) { 35260 // we can accurately attribute time spent working on it, And so that cascading 35261 // work triggered during the render phase will be associated with it. 35262 35263 35264 var interactions = new Set(); 35265 root.pendingInteractionMap.forEach(function (scheduledInteractions, scheduledExpirationTime) { 35266 if (scheduledExpirationTime >= expirationTime) { 35267 scheduledInteractions.forEach(function (interaction) { 35268 return interactions.add(interaction); 35269 }); 35270 } 35271 }); // Store the current set of interactions on the FiberRoot for a few reasons: 35272 // We can re-use it in hot functions like performConcurrentWorkOnRoot() 35273 // without having to recalculate it. We will also use it in commitWork() to 35274 // pass to any Profiler onRender() hooks. This also provides DevTools with a 35275 // way to access it when the onCommitRoot() hook is called. 35276 35277 root.memoizedInteractions = interactions; 35278 35279 if (interactions.size > 0) { 35280 var subscriber = tracing.__subscriberRef.current; 35281 35282 if (subscriber !== null) { 35283 var threadID = computeThreadID(root, expirationTime); 35284 35285 try { 35286 subscriber.onWorkStarted(interactions, threadID); 35287 } catch (error) { 35288 // If the subscriber throws, rethrow it in a separate task 35289 scheduleCallback(ImmediatePriority, function () { 35290 throw error; 35291 }); 35292 } 35293 } 35294 } 35295} 35296 35297function finishPendingInteractions(root, committedExpirationTime) { 35298 35299 var earliestRemainingTimeAfterCommit = root.firstPendingTime; 35300 var subscriber; 35301 35302 try { 35303 subscriber = tracing.__subscriberRef.current; 35304 35305 if (subscriber !== null && root.memoizedInteractions.size > 0) { 35306 var threadID = computeThreadID(root, committedExpirationTime); 35307 subscriber.onWorkStopped(root.memoizedInteractions, threadID); 35308 } 35309 } catch (error) { 35310 // If the subscriber throws, rethrow it in a separate task 35311 scheduleCallback(ImmediatePriority, function () { 35312 throw error; 35313 }); 35314 } finally { 35315 // Clear completed interactions from the pending Map. 35316 // Unless the render was suspended or cascading work was scheduled, 35317 // In which caseâ leave pending interactions until the subsequent render. 35318 var pendingInteractionMap = root.pendingInteractionMap; 35319 pendingInteractionMap.forEach(function (scheduledInteractions, scheduledExpirationTime) { 35320 // Only decrement the pending interaction count if we're done. 35321 // If there's still work at the current priority, 35322 // That indicates that we are waiting for suspense data. 35323 if (scheduledExpirationTime > earliestRemainingTimeAfterCommit) { 35324 pendingInteractionMap.delete(scheduledExpirationTime); 35325 scheduledInteractions.forEach(function (interaction) { 35326 interaction.__count--; 35327 35328 if (subscriber !== null && interaction.__count === 0) { 35329 try { 35330 subscriber.onInteractionScheduledWorkCompleted(interaction); 35331 } catch (error) { 35332 // If the subscriber throws, rethrow it in a separate task 35333 scheduleCallback(ImmediatePriority, function () { 35334 throw error; 35335 }); 35336 } 35337 } 35338 }); 35339 } 35340 }); 35341 } 35342} 35343 35344var onScheduleFiberRoot = null; 35345var onCommitFiberRoot = null; 35346var onCommitFiberUnmount = null; 35347var hasLoggedError = false; 35348var isDevToolsPresent = typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined'; 35349function injectInternals(internals) { 35350 if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') { 35351 // No DevTools 35352 return false; 35353 } 35354 35355 var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__; 35356 35357 if (hook.isDisabled) { 35358 // This isn't a real property on the hook, but it can be set to opt out 35359 // of DevTools integration and associated warnings and logs. 35360 // https://github.com/facebook/react/issues/3877 35361 return true; 35362 } 35363 35364 if (!hook.supportsFiber) { 35365 { 35366 error('The installed version of React DevTools is too old and will not work ' + 'with the current version of React. Please update React DevTools. ' + 'https://fb.me/react-devtools'); 35367 } // DevTools exists, even though it doesn't support Fiber. 35368 35369 35370 return true; 35371 } 35372 35373 try { 35374 var rendererID = hook.inject(internals); // We have successfully injected, so now it is safe to set up hooks. 35375 35376 if (true) { 35377 // Only used by Fast Refresh 35378 if (typeof hook.onScheduleFiberRoot === 'function') { 35379 onScheduleFiberRoot = function (root, children) { 35380 try { 35381 hook.onScheduleFiberRoot(rendererID, root, children); 35382 } catch (err) { 35383 if ( true && !hasLoggedError) { 35384 hasLoggedError = true; 35385 35386 error('React instrumentation encountered an error: %s', err); 35387 } 35388 } 35389 }; 35390 } 35391 } 35392 35393 onCommitFiberRoot = function (root, expirationTime) { 35394 try { 35395 var didError = (root.current.effectTag & DidCapture) === DidCapture; 35396 35397 if (enableProfilerTimer) { 35398 var currentTime = getCurrentTime(); 35399 var priorityLevel = inferPriorityFromExpirationTime(currentTime, expirationTime); 35400 hook.onCommitFiberRoot(rendererID, root, priorityLevel, didError); 35401 } else { 35402 hook.onCommitFiberRoot(rendererID, root, undefined, didError); 35403 } 35404 } catch (err) { 35405 if (true) { 35406 if (!hasLoggedError) { 35407 hasLoggedError = true; 35408 35409 error('React instrumentation encountered an error: %s', err); 35410 } 35411 } 35412 } 35413 }; 35414 35415 onCommitFiberUnmount = function (fiber) { 35416 try { 35417 hook.onCommitFiberUnmount(rendererID, fiber); 35418 } catch (err) { 35419 if (true) { 35420 if (!hasLoggedError) { 35421 hasLoggedError = true; 35422 35423 error('React instrumentation encountered an error: %s', err); 35424 } 35425 } 35426 } 35427 }; 35428 } catch (err) { 35429 // Catch all errors because it is unsafe to throw during initialization. 35430 { 35431 error('React instrumentation encountered an error: %s.', err); 35432 } 35433 } // DevTools exists 35434 35435 35436 return true; 35437} 35438function onScheduleRoot(root, children) { 35439 if (typeof onScheduleFiberRoot === 'function') { 35440 onScheduleFiberRoot(root, children); 35441 } 35442} 35443function onCommitRoot(root, expirationTime) { 35444 if (typeof onCommitFiberRoot === 'function') { 35445 onCommitFiberRoot(root, expirationTime); 35446 } 35447} 35448function onCommitUnmount(fiber) { 35449 if (typeof onCommitFiberUnmount === 'function') { 35450 onCommitFiberUnmount(fiber); 35451 } 35452} 35453 35454var hasBadMapPolyfill; 35455 35456{ 35457 hasBadMapPolyfill = false; 35458 35459 try { 35460 var nonExtensibleObject = Object.preventExtensions({}); 35461 var testMap = new Map([[nonExtensibleObject, null]]); 35462 var testSet = new Set([nonExtensibleObject]); // This is necessary for Rollup to not consider these unused. 35463 // https://github.com/rollup/rollup/issues/1771 35464 // TODO: we can remove these if Rollup fixes the bug. 35465 35466 testMap.set(0, 0); 35467 testSet.add(0); 35468 } catch (e) { 35469 // TODO: Consider warning about bad polyfills 35470 hasBadMapPolyfill = true; 35471 } 35472} 35473 35474var debugCounter = 1; 35475 35476function FiberNode(tag, pendingProps, key, mode) { 35477 // Instance 35478 this.tag = tag; 35479 this.key = key; 35480 this.elementType = null; 35481 this.type = null; 35482 this.stateNode = null; // Fiber 35483 35484 this.return = null; 35485 this.child = null; 35486 this.sibling = null; 35487 this.index = 0; 35488 this.ref = null; 35489 this.pendingProps = pendingProps; 35490 this.memoizedProps = null; 35491 this.updateQueue = null; 35492 this.memoizedState = null; 35493 this.dependencies = null; 35494 this.mode = mode; // Effects 35495 35496 this.effectTag = NoEffect; 35497 this.nextEffect = null; 35498 this.firstEffect = null; 35499 this.lastEffect = null; 35500 this.expirationTime = NoWork; 35501 this.childExpirationTime = NoWork; 35502 this.alternate = null; 35503 35504 { 35505 // Note: The following is done to avoid a v8 performance cliff. 35506 // 35507 // Initializing the fields below to smis and later updating them with 35508 // double values will cause Fibers to end up having separate shapes. 35509 // This behavior/bug has something to do with Object.preventExtension(). 35510 // Fortunately this only impacts DEV builds. 35511 // Unfortunately it makes React unusably slow for some applications. 35512 // To work around this, initialize the fields below with doubles. 35513 // 35514 // Learn more about this here: 35515 // https://github.com/facebook/react/issues/14365 35516 // https://bugs.chromium.org/p/v8/issues/detail?id=8538 35517 this.actualDuration = Number.NaN; 35518 this.actualStartTime = Number.NaN; 35519 this.selfBaseDuration = Number.NaN; 35520 this.treeBaseDuration = Number.NaN; // It's okay to replace the initial doubles with smis after initialization. 35521 // This won't trigger the performance cliff mentioned above, 35522 // and it simplifies other profiler code (including DevTools). 35523 35524 this.actualDuration = 0; 35525 this.actualStartTime = -1; 35526 this.selfBaseDuration = 0; 35527 this.treeBaseDuration = 0; 35528 } // This is normally DEV-only except www when it adds listeners. 35529 // TODO: remove the User Timing integration in favor of Root Events. 35530 35531 35532 { 35533 this._debugID = debugCounter++; 35534 this._debugIsCurrentlyTiming = false; 35535 } 35536 35537 { 35538 this._debugSource = null; 35539 this._debugOwner = null; 35540 this._debugNeedsRemount = false; 35541 this._debugHookTypes = null; 35542 35543 if (!hasBadMapPolyfill && typeof Object.preventExtensions === 'function') { 35544 Object.preventExtensions(this); 35545 } 35546 } 35547} // This is a constructor function, rather than a POJO constructor, still 35548// please ensure we do the following: 35549// 1) Nobody should add any instance methods on this. Instance methods can be 35550// more difficult to predict when they get optimized and they are almost 35551// never inlined properly in static compilers. 35552// 2) Nobody should rely on `instanceof Fiber` for type testing. We should 35553// always know when it is a fiber. 35554// 3) We might want to experiment with using numeric keys since they are easier 35555// to optimize in a non-JIT environment. 35556// 4) We can easily go from a constructor to a createFiber object literal if that 35557// is faster. 35558// 5) It should be easy to port this to a C struct and keep a C implementation 35559// compatible. 35560 35561 35562var createFiber = function (tag, pendingProps, key, mode) { 35563 // $FlowFixMe: the shapes are exact here but Flow doesn't like constructors 35564 return new FiberNode(tag, pendingProps, key, mode); 35565}; 35566 35567function shouldConstruct(Component) { 35568 var prototype = Component.prototype; 35569 return !!(prototype && prototype.isReactComponent); 35570} 35571 35572function isSimpleFunctionComponent(type) { 35573 return typeof type === 'function' && !shouldConstruct(type) && type.defaultProps === undefined; 35574} 35575function resolveLazyComponentTag(Component) { 35576 if (typeof Component === 'function') { 35577 return shouldConstruct(Component) ? ClassComponent : FunctionComponent; 35578 } else if (Component !== undefined && Component !== null) { 35579 var $$typeof = Component.$$typeof; 35580 35581 if ($$typeof === REACT_FORWARD_REF_TYPE) { 35582 return ForwardRef; 35583 } 35584 35585 if ($$typeof === REACT_MEMO_TYPE) { 35586 return MemoComponent; 35587 } 35588 } 35589 35590 return IndeterminateComponent; 35591} // This is used to create an alternate fiber to do work on. 35592 35593function createWorkInProgress(current, pendingProps) { 35594 var workInProgress = current.alternate; 35595 35596 if (workInProgress === null) { 35597 // We use a double buffering pooling technique because we know that we'll 35598 // only ever need at most two versions of a tree. We pool the "other" unused 35599 // node that we're free to reuse. This is lazily created to avoid allocating 35600 // extra objects for things that are never updated. It also allow us to 35601 // reclaim the extra memory if needed. 35602 workInProgress = createFiber(current.tag, pendingProps, current.key, current.mode); 35603 workInProgress.elementType = current.elementType; 35604 workInProgress.type = current.type; 35605 workInProgress.stateNode = current.stateNode; 35606 35607 { 35608 // DEV-only fields 35609 { 35610 workInProgress._debugID = current._debugID; 35611 } 35612 35613 workInProgress._debugSource = current._debugSource; 35614 workInProgress._debugOwner = current._debugOwner; 35615 workInProgress._debugHookTypes = current._debugHookTypes; 35616 } 35617 35618 workInProgress.alternate = current; 35619 current.alternate = workInProgress; 35620 } else { 35621 workInProgress.pendingProps = pendingProps; // We already have an alternate. 35622 // Reset the effect tag. 35623 35624 workInProgress.effectTag = NoEffect; // The effect list is no longer valid. 35625 35626 workInProgress.nextEffect = null; 35627 workInProgress.firstEffect = null; 35628 workInProgress.lastEffect = null; 35629 35630 { 35631 // We intentionally reset, rather than copy, actualDuration & actualStartTime. 35632 // This prevents time from endlessly accumulating in new commits. 35633 // This has the downside of resetting values for different priority renders, 35634 // But works for yielding (the common case) and should support resuming. 35635 workInProgress.actualDuration = 0; 35636 workInProgress.actualStartTime = -1; 35637 } 35638 } 35639 35640 workInProgress.childExpirationTime = current.childExpirationTime; 35641 workInProgress.expirationTime = current.expirationTime; 35642 workInProgress.child = current.child; 35643 workInProgress.memoizedProps = current.memoizedProps; 35644 workInProgress.memoizedState = current.memoizedState; 35645 workInProgress.updateQueue = current.updateQueue; // Clone the dependencies object. This is mutated during the render phase, so 35646 // it cannot be shared with the current fiber. 35647 35648 var currentDependencies = current.dependencies; 35649 workInProgress.dependencies = currentDependencies === null ? null : { 35650 expirationTime: currentDependencies.expirationTime, 35651 firstContext: currentDependencies.firstContext, 35652 responders: currentDependencies.responders 35653 }; // These will be overridden during the parent's reconciliation 35654 35655 workInProgress.sibling = current.sibling; 35656 workInProgress.index = current.index; 35657 workInProgress.ref = current.ref; 35658 35659 { 35660 workInProgress.selfBaseDuration = current.selfBaseDuration; 35661 workInProgress.treeBaseDuration = current.treeBaseDuration; 35662 } 35663 35664 { 35665 workInProgress._debugNeedsRemount = current._debugNeedsRemount; 35666 35667 switch (workInProgress.tag) { 35668 case IndeterminateComponent: 35669 case FunctionComponent: 35670 case SimpleMemoComponent: 35671 workInProgress.type = resolveFunctionForHotReloading(current.type); 35672 break; 35673 35674 case ClassComponent: 35675 workInProgress.type = resolveClassForHotReloading(current.type); 35676 break; 35677 35678 case ForwardRef: 35679 workInProgress.type = resolveForwardRefForHotReloading(current.type); 35680 break; 35681 } 35682 } 35683 35684 return workInProgress; 35685} // Used to reuse a Fiber for a second pass. 35686 35687function resetWorkInProgress(workInProgress, renderExpirationTime) { 35688 // This resets the Fiber to what createFiber or createWorkInProgress would 35689 // have set the values to before during the first pass. Ideally this wouldn't 35690 // be necessary but unfortunately many code paths reads from the workInProgress 35691 // when they should be reading from current and writing to workInProgress. 35692 // We assume pendingProps, index, key, ref, return are still untouched to 35693 // avoid doing another reconciliation. 35694 // Reset the effect tag but keep any Placement tags, since that's something 35695 // that child fiber is setting, not the reconciliation. 35696 workInProgress.effectTag &= Placement; // The effect list is no longer valid. 35697 35698 workInProgress.nextEffect = null; 35699 workInProgress.firstEffect = null; 35700 workInProgress.lastEffect = null; 35701 var current = workInProgress.alternate; 35702 35703 if (current === null) { 35704 // Reset to createFiber's initial values. 35705 workInProgress.childExpirationTime = NoWork; 35706 workInProgress.expirationTime = renderExpirationTime; 35707 workInProgress.child = null; 35708 workInProgress.memoizedProps = null; 35709 workInProgress.memoizedState = null; 35710 workInProgress.updateQueue = null; 35711 workInProgress.dependencies = null; 35712 35713 { 35714 // Note: We don't reset the actualTime counts. It's useful to accumulate 35715 // actual time across multiple render passes. 35716 workInProgress.selfBaseDuration = 0; 35717 workInProgress.treeBaseDuration = 0; 35718 } 35719 } else { 35720 // Reset to the cloned values that createWorkInProgress would've. 35721 workInProgress.childExpirationTime = current.childExpirationTime; 35722 workInProgress.expirationTime = current.expirationTime; 35723 workInProgress.child = current.child; 35724 workInProgress.memoizedProps = current.memoizedProps; 35725 workInProgress.memoizedState = current.memoizedState; 35726 workInProgress.updateQueue = current.updateQueue; // Clone the dependencies object. This is mutated during the render phase, so 35727 // it cannot be shared with the current fiber. 35728 35729 var currentDependencies = current.dependencies; 35730 workInProgress.dependencies = currentDependencies === null ? null : { 35731 expirationTime: currentDependencies.expirationTime, 35732 firstContext: currentDependencies.firstContext, 35733 responders: currentDependencies.responders 35734 }; 35735 35736 { 35737 // Note: We don't reset the actualTime counts. It's useful to accumulate 35738 // actual time across multiple render passes. 35739 workInProgress.selfBaseDuration = current.selfBaseDuration; 35740 workInProgress.treeBaseDuration = current.treeBaseDuration; 35741 } 35742 } 35743 35744 return workInProgress; 35745} 35746function createHostRootFiber(tag) { 35747 var mode; 35748 35749 if (tag === ConcurrentRoot) { 35750 mode = ConcurrentMode | BlockingMode | StrictMode; 35751 } else if (tag === BlockingRoot) { 35752 mode = BlockingMode | StrictMode; 35753 } else { 35754 mode = NoMode; 35755 } 35756 35757 if ( isDevToolsPresent) { 35758 // Always collect profile timings when DevTools are present. 35759 // This enables DevTools to start capturing timing at any pointâ 35760 // Without some nodes in the tree having empty base times. 35761 mode |= ProfileMode; 35762 } 35763 35764 return createFiber(HostRoot, null, null, mode); 35765} 35766function createFiberFromTypeAndProps(type, // React$ElementType 35767key, pendingProps, owner, mode, expirationTime) { 35768 var fiber; 35769 var fiberTag = IndeterminateComponent; // The resolved type is set if we know what the final type will be. I.e. it's not lazy. 35770 35771 var resolvedType = type; 35772 35773 if (typeof type === 'function') { 35774 if (shouldConstruct(type)) { 35775 fiberTag = ClassComponent; 35776 35777 { 35778 resolvedType = resolveClassForHotReloading(resolvedType); 35779 } 35780 } else { 35781 { 35782 resolvedType = resolveFunctionForHotReloading(resolvedType); 35783 } 35784 } 35785 } else if (typeof type === 'string') { 35786 fiberTag = HostComponent; 35787 } else { 35788 getTag: switch (type) { 35789 case REACT_FRAGMENT_TYPE: 35790 return createFiberFromFragment(pendingProps.children, mode, expirationTime, key); 35791 35792 case REACT_CONCURRENT_MODE_TYPE: 35793 fiberTag = Mode; 35794 mode |= ConcurrentMode | BlockingMode | StrictMode; 35795 break; 35796 35797 case REACT_STRICT_MODE_TYPE: 35798 fiberTag = Mode; 35799 mode |= StrictMode; 35800 break; 35801 35802 case REACT_PROFILER_TYPE: 35803 return createFiberFromProfiler(pendingProps, mode, expirationTime, key); 35804 35805 case REACT_SUSPENSE_TYPE: 35806 return createFiberFromSuspense(pendingProps, mode, expirationTime, key); 35807 35808 case REACT_SUSPENSE_LIST_TYPE: 35809 return createFiberFromSuspenseList(pendingProps, mode, expirationTime, key); 35810 35811 default: 35812 { 35813 if (typeof type === 'object' && type !== null) { 35814 switch (type.$$typeof) { 35815 case REACT_PROVIDER_TYPE: 35816 fiberTag = ContextProvider; 35817 break getTag; 35818 35819 case REACT_CONTEXT_TYPE: 35820 // This is a consumer 35821 fiberTag = ContextConsumer; 35822 break getTag; 35823 35824 case REACT_FORWARD_REF_TYPE: 35825 fiberTag = ForwardRef; 35826 35827 { 35828 resolvedType = resolveForwardRefForHotReloading(resolvedType); 35829 } 35830 35831 break getTag; 35832 35833 case REACT_MEMO_TYPE: 35834 fiberTag = MemoComponent; 35835 break getTag; 35836 35837 case REACT_LAZY_TYPE: 35838 fiberTag = LazyComponent; 35839 resolvedType = null; 35840 break getTag; 35841 35842 case REACT_BLOCK_TYPE: 35843 fiberTag = Block; 35844 break getTag; 35845 35846 } 35847 } 35848 35849 var info = ''; 35850 35851 { 35852 if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) { 35853 info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and " + 'named imports.'; 35854 } 35855 35856 var ownerName = owner ? getComponentName(owner.type) : null; 35857 35858 if (ownerName) { 35859 info += '\n\nCheck the render method of `' + ownerName + '`.'; 35860 } 35861 } 35862 35863 { 35864 { 35865 throw Error( "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + (type == null ? type : typeof type) + "." + info ); 35866 } 35867 } 35868 } 35869 } 35870 } 35871 35872 fiber = createFiber(fiberTag, pendingProps, key, mode); 35873 fiber.elementType = type; 35874 fiber.type = resolvedType; 35875 fiber.expirationTime = expirationTime; 35876 return fiber; 35877} 35878function createFiberFromElement(element, mode, expirationTime) { 35879 var owner = null; 35880 35881 { 35882 owner = element._owner; 35883 } 35884 35885 var type = element.type; 35886 var key = element.key; 35887 var pendingProps = element.props; 35888 var fiber = createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, expirationTime); 35889 35890 { 35891 fiber._debugSource = element._source; 35892 fiber._debugOwner = element._owner; 35893 } 35894 35895 return fiber; 35896} 35897function createFiberFromFragment(elements, mode, expirationTime, key) { 35898 var fiber = createFiber(Fragment, elements, key, mode); 35899 fiber.expirationTime = expirationTime; 35900 return fiber; 35901} 35902 35903function createFiberFromProfiler(pendingProps, mode, expirationTime, key) { 35904 { 35905 if (typeof pendingProps.id !== 'string' || typeof pendingProps.onRender !== 'function') { 35906 error('Profiler must specify an "id" string and "onRender" function as props'); 35907 } 35908 } 35909 35910 var fiber = createFiber(Profiler, pendingProps, key, mode | ProfileMode); // TODO: The Profiler fiber shouldn't have a type. It has a tag. 35911 35912 fiber.elementType = REACT_PROFILER_TYPE; 35913 fiber.type = REACT_PROFILER_TYPE; 35914 fiber.expirationTime = expirationTime; 35915 return fiber; 35916} 35917 35918function createFiberFromSuspense(pendingProps, mode, expirationTime, key) { 35919 var fiber = createFiber(SuspenseComponent, pendingProps, key, mode); // TODO: The SuspenseComponent fiber shouldn't have a type. It has a tag. 35920 // This needs to be fixed in getComponentName so that it relies on the tag 35921 // instead. 35922 35923 fiber.type = REACT_SUSPENSE_TYPE; 35924 fiber.elementType = REACT_SUSPENSE_TYPE; 35925 fiber.expirationTime = expirationTime; 35926 return fiber; 35927} 35928function createFiberFromSuspenseList(pendingProps, mode, expirationTime, key) { 35929 var fiber = createFiber(SuspenseListComponent, pendingProps, key, mode); 35930 35931 { 35932 // TODO: The SuspenseListComponent fiber shouldn't have a type. It has a tag. 35933 // This needs to be fixed in getComponentName so that it relies on the tag 35934 // instead. 35935 fiber.type = REACT_SUSPENSE_LIST_TYPE; 35936 } 35937 35938 fiber.elementType = REACT_SUSPENSE_LIST_TYPE; 35939 fiber.expirationTime = expirationTime; 35940 return fiber; 35941} 35942function createFiberFromText(content, mode, expirationTime) { 35943 var fiber = createFiber(HostText, content, null, mode); 35944 fiber.expirationTime = expirationTime; 35945 return fiber; 35946} 35947function createFiberFromHostInstanceForDeletion() { 35948 var fiber = createFiber(HostComponent, null, null, NoMode); // TODO: These should not need a type. 35949 35950 fiber.elementType = 'DELETED'; 35951 fiber.type = 'DELETED'; 35952 return fiber; 35953} 35954function createFiberFromPortal(portal, mode, expirationTime) { 35955 var pendingProps = portal.children !== null ? portal.children : []; 35956 var fiber = createFiber(HostPortal, pendingProps, portal.key, mode); 35957 fiber.expirationTime = expirationTime; 35958 fiber.stateNode = { 35959 containerInfo: portal.containerInfo, 35960 pendingChildren: null, 35961 // Used by persistent updates 35962 implementation: portal.implementation 35963 }; 35964 return fiber; 35965} // Used for stashing WIP properties to replay failed work in DEV. 35966 35967function assignFiberPropertiesInDEV(target, source) { 35968 if (target === null) { 35969 // This Fiber's initial properties will always be overwritten. 35970 // We only use a Fiber to ensure the same hidden class so DEV isn't slow. 35971 target = createFiber(IndeterminateComponent, null, null, NoMode); 35972 } // This is intentionally written as a list of all properties. 35973 // We tried to use Object.assign() instead but this is called in 35974 // the hottest path, and Object.assign() was too slow: 35975 // https://github.com/facebook/react/issues/12502 35976 // This code is DEV-only so size is not a concern. 35977 35978 35979 target.tag = source.tag; 35980 target.key = source.key; 35981 target.elementType = source.elementType; 35982 target.type = source.type; 35983 target.stateNode = source.stateNode; 35984 target.return = source.return; 35985 target.child = source.child; 35986 target.sibling = source.sibling; 35987 target.index = source.index; 35988 target.ref = source.ref; 35989 target.pendingProps = source.pendingProps; 35990 target.memoizedProps = source.memoizedProps; 35991 target.updateQueue = source.updateQueue; 35992 target.memoizedState = source.memoizedState; 35993 target.dependencies = source.dependencies; 35994 target.mode = source.mode; 35995 target.effectTag = source.effectTag; 35996 target.nextEffect = source.nextEffect; 35997 target.firstEffect = source.firstEffect; 35998 target.lastEffect = source.lastEffect; 35999 target.expirationTime = source.expirationTime; 36000 target.childExpirationTime = source.childExpirationTime; 36001 target.alternate = source.alternate; 36002 36003 { 36004 target.actualDuration = source.actualDuration; 36005 target.actualStartTime = source.actualStartTime; 36006 target.selfBaseDuration = source.selfBaseDuration; 36007 target.treeBaseDuration = source.treeBaseDuration; 36008 } 36009 36010 { 36011 target._debugID = source._debugID; 36012 } 36013 36014 target._debugSource = source._debugSource; 36015 target._debugOwner = source._debugOwner; 36016 target._debugIsCurrentlyTiming = source._debugIsCurrentlyTiming; 36017 target._debugNeedsRemount = source._debugNeedsRemount; 36018 target._debugHookTypes = source._debugHookTypes; 36019 return target; 36020} 36021 36022function FiberRootNode(containerInfo, tag, hydrate) { 36023 this.tag = tag; 36024 this.current = null; 36025 this.containerInfo = containerInfo; 36026 this.pendingChildren = null; 36027 this.pingCache = null; 36028 this.finishedExpirationTime = NoWork; 36029 this.finishedWork = null; 36030 this.timeoutHandle = noTimeout; 36031 this.context = null; 36032 this.pendingContext = null; 36033 this.hydrate = hydrate; 36034 this.callbackNode = null; 36035 this.callbackPriority = NoPriority; 36036 this.firstPendingTime = NoWork; 36037 this.firstSuspendedTime = NoWork; 36038 this.lastSuspendedTime = NoWork; 36039 this.nextKnownPendingLevel = NoWork; 36040 this.lastPingedTime = NoWork; 36041 this.lastExpiredTime = NoWork; 36042 36043 { 36044 this.interactionThreadID = tracing.unstable_getThreadID(); 36045 this.memoizedInteractions = new Set(); 36046 this.pendingInteractionMap = new Map(); 36047 } 36048} 36049 36050function createFiberRoot(containerInfo, tag, hydrate, hydrationCallbacks) { 36051 var root = new FiberRootNode(containerInfo, tag, hydrate); 36052 // stateNode is any. 36053 36054 36055 var uninitializedFiber = createHostRootFiber(tag); 36056 root.current = uninitializedFiber; 36057 uninitializedFiber.stateNode = root; 36058 initializeUpdateQueue(uninitializedFiber); 36059 return root; 36060} 36061function isRootSuspendedAtTime(root, expirationTime) { 36062 var firstSuspendedTime = root.firstSuspendedTime; 36063 var lastSuspendedTime = root.lastSuspendedTime; 36064 return firstSuspendedTime !== NoWork && firstSuspendedTime >= expirationTime && lastSuspendedTime <= expirationTime; 36065} 36066function markRootSuspendedAtTime(root, expirationTime) { 36067 var firstSuspendedTime = root.firstSuspendedTime; 36068 var lastSuspendedTime = root.lastSuspendedTime; 36069 36070 if (firstSuspendedTime < expirationTime) { 36071 root.firstSuspendedTime = expirationTime; 36072 } 36073 36074 if (lastSuspendedTime > expirationTime || firstSuspendedTime === NoWork) { 36075 root.lastSuspendedTime = expirationTime; 36076 } 36077 36078 if (expirationTime <= root.lastPingedTime) { 36079 root.lastPingedTime = NoWork; 36080 } 36081 36082 if (expirationTime <= root.lastExpiredTime) { 36083 root.lastExpiredTime = NoWork; 36084 } 36085} 36086function markRootUpdatedAtTime(root, expirationTime) { 36087 // Update the range of pending times 36088 var firstPendingTime = root.firstPendingTime; 36089 36090 if (expirationTime > firstPendingTime) { 36091 root.firstPendingTime = expirationTime; 36092 } // Update the range of suspended times. Treat everything lower priority or 36093 // equal to this update as unsuspended. 36094 36095 36096 var firstSuspendedTime = root.firstSuspendedTime; 36097 36098 if (firstSuspendedTime !== NoWork) { 36099 if (expirationTime >= firstSuspendedTime) { 36100 // The entire suspended range is now unsuspended. 36101 root.firstSuspendedTime = root.lastSuspendedTime = root.nextKnownPendingLevel = NoWork; 36102 } else if (expirationTime >= root.lastSuspendedTime) { 36103 root.lastSuspendedTime = expirationTime + 1; 36104 } // This is a pending level. Check if it's higher priority than the next 36105 // known pending level. 36106 36107 36108 if (expirationTime > root.nextKnownPendingLevel) { 36109 root.nextKnownPendingLevel = expirationTime; 36110 } 36111 } 36112} 36113function markRootFinishedAtTime(root, finishedExpirationTime, remainingExpirationTime) { 36114 // Update the range of pending times 36115 root.firstPendingTime = remainingExpirationTime; // Update the range of suspended times. Treat everything higher priority or 36116 // equal to this update as unsuspended. 36117 36118 if (finishedExpirationTime <= root.lastSuspendedTime) { 36119 // The entire suspended range is now unsuspended. 36120 root.firstSuspendedTime = root.lastSuspendedTime = root.nextKnownPendingLevel = NoWork; 36121 } else if (finishedExpirationTime <= root.firstSuspendedTime) { 36122 // Part of the suspended range is now unsuspended. Narrow the range to 36123 // include everything between the unsuspended time (non-inclusive) and the 36124 // last suspended time. 36125 root.firstSuspendedTime = finishedExpirationTime - 1; 36126 } 36127 36128 if (finishedExpirationTime <= root.lastPingedTime) { 36129 // Clear the pinged time 36130 root.lastPingedTime = NoWork; 36131 } 36132 36133 if (finishedExpirationTime <= root.lastExpiredTime) { 36134 // Clear the expired time 36135 root.lastExpiredTime = NoWork; 36136 } 36137} 36138function markRootExpiredAtTime(root, expirationTime) { 36139 var lastExpiredTime = root.lastExpiredTime; 36140 36141 if (lastExpiredTime === NoWork || lastExpiredTime > expirationTime) { 36142 root.lastExpiredTime = expirationTime; 36143 } 36144} 36145 36146var didWarnAboutNestedUpdates; 36147var didWarnAboutFindNodeInStrictMode; 36148 36149{ 36150 didWarnAboutNestedUpdates = false; 36151 didWarnAboutFindNodeInStrictMode = {}; 36152} 36153 36154function getContextForSubtree(parentComponent) { 36155 if (!parentComponent) { 36156 return emptyContextObject; 36157 } 36158 36159 var fiber = get(parentComponent); 36160 var parentContext = findCurrentUnmaskedContext(fiber); 36161 36162 if (fiber.tag === ClassComponent) { 36163 var Component = fiber.type; 36164 36165 if (isContextProvider(Component)) { 36166 return processChildContext(fiber, Component, parentContext); 36167 } 36168 } 36169 36170 return parentContext; 36171} 36172 36173function findHostInstanceWithWarning(component, methodName) { 36174 { 36175 var fiber = get(component); 36176 36177 if (fiber === undefined) { 36178 if (typeof component.render === 'function') { 36179 { 36180 { 36181 throw Error( "Unable to find node on an unmounted component." ); 36182 } 36183 } 36184 } else { 36185 { 36186 { 36187 throw Error( "Argument appears to not be a ReactComponent. Keys: " + Object.keys(component) ); 36188 } 36189 } 36190 } 36191 } 36192 36193 var hostFiber = findCurrentHostFiber(fiber); 36194 36195 if (hostFiber === null) { 36196 return null; 36197 } 36198 36199 if (hostFiber.mode & StrictMode) { 36200 var componentName = getComponentName(fiber.type) || 'Component'; 36201 36202 if (!didWarnAboutFindNodeInStrictMode[componentName]) { 36203 didWarnAboutFindNodeInStrictMode[componentName] = true; 36204 36205 if (fiber.mode & StrictMode) { 36206 error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which is inside StrictMode. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-find-node%s', methodName, methodName, componentName, getStackByFiberInDevAndProd(hostFiber)); 36207 } else { 36208 error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which renders StrictMode children. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-find-node%s', methodName, methodName, componentName, getStackByFiberInDevAndProd(hostFiber)); 36209 } 36210 } 36211 } 36212 36213 return hostFiber.stateNode; 36214 } 36215} 36216 36217function createContainer(containerInfo, tag, hydrate, hydrationCallbacks) { 36218 return createFiberRoot(containerInfo, tag, hydrate); 36219} 36220function updateContainer(element, container, parentComponent, callback) { 36221 { 36222 onScheduleRoot(container, element); 36223 } 36224 36225 var current$1 = container.current; 36226 var currentTime = requestCurrentTimeForUpdate(); 36227 36228 { 36229 // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests 36230 if ('undefined' !== typeof jest) { 36231 warnIfUnmockedScheduler(current$1); 36232 warnIfNotScopedWithMatchingAct(current$1); 36233 } 36234 } 36235 36236 var suspenseConfig = requestCurrentSuspenseConfig(); 36237 var expirationTime = computeExpirationForFiber(currentTime, current$1, suspenseConfig); 36238 var context = getContextForSubtree(parentComponent); 36239 36240 if (container.context === null) { 36241 container.context = context; 36242 } else { 36243 container.pendingContext = context; 36244 } 36245 36246 { 36247 if (isRendering && current !== null && !didWarnAboutNestedUpdates) { 36248 didWarnAboutNestedUpdates = true; 36249 36250 error('Render methods should be a pure function of props and state; ' + 'triggering nested component updates from render is not allowed. ' + 'If necessary, trigger nested updates in componentDidUpdate.\n\n' + 'Check the render method of %s.', getComponentName(current.type) || 'Unknown'); 36251 } 36252 } 36253 36254 var update = createUpdate(expirationTime, suspenseConfig); // Caution: React DevTools currently depends on this property 36255 // being called "element". 36256 36257 update.payload = { 36258 element: element 36259 }; 36260 callback = callback === undefined ? null : callback; 36261 36262 if (callback !== null) { 36263 { 36264 if (typeof callback !== 'function') { 36265 error('render(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callback); 36266 } 36267 } 36268 36269 update.callback = callback; 36270 } 36271 36272 enqueueUpdate(current$1, update); 36273 scheduleWork(current$1, expirationTime); 36274 return expirationTime; 36275} 36276function getPublicRootInstance(container) { 36277 var containerFiber = container.current; 36278 36279 if (!containerFiber.child) { 36280 return null; 36281 } 36282 36283 switch (containerFiber.child.tag) { 36284 case HostComponent: 36285 return getPublicInstance(containerFiber.child.stateNode); 36286 36287 default: 36288 return containerFiber.child.stateNode; 36289 } 36290} 36291 36292function markRetryTimeImpl(fiber, retryTime) { 36293 var suspenseState = fiber.memoizedState; 36294 36295 if (suspenseState !== null && suspenseState.dehydrated !== null) { 36296 if (suspenseState.retryTime < retryTime) { 36297 suspenseState.retryTime = retryTime; 36298 } 36299 } 36300} // Increases the priority of thennables when they resolve within this boundary. 36301 36302 36303function markRetryTimeIfNotHydrated(fiber, retryTime) { 36304 markRetryTimeImpl(fiber, retryTime); 36305 var alternate = fiber.alternate; 36306 36307 if (alternate) { 36308 markRetryTimeImpl(alternate, retryTime); 36309 } 36310} 36311 36312function attemptUserBlockingHydration$1(fiber) { 36313 if (fiber.tag !== SuspenseComponent) { 36314 // We ignore HostRoots here because we can't increase 36315 // their priority and they should not suspend on I/O, 36316 // since you have to wrap anything that might suspend in 36317 // Suspense. 36318 return; 36319 } 36320 36321 var expTime = computeInteractiveExpiration(requestCurrentTimeForUpdate()); 36322 scheduleWork(fiber, expTime); 36323 markRetryTimeIfNotHydrated(fiber, expTime); 36324} 36325function attemptContinuousHydration$1(fiber) { 36326 if (fiber.tag !== SuspenseComponent) { 36327 // We ignore HostRoots here because we can't increase 36328 // their priority and they should not suspend on I/O, 36329 // since you have to wrap anything that might suspend in 36330 // Suspense. 36331 return; 36332 } 36333 36334 scheduleWork(fiber, ContinuousHydration); 36335 markRetryTimeIfNotHydrated(fiber, ContinuousHydration); 36336} 36337function attemptHydrationAtCurrentPriority$1(fiber) { 36338 if (fiber.tag !== SuspenseComponent) { 36339 // We ignore HostRoots here because we can't increase 36340 // their priority other than synchronously flush it. 36341 return; 36342 } 36343 36344 var currentTime = requestCurrentTimeForUpdate(); 36345 var expTime = computeExpirationForFiber(currentTime, fiber, null); 36346 scheduleWork(fiber, expTime); 36347 markRetryTimeIfNotHydrated(fiber, expTime); 36348} 36349function findHostInstanceWithNoPortals(fiber) { 36350 var hostFiber = findCurrentHostFiberWithNoPortals(fiber); 36351 36352 if (hostFiber === null) { 36353 return null; 36354 } 36355 36356 if (hostFiber.tag === FundamentalComponent) { 36357 return hostFiber.stateNode.instance; 36358 } 36359 36360 return hostFiber.stateNode; 36361} 36362 36363var shouldSuspendImpl = function (fiber) { 36364 return false; 36365}; 36366 36367function shouldSuspend(fiber) { 36368 return shouldSuspendImpl(fiber); 36369} 36370var overrideHookState = null; 36371var overrideProps = null; 36372var scheduleUpdate = null; 36373var setSuspenseHandler = null; 36374 36375{ 36376 var copyWithSetImpl = function (obj, path, idx, value) { 36377 if (idx >= path.length) { 36378 return value; 36379 } 36380 36381 var key = path[idx]; 36382 var updated = Array.isArray(obj) ? obj.slice() : _assign({}, obj); // $FlowFixMe number or string is fine here 36383 36384 updated[key] = copyWithSetImpl(obj[key], path, idx + 1, value); 36385 return updated; 36386 }; 36387 36388 var copyWithSet = function (obj, path, value) { 36389 return copyWithSetImpl(obj, path, 0, value); 36390 }; // Support DevTools editable values for useState and useReducer. 36391 36392 36393 overrideHookState = function (fiber, id, path, value) { 36394 // For now, the "id" of stateful hooks is just the stateful hook index. 36395 // This may change in the future with e.g. nested hooks. 36396 var currentHook = fiber.memoizedState; 36397 36398 while (currentHook !== null && id > 0) { 36399 currentHook = currentHook.next; 36400 id--; 36401 } 36402 36403 if (currentHook !== null) { 36404 var newState = copyWithSet(currentHook.memoizedState, path, value); 36405 currentHook.memoizedState = newState; 36406 currentHook.baseState = newState; // We aren't actually adding an update to the queue, 36407 // because there is no update we can add for useReducer hooks that won't trigger an error. 36408 // (There's no appropriate action type for DevTools overrides.) 36409 // As a result though, React will see the scheduled update as a noop and bailout. 36410 // Shallow cloning props works as a workaround for now to bypass the bailout check. 36411 36412 fiber.memoizedProps = _assign({}, fiber.memoizedProps); 36413 scheduleWork(fiber, Sync); 36414 } 36415 }; // Support DevTools props for function components, forwardRef, memo, host components, etc. 36416 36417 36418 overrideProps = function (fiber, path, value) { 36419 fiber.pendingProps = copyWithSet(fiber.memoizedProps, path, value); 36420 36421 if (fiber.alternate) { 36422 fiber.alternate.pendingProps = fiber.pendingProps; 36423 } 36424 36425 scheduleWork(fiber, Sync); 36426 }; 36427 36428 scheduleUpdate = function (fiber) { 36429 scheduleWork(fiber, Sync); 36430 }; 36431 36432 setSuspenseHandler = function (newShouldSuspendImpl) { 36433 shouldSuspendImpl = newShouldSuspendImpl; 36434 }; 36435} 36436 36437function injectIntoDevTools(devToolsConfig) { 36438 var findFiberByHostInstance = devToolsConfig.findFiberByHostInstance; 36439 var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher; 36440 return injectInternals(_assign({}, devToolsConfig, { 36441 overrideHookState: overrideHookState, 36442 overrideProps: overrideProps, 36443 setSuspenseHandler: setSuspenseHandler, 36444 scheduleUpdate: scheduleUpdate, 36445 currentDispatcherRef: ReactCurrentDispatcher, 36446 findHostInstanceByFiber: function (fiber) { 36447 var hostFiber = findCurrentHostFiber(fiber); 36448 36449 if (hostFiber === null) { 36450 return null; 36451 } 36452 36453 return hostFiber.stateNode; 36454 }, 36455 findFiberByHostInstance: function (instance) { 36456 if (!findFiberByHostInstance) { 36457 // Might not be implemented by the renderer. 36458 return null; 36459 } 36460 36461 return findFiberByHostInstance(instance); 36462 }, 36463 // React Refresh 36464 findHostInstancesForRefresh: findHostInstancesForRefresh , 36465 scheduleRefresh: scheduleRefresh , 36466 scheduleRoot: scheduleRoot , 36467 setRefreshHandler: setRefreshHandler , 36468 // Enables DevTools to append owner stacks to error messages in DEV mode. 36469 getCurrentFiber: function () { 36470 return current; 36471 } 36472 })); 36473} 36474var IsSomeRendererActing$1 = ReactSharedInternals.IsSomeRendererActing; 36475 36476function ReactDOMRoot(container, options) { 36477 this._internalRoot = createRootImpl(container, ConcurrentRoot, options); 36478} 36479 36480function ReactDOMBlockingRoot(container, tag, options) { 36481 this._internalRoot = createRootImpl(container, tag, options); 36482} 36483 36484ReactDOMRoot.prototype.render = ReactDOMBlockingRoot.prototype.render = function (children) { 36485 var root = this._internalRoot; 36486 36487 { 36488 if (typeof arguments[1] === 'function') { 36489 error('render(...): does not support the second callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().'); 36490 } 36491 36492 var container = root.containerInfo; 36493 36494 if (container.nodeType !== COMMENT_NODE) { 36495 var hostInstance = findHostInstanceWithNoPortals(root.current); 36496 36497 if (hostInstance) { 36498 if (hostInstance.parentNode !== container) { 36499 error('render(...): It looks like the React-rendered content of the ' + 'root container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + "root.unmount() to empty a root's container."); 36500 } 36501 } 36502 } 36503 } 36504 36505 updateContainer(children, root, null, null); 36506}; 36507 36508ReactDOMRoot.prototype.unmount = ReactDOMBlockingRoot.prototype.unmount = function () { 36509 { 36510 if (typeof arguments[0] === 'function') { 36511 error('unmount(...): does not support a callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().'); 36512 } 36513 } 36514 36515 var root = this._internalRoot; 36516 var container = root.containerInfo; 36517 updateContainer(null, root, null, function () { 36518 unmarkContainerAsRoot(container); 36519 }); 36520}; 36521 36522function createRootImpl(container, tag, options) { 36523 // Tag is either LegacyRoot or Concurrent Root 36524 var hydrate = options != null && options.hydrate === true; 36525 var hydrationCallbacks = options != null && options.hydrationOptions || null; 36526 var root = createContainer(container, tag, hydrate); 36527 markContainerAsRoot(root.current, container); 36528 36529 if (hydrate && tag !== LegacyRoot) { 36530 var doc = container.nodeType === DOCUMENT_NODE ? container : container.ownerDocument; 36531 eagerlyTrapReplayableEvents(container, doc); 36532 } 36533 36534 return root; 36535} 36536function createLegacyRoot(container, options) { 36537 return new ReactDOMBlockingRoot(container, LegacyRoot, options); 36538} 36539function isValidContainer(node) { 36540 return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || node.nodeType === COMMENT_NODE && node.nodeValue === ' react-mount-point-unstable ')); 36541} 36542 36543var ReactCurrentOwner$3 = ReactSharedInternals.ReactCurrentOwner; 36544var topLevelUpdateWarnings; 36545var warnedAboutHydrateAPI = false; 36546 36547{ 36548 topLevelUpdateWarnings = function (container) { 36549 if (container._reactRootContainer && container.nodeType !== COMMENT_NODE) { 36550 var hostInstance = findHostInstanceWithNoPortals(container._reactRootContainer._internalRoot.current); 36551 36552 if (hostInstance) { 36553 if (hostInstance.parentNode !== container) { 36554 error('render(...): It looks like the React-rendered content of this ' + 'container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + 'ReactDOM.unmountComponentAtNode to empty a container.'); 36555 } 36556 } 36557 } 36558 36559 var isRootRenderedBySomeReact = !!container._reactRootContainer; 36560 var rootEl = getReactRootElementInContainer(container); 36561 var hasNonRootReactChild = !!(rootEl && getInstanceFromNode$1(rootEl)); 36562 36563 if (hasNonRootReactChild && !isRootRenderedBySomeReact) { 36564 error('render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.'); 36565 } 36566 36567 if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === 'BODY') { 36568 error('render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.'); 36569 } 36570 }; 36571} 36572 36573function getReactRootElementInContainer(container) { 36574 if (!container) { 36575 return null; 36576 } 36577 36578 if (container.nodeType === DOCUMENT_NODE) { 36579 return container.documentElement; 36580 } else { 36581 return container.firstChild; 36582 } 36583} 36584 36585function shouldHydrateDueToLegacyHeuristic(container) { 36586 var rootElement = getReactRootElementInContainer(container); 36587 return !!(rootElement && rootElement.nodeType === ELEMENT_NODE && rootElement.hasAttribute(ROOT_ATTRIBUTE_NAME)); 36588} 36589 36590function legacyCreateRootFromDOMContainer(container, forceHydrate) { 36591 var shouldHydrate = forceHydrate || shouldHydrateDueToLegacyHeuristic(container); // First clear any existing content. 36592 36593 if (!shouldHydrate) { 36594 var warned = false; 36595 var rootSibling; 36596 36597 while (rootSibling = container.lastChild) { 36598 { 36599 if (!warned && rootSibling.nodeType === ELEMENT_NODE && rootSibling.hasAttribute(ROOT_ATTRIBUTE_NAME)) { 36600 warned = true; 36601 36602 error('render(): Target node has markup rendered by React, but there ' + 'are unrelated nodes as well. This is most commonly caused by ' + 'white-space inserted around server-rendered markup.'); 36603 } 36604 } 36605 36606 container.removeChild(rootSibling); 36607 } 36608 } 36609 36610 { 36611 if (shouldHydrate && !forceHydrate && !warnedAboutHydrateAPI) { 36612 warnedAboutHydrateAPI = true; 36613 36614 warn('render(): Calling ReactDOM.render() to hydrate server-rendered markup ' + 'will stop working in React v17. Replace the ReactDOM.render() call ' + 'with ReactDOM.hydrate() if you want React to attach to the server HTML.'); 36615 } 36616 } 36617 36618 return createLegacyRoot(container, shouldHydrate ? { 36619 hydrate: true 36620 } : undefined); 36621} 36622 36623function warnOnInvalidCallback$1(callback, callerName) { 36624 { 36625 if (callback !== null && typeof callback !== 'function') { 36626 error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback); 36627 } 36628 } 36629} 36630 36631function legacyRenderSubtreeIntoContainer(parentComponent, children, container, forceHydrate, callback) { 36632 { 36633 topLevelUpdateWarnings(container); 36634 warnOnInvalidCallback$1(callback === undefined ? null : callback, 'render'); 36635 } // TODO: Without `any` type, Flow says "Property cannot be accessed on any 36636 // member of intersection type." Whyyyyyy. 36637 36638 36639 var root = container._reactRootContainer; 36640 var fiberRoot; 36641 36642 if (!root) { 36643 // Initial mount 36644 root = container._reactRootContainer = legacyCreateRootFromDOMContainer(container, forceHydrate); 36645 fiberRoot = root._internalRoot; 36646 36647 if (typeof callback === 'function') { 36648 var originalCallback = callback; 36649 36650 callback = function () { 36651 var instance = getPublicRootInstance(fiberRoot); 36652 originalCallback.call(instance); 36653 }; 36654 } // Initial mount should not be batched. 36655 36656 36657 unbatchedUpdates(function () { 36658 updateContainer(children, fiberRoot, parentComponent, callback); 36659 }); 36660 } else { 36661 fiberRoot = root._internalRoot; 36662 36663 if (typeof callback === 'function') { 36664 var _originalCallback = callback; 36665 36666 callback = function () { 36667 var instance = getPublicRootInstance(fiberRoot); 36668 36669 _originalCallback.call(instance); 36670 }; 36671 } // Update 36672 36673 36674 updateContainer(children, fiberRoot, parentComponent, callback); 36675 } 36676 36677 return getPublicRootInstance(fiberRoot); 36678} 36679 36680function findDOMNode(componentOrElement) { 36681 { 36682 var owner = ReactCurrentOwner$3.current; 36683 36684 if (owner !== null && owner.stateNode !== null) { 36685 var warnedAboutRefsInRender = owner.stateNode._warnedAboutRefsInRender; 36686 36687 if (!warnedAboutRefsInRender) { 36688 error('%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentName(owner.type) || 'A component'); 36689 } 36690 36691 owner.stateNode._warnedAboutRefsInRender = true; 36692 } 36693 } 36694 36695 if (componentOrElement == null) { 36696 return null; 36697 } 36698 36699 if (componentOrElement.nodeType === ELEMENT_NODE) { 36700 return componentOrElement; 36701 } 36702 36703 { 36704 return findHostInstanceWithWarning(componentOrElement, 'findDOMNode'); 36705 } 36706} 36707function hydrate(element, container, callback) { 36708 if (!isValidContainer(container)) { 36709 { 36710 throw Error( "Target container is not a DOM element." ); 36711 } 36712 } 36713 36714 { 36715 var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined; 36716 36717 if (isModernRoot) { 36718 error('You are calling ReactDOM.hydrate() on a container that was previously ' + 'passed to ReactDOM.createRoot(). This is not supported. ' + 'Did you mean to call createRoot(container, {hydrate: true}).render(element)?'); 36719 } 36720 } // TODO: throw or warn if we couldn't hydrate? 36721 36722 36723 return legacyRenderSubtreeIntoContainer(null, element, container, true, callback); 36724} 36725function render(element, container, callback) { 36726 if (!isValidContainer(container)) { 36727 { 36728 throw Error( "Target container is not a DOM element." ); 36729 } 36730 } 36731 36732 { 36733 var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined; 36734 36735 if (isModernRoot) { 36736 error('You are calling ReactDOM.render() on a container that was previously ' + 'passed to ReactDOM.createRoot(). This is not supported. ' + 'Did you mean to call root.render(element)?'); 36737 } 36738 } 36739 36740 return legacyRenderSubtreeIntoContainer(null, element, container, false, callback); 36741} 36742function unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) { 36743 if (!isValidContainer(containerNode)) { 36744 { 36745 throw Error( "Target container is not a DOM element." ); 36746 } 36747 } 36748 36749 if (!(parentComponent != null && has(parentComponent))) { 36750 { 36751 throw Error( "parentComponent must be a valid React Component" ); 36752 } 36753 } 36754 36755 return legacyRenderSubtreeIntoContainer(parentComponent, element, containerNode, false, callback); 36756} 36757function unmountComponentAtNode(container) { 36758 if (!isValidContainer(container)) { 36759 { 36760 throw Error( "unmountComponentAtNode(...): Target container is not a DOM element." ); 36761 } 36762 } 36763 36764 { 36765 var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined; 36766 36767 if (isModernRoot) { 36768 error('You are calling ReactDOM.unmountComponentAtNode() on a container that was previously ' + 'passed to ReactDOM.createRoot(). This is not supported. Did you mean to call root.unmount()?'); 36769 } 36770 } 36771 36772 if (container._reactRootContainer) { 36773 { 36774 var rootEl = getReactRootElementInContainer(container); 36775 var renderedByDifferentReact = rootEl && !getInstanceFromNode$1(rootEl); 36776 36777 if (renderedByDifferentReact) { 36778 error("unmountComponentAtNode(): The node you're attempting to unmount " + 'was rendered by another copy of React.'); 36779 } 36780 } // Unmount should not be batched. 36781 36782 36783 unbatchedUpdates(function () { 36784 legacyRenderSubtreeIntoContainer(null, null, container, false, function () { 36785 // $FlowFixMe This should probably use `delete container._reactRootContainer` 36786 container._reactRootContainer = null; 36787 unmarkContainerAsRoot(container); 36788 }); 36789 }); // If you call unmountComponentAtNode twice in quick succession, you'll 36790 // get `true` twice. That's probably fine? 36791 36792 return true; 36793 } else { 36794 { 36795 var _rootEl = getReactRootElementInContainer(container); 36796 36797 var hasNonRootReactChild = !!(_rootEl && getInstanceFromNode$1(_rootEl)); // Check if the container itself is a React root node. 36798 36799 var isContainerReactRoot = container.nodeType === ELEMENT_NODE && isValidContainer(container.parentNode) && !!container.parentNode._reactRootContainer; 36800 36801 if (hasNonRootReactChild) { 36802 error("unmountComponentAtNode(): The node you're attempting to unmount " + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.'); 36803 } 36804 } 36805 36806 return false; 36807 } 36808} 36809 36810function createPortal(children, containerInfo, // TODO: figure out the API for cross-renderer implementation. 36811implementation) { 36812 var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; 36813 return { 36814 // This tag allow us to uniquely identify this as a React Portal 36815 $$typeof: REACT_PORTAL_TYPE, 36816 key: key == null ? null : '' + key, 36817 children: children, 36818 containerInfo: containerInfo, 36819 implementation: implementation 36820 }; 36821} 36822 36823var ReactVersion = '16.14.0'; 36824 36825setAttemptUserBlockingHydration(attemptUserBlockingHydration$1); 36826setAttemptContinuousHydration(attemptContinuousHydration$1); 36827setAttemptHydrationAtCurrentPriority(attemptHydrationAtCurrentPriority$1); 36828var didWarnAboutUnstableCreatePortal = false; 36829 36830{ 36831 if (typeof Map !== 'function' || // $FlowIssue Flow incorrectly thinks Map has no prototype 36832 Map.prototype == null || typeof Map.prototype.forEach !== 'function' || typeof Set !== 'function' || // $FlowIssue Flow incorrectly thinks Set has no prototype 36833 Set.prototype == null || typeof Set.prototype.clear !== 'function' || typeof Set.prototype.forEach !== 'function') { 36834 error('React depends on Map and Set built-in types. Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills'); 36835 } 36836} 36837 36838setRestoreImplementation(restoreControlledState$3); 36839setBatchingImplementation(batchedUpdates$1, discreteUpdates$1, flushDiscreteUpdates, batchedEventUpdates$1); 36840 36841function createPortal$1(children, container) { 36842 var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; 36843 36844 if (!isValidContainer(container)) { 36845 { 36846 throw Error( "Target container is not a DOM element." ); 36847 } 36848 } // TODO: pass ReactDOM portal implementation as third argument 36849 // $FlowFixMe The Flow type is opaque but there's no way to actually create it. 36850 36851 36852 return createPortal(children, container, null, key); 36853} 36854 36855function renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) { 36856 36857 return unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback); 36858} 36859 36860function unstable_createPortal(children, container) { 36861 var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; 36862 36863 { 36864 if (!didWarnAboutUnstableCreatePortal) { 36865 didWarnAboutUnstableCreatePortal = true; 36866 36867 warn('The ReactDOM.unstable_createPortal() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactDOM.createPortal() instead. It has the exact same API, ' + 'but without the "unstable_" prefix.'); 36868 } 36869 } 36870 36871 return createPortal$1(children, container, key); 36872} 36873 36874var Internals = { 36875 // Keep in sync with ReactDOMUnstableNativeDependencies.js 36876 // ReactTestUtils.js, and ReactTestUtilsAct.js. This is an array for better minification. 36877 Events: [getInstanceFromNode$1, getNodeFromInstance$1, getFiberCurrentPropsFromNode$1, injectEventPluginsByName, eventNameDispatchConfigs, accumulateTwoPhaseDispatches, accumulateDirectDispatches, enqueueStateRestore, restoreStateIfNeeded, dispatchEvent, runEventsInBatch, flushPassiveEffects, IsThisRendererActing] 36878}; 36879var foundDevTools = injectIntoDevTools({ 36880 findFiberByHostInstance: getClosestInstanceFromNode, 36881 bundleType: 1 , 36882 version: ReactVersion, 36883 rendererPackageName: 'react-dom' 36884}); 36885 36886{ 36887 if (!foundDevTools && canUseDOM && window.top === window.self) { 36888 // If we're in Chrome or Firefox, provide a download link if not installed. 36889 if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) { 36890 var protocol = window.location.protocol; // Don't warn in exotic cases like chrome-extension://. 36891 36892 if (/^(https?|file):$/.test(protocol)) { 36893 // eslint-disable-next-line react-internal/no-production-logging 36894 console.info('%cDownload the React DevTools ' + 'for a better development experience: ' + 'https://fb.me/react-devtools' + (protocol === 'file:' ? '\nYou might need to use a local HTTP server (instead of file://): ' + 'https://fb.me/react-devtools-faq' : ''), 'font-weight:bold'); 36895 } 36896 } 36897 } 36898} 36899 36900exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals; 36901exports.createPortal = createPortal$1; 36902exports.findDOMNode = findDOMNode; 36903exports.flushSync = flushSync; 36904exports.hydrate = hydrate; 36905exports.render = render; 36906exports.unmountComponentAtNode = unmountComponentAtNode; 36907exports.unstable_batchedUpdates = batchedUpdates$1; 36908exports.unstable_createPortal = unstable_createPortal; 36909exports.unstable_renderSubtreeIntoContainer = renderSubtreeIntoContainer; 36910exports.version = ReactVersion; 36911 })(); 36912} 36913 36914 36915/***/ }), 36916
vendor: 1,447 bytes, lines 36917-36961
36917/***/ "./node_modules/react-dom/index.js": 36918/*!*****************************************!*\ 36919 !*** ./node_modules/react-dom/index.js ***! 36920 \*****************************************/ 36921/*! no static exports found */ 36922/***/ (function(module, exports, __webpack_require__) { 36923 36924"use strict"; 36925 36926 36927function checkDCE() { 36928 /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ 36929 if ( 36930 typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' || 36931 typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function' 36932 ) { 36933 return; 36934 } 36935 if (true) { 36936 // This branch is unreachable because this function is only called 36937 // in production, but the condition is true only in development. 36938 // Therefore if the branch is still here, dead code elimination wasn't 36939 // properly applied. 36940 // Don't change the message. React DevTools relies on it. Also make sure 36941 // this message doesn't occur elsewhere in this function, or it will cause 36942 // a false positive. 36943 throw new Error('^_^'); 36944 } 36945 try { 36946 // Verify that the code above has been dead code eliminated (DCE'd). 36947 __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE); 36948 } catch (err) { 36949 // DevTools shouldn't crash React, no matter what. 36950 // We should still report in case we break this code. 36951 console.error(err); 36952 } 36953} 36954 36955if (false) {} else { 36956 module.exports = __webpack_require__(/*! ./cjs/react-dom.development.js */ "./node_modules/react-dom/cjs/react-dom.development.js"); 36957} 36958 36959 36960/***/ }), 36961
vendor: 60,622 bytes, lines 36962-38838
36962/***/ "./node_modules/react/cjs/react.development.js": 36963/*!*****************************************************!*\ 36964 !*** ./node_modules/react/cjs/react.development.js ***! 36965 \*****************************************************/ 36966/*! no static exports found */ 36967/***/ (function(module, exports, __webpack_require__) { 36968 36969"use strict"; 36970/** @license React v16.14.0 36971 * react.development.js 36972 * 36973 * Copyright (c) Facebook, Inc. and its affiliates. 36974 * 36975 * This source code is licensed under the MIT license found in the 36976 * LICENSE file in the root directory of this source tree. 36977 */ 36978if(!0){(function(){'use strict';var _assign=__webpack_require__(/*! object-assign */"./node_modules/object-assign/index.js");var checkPropTypes=__webpack_require__(/*! prop-types/checkPropTypes */"./node_modules/prop-types/checkPropTypes.js");var ReactVersion='16.14.0';var hasSymbol=typeof Symbol==='function'&&Symbol.for;var REACT_ELEMENT_TYPE=hasSymbol?Symbol.for('react.element'):0xeac7;var REACT_PORTAL_TYPE=hasSymbol?Symbol.for('react.portal'):0xeaca;var REACT_FRAGMENT_TYPE=hasSymbol?Symbol.for('react.fragment'):0xeacb;var REACT_STRICT_MODE_TYPE=hasSymbol?Symbol.for('react.strict_mode'):0xeacc;var REACT_PROFILER_TYPE=hasSymbol?Symbol.for('react.profiler'):0xead2;var REACT_PROVIDER_TYPE=hasSymbol?Symbol.for('react.provider'):0xeacd;var REACT_CONTEXT_TYPE=hasSymbol?Symbol.for('react.context'):0xeace;var REACT_CONCURRENT_MODE_TYPE=hasSymbol?Symbol.for('react.concurrent_mode'):0xeacf;var REACT_FORWARD_REF_TYPE=hasSymbol?Symbol.for('react.forward_ref'):0xead0;var REACT_SUSPENSE_TYPE=hasSymbol?Symbol.for('react.suspense'):0xead1;var REACT_SUSPENSE_LIST_TYPE=hasSymbol?Symbol.for('react.suspense_list'):0xead8;var REACT_MEMO_TYPE=hasSymbol?Symbol.for('react.memo'):0xead3;var REACT_LAZY_TYPE=hasSymbol?Symbol.for('react.lazy'):0xead4;var REACT_BLOCK_TYPE=hasSymbol?Symbol.for('react.block'):0xead9;var REACT_FUNDAMENTAL_TYPE=hasSymbol?Symbol.for('react.fundamental'):0xead5;var REACT_RESPONDER_TYPE=hasSymbol?Symbol.for('react.responder'):0xead6;var REACT_SCOPE_TYPE=hasSymbol?Symbol.for('react.scope'):0xead7;var MAYBE_ITERATOR_SYMBOL=typeof Symbol==='function'&&Symbol.iterator;var FAUX_ITERATOR_SYMBOL='@@iterator';function getIteratorFn(maybeIterable){if(maybeIterable===null||typeof maybeIterable!=='object'){return null} 36979var maybeIterator=MAYBE_ITERATOR_SYMBOL&&maybeIterable[MAYBE_ITERATOR_SYMBOL]||maybeIterable[FAUX_ITERATOR_SYMBOL];if(typeof maybeIterator==='function'){return maybeIterator} 36980return null} 36981/** 36982 * Keeps track of the current dispatcher. 36983 */ 36984var ReactCurrentDispatcher = { 36985 /** 36986 * @internal 36987 * @type {ReactComponent} 36988 */ 36989 current: null 36990}; 36991 36992/** 36993 * Keeps track of the current batch's configuration such as how long an update 36994 * should suspend for if it needs to. 36995 */ 36996var ReactCurrentBatchConfig = { 36997 suspense: null 36998}; 36999 37000/** 37001 * Keeps track of the current owner. 37002 * 37003 * The current owner is the component who should own any components that are 37004 * currently being constructed. 37005 */ 37006var ReactCurrentOwner = { 37007 /** 37008 * @internal 37009 * @type {ReactComponent} 37010 */ 37011 current: null 37012}; 37013 37014var BEFORE_SLASH_RE = /^(.*)[\\\/]/; 37015function describeComponentFrame (name, source, ownerName) { 37016 var sourceInfo = ''; 37017 37018 if (source) { 37019 var path = source.fileName; 37020 var fileName = path.replace(BEFORE_SLASH_RE, ''); 37021 37022 { 37023 // In DEV, include code for a common special case: 37024 // prefer "folder/index.js" instead of just "index.js". 37025 if (/^index\./.test(fileName)) { 37026 var match = path.match(BEFORE_SLASH_RE); 37027 37028 if (match) { 37029 var pathBeforeSlash = match[1]; 37030 37031 if (pathBeforeSlash) { 37032 var folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, ''); 37033 fileName = folderName + '/' + fileName; 37034 } 37035 } 37036 } 37037 } 37038 37039 sourceInfo = ' (at ' + fileName + ':' + source.lineNumber + ')'; 37040 } else if (ownerName) { 37041 sourceInfo = ' (created by ' + ownerName + ')'; 37042 } 37043 37044 return '\n in ' + (name || 'Unknown') + sourceInfo; 37045} 37046 37047var Resolved = 1; 37048function refineResolvedLazyComponent(lazyComponent) { 37049 return lazyComponent._status === Resolved ? lazyComponent._result : null; 37050} 37051 37052function getWrappedName(outerType, innerType, wrapperName) { 37053 var functionName = innerType.displayName || innerType.name || ''; 37054 return outerType.displayName || (functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName); 37055} 37056 37057function getComponentName(type) { 37058 if (type == null) { 37059 // Host root, text node or just invalid type. 37060 return null; 37061 } 37062 37063 { 37064 if (typeof type.tag === 'number') { 37065 error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.'); 37066 } 37067 } 37068 37069 if (typeof type === 'function') { 37070 return type.displayName || type.name || null; 37071 } 37072 37073 if (typeof type === 'string') { 37074 return type; 37075 } 37076 37077 switch (type) { 37078 case REACT_FRAGMENT_TYPE: 37079 return 'Fragment'; 37080 37081 case REACT_PORTAL_TYPE: 37082 return 'Portal'; 37083 37084 case REACT_PROFILER_TYPE: 37085 return "Profiler"; 37086 37087 case REACT_STRICT_MODE_TYPE: 37088 return 'StrictMode'; 37089 37090 case REACT_SUSPENSE_TYPE: 37091 return 'Suspense'; 37092 37093 case REACT_SUSPENSE_LIST_TYPE: 37094 return 'SuspenseList'; 37095 } 37096 37097 if (typeof type === 'object') { 37098 switch (type.$$typeof) { 37099 case REACT_CONTEXT_TYPE: 37100 return 'Context.Consumer'; 37101 37102 case REACT_PROVIDER_TYPE: 37103 return 'Context.Provider'; 37104 37105 case REACT_FORWARD_REF_TYPE: 37106 return getWrappedName(type, type.render, 'ForwardRef'); 37107 37108 case REACT_MEMO_TYPE: 37109 return getComponentName(type.type); 37110 37111 case REACT_BLOCK_TYPE: 37112 return getComponentName(type.render); 37113 37114 case REACT_LAZY_TYPE: 37115 { 37116 var thenable = type; 37117 var resolvedThenable = refineResolvedLazyComponent(thenable); 37118 37119 if (resolvedThenable) { 37120 return getComponentName(resolvedThenable); 37121 } 37122 37123 break; 37124 } 37125 } 37126 } 37127 37128 return null; 37129} 37130 37131var ReactDebugCurrentFrame = {}; 37132var currentlyValidatingElement = null; 37133function setCurrentlyValidatingElement(element) { 37134 { 37135 currentlyValidatingElement = element; 37136 } 37137} 37138 37139{ 37140 // Stack implementation injected by the current renderer. 37141 ReactDebugCurrentFrame.getCurrentStack = null; 37142 37143 ReactDebugCurrentFrame.getStackAddendum = function () { 37144 var stack = ''; // Add an extra top frame while an element is being validated 37145 37146 if (currentlyValidatingElement) { 37147 var name = getComponentName(currentlyValidatingElement.type); 37148 var owner = currentlyValidatingElement._owner; 37149 stack += describeComponentFrame(name, currentlyValidatingElement._source, owner && getComponentName(owner.type)); 37150 } // Delegate to the injected renderer-specific implementation 37151 37152 37153 var impl = ReactDebugCurrentFrame.getCurrentStack; 37154 37155 if (impl) { 37156 stack += impl() || ''; 37157 } 37158 37159 return stack; 37160 }; 37161} 37162 37163/** 37164 * Used by act() to track whether you're inside an act() scope. 37165 */ 37166var IsSomeRendererActing = { 37167 current: false 37168}; 37169 37170var ReactSharedInternals = { 37171 ReactCurrentDispatcher: ReactCurrentDispatcher, 37172 ReactCurrentBatchConfig: ReactCurrentBatchConfig, 37173 ReactCurrentOwner: ReactCurrentOwner, 37174 IsSomeRendererActing: IsSomeRendererActing, 37175 // Used by renderers to avoid bundling object-assign twice in UMD bundles: 37176 assign: _assign 37177}; 37178 37179{ 37180 _assign(ReactSharedInternals, { 37181 // These should not be included in production. 37182 ReactDebugCurrentFrame: ReactDebugCurrentFrame, 37183 // Shim for React DOM 16.0.0 which still destructured (but not used) this. 37184 // TODO: remove in React 17.0. 37185 ReactComponentTreeHook: {} 37186 }); 37187} 37188 37189// by calls to these methods by a Babel plugin. 37190// 37191// In PROD (or in packages without access to React internals), 37192// they are left as they are instead. 37193 37194function warn(format) { 37195 { 37196 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 37197 args[_key - 1] = arguments[_key]; 37198 } 37199 37200 printWarning('warn', format, args); 37201 } 37202} 37203function error(format) { 37204 { 37205 for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { 37206 args[_key2 - 1] = arguments[_key2]; 37207 } 37208 37209 printWarning('error', format, args); 37210 } 37211} 37212 37213function printWarning(level, format, args) { 37214 // When changing this logic, you might want to also 37215 // update consoleWithStackDev.www.js as well. 37216 { 37217 var hasExistingStack = args.length > 0 && typeof args[args.length - 1] === 'string' && args[args.length - 1].indexOf('\n in') === 0; 37218 37219 if (!hasExistingStack) { 37220 var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; 37221 var stack = ReactDebugCurrentFrame.getStackAddendum(); 37222 37223 if (stack !== '') { 37224 format += '%s'; 37225 args = args.concat([stack]); 37226 } 37227 } 37228 37229 var argsWithFormat = args.map(function (item) { 37230 return '' + item; 37231 }); // Careful: RN currently depends on this prefix 37232 37233 argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it 37234 // breaks IE9: https://github.com/facebook/react/issues/13610 37235 // eslint-disable-next-line react-internal/no-production-logging 37236 37237 Function.prototype.apply.call(console[level], console, argsWithFormat); 37238 37239 try { 37240 // --- Welcome to debugging React --- 37241 // This error was thrown as a convenience so that you can use this stack 37242 // to find the callsite that caused this warning to fire. 37243 var argIndex = 0; 37244 var message = 'Warning: ' + format.replace(/%s/g, function () { 37245 return args[argIndex++]; 37246 }); 37247 throw new Error(message); 37248 } catch (x) {} 37249 } 37250} 37251 37252var didWarnStateUpdateForUnmountedComponent = {}; 37253 37254function warnNoop(publicInstance, callerName) { 37255 { 37256 var _constructor = publicInstance.constructor; 37257 var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass'; 37258 var warningKey = componentName + "." + callerName; 37259 37260 if (didWarnStateUpdateForUnmountedComponent[warningKey]) { 37261 return; 37262 } 37263 37264 error("Can't call %s on a component that is not yet mounted. " + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName); 37265 37266 didWarnStateUpdateForUnmountedComponent[warningKey] = true; 37267 } 37268} 37269/** 37270 * This is the abstract API for an update queue. 37271 */ 37272 37273 37274var ReactNoopUpdateQueue = { 37275 /** 37276 * Checks whether or not this composite component is mounted. 37277 * @param {ReactClass} publicInstance The instance we want to test. 37278 * @return {boolean} True if mounted, false otherwise. 37279 * @protected 37280 * @final 37281 */ 37282 isMounted: function (publicInstance) { 37283 return false; 37284 }, 37285 37286 /** 37287 * Forces an update. This should only be invoked when it is known with 37288 * certainty that we are **not** in a DOM transaction. 37289 * 37290 * You may want to call this when you know that some deeper aspect of the 37291 * component's state has changed but `setState` was not called. 37292 * 37293 * This will not invoke `shouldComponentUpdate`, but it will invoke 37294 * `componentWillUpdate` and `componentDidUpdate`. 37295 * 37296 * @param {ReactClass} publicInstance The instance that should rerender. 37297 * @param {?function} callback Called after component is updated. 37298 * @param {?string} callerName name of the calling function in the public API. 37299 * @internal 37300 */ 37301 enqueueForceUpdate: function (publicInstance, callback, callerName) { 37302 warnNoop(publicInstance, 'forceUpdate'); 37303 }, 37304 37305 /** 37306 * Replaces all of the state. Always use this or `setState` to mutate state. 37307 * You should treat `this.state` as immutable. 37308 * 37309 * There is no guarantee that `this.state` will be immediately updated, so 37310 * accessing `this.state` after calling this method may return the old value. 37311 * 37312 * @param {ReactClass} publicInstance The instance that should rerender. 37313 * @param {object} completeState Next state. 37314 * @param {?function} callback Called after component is updated. 37315 * @param {?string} callerName name of the calling function in the public API. 37316 * @internal 37317 */ 37318 enqueueReplaceState: function (publicInstance, completeState, callback, callerName) { 37319 warnNoop(publicInstance, 'replaceState'); 37320 }, 37321 37322 /** 37323 * Sets a subset of the state. This only exists because _pendingState is 37324 * internal. This provides a merging strategy that is not available to deep 37325 * properties which is confusing. TODO: Expose pendingState or don't use it 37326 * during the merge. 37327 * 37328 * @param {ReactClass} publicInstance The instance that should rerender. 37329 * @param {object} partialState Next partial state to be merged with state. 37330 * @param {?function} callback Called after component is updated. 37331 * @param {?string} Name of the calling function in the public API. 37332 * @internal 37333 */ 37334 enqueueSetState: function (publicInstance, partialState, callback, callerName) { 37335 warnNoop(publicInstance, 'setState'); 37336 } 37337}; 37338 37339var emptyObject = {}; 37340 37341{ 37342 Object.freeze(emptyObject); 37343} 37344/** 37345 * Base class helpers for the updating state of a component. 37346 */ 37347 37348 37349function Component(props, context, updater) { 37350 this.props = props; 37351 this.context = context; // If a component has string refs, we will assign a different object later. 37352 37353 this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the 37354 // renderer. 37355 37356 this.updater = updater || ReactNoopUpdateQueue; 37357} 37358 37359Component.prototype.isReactComponent = {}; 37360/** 37361 * Sets a subset of the state. Always use this to mutate 37362 * state. You should treat `this.state` as immutable. 37363 * 37364 * There is no guarantee that `this.state` will be immediately updated, so 37365 * accessing `this.state` after calling this method may return the old value. 37366 * 37367 * There is no guarantee that calls to `setState` will run synchronously, 37368 * as they may eventually be batched together. You can provide an optional 37369 * callback that will be executed when the call to setState is actually 37370 * completed. 37371 * 37372 * When a function is provided to setState, it will be called at some point in 37373 * the future (not synchronously). It will be called with the up to date 37374 * component arguments (state, props, context). These values can be different 37375 * from this.* because your function may be called after receiveProps but before 37376 * shouldComponentUpdate, and this new state, props, and context will not yet be 37377 * assigned to this. 37378 * 37379 * @param {object|function} partialState Next partial state or function to 37380 * produce next partial state to be merged with current state. 37381 * @param {?function} callback Called after state is updated. 37382 * @final 37383 * @protected 37384 */ 37385 37386Component.prototype.setState = function (partialState, callback) { 37387 if (!(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null)) { 37388 { 37389 throw Error( "setState(...): takes an object of state variables to update or a function which returns an object of state variables." ); 37390 } 37391 } 37392 37393 this.updater.enqueueSetState(this, partialState, callback, 'setState'); 37394}; 37395/** 37396 * Forces an update. This should only be invoked when it is known with 37397 * certainty that we are **not** in a DOM transaction. 37398 * 37399 * You may want to call this when you know that some deeper aspect of the 37400 * component's state has changed but `setState` was not called. 37401 * 37402 * This will not invoke `shouldComponentUpdate`, but it will invoke 37403 * `componentWillUpdate` and `componentDidUpdate`. 37404 * 37405 * @param {?function} callback Called after update is complete. 37406 * @final 37407 * @protected 37408 */ 37409 37410 37411Component.prototype.forceUpdate = function (callback) { 37412 this.updater.enqueueForceUpdate(this, callback, 'forceUpdate'); 37413}; 37414/** 37415 * Deprecated APIs. These APIs used to exist on classic React classes but since 37416 * we would like to deprecate them, we're not going to move them over to this 37417 * modern base class. Instead, we define a getter that warns if it's accessed. 37418 */ 37419 37420 37421{ 37422 var deprecatedAPIs = { 37423 isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'], 37424 replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).'] 37425 }; 37426 37427 var defineDeprecationWarning = function (methodName, info) { 37428 Object.defineProperty(Component.prototype, methodName, { 37429 get: function () { 37430 warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]); 37431 37432 return undefined; 37433 } 37434 }); 37435 }; 37436 37437 for (var fnName in deprecatedAPIs) { 37438 if (deprecatedAPIs.hasOwnProperty(fnName)) { 37439 defineDeprecationWarning(fnName, deprecatedAPIs[fnName]); 37440 } 37441 } 37442} 37443 37444function ComponentDummy() {} 37445 37446ComponentDummy.prototype = Component.prototype; 37447/** 37448 * Convenience component with default shallow equality check for sCU. 37449 */ 37450 37451function PureComponent(props, context, updater) { 37452 this.props = props; 37453 this.context = context; // If a component has string refs, we will assign a different object later. 37454 37455 this.refs = emptyObject; 37456 this.updater = updater || ReactNoopUpdateQueue; 37457} 37458 37459var pureComponentPrototype = PureComponent.prototype = new ComponentDummy(); 37460pureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods. 37461 37462_assign(pureComponentPrototype, Component.prototype); 37463 37464pureComponentPrototype.isPureReactComponent = true; 37465 37466// an immutable object with a single mutable value 37467function createRef() { 37468 var refObject = { 37469 current: null 37470 }; 37471 37472 { 37473 Object.seal(refObject); 37474 } 37475 37476 return refObject; 37477} 37478 37479var hasOwnProperty = Object.prototype.hasOwnProperty; 37480var RESERVED_PROPS = { 37481 key: true, 37482 ref: true, 37483 __self: true, 37484 __source: true 37485}; 37486var specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs; 37487 37488{ 37489 didWarnAboutStringRefs = {}; 37490} 37491 37492function hasValidRef(config) { 37493 { 37494 if (hasOwnProperty.call(config, 'ref')) { 37495 var getter = Object.getOwnPropertyDescriptor(config, 'ref').get; 37496 37497 if (getter && getter.isReactWarning) { 37498 return false; 37499 } 37500 } 37501 } 37502 37503 return config.ref !== undefined; 37504} 37505 37506function hasValidKey(config) { 37507 { 37508 if (hasOwnProperty.call(config, 'key')) { 37509 var getter = Object.getOwnPropertyDescriptor(config, 'key').get; 37510 37511 if (getter && getter.isReactWarning) { 37512 return false; 37513 } 37514 } 37515 } 37516 37517 return config.key !== undefined; 37518} 37519 37520function defineKeyPropWarningGetter(props, displayName) { 37521 var warnAboutAccessingKey = function () { 37522 { 37523 if (!specialPropKeyWarningShown) { 37524 specialPropKeyWarningShown = true; 37525 37526 error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName); 37527 } 37528 } 37529 }; 37530 37531 warnAboutAccessingKey.isReactWarning = true; 37532 Object.defineProperty(props, 'key', { 37533 get: warnAboutAccessingKey, 37534 configurable: true 37535 }); 37536} 37537 37538function defineRefPropWarningGetter(props, displayName) { 37539 var warnAboutAccessingRef = function () { 37540 { 37541 if (!specialPropRefWarningShown) { 37542 specialPropRefWarningShown = true; 37543 37544 error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName); 37545 } 37546 } 37547 }; 37548 37549 warnAboutAccessingRef.isReactWarning = true; 37550 Object.defineProperty(props, 'ref', { 37551 get: warnAboutAccessingRef, 37552 configurable: true 37553 }); 37554} 37555 37556function warnIfStringRefCannotBeAutoConverted(config) { 37557 { 37558 if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) { 37559 var componentName = getComponentName(ReactCurrentOwner.current.type); 37560 37561 if (!didWarnAboutStringRefs[componentName]) { 37562 error('Component "%s" contains the string ref "%s". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-string-ref', getComponentName(ReactCurrentOwner.current.type), config.ref); 37563 37564 didWarnAboutStringRefs[componentName] = true; 37565 } 37566 } 37567 } 37568} 37569/** 37570 * Factory method to create a new React element. This no longer adheres to 37571 * the class pattern, so do not use new to call it. Also, instanceof check 37572 * will not work. Instead test $$typeof field against Symbol.for('react.element') to check 37573 * if something is a React Element. 37574 * 37575 * @param {*} type 37576 * @param {*} props 37577 * @param {*} key 37578 * @param {string|object} ref 37579 * @param {*} owner 37580 * @param {*} self A *temporary* helper to detect places where `this` is 37581 * different from the `owner` when React.createElement is called, so that we 37582 * can warn. We want to get rid of owner and replace string `ref`s with arrow 37583 * functions, and as long as `this` and owner are the same, there will be no 37584 * change in behavior. 37585 * @param {*} source An annotation object (added by a transpiler or otherwise) 37586 * indicating filename, line number, and/or other information. 37587 * @internal 37588 */ 37589 37590 37591var ReactElement = function (type, key, ref, self, source, owner, props) { 37592 var element = { 37593 // This tag allows us to uniquely identify this as a React Element 37594 $$typeof: REACT_ELEMENT_TYPE, 37595 // Built-in properties that belong on the element 37596 type: type, 37597 key: key, 37598 ref: ref, 37599 props: props, 37600 // Record the component responsible for creating this element. 37601 _owner: owner 37602 }; 37603 37604 { 37605 // The validation flag is currently mutative. We put it on 37606 // an external backing store so that we can freeze the whole object. 37607 // This can be replaced with a WeakMap once they are implemented in 37608 // commonly used development environments. 37609 element._store = {}; // To make comparing ReactElements easier for testing purposes, we make 37610 // the validation flag non-enumerable (where possible, which should 37611 // include every environment we run tests in), so the test framework 37612 // ignores it. 37613 37614 Object.defineProperty(element._store, 'validated', { 37615 configurable: false, 37616 enumerable: false, 37617 writable: true, 37618 value: false 37619 }); // self and source are DEV only properties. 37620 37621 Object.defineProperty(element, '_self', { 37622 configurable: false, 37623 enumerable: false, 37624 writable: false, 37625 value: self 37626 }); // Two elements created in two different places should be considered 37627 // equal for testing purposes and therefore we hide it from enumeration. 37628 37629 Object.defineProperty(element, '_source', { 37630 configurable: false, 37631 enumerable: false, 37632 writable: false, 37633 value: source 37634 }); 37635 37636 if (Object.freeze) { 37637 Object.freeze(element.props); 37638 Object.freeze(element); 37639 } 37640 } 37641 37642 return element; 37643}; 37644/** 37645 * Create and return a new ReactElement of the given type. 37646 * See https://reactjs.org/docs/react-api.html#createelement 37647 */ 37648 37649function createElement(type, config, children) { 37650 var propName; // Reserved names are extracted 37651 37652 var props = {}; 37653 var key = null; 37654 var ref = null; 37655 var self = null; 37656 var source = null; 37657 37658 if (config != null) { 37659 if (hasValidRef(config)) { 37660 ref = config.ref; 37661 37662 { 37663 warnIfStringRefCannotBeAutoConverted(config); 37664 } 37665 } 37666 37667 if (hasValidKey(config)) { 37668 key = '' + config.key; 37669 } 37670 37671 self = config.__self === undefined ? null : config.__self; 37672 source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object 37673 37674 for (propName in config) { 37675 if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { 37676 props[propName] = config[propName]; 37677 } 37678 } 37679 } // Children can be more than one argument, and those are transferred onto 37680 // the newly allocated props object. 37681 37682 37683 var childrenLength = arguments.length - 2; 37684 37685 if (childrenLength === 1) { 37686 props.children = children; 37687 } else if (childrenLength > 1) { 37688 var childArray = Array(childrenLength); 37689 37690 for (var i = 0; i < childrenLength; i++) { 37691 childArray[i] = arguments[i + 2]; 37692 } 37693 37694 { 37695 if (Object.freeze) { 37696 Object.freeze(childArray); 37697 } 37698 } 37699 37700 props.children = childArray; 37701 } // Resolve default props 37702 37703 37704 if (type && type.defaultProps) { 37705 var defaultProps = type.defaultProps; 37706 37707 for (propName in defaultProps) { 37708 if (props[propName] === undefined) { 37709 props[propName] = defaultProps[propName]; 37710 } 37711 } 37712 } 37713 37714 { 37715 if (key || ref) { 37716 var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type; 37717 37718 if (key) { 37719 defineKeyPropWarningGetter(props, displayName); 37720 } 37721 37722 if (ref) { 37723 defineRefPropWarningGetter(props, displayName); 37724 } 37725 } 37726 } 37727 37728 return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); 37729} 37730function cloneAndReplaceKey(oldElement, newKey) { 37731 var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props); 37732 return newElement; 37733} 37734/** 37735 * Clone and return a new ReactElement using element as the starting point. 37736 * See https://reactjs.org/docs/react-api.html#cloneelement 37737 */ 37738 37739function cloneElement(element, config, children) { 37740 if (!!(element === null || element === undefined)) { 37741 { 37742 throw Error( "React.cloneElement(...): The argument must be a React element, but you passed " + element + "." ); 37743 } 37744 } 37745 37746 var propName; // Original props are copied 37747 37748 var props = _assign({}, element.props); // Reserved names are extracted 37749 37750 37751 var key = element.key; 37752 var ref = element.ref; // Self is preserved since the owner is preserved. 37753 37754 var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a 37755 // transpiler, and the original source is probably a better indicator of the 37756 // true owner. 37757 37758 var source = element._source; // Owner will be preserved, unless ref is overridden 37759 37760 var owner = element._owner; 37761 37762 if (config != null) { 37763 if (hasValidRef(config)) { 37764 // Silently steal the ref from the parent. 37765 ref = config.ref; 37766 owner = ReactCurrentOwner.current; 37767 } 37768 37769 if (hasValidKey(config)) { 37770 key = '' + config.key; 37771 } // Remaining properties override existing props 37772 37773 37774 var defaultProps; 37775 37776 if (element.type && element.type.defaultProps) { 37777 defaultProps = element.type.defaultProps; 37778 } 37779 37780 for (propName in config) { 37781 if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { 37782 if (config[propName] === undefined && defaultProps !== undefined) { 37783 // Resolve default props 37784 props[propName] = defaultProps[propName]; 37785 } else { 37786 props[propName] = config[propName]; 37787 } 37788 } 37789 } 37790 } // Children can be more than one argument, and those are transferred onto 37791 // the newly allocated props object. 37792 37793 37794 var childrenLength = arguments.length - 2; 37795 37796 if (childrenLength === 1) { 37797 props.children = children; 37798 } else if (childrenLength > 1) { 37799 var childArray = Array(childrenLength); 37800 37801 for (var i = 0; i < childrenLength; i++) { 37802 childArray[i] = arguments[i + 2]; 37803 } 37804 37805 props.children = childArray; 37806 } 37807 37808 return ReactElement(element.type, key, ref, self, source, owner, props); 37809} 37810/** 37811 * Verifies the object is a ReactElement. 37812 * See https://reactjs.org/docs/react-api.html#isvalidelement 37813 * @param {?object} object 37814 * @return {boolean} True if `object` is a ReactElement. 37815 * @final 37816 */ 37817 37818function isValidElement(object) { 37819 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; 37820} 37821 37822var SEPARATOR = '.'; 37823var SUBSEPARATOR = ':'; 37824/** 37825 * Escape and wrap key so it is safe to use as a reactid 37826 * 37827 * @param {string} key to be escaped. 37828 * @return {string} the escaped key. 37829 */ 37830 37831function escape(key) { 37832 var escapeRegex = /[=:]/g; 37833 var escaperLookup = { 37834 '=': '=0', 37835 ':': '=2' 37836 }; 37837 var escapedString = ('' + key).replace(escapeRegex, function (match) { 37838 return escaperLookup[match]; 37839 }); 37840 return '$' + escapedString; 37841} 37842/** 37843 * TODO: Test that a single child and an array with one item have the same key 37844 * pattern. 37845 */ 37846 37847 37848var didWarnAboutMaps = false; 37849var userProvidedKeyEscapeRegex = /\/+/g; 37850 37851function escapeUserProvidedKey(text) { 37852 return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/'); 37853} 37854 37855var POOL_SIZE = 10; 37856var traverseContextPool = []; 37857 37858function getPooledTraverseContext(mapResult, keyPrefix, mapFunction, mapContext) { 37859 if (traverseContextPool.length) { 37860 var traverseContext = traverseContextPool.pop(); 37861 traverseContext.result = mapResult; 37862 traverseContext.keyPrefix = keyPrefix; 37863 traverseContext.func = mapFunction; 37864 traverseContext.context = mapContext; 37865 traverseContext.count = 0; 37866 return traverseContext; 37867 } else { 37868 return { 37869 result: mapResult, 37870 keyPrefix: keyPrefix, 37871 func: mapFunction, 37872 context: mapContext, 37873 count: 0 37874 }; 37875 } 37876} 37877 37878function releaseTraverseContext(traverseContext) { 37879 traverseContext.result = null; 37880 traverseContext.keyPrefix = null; 37881 traverseContext.func = null; 37882 traverseContext.context = null; 37883 traverseContext.count = 0; 37884 37885 if (traverseContextPool.length < POOL_SIZE) { 37886 traverseContextPool.push(traverseContext); 37887 } 37888} 37889/** 37890 * @param {?*} children Children tree container. 37891 * @param {!string} nameSoFar Name of the key path so far. 37892 * @param {!function} callback Callback to invoke with each child found. 37893 * @param {?*} traverseContext Used to pass information throughout the traversal 37894 * process. 37895 * @return {!number} The number of children in this subtree. 37896 */ 37897 37898 37899function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) { 37900 var type = typeof children; 37901 37902 if (type === 'undefined' || type === 'boolean') { 37903 // All of the above are perceived as null. 37904 children = null; 37905 } 37906 37907 var invokeCallback = false; 37908 37909 if (children === null) { 37910 invokeCallback = true; 37911 } else { 37912 switch (type) { 37913 case 'string': 37914 case 'number': 37915 invokeCallback = true; 37916 break; 37917 37918 case 'object': 37919 switch (children.$$typeof) { 37920 case REACT_ELEMENT_TYPE: 37921 case REACT_PORTAL_TYPE: 37922 invokeCallback = true; 37923 } 37924 37925 } 37926 } 37927 37928 if (invokeCallback) { 37929 callback(traverseContext, children, // If it's the only child, treat the name as if it was wrapped in an array 37930 // so that it's consistent if the number of children grows. 37931 nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar); 37932 return 1; 37933 } 37934 37935 var child; 37936 var nextName; 37937 var subtreeCount = 0; // Count of children found in the current subtree. 37938 37939 var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR; 37940 37941 if (Array.isArray(children)) { 37942 for (var i = 0; i < children.length; i++) { 37943 child = children[i]; 37944 nextName = nextNamePrefix + getComponentKey(child, i); 37945 subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); 37946 } 37947 } else { 37948 var iteratorFn = getIteratorFn(children); 37949 37950 if (typeof iteratorFn === 'function') { 37951 37952 { 37953 // Warn about using Maps as children 37954 if (iteratorFn === children.entries) { 37955 if (!didWarnAboutMaps) { 37956 warn('Using Maps as children is deprecated and will be removed in ' + 'a future major release. Consider converting children to ' + 'an array of keyed ReactElements instead.'); 37957 } 37958 37959 didWarnAboutMaps = true; 37960 } 37961 } 37962 37963 var iterator = iteratorFn.call(children); 37964 var step; 37965 var ii = 0; 37966 37967 while (!(step = iterator.next()).done) { 37968 child = step.value; 37969 nextName = nextNamePrefix + getComponentKey(child, ii++); 37970 subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); 37971 } 37972 } else if (type === 'object') { 37973 var addendum = ''; 37974 37975 { 37976 addendum = ' If you meant to render a collection of children, use an array ' + 'instead.' + ReactDebugCurrentFrame.getStackAddendum(); 37977 } 37978 37979 var childrenString = '' + children; 37980 37981 { 37982 { 37983 throw Error( "Objects are not valid as a React child (found: " + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + ")." + addendum ); 37984 } 37985 } 37986 } 37987 } 37988 37989 return subtreeCount; 37990} 37991/** 37992 * Traverses children that are typically specified as `props.children`, but 37993 * might also be specified through attributes: 37994 * 37995 * - `traverseAllChildren(this.props.children, ...)` 37996 * - `traverseAllChildren(this.props.leftPanelChildren, ...)` 37997 * 37998 * The `traverseContext` is an optional argument that is passed through the 37999 * entire traversal. It can be used to store accumulations or anything else that 38000 * the callback might find relevant. 38001 * 38002 * @param {?*} children Children tree object. 38003 * @param {!function} callback To invoke upon traversing each child. 38004 * @param {?*} traverseContext Context for traversal. 38005 * @return {!number} The number of children in this subtree. 38006 */ 38007 38008 38009function traverseAllChildren(children, callback, traverseContext) { 38010 if (children == null) { 38011 return 0; 38012 } 38013 38014 return traverseAllChildrenImpl(children, '', callback, traverseContext); 38015} 38016/** 38017 * Generate a key string that identifies a component within a set. 38018 * 38019 * @param {*} component A component that could contain a manual key. 38020 * @param {number} index Index that is used if a manual key is not provided. 38021 * @return {string} 38022 */ 38023 38024 38025function getComponentKey(component, index) { 38026 // Do some typechecking here since we call this blindly. We want to ensure 38027 // that we don't block potential future ES APIs. 38028 if (typeof component === 'object' && component !== null && component.key != null) { 38029 // Explicit key 38030 return escape(component.key); 38031 } // Implicit key determined by the index in the set 38032 38033 38034 return index.toString(36); 38035} 38036 38037function forEachSingleChild(bookKeeping, child, name) { 38038 var func = bookKeeping.func, 38039 context = bookKeeping.context; 38040 func.call(context, child, bookKeeping.count++); 38041} 38042/** 38043 * Iterates through children that are typically specified as `props.children`. 38044 * 38045 * See https://reactjs.org/docs/react-api.html#reactchildrenforeach 38046 * 38047 * The provided forEachFunc(child, index) will be called for each 38048 * leaf child. 38049 * 38050 * @param {?*} children Children tree container. 38051 * @param {function(*, int)} forEachFunc 38052 * @param {*} forEachContext Context for forEachContext. 38053 */ 38054 38055 38056function forEachChildren(children, forEachFunc, forEachContext) { 38057 if (children == null) { 38058 return children; 38059 } 38060 38061 var traverseContext = getPooledTraverseContext(null, null, forEachFunc, forEachContext); 38062 traverseAllChildren(children, forEachSingleChild, traverseContext); 38063 releaseTraverseContext(traverseContext); 38064} 38065 38066function mapSingleChildIntoContext(bookKeeping, child, childKey) { 38067 var result = bookKeeping.result, 38068 keyPrefix = bookKeeping.keyPrefix, 38069 func = bookKeeping.func, 38070 context = bookKeeping.context; 38071 var mappedChild = func.call(context, child, bookKeeping.count++); 38072 38073 if (Array.isArray(mappedChild)) { 38074 mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, function (c) { 38075 return c; 38076 }); 38077 } else if (mappedChild != null) { 38078 if (isValidElement(mappedChild)) { 38079 mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as 38080 // traverseAllChildren used to do for objects as children 38081 keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey); 38082 } 38083 38084 result.push(mappedChild); 38085 } 38086} 38087 38088function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) { 38089 var escapedPrefix = ''; 38090 38091 if (prefix != null) { 38092 escapedPrefix = escapeUserProvidedKey(prefix) + '/'; 38093 } 38094 38095 var traverseContext = getPooledTraverseContext(array, escapedPrefix, func, context); 38096 traverseAllChildren(children, mapSingleChildIntoContext, traverseContext); 38097 releaseTraverseContext(traverseContext); 38098} 38099/** 38100 * Maps children that are typically specified as `props.children`. 38101 * 38102 * See https://reactjs.org/docs/react-api.html#reactchildrenmap 38103 * 38104 * The provided mapFunction(child, key, index) will be called for each 38105 * leaf child. 38106 * 38107 * @param {?*} children Children tree container. 38108 * @param {function(*, int)} func The map function. 38109 * @param {*} context Context for mapFunction. 38110 * @return {object} Object containing the ordered map of results. 38111 */ 38112 38113 38114function mapChildren(children, func, context) { 38115 if (children == null) { 38116 return children; 38117 } 38118 38119 var result = []; 38120 mapIntoWithKeyPrefixInternal(children, result, null, func, context); 38121 return result; 38122} 38123/** 38124 * Count the number of children that are typically specified as 38125 * `props.children`. 38126 * 38127 * See https://reactjs.org/docs/react-api.html#reactchildrencount 38128 * 38129 * @param {?*} children Children tree container. 38130 * @return {number} The number of children. 38131 */ 38132 38133 38134function countChildren(children) { 38135 return traverseAllChildren(children, function () { 38136 return null; 38137 }, null); 38138} 38139/** 38140 * Flatten a children object (typically specified as `props.children`) and 38141 * return an array with appropriately re-keyed children. 38142 * 38143 * See https://reactjs.org/docs/react-api.html#reactchildrentoarray 38144 */ 38145 38146 38147function toArray(children) { 38148 var result = []; 38149 mapIntoWithKeyPrefixInternal(children, result, null, function (child) { 38150 return child; 38151 }); 38152 return result; 38153} 38154/** 38155 * Returns the first child in a collection of children and verifies that there 38156 * is only one child in the collection. 38157 * 38158 * See https://reactjs.org/docs/react-api.html#reactchildrenonly 38159 * 38160 * The current implementation of this function assumes that a single child gets 38161 * passed without a wrapper, but the purpose of this helper function is to 38162 * abstract away the particular structure of children. 38163 * 38164 * @param {?object} children Child collection structure. 38165 * @return {ReactElement} The first and only `ReactElement` contained in the 38166 * structure. 38167 */ 38168 38169 38170function onlyChild(children) { 38171 if (!isValidElement(children)) { 38172 { 38173 throw Error( "React.Children.only expected to receive a single React element child." ); 38174 } 38175 } 38176 38177 return children; 38178} 38179 38180function createContext(defaultValue, calculateChangedBits) { 38181 if (calculateChangedBits === undefined) { 38182 calculateChangedBits = null; 38183 } else { 38184 { 38185 if (calculateChangedBits !== null && typeof calculateChangedBits !== 'function') { 38186 error('createContext: Expected the optional second argument to be a ' + 'function. Instead received: %s', calculateChangedBits); 38187 } 38188 } 38189 } 38190 38191 var context = { 38192 $$typeof: REACT_CONTEXT_TYPE, 38193 _calculateChangedBits: calculateChangedBits, 38194 // As a workaround to support multiple concurrent renderers, we categorize 38195 // some renderers as primary and others as secondary. We only expect 38196 // there to be two concurrent renderers at most: React Native (primary) and 38197 // Fabric (secondary); React DOM (primary) and React ART (secondary). 38198 // Secondary renderers store their context values on separate fields. 38199 _currentValue: defaultValue, 38200 _currentValue2: defaultValue, 38201 // Used to track how many concurrent renderers this context currently 38202 // supports within in a single renderer. Such as parallel server rendering. 38203 _threadCount: 0, 38204 // These are circular 38205 Provider: null, 38206 Consumer: null 38207 }; 38208 context.Provider = { 38209 $$typeof: REACT_PROVIDER_TYPE, 38210 _context: context 38211 }; 38212 var hasWarnedAboutUsingNestedContextConsumers = false; 38213 var hasWarnedAboutUsingConsumerProvider = false; 38214 38215 { 38216 // A separate object, but proxies back to the original context object for 38217 // backwards compatibility. It has a different $$typeof, so we can properly 38218 // warn for the incorrect usage of Context as a Consumer. 38219 var Consumer = { 38220 $$typeof: REACT_CONTEXT_TYPE, 38221 _context: context, 38222 _calculateChangedBits: context._calculateChangedBits 38223 }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here 38224 38225 Object.defineProperties(Consumer, { 38226 Provider: { 38227 get: function () { 38228 if (!hasWarnedAboutUsingConsumerProvider) { 38229 hasWarnedAboutUsingConsumerProvider = true; 38230 38231 error('Rendering <Context.Consumer.Provider> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Provider> instead?'); 38232 } 38233 38234 return context.Provider; 38235 }, 38236 set: function (_Provider) { 38237 context.Provider = _Provider; 38238 } 38239 }, 38240 _currentValue: { 38241 get: function () { 38242 return context._currentValue; 38243 }, 38244 set: function (_currentValue) { 38245 context._currentValue = _currentValue; 38246 } 38247 }, 38248 _currentValue2: { 38249 get: function () { 38250 return context._currentValue2; 38251 }, 38252 set: function (_currentValue2) { 38253 context._currentValue2 = _currentValue2; 38254 } 38255 }, 38256 _threadCount: { 38257 get: function () { 38258 return context._threadCount; 38259 }, 38260 set: function (_threadCount) { 38261 context._threadCount = _threadCount; 38262 } 38263 }, 38264 Consumer: { 38265 get: function () { 38266 if (!hasWarnedAboutUsingNestedContextConsumers) { 38267 hasWarnedAboutUsingNestedContextConsumers = true; 38268 38269 error('Rendering <Context.Consumer.Consumer> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?'); 38270 } 38271 38272 return context.Consumer; 38273 } 38274 } 38275 }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty 38276 38277 context.Consumer = Consumer; 38278 } 38279 38280 { 38281 context._currentRenderer = null; 38282 context._currentRenderer2 = null; 38283 } 38284 38285 return context; 38286} 38287 38288function lazy(ctor) { 38289 var lazyType = { 38290 $$typeof: REACT_LAZY_TYPE, 38291 _ctor: ctor, 38292 // React uses these fields to store the result. 38293 _status: -1, 38294 _result: null 38295 }; 38296 38297 { 38298 // In production, this would just set it on the object. 38299 var defaultProps; 38300 var propTypes; 38301 Object.defineProperties(lazyType, { 38302 defaultProps: { 38303 configurable: true, 38304 get: function () { 38305 return defaultProps; 38306 }, 38307 set: function (newDefaultProps) { 38308 error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.'); 38309 38310 defaultProps = newDefaultProps; // Match production behavior more closely: 38311 38312 Object.defineProperty(lazyType, 'defaultProps', { 38313 enumerable: true 38314 }); 38315 } 38316 }, 38317 propTypes: { 38318 configurable: true, 38319 get: function () { 38320 return propTypes; 38321 }, 38322 set: function (newPropTypes) { 38323 error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.'); 38324 38325 propTypes = newPropTypes; // Match production behavior more closely: 38326 38327 Object.defineProperty(lazyType, 'propTypes', { 38328 enumerable: true 38329 }); 38330 } 38331 } 38332 }); 38333 } 38334 38335 return lazyType; 38336} 38337 38338function forwardRef(render) { 38339 { 38340 if (render != null && render.$$typeof === REACT_MEMO_TYPE) { 38341 error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).'); 38342 } else if (typeof render !== 'function') { 38343 error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render); 38344 } else { 38345 if (render.length !== 0 && render.length !== 2) { 38346 error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.'); 38347 } 38348 } 38349 38350 if (render != null) { 38351 if (render.defaultProps != null || render.propTypes != null) { 38352 error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?'); 38353 } 38354 } 38355 } 38356 38357 return { 38358 $$typeof: REACT_FORWARD_REF_TYPE, 38359 render: render 38360 }; 38361} 38362 38363function isValidElementType(type) { 38364 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. 38365 type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); 38366} 38367 38368function memo(type, compare) { 38369 { 38370 if (!isValidElementType(type)) { 38371 error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type); 38372 } 38373 } 38374 38375 return { 38376 $$typeof: REACT_MEMO_TYPE, 38377 type: type, 38378 compare: compare === undefined ? null : compare 38379 }; 38380} 38381 38382function resolveDispatcher() { 38383 var dispatcher = ReactCurrentDispatcher.current; 38384 38385 if (!(dispatcher !== null)) { 38386 { 38387 throw Error( "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem." ); 38388 } 38389 } 38390 38391 return dispatcher; 38392} 38393 38394function useContext(Context, unstable_observedBits) { 38395 var dispatcher = resolveDispatcher(); 38396 38397 { 38398 if (unstable_observedBits !== undefined) { 38399 error('useContext() second argument is reserved for future ' + 'use in React. Passing it is not supported. ' + 'You passed: %s.%s', unstable_observedBits, typeof unstable_observedBits === 'number' && Array.isArray(arguments[2]) ? '\n\nDid you call array.map(useContext)? ' + 'Calling Hooks inside a loop is not supported. ' + 'Learn more at https://fb.me/rules-of-hooks' : ''); 38400 } // TODO: add a more generic warning for invalid values. 38401 38402 38403 if (Context._context !== undefined) { 38404 var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs 38405 // and nobody should be using this in existing code. 38406 38407 if (realContext.Consumer === Context) { 38408 error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?'); 38409 } else if (realContext.Provider === Context) { 38410 error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?'); 38411 } 38412 } 38413 } 38414 38415 return dispatcher.useContext(Context, unstable_observedBits); 38416} 38417function useState(initialState) { 38418 var dispatcher = resolveDispatcher(); 38419 return dispatcher.useState(initialState); 38420} 38421function useReducer(reducer, initialArg, init) { 38422 var dispatcher = resolveDispatcher(); 38423 return dispatcher.useReducer(reducer, initialArg, init); 38424} 38425function useRef(initialValue) { 38426 var dispatcher = resolveDispatcher(); 38427 return dispatcher.useRef(initialValue); 38428} 38429function useEffect(create, deps) { 38430 var dispatcher = resolveDispatcher(); 38431 return dispatcher.useEffect(create, deps); 38432} 38433function useLayoutEffect(create, deps) { 38434 var dispatcher = resolveDispatcher(); 38435 return dispatcher.useLayoutEffect(create, deps); 38436} 38437function useCallback(callback, deps) { 38438 var dispatcher = resolveDispatcher(); 38439 return dispatcher.useCallback(callback, deps); 38440} 38441function useMemo(create, deps) { 38442 var dispatcher = resolveDispatcher(); 38443 return dispatcher.useMemo(create, deps); 38444} 38445function useImperativeHandle(ref, create, deps) { 38446 var dispatcher = resolveDispatcher(); 38447 return dispatcher.useImperativeHandle(ref, create, deps); 38448} 38449function useDebugValue(value, formatterFn) { 38450 { 38451 var dispatcher = resolveDispatcher(); 38452 return dispatcher.useDebugValue(value, formatterFn); 38453 } 38454} 38455 38456var propTypesMisspellWarningShown; 38457 38458{ 38459 propTypesMisspellWarningShown = false; 38460} 38461 38462function getDeclarationErrorAddendum() { 38463 if (ReactCurrentOwner.current) { 38464 var name = getComponentName(ReactCurrentOwner.current.type); 38465 38466 if (name) { 38467 return '\n\nCheck the render method of `' + name + '`.'; 38468 } 38469 } 38470 38471 return ''; 38472} 38473 38474function getSourceInfoErrorAddendum(source) { 38475 if (source !== undefined) { 38476 var fileName = source.fileName.replace(/^.*[\\\/]/, ''); 38477 var lineNumber = source.lineNumber; 38478 return '\n\nCheck your code at ' + fileName + ':' + lineNumber + '.'; 38479 } 38480 38481 return ''; 38482} 38483 38484function getSourceInfoErrorAddendumForProps(elementProps) { 38485 if (elementProps !== null && elementProps !== undefined) { 38486 return getSourceInfoErrorAddendum(elementProps.__source); 38487 } 38488 38489 return ''; 38490} 38491/** 38492 * Warn if there's no key explicitly set on dynamic arrays of children or 38493 * object keys are not valid. This allows us to keep track of children between 38494 * updates. 38495 */ 38496 38497 38498var ownerHasKeyUseWarning = {}; 38499 38500function getCurrentComponentErrorInfo(parentType) { 38501 var info = getDeclarationErrorAddendum(); 38502 38503 if (!info) { 38504 var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name; 38505 38506 if (parentName) { 38507 info = "\n\nCheck the top-level render call using <" + parentName + ">."; 38508 } 38509 } 38510 38511 return info; 38512} 38513/** 38514 * Warn if the element doesn't have an explicit key assigned to it. 38515 * This element is in an array. The array could grow and shrink or be 38516 * reordered. All children that haven't already been validated are required to 38517 * have a "key" property assigned to it. Error statuses are cached so a warning 38518 * will only be shown once. 38519 * 38520 * @internal 38521 * @param {ReactElement} element Element that requires a key. 38522 * @param {*} parentType element's parent's type. 38523 */ 38524 38525 38526function validateExplicitKey(element, parentType) { 38527 if (!element._store || element._store.validated || element.key != null) { 38528 return; 38529 } 38530 38531 element._store.validated = true; 38532 var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType); 38533 38534 if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { 38535 return; 38536 } 38537 38538 ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a 38539 // property, it may be the creator of the child that's responsible for 38540 // assigning it a key. 38541 38542 var childOwner = ''; 38543 38544 if (element && element._owner && element._owner !== ReactCurrentOwner.current) { 38545 // Give the component that originally created this child. 38546 childOwner = " It was passed a child from " + getComponentName(element._owner.type) + "."; 38547 } 38548 38549 setCurrentlyValidatingElement(element); 38550 38551 { 38552 error('Each child in a list should have a unique "key" prop.' + '%s%s See https://fb.me/react-warning-keys for more information.', currentComponentErrorInfo, childOwner); 38553 } 38554 38555 setCurrentlyValidatingElement(null); 38556} 38557/** 38558 * Ensure that every element either is passed in a static location, in an 38559 * array with an explicit keys property defined, or in an object literal 38560 * with valid key property. 38561 * 38562 * @internal 38563 * @param {ReactNode} node Statically passed child of any type. 38564 * @param {*} parentType node's parent's type. 38565 */ 38566 38567 38568function validateChildKeys(node, parentType) { 38569 if (typeof node !== 'object') { 38570 return; 38571 } 38572 38573 if (Array.isArray(node)) { 38574 for (var i = 0; i < node.length; i++) { 38575 var child = node[i]; 38576 38577 if (isValidElement(child)) { 38578 validateExplicitKey(child, parentType); 38579 } 38580 } 38581 } else if (isValidElement(node)) { 38582 // This element was passed in a valid location. 38583 if (node._store) { 38584 node._store.validated = true; 38585 } 38586 } else if (node) { 38587 var iteratorFn = getIteratorFn(node); 38588 38589 if (typeof iteratorFn === 'function') { 38590 // Entry iterators used to provide implicit keys, 38591 // but now we print a separate warning for them later. 38592 if (iteratorFn !== node.entries) { 38593 var iterator = iteratorFn.call(node); 38594 var step; 38595 38596 while (!(step = iterator.next()).done) { 38597 if (isValidElement(step.value)) { 38598 validateExplicitKey(step.value, parentType); 38599 } 38600 } 38601 } 38602 } 38603 } 38604} 38605/** 38606 * Given an element, validate that its props follow the propTypes definition, 38607 * provided by the type. 38608 * 38609 * @param {ReactElement} element 38610 */ 38611 38612 38613function validatePropTypes(element) { 38614 { 38615 var type = element.type; 38616 38617 if (type === null || type === undefined || typeof type === 'string') { 38618 return; 38619 } 38620 38621 var name = getComponentName(type); 38622 var propTypes; 38623 38624 if (typeof type === 'function') { 38625 propTypes = type.propTypes; 38626 } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here. 38627 // Inner props are checked in the reconciler. 38628 type.$$typeof === REACT_MEMO_TYPE)) { 38629 propTypes = type.propTypes; 38630 } else { 38631 return; 38632 } 38633 38634 if (propTypes) { 38635 setCurrentlyValidatingElement(element); 38636 checkPropTypes(propTypes, element.props, 'prop', name, ReactDebugCurrentFrame.getStackAddendum); 38637 setCurrentlyValidatingElement(null); 38638 } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) { 38639 propTypesMisspellWarningShown = true; 38640 38641 error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', name || 'Unknown'); 38642 } 38643 38644 if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) { 38645 error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.'); 38646 } 38647 } 38648} 38649/** 38650 * Given a fragment, validate that it can only be provided with fragment props 38651 * @param {ReactElement} fragment 38652 */ 38653 38654 38655function validateFragmentProps(fragment) { 38656 { 38657 setCurrentlyValidatingElement(fragment); 38658 var keys = Object.keys(fragment.props); 38659 38660 for (var i = 0; i < keys.length; i++) { 38661 var key = keys[i]; 38662 38663 if (key !== 'children' && key !== 'key') { 38664 error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key); 38665 38666 break; 38667 } 38668 } 38669 38670 if (fragment.ref !== null) { 38671 error('Invalid attribute `ref` supplied to `React.Fragment`.'); 38672 } 38673 38674 setCurrentlyValidatingElement(null); 38675 } 38676} 38677function createElementWithValidation(type, props, children) { 38678 var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to 38679 // succeed and there will likely be errors in render. 38680 38681 if (!validType) { 38682 var info = ''; 38683 38684 if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) { 38685 info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and named imports."; 38686 } 38687 38688 var sourceInfo = getSourceInfoErrorAddendumForProps(props); 38689 38690 if (sourceInfo) { 38691 info += sourceInfo; 38692 } else { 38693 info += getDeclarationErrorAddendum(); 38694 } 38695 38696 var typeString; 38697 38698 if (type === null) { 38699 typeString = 'null'; 38700 } else if (Array.isArray(type)) { 38701 typeString = 'array'; 38702 } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) { 38703 typeString = "<" + (getComponentName(type.type) || 'Unknown') + " />"; 38704 info = ' Did you accidentally export a JSX literal instead of a component?'; 38705 } else { 38706 typeString = typeof type; 38707 } 38708 38709 { 38710 error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info); 38711 } 38712 } 38713 38714 var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used. 38715 // TODO: Drop this when these are no longer allowed as the type argument. 38716 38717 if (element == null) { 38718 return element; 38719 } // Skip key warning if the type isn't valid since our key validation logic 38720 // doesn't expect a non-string/function type and can throw confusing errors. 38721 // We don't want exception behavior to differ between dev and prod. 38722 // (Rendering will throw with a helpful message and as soon as the type is 38723 // fixed, the key warnings will appear.) 38724 38725 38726 if (validType) { 38727 for (var i = 2; i < arguments.length; i++) { 38728 validateChildKeys(arguments[i], type); 38729 } 38730 } 38731 38732 if (type === REACT_FRAGMENT_TYPE) { 38733 validateFragmentProps(element); 38734 } else { 38735 validatePropTypes(element); 38736 } 38737 38738 return element; 38739} 38740var didWarnAboutDeprecatedCreateFactory = false; 38741function createFactoryWithValidation(type) { 38742 var validatedFactory = createElementWithValidation.bind(null, type); 38743 validatedFactory.type = type; 38744 38745 { 38746 if (!didWarnAboutDeprecatedCreateFactory) { 38747 didWarnAboutDeprecatedCreateFactory = true; 38748 38749 warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.'); 38750 } // Legacy hook: remove it 38751 38752 38753 Object.defineProperty(validatedFactory, 'type', { 38754 enumerable: false, 38755 get: function () { 38756 warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.'); 38757 38758 Object.defineProperty(this, 'type', { 38759 value: type 38760 }); 38761 return type; 38762 } 38763 }); 38764 } 38765 38766 return validatedFactory; 38767} 38768function cloneElementWithValidation(element, props, children) { 38769 var newElement = cloneElement.apply(this, arguments); 38770 38771 for (var i = 2; i < arguments.length; i++) { 38772 validateChildKeys(arguments[i], newElement.type); 38773 } 38774 38775 validatePropTypes(newElement); 38776 return newElement; 38777} 38778 38779{ 38780 38781 try { 38782 var frozenObject = Object.freeze({}); 38783 var testMap = new Map([[frozenObject, null]]); 38784 var testSet = new Set([frozenObject]); // This is necessary for Rollup to not consider these unused. 38785 // https://github.com/rollup/rollup/issues/1771 38786 // TODO: we can remove these if Rollup fixes the bug. 38787 38788 testMap.set(0, 0); 38789 testSet.add(0); 38790 } catch (e) { 38791 } 38792} 38793 38794var createElement$1 = createElementWithValidation ; 38795var cloneElement$1 = cloneElementWithValidation ; 38796var createFactory = createFactoryWithValidation ; 38797var Children = { 38798 map: mapChildren, 38799 forEach: forEachChildren, 38800 count: countChildren, 38801 toArray: toArray, 38802 only: onlyChild 38803}; 38804 38805exports.Children = Children; 38806exports.Component = Component; 38807exports.Fragment = REACT_FRAGMENT_TYPE; 38808exports.Profiler = REACT_PROFILER_TYPE; 38809exports.PureComponent = PureComponent; 38810exports.StrictMode = REACT_STRICT_MODE_TYPE; 38811exports.Suspense = REACT_SUSPENSE_TYPE; 38812exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals; 38813exports.cloneElement = cloneElement$1; 38814exports.createContext = createContext; 38815exports.createElement = createElement$1; 38816exports.createFactory = createFactory; 38817exports.createRef = createRef; 38818exports.forwardRef = forwardRef; 38819exports.isValidElement = isValidElement; 38820exports.lazy = lazy; 38821exports.memo = memo; 38822exports.useCallback = useCallback; 38823exports.useContext = useContext; 38824exports.useDebugValue = useDebugValue; 38825exports.useEffect = useEffect; 38826exports.useImperativeHandle = useImperativeHandle; 38827exports.useLayoutEffect = useLayoutEffect; 38828exports.useMemo = useMemo; 38829exports.useReducer = useReducer; 38830exports.useRef = useRef; 38831exports.useState = useState; 38832exports.version = ReactVersion; 38833 })(); 38834} 38835 38836 38837/***/ }), 38838
vendor: 430 bytes, lines 38839-38855
38839/***/ "./node_modules/react/index.js": 38840/*!*************************************!*\ 38841 !*** ./node_modules/react/index.js ***! 38842 \*************************************/ 38843/*! no static exports found */ 38844/***/ (function(module, exports, __webpack_require__) { 38845 38846"use strict"; 38847 38848 38849if (false) {} else { 38850 module.exports = __webpack_require__(/*! ./cjs/react.development.js */ "./node_modules/react/cjs/react.development.js"); 38851} 38852 38853 38854/***/ }), 38855
vendor: 6,283 bytes, lines 38856-38893
38856/***/ "./node_modules/scheduler/cjs/scheduler-tracing.development.js": 38857/*!*********************************************************************!*\ 38858 !*** ./node_modules/scheduler/cjs/scheduler-tracing.development.js ***! 38859 \*********************************************************************/ 38860/*! no static exports found */ 38861/***/ (function(module, exports, __webpack_require__) { 38862 38863"use strict"; 38864/** @license React v0.19.1 38865 * scheduler-tracing.development.js 38866 * 38867 * Copyright (c) Facebook, Inc. and its affiliates. 38868 * 38869 * This source code is licensed under the MIT license found in the 38870 * LICENSE file in the root directory of this source tree. 38871 */ 38872if(!0){(function(){'use strict';var DEFAULT_THREAD_ID=0;var interactionIDCounter=0;var threadIDCounter=0;exports.__interactionsRef=null;exports.__subscriberRef=null;{exports.__interactionsRef={current:new Set()};exports.__subscriberRef={current:null}} 38873function unstable_clear(callback){var prevInteractions=exports.__interactionsRef.current;exports.__interactionsRef.current=new Set();try{return callback()}finally{exports.__interactionsRef.current=prevInteractions}} 38874function unstable_getCurrent(){{return exports.__interactionsRef.current}} 38875function unstable_getThreadID(){return++threadIDCounter} 38876function unstable_trace(name,timestamp,callback){var threadID=arguments.length>3&&arguments[3]!==undefined?arguments[3]:DEFAULT_THREAD_ID;var interaction={__count:1,id:interactionIDCounter++,name:name,timestamp:timestamp};var prevInteractions=exports.__interactionsRef.current;var interactions=new Set(prevInteractions);interactions.add(interaction);exports.__interactionsRef.current=interactions;var subscriber=exports.__subscriberRef.current;var returnValue;try{if(subscriber!==null){subscriber.onInteractionTraced(interaction)}}finally{try{if(subscriber!==null){subscriber.onWorkStarted(interactions,threadID)}}finally{try{returnValue=callback()}finally{exports.__interactionsRef.current=prevInteractions;try{if(subscriber!==null){subscriber.onWorkStopped(interactions,threadID)}}finally{interaction.__count--;if(subscriber!==null&&interaction.__count===0){subscriber.onInteractionScheduledWorkCompleted(interaction)}}}}} 38877return returnValue} 38878function unstable_wrap(callback){var threadID=arguments.length>1&&arguments[1]!==undefined?arguments[1]:DEFAULT_THREAD_ID;var wrappedInteractions=exports.__interactionsRef.current;var subscriber=exports.__subscriberRef.current;if(subscriber!==null){subscriber.onWorkScheduled(wrappedInteractions,threadID)} 38879wrappedInteractions.forEach(function(interaction){interaction.__count++});var hasRun=!1;function wrapped(){var prevInteractions=exports.__interactionsRef.current;exports.__interactionsRef.current=wrappedInteractions;subscriber=exports.__subscriberRef.current;try{var returnValue;try{if(subscriber!==null){subscriber.onWorkStarted(wrappedInteractions,threadID)}}finally{try{returnValue=callback.apply(undefined,arguments)}finally{exports.__interactionsRef.current=prevInteractions;if(subscriber!==null){subscriber.onWorkStopped(wrappedInteractions,threadID)}}} 38880return returnValue}finally{if(!hasRun){hasRun=!0;wrappedInteractions.forEach(function(interaction){interaction.__count--;if(subscriber!==null&&interaction.__count===0){subscriber.onInteractionScheduledWorkCompleted(interaction)}})}}} 38881wrapped.cancel=function cancel(){subscriber=exports.__subscriberRef.current;try{if(subscriber!==null){subscriber.onWorkCanceled(wrappedInteractions,threadID)}}finally{wrappedInteractions.forEach(function(interaction){interaction.__count--;if(subscriber&&interaction.__count===0){subscriber.onInteractionScheduledWorkCompleted(interaction)}})}};return wrapped} 38882var subscribers=null;{subscribers=new Set()} 38883function unstable_subscribe(subscriber){{subscribers.add(subscriber);if(subscribers.size===1){exports.__subscriberRef.current={onInteractionScheduledWorkCompleted:onInteractionScheduledWorkCompleted,onInteractionTraced:onInteractionTraced,onWorkCanceled:onWorkCanceled,onWorkScheduled:onWorkScheduled,onWorkStarted:onWorkStarted,onWorkStopped:onWorkStopped}}}} 38884function unstable_unsubscribe(subscriber){{subscribers.delete(subscriber);if(subscribers.size===0){exports.__subscriberRef.current=null}}} 38885function onInteractionTraced(interaction){var didCatchError=!1;var caughtError=null;subscribers.forEach(function(subscriber){try{subscriber.onInteractionTraced(interaction)}catch(error){if(!didCatchError){didCatchError=!0;caughtError=error}}});if(didCatchError){throw caughtError}} 38886function onInteractionScheduledWorkCompleted(interaction){var didCatchError=!1;var caughtError=null;subscribers.forEach(function(subscriber){try{subscriber.onInteractionScheduledWorkCompleted(interaction)}catch(error){if(!didCatchError){didCatchError=!0;caughtError=error}}});if(didCatchError){throw caughtError}} 38887function onWorkScheduled(interactions,threadID){var didCatchError=!1;var caughtError=null;subscribers.forEach(function(subscriber){try{subscriber.onWorkScheduled(interactions,threadID)}catch(error){if(!didCatchError){didCatchError=!0;caughtError=error}}});if(didCatchError){throw caughtError}} 38888function onWorkStarted(interactions,threadID){var didCatchError=!1;var caughtError=null;subscribers.forEach(function(subscriber){try{subscriber.onWorkStarted(interactions,threadID)}catch(error){if(!didCatchError){didCatchError=!0;caughtError=error}}});if(didCatchError){throw caughtError}} 38889function onWorkStopped(interactions,threadID){var didCatchError=!1;var caughtError=null;subscribers.forEach(function(subscriber){try{subscriber.onWorkStopped(interactions,threadID)}catch(error){if(!didCatchError){didCatchError=!0;caughtError=error}}});if(didCatchError){throw caughtError}} 38890function onWorkCanceled(interactions,threadID){var didCatchError=!1;var caughtError=null;subscribers.forEach(function(subscriber){try{subscriber.onWorkCanceled(interactions,threadID)}catch(error){if(!didCatchError){didCatchError=!0;caughtError=error}}});if(didCatchError){throw caughtError}} 38891exports.unstable_clear=unstable_clear;exports.unstable_getCurrent=unstable_getCurrent;exports.unstable_getThreadID=unstable_getThreadID;exports.unstable_subscribe=unstable_subscribe;exports.unstable_trace=unstable_trace;exports.unstable_unsubscribe=unstable_unsubscribe;exports.unstable_wrap=unstable_wrap})()} 38892/***/ }), 38893
vendor: 15,705 bytes, lines 38894-38971
38894/***/ "./node_modules/scheduler/cjs/scheduler.development.js": 38895/*!*************************************************************!*\ 38896 !*** ./node_modules/scheduler/cjs/scheduler.development.js ***! 38897 \*************************************************************/ 38898/*! no static exports found */ 38899/***/ (function(module, exports, __webpack_require__) { 38900 38901"use strict"; 38902/** @license React v0.19.1 38903 * scheduler.development.js 38904 * 38905 * Copyright (c) Facebook, Inc. and its affiliates. 38906 * 38907 * This source code is licensed under the MIT license found in the 38908 * LICENSE file in the root directory of this source tree. 38909 */ 38910if(!0){(function(){'use strict';var enableSchedulerDebugging=!1;var enableProfiling=!0;var requestHostCallback;var requestHostTimeout;var cancelHostTimeout;var shouldYieldToHost;var requestPaint;if(typeof window==='undefined'||typeof MessageChannel!=='function'){var _callback=null;var _timeoutID=null;var _flushCallback=function(){if(_callback!==null){try{var currentTime=exports.unstable_now();var hasRemainingTime=!0;_callback(hasRemainingTime,currentTime);_callback=null}catch(e){setTimeout(_flushCallback,0);throw e}}};var initialTime=Date.now();exports.unstable_now=function(){return Date.now()-initialTime};requestHostCallback=function(cb){if(_callback!==null){setTimeout(requestHostCallback,0,cb)}else{_callback=cb;setTimeout(_flushCallback,0)}};requestHostTimeout=function(cb,ms){_timeoutID=setTimeout(cb,ms)};cancelHostTimeout=function(){clearTimeout(_timeoutID)};shouldYieldToHost=function(){return!1};requestPaint=exports.unstable_forceFrameRate=function(){}}else{var performance=window.performance;var _Date=window.Date;var _setTimeout=window.setTimeout;var _clearTimeout=window.clearTimeout;if(typeof console!=='undefined'){var requestAnimationFrame=window.requestAnimationFrame;var cancelAnimationFrame=window.cancelAnimationFrame;if(typeof requestAnimationFrame!=='function'){console.error("This browser doesn't support requestAnimationFrame. "+'Make sure that you load a '+'polyfill in older browsers. https://fb.me/react-polyfills')} 38911if(typeof cancelAnimationFrame!=='function'){console.error("This browser doesn't support cancelAnimationFrame. "+'Make sure that you load a '+'polyfill in older browsers. https://fb.me/react-polyfills')}} 38912if(typeof performance==='object'&&typeof performance.now==='function'){exports.unstable_now=function(){return performance.now()}}else{var _initialTime=_Date.now();exports.unstable_now=function(){return _Date.now()-_initialTime}} 38913var isMessageLoopRunning=!1;var scheduledHostCallback=null;var taskTimeoutID=-1;var yieldInterval=5;var deadline=0;{shouldYieldToHost=function(){return exports.unstable_now()>=deadline};requestPaint=function(){}} 38914exports.unstable_forceFrameRate=function(fps){if(fps<0||fps>125){console.error('forceFrameRate takes a positive int between 0 and 125, '+'forcing framerates higher than 125 fps is not unsupported');return} 38915if(fps>0){yieldInterval=Math.floor(1000/fps)}else{yieldInterval=5}};var performWorkUntilDeadline=function(){if(scheduledHostCallback!==null){var currentTime=exports.unstable_now();deadline=currentTime+yieldInterval;var hasTimeRemaining=!0;try{var hasMoreWork=scheduledHostCallback(hasTimeRemaining,currentTime);if(!hasMoreWork){isMessageLoopRunning=!1;scheduledHostCallback=null}else{port.postMessage(null)}}catch(error){port.postMessage(null);throw error}}else{isMessageLoopRunning=!1}};var channel=new MessageChannel();var port=channel.port2;channel.port1.onmessage=performWorkUntilDeadline;requestHostCallback=function(callback){scheduledHostCallback=callback;if(!isMessageLoopRunning){isMessageLoopRunning=!0;port.postMessage(null)}};requestHostTimeout=function(callback,ms){taskTimeoutID=_setTimeout(function(){callback(exports.unstable_now())},ms)};cancelHostTimeout=function(){_clearTimeout(taskTimeoutID);taskTimeoutID=-1}} 38916function push(heap,node){var index=heap.length;heap.push(node);siftUp(heap,node,index)} 38917function peek(heap){var first=heap[0];return first===undefined?null:first} 38918function pop(heap){var first=heap[0];if(first!==undefined){var last=heap.pop();if(last!==first){heap[0]=last;siftDown(heap,last,0)} 38919return first}else{return null}} 38920function siftUp(heap,node,i){var index=i;while(!0){var parentIndex=index-1>>>1;var parent=heap[parentIndex];if(parent!==undefined&&compare(parent,node)>0){heap[parentIndex]=node;heap[index]=parent;index=parentIndex}else{return}}} 38921function siftDown(heap,node,i){var index=i;var length=heap.length;while(index<length){var leftIndex=(index+1)*2-1;var left=heap[leftIndex];var rightIndex=leftIndex+1;var right=heap[rightIndex];if(left!==undefined&&compare(left,node)<0){if(right!==undefined&&compare(right,left)<0){heap[index]=right;heap[rightIndex]=node;index=rightIndex}else{heap[index]=left;heap[leftIndex]=node;index=leftIndex}}else if(right!==undefined&&compare(right,node)<0){heap[index]=right;heap[rightIndex]=node;index=rightIndex}else{return}}} 38922function compare(a,b){var diff=a.sortIndex-b.sortIndex;return diff!==0?diff:a.id-b.id} 38923var NoPriority=0;var ImmediatePriority=1;var UserBlockingPriority=2;var NormalPriority=3;var LowPriority=4;var IdlePriority=5;var runIdCounter=0;var mainThreadIdCounter=0;var profilingStateSize=4;var sharedProfilingBuffer=typeof SharedArrayBuffer==='function'?new SharedArrayBuffer(profilingStateSize*Int32Array.BYTES_PER_ELEMENT):typeof ArrayBuffer==='function'?new ArrayBuffer(profilingStateSize*Int32Array.BYTES_PER_ELEMENT):null;var profilingState=sharedProfilingBuffer!==null?new Int32Array(sharedProfilingBuffer):[];var PRIORITY=0;var CURRENT_TASK_ID=1;var CURRENT_RUN_ID=2;var QUEUE_SIZE=3;{profilingState[PRIORITY]=NoPriority;profilingState[QUEUE_SIZE]=0;profilingState[CURRENT_TASK_ID]=0} 38924var INITIAL_EVENT_LOG_SIZE=131072;var MAX_EVENT_LOG_SIZE=524288;var eventLogSize=0;var eventLogBuffer=null;var eventLog=null;var eventLogIndex=0;var TaskStartEvent=1;var TaskCompleteEvent=2;var TaskErrorEvent=3;var TaskCancelEvent=4;var TaskRunEvent=5;var TaskYieldEvent=6;var SchedulerSuspendEvent=7;var SchedulerResumeEvent=8;function logEvent(entries){if(eventLog!==null){var offset=eventLogIndex;eventLogIndex+=entries.length;if(eventLogIndex+1>eventLogSize){eventLogSize*=2;if(eventLogSize>MAX_EVENT_LOG_SIZE){console.error("Scheduler Profiling: Event log exceeded maximum size. Don't "+'forget to call `stopLoggingProfilingEvents()`.');stopLoggingProfilingEvents();return} 38925var newEventLog=new Int32Array(eventLogSize*4);newEventLog.set(eventLog);eventLogBuffer=newEventLog.buffer;eventLog=newEventLog} 38926eventLog.set(entries,offset)}} 38927function startLoggingProfilingEvents(){eventLogSize=INITIAL_EVENT_LOG_SIZE;eventLogBuffer=new ArrayBuffer(eventLogSize*4);eventLog=new Int32Array(eventLogBuffer);eventLogIndex=0} 38928function stopLoggingProfilingEvents(){var buffer=eventLogBuffer;eventLogSize=0;eventLogBuffer=null;eventLog=null;eventLogIndex=0;return buffer} 38929function markTaskStart(task,ms){{profilingState[QUEUE_SIZE]++;if(eventLog!==null){logEvent([TaskStartEvent,ms*1000,task.id,task.priorityLevel])}}} 38930function markTaskCompleted(task,ms){{profilingState[PRIORITY]=NoPriority;profilingState[CURRENT_TASK_ID]=0;profilingState[QUEUE_SIZE]--;if(eventLog!==null){logEvent([TaskCompleteEvent,ms*1000,task.id])}}} 38931function markTaskCanceled(task,ms){{profilingState[QUEUE_SIZE]--;if(eventLog!==null){logEvent([TaskCancelEvent,ms*1000,task.id])}}} 38932function markTaskErrored(task,ms){{profilingState[PRIORITY]=NoPriority;profilingState[CURRENT_TASK_ID]=0;profilingState[QUEUE_SIZE]--;if(eventLog!==null){logEvent([TaskErrorEvent,ms*1000,task.id])}}} 38933function markTaskRun(task,ms){{runIdCounter++;profilingState[PRIORITY]=task.priorityLevel;profilingState[CURRENT_TASK_ID]=task.id;profilingState[CURRENT_RUN_ID]=runIdCounter;if(eventLog!==null){logEvent([TaskRunEvent,ms*1000,task.id,runIdCounter])}}} 38934function markTaskYield(task,ms){{profilingState[PRIORITY]=NoPriority;profilingState[CURRENT_TASK_ID]=0;profilingState[CURRENT_RUN_ID]=0;if(eventLog!==null){logEvent([TaskYieldEvent,ms*1000,task.id,runIdCounter])}}} 38935function markSchedulerSuspended(ms){{mainThreadIdCounter++;if(eventLog!==null){logEvent([SchedulerSuspendEvent,ms*1000,mainThreadIdCounter])}}} 38936function markSchedulerUnsuspended(ms){{if(eventLog!==null){logEvent([SchedulerResumeEvent,ms*1000,mainThreadIdCounter])}}} 38937var maxSigned31BitInt=1073741823;var IMMEDIATE_PRIORITY_TIMEOUT=-1;var USER_BLOCKING_PRIORITY=250;var NORMAL_PRIORITY_TIMEOUT=5000;var LOW_PRIORITY_TIMEOUT=10000;var IDLE_PRIORITY=maxSigned31BitInt;var taskQueue=[];var timerQueue=[];var taskIdCounter=1;var currentTask=null;var currentPriorityLevel=NormalPriority;var isPerformingWork=!1;var isHostCallbackScheduled=!1;var isHostTimeoutScheduled=!1;function advanceTimers(currentTime){var timer=peek(timerQueue);while(timer!==null){if(timer.callback===null){pop(timerQueue)}else if(timer.startTime<=currentTime){pop(timerQueue);timer.sortIndex=timer.expirationTime;push(taskQueue,timer);{markTaskStart(timer,currentTime);timer.isQueued=!0}}else{return} 38938timer=peek(timerQueue)}} 38939function handleTimeout(currentTime){isHostTimeoutScheduled=!1;advanceTimers(currentTime);if(!isHostCallbackScheduled){if(peek(taskQueue)!==null){isHostCallbackScheduled=!0;requestHostCallback(flushWork)}else{var firstTimer=peek(timerQueue);if(firstTimer!==null){requestHostTimeout(handleTimeout,firstTimer.startTime-currentTime)}}}} 38940function flushWork(hasTimeRemaining,initialTime){{markSchedulerUnsuspended(initialTime)} 38941isHostCallbackScheduled=!1;if(isHostTimeoutScheduled){isHostTimeoutScheduled=!1;cancelHostTimeout()} 38942isPerformingWork=!0;var previousPriorityLevel=currentPriorityLevel;try{if(enableProfiling){try{return workLoop(hasTimeRemaining,initialTime)}catch(error){if(currentTask!==null){var currentTime=exports.unstable_now();markTaskErrored(currentTask,currentTime);currentTask.isQueued=!1} 38943throw error}}else{return workLoop(hasTimeRemaining,initialTime)}}finally{currentTask=null;currentPriorityLevel=previousPriorityLevel;isPerformingWork=!1;{var _currentTime=exports.unstable_now();markSchedulerSuspended(_currentTime)}}} 38944function workLoop(hasTimeRemaining,initialTime){var currentTime=initialTime;advanceTimers(currentTime);currentTask=peek(taskQueue);while(currentTask!==null&&!(enableSchedulerDebugging)){if(currentTask.expirationTime>currentTime&&(!hasTimeRemaining||shouldYieldToHost())){break} 38945var callback=currentTask.callback;if(callback!==null){currentTask.callback=null;currentPriorityLevel=currentTask.priorityLevel;var didUserCallbackTimeout=currentTask.expirationTime<=currentTime;markTaskRun(currentTask,currentTime);var continuationCallback=callback(didUserCallbackTimeout);currentTime=exports.unstable_now();if(typeof continuationCallback==='function'){currentTask.callback=continuationCallback;markTaskYield(currentTask,currentTime)}else{{markTaskCompleted(currentTask,currentTime);currentTask.isQueued=!1} 38946if(currentTask===peek(taskQueue)){pop(taskQueue)}} 38947advanceTimers(currentTime)}else{pop(taskQueue)} 38948currentTask=peek(taskQueue)} 38949if(currentTask!==null){return!0}else{var firstTimer=peek(timerQueue);if(firstTimer!==null){requestHostTimeout(handleTimeout,firstTimer.startTime-currentTime)} 38950return!1}} 38951function unstable_runWithPriority(priorityLevel,eventHandler){switch(priorityLevel){case ImmediatePriority:case UserBlockingPriority:case NormalPriority:case LowPriority:case IdlePriority:break;default:priorityLevel=NormalPriority} 38952var previousPriorityLevel=currentPriorityLevel;currentPriorityLevel=priorityLevel;try{return eventHandler()}finally{currentPriorityLevel=previousPriorityLevel}} 38953function unstable_next(eventHandler){var priorityLevel;switch(currentPriorityLevel){case ImmediatePriority:case UserBlockingPriority:case NormalPriority:priorityLevel=NormalPriority;break;default:priorityLevel=currentPriorityLevel;break} 38954var previousPriorityLevel=currentPriorityLevel;currentPriorityLevel=priorityLevel;try{return eventHandler()}finally{currentPriorityLevel=previousPriorityLevel}} 38955function unstable_wrapCallback(callback){var parentPriorityLevel=currentPriorityLevel;return function(){var previousPriorityLevel=currentPriorityLevel;currentPriorityLevel=parentPriorityLevel;try{return callback.apply(this,arguments)}finally{currentPriorityLevel=previousPriorityLevel}}} 38956function timeoutForPriorityLevel(priorityLevel){switch(priorityLevel){case ImmediatePriority:return IMMEDIATE_PRIORITY_TIMEOUT;case UserBlockingPriority:return USER_BLOCKING_PRIORITY;case IdlePriority:return IDLE_PRIORITY;case LowPriority:return LOW_PRIORITY_TIMEOUT;case NormalPriority:default:return NORMAL_PRIORITY_TIMEOUT}} 38957function unstable_scheduleCallback(priorityLevel,callback,options){var currentTime=exports.unstable_now();var startTime;var timeout;if(typeof options==='object'&&options!==null){var delay=options.delay;if(typeof delay==='number'&&delay>0){startTime=currentTime+delay}else{startTime=currentTime} 38958timeout=typeof options.timeout==='number'?options.timeout:timeoutForPriorityLevel(priorityLevel)}else{timeout=timeoutForPriorityLevel(priorityLevel);startTime=currentTime} 38959var expirationTime=startTime+timeout;var newTask={id:taskIdCounter++,callback:callback,priorityLevel:priorityLevel,startTime:startTime,expirationTime:expirationTime,sortIndex:-1};{newTask.isQueued=!1} 38960if(startTime>currentTime){newTask.sortIndex=startTime;push(timerQueue,newTask);if(peek(taskQueue)===null&&newTask===peek(timerQueue)){if(isHostTimeoutScheduled){cancelHostTimeout()}else{isHostTimeoutScheduled=!0} 38961requestHostTimeout(handleTimeout,startTime-currentTime)}}else{newTask.sortIndex=expirationTime;push(taskQueue,newTask);{markTaskStart(newTask,currentTime);newTask.isQueued=!0} 38962if(!isHostCallbackScheduled&&!isPerformingWork){isHostCallbackScheduled=!0;requestHostCallback(flushWork)}} 38963return newTask} 38964function unstable_pauseExecution(){} 38965function unstable_continueExecution(){if(!isHostCallbackScheduled&&!isPerformingWork){isHostCallbackScheduled=!0;requestHostCallback(flushWork)}} 38966function unstable_getFirstCallbackNode(){return peek(taskQueue)} 38967function unstable_cancelCallback(task){{if(task.isQueued){var currentTime=exports.unstable_now();markTaskCanceled(task,currentTime);task.isQueued=!1}} 38968task.callback=null} 38969function unstable_getCurrentPriorityLevel(){return currentPriorityLevel} 38970function unstable_shouldYield(){var currentTime=exports.unstable_now();advanceTimers(currentTime);var firstTask=peek(taskQueue);return firstTask!==currentTask&¤tTask!==null&&firstTask!==null&&firstTask.callback!==null&&firstTask.startTime<=currentTime&&firstTask.expirationTime<currentTask.expirationTime||shouldYieldToHost()} 38971var unstable_requestPaint=requestPaint;var unstable_Profiling={startLoggingProfilingEvents:startLoggingProfilingEvents,stopLoggingProfilingEvents:stopLoggingProfilingEvents,sharedProfilingBuffer:sharedProfilingBuffer};exports.unstable_IdlePriority=IdlePriority;exports.unstable_ImmediatePriority=ImmediatePriority;exports.unstable_LowPriority=LowPriority;exports.unstable_NormalPriority=NormalPriority;exports.unstable_Profiling=unstable_Profiling;exports.unstable_UserBlockingPriority=UserBlockingPriority;exports.unstable_cancelCallback=unstable_cancelCallback;exports.unstable_continueExecution=unstable_continueExecution;exports.unstable_getCurrentPriorityLevel=unstable_getCurrentPriorityLevel;exports.unstable_getFirstCallbackNode=unstable_getFirstCallbackNode;exports.unstable_next=unstable_next;exports.unstable_pauseExecution=unstable_pauseExecution;exports.unstable_requestPaint=unstable_requestPaint;exports.unstable_runWithPriority=unstable_runWithPriority;exports.unstable_scheduleCallback=unstable_scheduleCallback;exports.unstable_shouldYield=unstable_shouldYield;exports.unstable_wrapCallback=unstable_wrapCallback})()}}),
vendor: 412 bytes, lines 38971-38976
38971"./node_modules/scheduler/index.js": 38972/*!*****************************************!*\ 38973 !*** ./node_modules/scheduler/index.js ***! 38974 \*****************************************/ 38975/*! no static exports found */ 38976(function(module,exports,__webpack_require__){"use strict";if(!1){}else{module.exports=__webpack_require__(/*! ./cjs/scheduler.development.js */"./node_modules/scheduler/cjs/scheduler.development.js")}}),
vendor: 436 bytes, lines 38976-38981
38976"./node_modules/scheduler/tracing.js": 38977/*!*******************************************!*\ 38978 !*** ./node_modules/scheduler/tracing.js ***! 38979 \*******************************************/ 38980/*! no static exports found */ 38981(function(module,exports,__webpack_require__){"use strict";if(!1){}else{module.exports=__webpack_require__(/*! ./cjs/scheduler-tracing.development.js */"./node_modules/scheduler/cjs/scheduler-tracing.development.js")}}),
38981"./src/app_front.tsx": 38982/*!***************************!*\ 38983 !*** ./src/app_front.tsx ***! 38984 \***************************/ 38985/*! exports provided: app */ 38986(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"app",function(){return app});var _scss_app_style_newsletterpro_cross_scss__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ./scss/app_style/newsletterpro_cross.scss */"./src/scss/app_style/newsletterpro_cross.scss");var _scss_app_style_newsletterpro_cross_scss__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_scss_app_style_newsletterpro_cross_scss__WEBPACK_IMPORTED_MODULE_0__);var _scss_app_front_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ./scss/app_front.scss */"./src/scss/app_front.scss");var _scss_app_front_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_scss_app_front_scss__WEBPACK_IMPORTED_MODULE_1__);var _scss_pqnp_font_scss__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ./scss/pqnp-font.scss */"./src/scss/pqnp-font.scss");var _scss_pqnp_font_scss__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_scss_pqnp_font_scss__WEBPACK_IMPORTED_MODULE_2__);var _resources_init__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ./resources/init */"./src/resources/init.js");var _resources_init__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_resources_init__WEBPACK_IMPORTED_MODULE_3__);var _resources_viewport__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(/*! ./resources/viewport */"./src/resources/viewport.js");var _resources_viewport__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_resources_viewport__WEBPACK_IMPORTED_MODULE_4__);var _resources_front_window__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(/*! ./resources/front_window */"./src/resources/front_window.js");var _resources_front_window__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_resources_front_window__WEBPACK_IMPORTED_MODULE_5__);var _classes_app_front__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(/*! ./classes/app-front */"./src/classes/app-front.tsx");__webpack_require__(/*! ./resources/newsletter */"./src/resources/newsletter.js")([$,window.$]);var initFront=__webpack_require__(/*! ./resources/front_init */"./src/resources/front_init.js");var initMyAccount=__webpack_require__(/*! ./resources/my_account */"./src/resources/my_account.js");var initNewsletterSubscribe=__webpack_require__(/*! ./resources/newsletter_subscribe */"./src/resources/newsletter_subscribe.js");var initForward=__webpack_require__(/*! ./resources/forward */"./src/resources/forward.js");$(document).ready(function(){initFront(window.NewsletterPro);initMyAccount(window.NewsletterPro);initNewsletterSubscribe(window.NewsletterPro);initForward(window.NewsletterPro)});var app=window.NewsletterProApp=new _classes_app_front__WEBPACK_IMPORTED_MODULE_6__.App()}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
38986"./src/classes/ajax.tsx": 38987/*!******************************!*\ 38988 !*** ./src/classes/ajax.tsx ***! 38989 \******************************/ 38990/*! exports provided: Ajax */ 38991(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"Ajax",function(){return Ajax});var _utils_translate__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../utils/translate */"./src/utils/translate.tsx");var _utils_url__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../utils/url */"./src/utils/url.tsx");var _response__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ./response */"./src/classes/response.tsx");function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys} 38992function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])})}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}}return target} 38993function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}} 38994function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}} 38995function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor} 38996function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0})}else{obj[key]=value}return obj} 38997var Ajax=function(){function Ajax(actionKey){_classCallCheck(this,Ajax);_defineProperty(this,"l",null);_defineProperty(this,"actionKey",null);this.actionKey=actionKey;_utils_translate__WEBPACK_IMPORTED_MODULE_0__.translate.set(this,'ajax')} 38998_createClass(Ajax,[{key:"get",value:function get(action){var _this=this;var target=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var done=arguments.length>2?arguments[2]:undefined;var fail=arguments.length>3?arguments[3]:undefined;var always=arguments.length>4?arguments[4]:undefined;target=_objectSpread(_defineProperty({},this.actionKey,action),target);return $.ajax({type:'GET',url:_utils_url__WEBPACK_IMPORTED_MODULE_1__.url.get(target),data:{},dataType:'json'}).done(function(res){done(new _response__WEBPACK_IMPORTED_MODULE_2__.Response(res))}).fail(function(jqXHR,textStatus,errorThrown){_this.fail(jqXHR,textStatus,errorThrown,fail)}).always(always).promise()}},{key:"post",value:function post(action){var _this2=this;var target=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var data=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var done=arguments.length>3?arguments[3]:undefined;var fail=arguments.length>4?arguments[4]:undefined;var always=arguments.length>5?arguments[5]:undefined;target=_objectSpread(_defineProperty({},this.actionKey,action),target);var params={};if(data instanceof FormData){params={contentType:!1,processData:!1}} 38999return $.ajax(_objectSpread({type:'POST',url:_utils_url__WEBPACK_IMPORTED_MODULE_1__.url.get(target),dataType:'json',data:data},params)).done(function(res){done(new _response__WEBPACK_IMPORTED_MODULE_2__.Response(res))}).fail(function(jqXHR,textStatus,errorThrown){_this2.fail(jqXHR,textStatus,errorThrown,fail)}).always(always).promise()}},{key:"fail",value:function fail(jqXHR,textStatus,errorThrown,callback){console.warn(this.l('Error: The AJAX response is not JSON type.'));console.warn(errorThrown);console.log(jqXHR.responseText);if(callback){if(callback(jqXHR,textStatus,errorThrown)){alert(this.l('Oops, an error has occurred.'))}}else{alert(this.l('Oops, an error has occurred.'))}}}]);return Ajax}()}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
38999"./src/classes/app-front.tsx": 39000/*!***********************************!*\ 39001 !*** ./src/classes/app-front.tsx ***! 39002 \***********************************/ 39003/*! exports provided: App */ 39004(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"App",function(){return App});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! react */"./node_modules/react/index.js");var react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);var react_dom__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! react-dom */"./node_modules/react-dom/index.js");var react_dom__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);var _utils_storage__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ../utils/storage */"./src/utils/storage.tsx");var _utils_translate__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ../utils/translate */"./src/utils/translate.tsx");var _utils_win__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(/*! ../utils/win */"./src/utils/win.tsx");var _controllers_front_popup_controller__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(/*! ../controllers/front/popup-controller */"./src/controllers/front/popup-controller.tsx");var _containers_popup__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(/*! ../containers/popup */"./src/containers/popup.tsx");var _promise__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(/*! ./promise */"./src/classes/promise.tsx");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}} 39005function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}} 39006function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor} 39007function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0})}else{obj[key]=value}return obj} 39008var App=function(){function App(){var _this=this;_classCallCheck(this,App);_defineProperty(this,"storage",null);_defineProperty(this,"translate",null);_defineProperty(this,"box",null);_defineProperty(this,"win",null);_defineProperty(this,"controllers",{popup:new _controllers_front_popup_controller__WEBPACK_IMPORTED_MODULE_5__.PopupController()});this.storage=_utils_storage__WEBPACK_IMPORTED_MODULE_2__.storage;this.translate=_utils_translate__WEBPACK_IMPORTED_MODULE_3__.translate;this.box=window.NewsletterPro;var winPromise=Object(_utils_win__WEBPACK_IMPORTED_MODULE_4__.init)(function(win){_this.win=win});this.initControllers();this.ready(function(){_promise__WEBPACK_IMPORTED_MODULE_7__["default"].all([winPromise]).then(function(params){var elements=$('.pqnp-subscription-content');elements.each(function(index,item){var props={html:_utils_storage__WEBPACK_IMPORTED_MODULE_2__.storage.get('subscription_tpl_render'),email:'',dom:{inputEmail:null}};react_dom__WEBPACK_IMPORTED_MODULE_1__.render(react__WEBPACK_IMPORTED_MODULE_0__.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0__.createElement(_containers_popup__WEBPACK_IMPORTED_MODULE_6__.Popup,props)),item)});elements=$('.pqnp-subscription-controller-content');elements.each(function(index,item){var props={html:_utils_storage__WEBPACK_IMPORTED_MODULE_2__.storage.get('subscription_controller_tpl_render'),email:'',dom:{inputEmail:null}};react_dom__WEBPACK_IMPORTED_MODULE_1__.render(react__WEBPACK_IMPORTED_MODULE_0__.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0__.createElement(_containers_popup__WEBPACK_IMPORTED_MODULE_6__.Popup,props)),item)});for(var controllerName in _this.controllers){if(_this.controllers.hasOwnProperty(controllerName)){var controller=_this.controllers[controllerName],cDom=controller.initDom();controller.dom=cDom;controller.ready(cDom,{win:params[0]})}}})})} 39009_createClass(App,[{key:"initControllers",value:function initControllers(){for(var controllerName in this.controllers){if(this.controllers.hasOwnProperty(controllerName)){var controller=this.controllers[controllerName];controller.app=this}}}},{key:"ready",value:function ready(callback){$(document).ready(function(){var jDom={body:$(document.body)},dom={body:document.body};callback(jDom,dom)})}}]);return App}()}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39009"./src/classes/promise.tsx": 39010/*!*********************************!*\ 39011 !*** ./src/classes/promise.tsx ***! 39012 \*********************************/ 39013/*! exports provided: default */ 39014(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"default",function(){return Promise});function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:!0};return{done:!1,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=!0,didErr=!1,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=!0;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}} 39015function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)} 39016function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2} 39017function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}} 39018function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}} 39019function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor} 39020function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0})}else{obj[key]=value}return obj} 39021var Promise=function(){function Promise(callback){_classCallCheck(this,Promise);_defineProperty(this,"resolveData",[]);_defineProperty(this,"thanCallbacks",[]);_defineProperty(this,"rejectData",[]);_defineProperty(this,"rejectCallbacks",[]);callback(this.resolve.bind(this),this.reject.bind(this))} 39022_createClass(Promise,[{key:"then",value:function then(callback){this.thanCallbacks.push(callback);if(this.resolveData.length>0){var _iterator=_createForOfIteratorHelper(this.resolveData),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _data=_step.value;callback(_data)}}catch(err){_iterator.e(err)}finally{_iterator.f()} 39023this.resolveData=[]} 39024return this}},{key:"catch",value:function _catch(callback){this.rejectCallbacks.push(callback);if(this.rejectData.length>0){var _iterator2=_createForOfIteratorHelper(this.rejectData),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var _data2=_step2.value;callback(_data2)}}catch(err){_iterator2.e(err)}finally{_iterator2.f()} 39025this.rejectData=[]} 39026return this}},{key:"resolve",value:function resolve(data){this.resolveData.push(data);if(this.thanCallbacks.length>0){var _iterator3=_createForOfIteratorHelper(this.thanCallbacks),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var callback=_step3.value;callback(data)}}catch(err){_iterator3.e(err)}finally{_iterator3.f()} 39027this.thanCallbacks=[]}}},{key:"reject",value:function reject(error){this.rejectData.push(error);if(this.rejectCallbacks.length>0){var _iterator4=_createForOfIteratorHelper(this.rejectCallbacks),_step4;try{for(_iterator4.s();!(_step4=_iterator4.n()).done;){var callback=_step4.value;callback(error)}}catch(err){_iterator4.e(err)}finally{_iterator4.f()} 39028this.rejectCallbacks=[]}}}],[{key:"all",value:function all(promisess){return new Promise(function(resolve,reject){var resolved=[],len=promisess.length;var _iterator5=_createForOfIteratorHelper(promisess),_step5;try{for(_iterator5.s();!(_step5=_iterator5.n()).done;){var promise=_step5.value;promise.then(function(data){resolved.push(data);if(resolved.length===len){resolve(resolved)}})["catch"](function(error){reject(error)})}}catch(err){_iterator5.e(err)}finally{_iterator5.f()}})}}]);return Promise}()}),
39028"./src/classes/response.tsx": 39029/*!**********************************!*\ 39030 !*** ./src/classes/response.tsx ***! 39031 \**********************************/ 39032/*! exports provided: Response */ 39033(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"Response",function(){return Response});var _helpers__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../helpers */"./src/helpers.tsx");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)} 39034function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}} 39035function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}} 39036function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor} 39037function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0})}else{obj[key]=value}return obj} 39038var Response=function(){function Response(response){_classCallCheck(this,Response);_defineProperty(this,"data",null);_defineProperty(this,"errors",null);_defineProperty(this,"formErrors",null);_defineProperty(this,"get",null);_defineProperty(this,"response",null);this.response=response;this.data=response.data;this.errors=response.errors;this.formErrors=response.formErrors;this.get=Object(_helpers__WEBPACK_IMPORTED_MODULE_0__.getter)(this.data)} 39039_createClass(Response,[{key:"success",value:function success(){return this.response.success}},{key:"formError",value:function formError(key){if(this.hasFormError(key)){return this.formErrors[key]}}},{key:"hasFormError",value:function hasFormError(key){return _typeof(this.formError)==='object'&&key in this.formErrors}},{key:"showErrors",value:function showErrors(){if(!this.success()){}}}]);return Response}()}),
39039"./src/classes/storage.tsx": 39040/*!*********************************!*\ 39041 !*** ./src/classes/storage.tsx ***! 39042 \*********************************/ 39043/*! exports provided: Storage */ 39044(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"Storage",function(){return Storage});function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:!0};return{done:!1,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=!0,didErr=!1,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=!0;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}} 39045function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)} 39046function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2} 39047function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)} 39048function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}} 39049function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}} 39050function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor} 39051function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0})}else{obj[key]=value}return obj} 39052var Storage=function(){function Storage(){_classCallCheck(this,Storage);_defineProperty(this,"data",{})} 39053_createClass(Storage,[{key:"get",value:function get(name){var defaultValue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:!1;if(typeof name==='undefined'){return this.data} 39054var split=name.split('.');if(split.length>1){return this.getDataCallback(this.data,split,defaultValue)}else if(this.data.hasOwnProperty(name)){return this.data[name]} 39055return defaultValue}},{key:"delete",value:function _delete(name){if(typeof name==='undefined'){return!1} 39056var split=name.split('.');if(split.length>1){return this.deleteDataCallback(this.data,split)}else if(this.data.hasOwnProperty(name)){return delete this.data[name]} 39057return!1}},{key:"getNumber",value:function getNumber(name){var value=Number(this.get(name));if(isNaN(value)){return 0} 39058return value}},{key:"has",value:function has(name){var split=name.split('.');return this.hasDataCallback(split,this.data)}},{key:"add",value:function add(name,value){var splitName=name.split('.');var parent=this.data;for(var i=0;i<splitName.length;i++){if(i===splitName.length-1){parent[splitName[i]]=value}else{if(_typeof(parent[splitName[i]])!=='object'){parent[splitName[i]]={}}} 39059if(_typeof(parent)==='object'){parent=parent[splitName[i]]}}}},{key:"set",value:function set(name,value){this.add(name,value)}},{key:"setObject",value:function setObject(obj){for(var _i=0,_Object$keys=Object.keys(obj);_i<_Object$keys.length;_i++){var key=_Object$keys[_i];this.data[key]=obj[key]}}},{key:"append",value:function append(name,value){if(this.data.hasOwnProperty(name)){this.data[name].push(value)}else{this.data[name]=[];this.data[name].push(value)}}},{key:"length",value:function length(){return Object.keys(this.data).length}},{key:"getDataCallback",value:function getDataCallback(data,target){var defaultValue=arguments.length>2&&arguments[2]!==undefined?arguments[2]:!1;if(target.length===1){if(typeof data[target[0]]!=='undefined'){return data[target[0]]} 39060return defaultValue} 39061var _iterator=_createForOfIteratorHelper(target),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var key=_step.value;if(typeof data[key]!=='undefined'){return this.getDataCallback(data[key],target.slice(1),defaultValue)} 39062return defaultValue}}catch(err){_iterator.e(err)}finally{_iterator.f()} 39063return defaultValue}},{key:"deleteDataCallback",value:function deleteDataCallback(data,target){if(target.length===1){if(typeof data[target[0]]!=='undefined'){return delete data[target[0]]} 39064return!1} 39065var _iterator2=_createForOfIteratorHelper(target),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var key=_step2.value;if(typeof data[key]!=='undefined'){return this.deleteDataCallback(data[key],target.slice(1))} 39066return!1}}catch(err){_iterator2.e(err)}finally{_iterator2.f()} 39067return!1}},{key:"hasDataCallback",value:function hasDataCallback(split,data){if(split.length===0){return!1} 39068var key=split.shift();if(split.length===0&&data.hasOwnProperty(key)){return!0}else if(data.hasOwnProperty(key)){return this.hasDataCallback(split,data[key])} 39069return!1}}]);return Storage}()}),
39069"./src/classes/translate.tsx": 39070/*!***********************************!*\ 39071 !*** ./src/classes/translate.tsx ***! 39072 \***********************************/ 39073/*! exports provided: Translate */ 39074(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"Translate",function(){return Translate});var events__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! events */"./node_modules/events/events.js");var events__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:!0};return{done:!1,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=!0,didErr=!1,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=!0;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}} 39075function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)} 39076function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2} 39077function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}} 39078function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}} 39079function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor} 39080function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0})}else{obj[key]=value}return obj} 39081var emitter=new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();var Translate=function(){function Translate(){_classCallCheck(this,Translate);_defineProperty(this,"data",{});_defineProperty(this,"cache",{});_defineProperty(this,"on",function(eventName,callback){emitter.on(eventName,callback)})} 39082_createClass(Translate,[{key:"setObject",value:function setObject(obj){var triggerInit=arguments.length>1&&arguments[1]!==undefined?arguments[1]:!1;for(var _i=0,_Object$keys=Object.keys(obj);_i<_Object$keys.length;_i++){var key=_Object$keys[_i];this.data[key]=obj[key]} 39083if(triggerInit){emitter.emit('ready',this)}}},{key:"source",value:function source(target){var _this=this;var path,currentTarget=this.data;path=target.split('.');var _iterator=_createForOfIteratorHelper(path),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var currentPath=_step.value;if(!currentTarget.hasOwnProperty(currentPath)){console.error("Invalid translation path \"".concat(path,"\" - \"").concat(currentPath,"\""));return function(value){return value}} 39084currentTarget=currentTarget[currentPath]}}catch(err){_iterator.e(err)}finally{_iterator.f()} 39085return function(value){if(currentTarget.hasOwnProperty(value)){return currentTarget[value].replace(/\"/g,'"')} 39086var log="The translation does not exist >>>".concat(value,"<<< in \"").concat(path,"\"");if(typeof _this.cache[log]==='undefined'){_this.cache[log]=!0;console.log(log)} 39087return value}}},{key:"length",value:function length(){return Object.keys(this.data).length}},{key:"set",value:function set(obj,source){var _this2=this;if(this.length()>0){obj.l=this.source(source)}else{this.on('ready',function(){obj.l=_this2.source(source)})}}}]);return Translate}()}),
39087"./src/classes/url.tsx": 39088/*!*****************************!*\ 39089 !*** ./src/classes/url.tsx ***! 39090 \*****************************/ 39091/*! exports provided: Url */ 39092(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"Url",function(){return Url});var _utils_storage__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../utils/storage */"./src/utils/storage.tsx");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}} 39093function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}} 39094function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor} 39095var Url=function(){function Url(){_classCallCheck(this,Url)} 39096_createClass(Url,[{key:"get",value:function get(){var params=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return this.join(_utils_storage__WEBPACK_IMPORTED_MODULE_0__.storage.get('ajax_url'),this.parse(params))}},{key:"link",value:function link(url){var params=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};return this.join(url,this.parse(params))}},{key:"parse",value:function parse(params){var trimFirst=arguments.length>1&&arguments[1]!==undefined?arguments[1]:!1;var paramsString='',value='';for(var _i=0,_Object$keys=Object.keys(params);_i<_Object$keys.length;_i++){var key=_Object$keys[_i];value=params[key];paramsString+='&'+key+'='+value} 39097return trimFirst===!0?paramsString.substr(1):paramsString}},{key:"join",value:function join(url){var params=arguments.length>1&&arguments[1]!==undefined?arguments[1]:'';if(/\?/.test(url)){return url+params}else{if(params.length>0){return url+'?'+params.substr(1)} 39098return url}}}]);return Url}()}),
39098"./src/containers/popup.tsx": 39099/*!**********************************!*\ 39100 !*** ./src/containers/popup.tsx ***! 39101 \**********************************/ 39102/*! exports provided: Popup */ 39103(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"Popup",function(){return Popup});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! react */"./node_modules/react/index.js");var react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);var _utils_storage__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../utils/storage */"./src/utils/storage.tsx");var _helpers__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ../helpers */"./src/helpers.tsx");var _utils_win__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ../utils/win */"./src/utils/win.tsx");var _utils_ajax__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(/*! ../utils/ajax */"./src/utils/ajax.tsx");var _utils_translate__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(/*! ../utils/translate */"./src/utils/translate.tsx");var _win_front__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(/*! ./win-front */"./src/containers/win-front.tsx");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)} 39104function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}} 39105function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}} 39106function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor} 39107function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}});if(superClass)_setPrototypeOf(subClass,superClass)} 39108function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)} 39109function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}} 39110function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined")}return _assertThisInitialized(self)} 39111function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self} 39112function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(typeof Proxy==="function")return!0;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return!0}catch(e){return!1}} 39113function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)} 39114function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0})}else{obj[key]=value}return obj} 39115var Popup=function(_React$Component){_inherits(Popup,_React$Component);var _super=_createSuper(Popup);function Popup(props){var _this;_classCallCheck(this,Popup);_this=_super.call(this,props);_defineProperty(_assertThisInitialized(_this),"l",null);_defineProperty(_assertThisInitialized(_this),"dom",null);_defineProperty(_assertThisInitialized(_this),"closeInterval",null);_defineProperty(_assertThisInitialized(_this),"closeTimeout",null);_defineProperty(_assertThisInitialized(_this),"subscribe",function(){_utils_ajax__WEBPACK_IMPORTED_MODULE_4__.ajax.post('popup',{target:'subscribe'}
39115,Object(_helpers__WEBPACK_IMPORTED_MODULE_2__.formSerialize)(_this.dom.form,{templateId:_utils_storage__WEBPACK_IMPORTED_MODULE_1__.storage.get('subscription_tpl.id'),loadFile:_utils_storage__WEBPACK_IMPORTED_MODULE_1__.storage.get('subscription_tpl.load_file')}),function(res){if(!res.success()){return _this.displayErrors(res.errors)} 39116_this.response(res)},function(){_this.displayErrors([_this.l('Oops, an error has occurred.')])})});_defineProperty(_assertThisInitialized(_this),"unsubscribe",function(){_utils_ajax__WEBPACK_IMPORTED_MODULE_4__.ajax.post('popup',{target:'unsubscribe'},{email:_this.state.email,templateId:_utils_storage__WEBPACK_IMPORTED_MODULE_1__.storage.get('subscription_tpl.id'),loadFile:_utils_storage__WEBPACK_IMPORTED_MODULE_1__.storage.get('subscription_tpl.load_file')},function(res){if(!res.success()){return _this.displayErrors(res.errors)} 39117_this.response(res)},function(){_this.displayErrors([_this.l('Oops, an error has occurred.')])})});_defineProperty(_assertThisInitialized(_this),"destroy",function(){var close=arguments.length>0&&arguments[0]!==undefined?arguments[0]:!0;_utils_ajax__WEBPACK_IMPORTED_MODULE_4__.ajax.post('popup',{target:'destroy'},{templateId:_utils_storage__WEBPACK_IMPORTED_MODULE_1__.storage.get('subscription_tpl.id'),loadFile:_utils_storage__WEBPACK_IMPORTED_MODULE_1__.storage.get('subscription_tpl.load_file')},function(res){if(!res.success()){return _this.displayErrors(res.errors)} 39118if(close){_utils_win__WEBPACK_IMPORTED_MODULE_3__.win.close()}},function(){_this.displayErrors([_this.l('Oops, an error has occurred.')])})});_this.l=_utils_translate__WEBPACK_IMPORTED_MODULE_5__.translate.source('popup');_this.state={email:_this.props.email};return _this} 39119_createClass(Popup,[{key:"componentDidMount",value:function componentDidMount(){var _this2=this;if(typeof this.props.actions==='function'){this.props.actions({subscribe:this.subscribe})} 39120_utils_win__WEBPACK_IMPORTED_MODULE_3__.win.on('close',function(action){if(action===_win_front__WEBPACK_IMPORTED_MODULE_6__.WinCloseAction.BUTTON&&Boolean(_utils_storage__WEBPACK_IMPORTED_MODULE_1__.storage.get('subscription_tpl.subscription_template_front_info.close_forever',!1))===!0){_this2.destroy(!0)}});var content=$(this.refs.content),dom=this.dom={content:content,form:content.find('#pqnp-pupup-form'),email:content.find('#pqnp-popup-email'),firstname:content.find('#pqnp-popup-firstname'),lastname:content.find('#pqnp-popup-lastname'),gender:content.find('#pqnp-popup-gender'),birthday:content.find('#pqnp-popup-birthday'),listOfInterest:content.find('[name="list_of_interest[]"]'),termsAndConditions:content.find('#pqnp-popup-terms-and-conditions'),subscribe:content.find('#pqnp-popup-subscribe'),unsubscribe:content.find('#pqnp-popup-unsubscribe'),destroy:content.find('#pqnp-popup-destroy'),error:content.find('#pqnp-popup-error'),success:content.find('#pqnp-popup-success'),closeTimeout:content.find('#pqnp-popup-close-timeout')};if(this.props.dom.inputEmail){this.props.dom.inputEmail.value=''} 39121dom.email.val(this.state.email);dom.email.on('change',function(e){_this2.setState({email:e.target.value})});dom.subscribe.on('click tap',this.subscribe);dom.unsubscribe.on('click tap',this.unsubscribe);dom.destroy.on('click tap',function(){return _this2.destroy(!0)})}},{key:"render",value:function render(){return react__WEBPACK_IMPORTED_MODULE_0__.createElement("div",{ref:"content",dangerouslySetInnerHTML:{__html:this.props.html}})}},{key:"displayErrors",value:function displayErrors(errors){this.dom.success.hide().empty();this.dom.error.hide().empty();if(errors&&errors.length>0){this.dom.error.show().html(errors.map(function(error){return"<div>".concat(error,"</div>")}).join('\n'))}}},{key:"displaySuccess",value:function displaySuccess(message){this.dom.error.hide().empty();this.dom.success.hide().empty();if(message&&message.length>0){this.dom.success.show().html(message)}}},{key:"openNewWindow",value:function openNewWindow(html){_utils_win__WEBPACK_IMPORTED_MODULE_3__.win.open([function(props){return react__WEBPACK_IMPORTED_MODULE_0__.createElement("div",{className:"pqnp-popup-subscribe-message",dangerouslySetInnerHTML:{__html:props.html}})},{html:html}])}},{key:"response",value:function response(res){var _this3=this;this.destroy(!1);if(res.get('newWindow')===!0){return this.openNewWindow(res.get('message'))} 39122this.displaySuccess(res.get('message'));var timeout=res.get('closeTimeout',5000);clearTimeout(this.closeTimeout);this.closeTimeout=setTimeout(function(){_utils_win__WEBPACK_IMPORTED_MODULE_3__.win.close()},timeout);if(timeout>0){var seconds=Number(timeout)/1000;clearInterval(this.closeInterval);this.closeInterval=setInterval(function(){seconds--;
39122if(seconds>0){_this3.dom.closeTimeout.empty().show().html(_this3.l('close in %s seconds').replace(/%s/,String(seconds)))}else{_this3.dom.closeTimeout.empty().hide()} 39123if(seconds<=0){clearInterval(_this3.closeInterval)}},1000)}}}]);return Popup}(react__WEBPACK_IMPORTED_MODULE_0__.Component)}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39123"./src/containers/win-front.tsx": 39124/*!**************************************!*\ 39125 !*** ./src/containers/win-front.tsx ***! 39126 \**************************************/ 39127/*! exports provided: WinCloseAction, WinFront */ 39128(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"WinCloseAction",function(){return WinCloseAction});__webpack_require__.d(__webpack_exports__,"WinFront",function(){return WinFront});var _scss_win_front_scss__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../scss/win-front.scss */"./src/scss/win-front.scss");var _scss_win_front_scss__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_scss_win_front_scss__WEBPACK_IMPORTED_MODULE_0__);var _utils_storage__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../utils/storage */"./src/utils/storage.tsx");var react__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! react */"./node_modules/react/index.js");var react__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);var events__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! events */"./node_modules/events/events.js");var events__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_3__);var _helpers__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(/*! ../helpers */"./src/helpers.tsx");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)} 39129function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys} 39130function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])})}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}}return target} 39131function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}} 39132function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}} 39133function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor} 39134function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}});if(superClass)_setPrototypeOf(subClass,superClass)} 39135function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)} 39136function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}} 39137function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined")}return _assertThisInitialized(self)} 39138function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self} 39139function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(typeof Proxy==="function")return!0;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return!0}catch(e){return!1}}
39140function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)} 39141function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0})}else{obj[key]=value}return obj} 39142var styleContainer={hidden:{opacity:0,transform:'scale(.95) translate(-52.5%, 0)',top:'100px'},visible:{opacity:1,transform:'scale(1) translate(-50%, 0)',top:'100px'}};var emitter=new events__WEBPACK_IMPORTED_MODULE_3__.EventEmitter();var WinCloseAction;(function(WinCloseAction){WinCloseAction[WinCloseAction.BUTTON=0]="BUTTON";WinCloseAction[WinCloseAction.BACKGROUND=1]="BACKGROUND"})(WinCloseAction||(WinCloseAction={}));var WinFront=function(_React$Component){_inherits(WinFront,_React$Component);var _super=_createSuper(WinFront);function WinFront(props){var _this;_classCallCheck(this,WinFront);_this=_super.call(this,props);_defineProperty(_assertThisInitialized(_this),"closeTimeout",null);_defineProperty(_assertThisInitialized(_this),"openTimeout",null);_defineProperty(_assertThisInitialized(_this),"close",function(action){clearTimeout(_this.openTimeout);_this.setState({visible:!1});emitter.emit('close',action);for(var _i=0,_arr=['open','close'];_i<_arr.length;_i++){var eventName=_arr[_i];emitter.removeAllListeners(eventName)}});_defineProperty(_assertThisInitialized(_this),"on",function(eventName,callback){emitter.on(eventName,callback)});_defineProperty(_assertThisInitialized(_this),"resize",function(){if(_this.state.visible){var win=$(window),component=$(_this.refs.component),container=$(_this.refs.container),containerInner=$(_this.refs.containerInner),content=$(_this.refs.content);var top=parseInt(container.css('top'),10),padding;var total=top+container.outerHeight(),diff=win.outerHeight()-total;if(diff<top){top=(top+diff)/2;container.css('top',top+'px');if(diff<0){padding=parseInt(container.css('padding-top'),10)+parseInt(container.css('padding-bottom'),10);containerInner.height(win.outerHeight()-top*2-padding)}}else{padding=parseInt(container.css('padding-top'),10)+parseInt(container.css('padding-bottom'),10);if(win.outerHeight()<top*2+content.outerHeight()+padding){containerInner.height(win.outerHeight()-top*2-padding)}else{containerInner.height('auto');top=parseInt(container.css('top'),10);total=top+container.outerHeight();diff=win.outerHeight()-total;var minTop=parseInt(String(styleContainer.visible.top),10);if(diff>=top&&top<minTop){top=(top+diff)/2;if(top>=minTop){top=minTop} 39143container.css('top',top+'px')}}}}});_this.state={visible:!1,content:null,style:{opacity:0},styleContainer:_objectSpread({},styleContainer.hidden)};return _this} 39144_createClass(WinFront,[{key:"componentDidMount",value:function componentDidMount(){window.addEventListener('resize',this.resize)}},{key:"componentWillUnmount",value:function componentWillUnmount(){window.removeEventListener('resize',this.resize)}},{key:"componentDidUpdate",value:function componentDidUpdate(prevProps,prevState){var _this2=this;if(prevState.visible!==this.state.visible){if(this.state.visible){this.setState({style:_objectSpread(_objectSpread({},this.state.style),{},{opacity:0}),styleContainer:_objectSpread(_objectSpread(_objectSpread({},this.state.styleContainer),styleContainer.hidden),{},{top:"".concat(this.getNewTop(),"px")})},function(){_this2.openTimeout=setTimeout(function(){_this2.setState({style:_objectSpread(_objectSpread({},_this2.state.style),{},{opacity:1}),styleContainer:_objectSpread(_objectSpread(_objectSpread({},_this2.state.styleContainer),styleContainer.visible),{},{top:"".concat(_this2.getNewTop(),"px")})},function(){_this2.resize();Object(_helpers__WEBPACK_IMPORTED_MODULE_4__.observeDOM)(_this2.refs.component,function(){_this2.resize()})})},100)})}else{this.setState({style:_objectSpread(_objectSpread({},this.state.style),{},{opacity:0}),styleContainer:_objectSpread(_objectSpread({},this.state.styleContainer),styleContainer.hidden)},function(){_this2.closeTimeout=setTimeout(function(){_this2.setState({content:null})},WinFront.animationTimeout)})}}}},{key:"style",value:function style(){var _style=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};styleContainer=_objectSpread(_objectSpread({},styleContainer),{},{hidden:_objectSpread(_objectSpread({},styleContainer.hidden),_style),visible:_objectSpread(_objectSpread({},styleContainer.visible),_style)});this.setState({styleContainer:_objectSpread(_objectSpread({},this.state.styleContainer),_style)});return this}},{key:"open",value:function open(data){clearTimeout(this.closeTimeout);this.setState({visible:!0,content:{component:data[0],props:data[1]}});emitter.emit('open')}},{key:"render",value:function render(){var _this3=this;if(this.state.content==null){return null} 39145var Component=this.state.content.component,props=this.state.content.props;return react__WEBPACK_IMPORTED_MODULE_2__.createElement("div",{ref:"component",className:"pqnp-win-front",onClick:function onClick(){return _this3.close(WinCloseA
39145ction.BACKGROUND)},style:this.state.style},react__WEBPACK_IMPORTED_MODULE_2__.createElement("div",{ref:"container",className:"pqnp-win-front-container",onClick:function onClick(e){return e.stopPropagation()},style:this.state.styleContainer},react__WEBPACK_IMPORTED_MODULE_2__.createElement("a",{href:"javascript:{}",onClick:function onClick(){return _this3.close(WinCloseAction.BUTTON)},className:"".concat(_utils_storage__WEBPACK_IMPORTED_MODULE_1__.storage.get('config.CROSS_TYPE_CLASS')," np-cross pqnp-win-front-close")}),react__WEBPACK_IMPORTED_MODULE_2__.createElement("div",{ref:"containerInner",className:"pqnp-win-front-container-inner"},react__WEBPACK_IMPORTED_MODULE_2__.createElement("div",{ref:"content",className:"pqnp-win-front-content"},typeof Component==='function'?react__WEBPACK_IMPORTED_MODULE_2__.createElement(Component,props):Component))))}},{key:"getNewTop",value:function getNewTop(){var win=$(window),container=$(this.refs.container);var top=parseInt(container.css('top'),10),total=top+container.outerHeight(),diff=win.outerHeight()-total;if(diff<top){return(top+diff)/2} 39146return top}}]);return WinFront}(react__WEBPACK_IMPORTED_MODULE_2__.Component);_defineProperty(WinFront,"animationTimeout",350)}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39146"./src/controllers/front/popup-controller.tsx": 39147/*!****************************************************!*\ 39148 !*** ./src/controllers/front/popup-controller.tsx ***! 39149 \****************************************************/ 39150/*! exports provided: PopupController */ 39151(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"PopupController",function(){return PopupController});var _utils_storage__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../../utils/storage */"./src/utils/storage.tsx");var _containers_popup__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../../containers/popup */"./src/containers/popup.tsx");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}} 39152function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}} 39153function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor} 39154var restoreUniform=function restoreUniform(){if(window.$.hasOwnProperty('uniform')){window.$.uniform.restore($('.pqnp-popup-box input, .pqnp-popup-box select, .pqnp-popup-box textarea'))}};window.$(window).load(function(){restoreUniform()});var PopupController=function(){function PopupController(){_classCallCheck(this,PopupController)} 39155_createClass(PopupController,[{key:"ready",value:function ready(dom,params){var _this=this;if(!_utils_storage__WEBPACK_IMPORTED_MODULE_0__.storage.get('subscription_tpl_loader_better',!1)){return} 39156var win=params.win,settings=_utils_storage__WEBPACK_IMPORTED_MODULE_0__.storage.get('subscription_tpl.subscription_template_front_info');win.on('open',function(){restoreUniform()});win.style({top:this.getStyleValue(settings.body_top),minWidth:this.getStyleValue(settings.body_min_width),maxWidth:this.getStyleValue(settings.body_max_width),width:this.getStyleValue(settings.body_width)});if(/(\&|\?)newsletterproSubscribe/i.test(window.location.href)){win.open(this.getPopupContent())}else{setTimeout(function(){if(settings.display_popup){win.open(_this.getPopupContent())}},settings.start_timer*1000)} 39157dom.btnOpenPopup.on('click',function(event){var inputEmail=event.currentTarget.parentElement.querySelector('.pqnp-email-address');win.open(_this.getPopupContent(inputEmail))});dom.inputEmail.on('keydown',function(event){var inputEmail=event.currentTarget;if(event.keyCode==13){win.open(_this.getPopupContent(inputEmail))}})}},{key:"open",value:function open(){this.app.win.open(this.getPopupContent())}},{key:"close",value:function close(){this.app.win.close()}},{key:"getPopupContent",value:function getPopupContent(){var _this2=this;var inputEmail=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;var email=inputEmail?inputEmail.value:'';return[_containers_popup__WEBPACK_IMPORTED_MODULE_1__.Popup,{html:_utils_storage__WEBPACK_IMPORTED_MODULE_0__.storage.get('subscription_tpl_render'),email:email,dom:{inputEmail:inputEmail},actions:function actions(obj){_this2.actions=obj}}]}},{key:"initDom",value:function initDom(){return{btnOpenPopup:$('.pqnp-subscribe-button'),inputEmail:$('.pqnp-email-address')}}},{key:"getStyleValue",value:function getStyleValue(value){return isNaN(Number(value))?String(value):"".concat(value,"px")}}]);return PopupController}()}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39157"./src/helpers.tsx": 39158/*!*************************!*\ 39159 !*** ./src/helpers.tsx ***! 39160 \*************************/ 39161/*! exports provided: strval, getter, observeDOM, formSerialize, escapeRegex */ 39162(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"strval",function(){return strval});__webpack_require__.d(__webpack_exports__,"getter",function(){return getter});__webpack_require__.d(__webpack_exports__,"observeDOM",function(){return observeDOM});__webpack_require__.d(__webpack_exports__,"formSerialize",function(){return formSerialize});__webpack_require__.d(__webpack_exports__,"escapeRegex",function(){return escapeRegex});function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()} 39163function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")} 39164function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)} 39165function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)} 39166function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:!0};return{done:!1,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=!0,didErr=!1,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=!0;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}} 39167function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)} 39168function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2} 39169var MutationObserver=window.MutationObserver||window.WebKitMutationObserver,eventListenerSupported=window.addEventListener;function strval(value){if(typeof value==='string'){return value} 39170if(typeof value==='number'){return String(value)} 39171return''} 39172var getter=function getter(data){var dataDefaultValue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;var displayCallback=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;return function(path,defaultValue){if(!path){return data} 39173if(defaultValue===undefined){defaultValue=dataDefaultValue} 39174if(!data){if(displayCallback){return displayCallback(defaultValue)} 39175return defaultValue} 39176var pathOutArray=path.split('.'),pathOutLength=pathOutArray.length,getData=function getData(dataIn,pathArray){var defaultInValue=arguments.length>2&&arguments[2]!==undefined?arguments[2]:undefined;var pathLength=pathArray.length;var _iterator=_createForOfIteratorHelper(pathArray),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _key=_step.value;if(_key in dataIn){if(dataIn[_key]){if(pathLength===1){if(displayCallback){return displayCallback(dataIn[_key])} 39177return dataIn[_key]}else if(dataIn[_key]instanceof Object){var newPathArray=_toConsumableArray(pathArray);newPathArray.shift();return getData(dataIn[_key],newPathArray,defaultInValue)}}}}}catch(err){_iterator.e(err)}finally{_iterator.f()} 39178if(displayCallback){return displayCallback(defaultInValue)} 39179return defaultInValue};return getData(data,pathOutArray,defaultValue)}};function observeDOM(obj,callback){if(MutationObserver){var obs=new MutationObserver(function(mutations,observer){if(mutations[0].addedNodes.length||mutations[0].removedNodes.length){callback()}});obs.observe(obj,{childList:!0,subtree:!0})}
39179else if(eventListenerSupported){obj.addEventListener('DOMNodeInserted',callback,!1);obj.addEventListener('DOMNodeRemoved',callback,!1)}} 39180function formSerialize(element){var extend=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var data=element.serializeArray();for(var _key2 in extend){if(extend.hasOwnProperty(_key2)){data.push({name:_key2,value:extend[_key2]})}} 39181return data} 39182function escapeRegex(string){return string.replace(/[-\/\\^$*+?.()|[\]{}]/g,'\\$&')}}),
39182"./src/resources/forward.js": 39183/*!**********************************!*\ 39184 !*** ./src/resources/forward.js ***! 39185 \**********************************/ 39186/*! no static exports found */ 39187(function(module,exports,__webpack_require__){(function($){NewsletterPro.namespace('modules.frontForward');NewsletterPro.modules.frontForward={l:function l(name){var translations=NewsletterPro.dataStorage.get('translations');if(translations.hasOwnProperty(name)){return translations[name].replace(/\"/g,'"')} 39188return name},init:function init(Box){if($('#dispalyForm').length>0){var writeEmails=function writeEmails(emails){if(emails.length>0)$('#fwd-right-side').show();else $('#fwd-right-side').hide();$('#friends-emails-list').empty();$.each(emails,function(i,email){var tpl=$('<tr data-email="'+email+'"> \ 39189 <td class="item-email">'+email+'</td> \ 39190 <td class="item-close text-right"><a href="javascript:{}" class="close-email">'+self.l('remove')+'</a></td> \ 39191 </tr>');tpl.find('.close-email').on('click tap',function(){var email=tpl.data('email');$.ajax({url:ajaxLink,type:'POST',dataType:'json',data:{action:'deleteEmail',delete_email:email},success:function success(response){if(response.status){$('#fwd-left-side').show();var ajaxError=$('#ajax-errors');ajaxError.hide();writeEmails(response.emails);limit++;writeRemaining(limit)}else $('#ajax-errors').show().html(response.errors.join('<br>'))},error:function error(_error){alert(self.l('ajax request error'))}})});$('#friends-emails-list').append(tpl)})};var writeRemaining=function writeRemaining(value){$('#fwd-limit').html(fwdLimitText.replace('%s',value))};var self=this,limit=parseInt(NewsletterPro.dataStorage.get('fwdLimit')),ajaxLink=NewsletterPro.dataStorage.get('ajaxLink'),emailsJs=NewsletterPro.dataStorage.get('emailsJs'),fwdLimitText=$('#fwd-limit').html(),currentInput=$('#first-email');if(limit==0)$('#fwd-left-side').hide();else $('#fwd-left-side').show();writeRemaining(limit);writeEmails(emailsJs);$('#ajax-errors').on('click tap',function(){var ajaxError=$(this);if(ajaxError.find('a.subscription').length==0)ajaxError.hide()});$('#ajax-success').on('click tap',function(){$(this).hide()});$('#add-new-email').on('click tap',function(){$('#ajax-success').hide();var inputVal=$.trim(currentInput.val());$.ajax({url:ajaxLink,type:'POST',dataType:'json',data:{action:'submitForward',to_email:inputVal,token:NewsletterPro.dataStorage.get('token')},success:function success(response){if(response.status){$('#ajax-errors').hide();currentInput.val('');writeEmails(response.emails);if(limit>1){limit--;writeRemaining(limit)}else if(limit<=1){$('#fwd-left-side').hide();writeRemaining(0)}}else $('#ajax-errors').show().html(response.errors.join('<br>'))},error:function error(_error2){alert(self.l('ajax request error'))}})})} 39192return this},requestFriendSubscription:function requestFriendSubscription(element,token,fromEmail,friendEmail){var self=this;$.ajax({url:NewsletterPro.dataStorage.get('ajaxLink'),type:'POST',dataType:'json',data:{action:'requestFriendSubscription',token:token,from_email:fromEmail,friend_email:friendEmail},success:function success(response){if(response.status){$('#ajax-errors').hide();$('#first-email').val('');$('#ajax-success').html(response.message).show()}else $('#ajax-errors').show().html(response.errors.join('<br>'))},error:function error(_error3){alert(self.l('ajax request error'))}})}};module.exports=function(box){NewsletterPro.modules.frontForward.init(box)}}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39192"./src/resources/front_init.js": 39193/*!*************************************!*\ 39194 !*** ./src/resources/front_init.js ***! 39195 \*************************************/ 39196/*! no static exports found */ 39197(function(module,exports){function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)} 39198if((typeof NewsletterPro_Data==="undefined"?"undefined":_typeof(NewsletterPro_Data))==='object'){NewsletterPro.dataStorage.addObject(NewsletterPro_Data)} 39199module.exports=function(box){NewsletterPro_Ready.dispatch(box)}}),
39199"./src/resources/front_window.js": 39200/*!***************************************!*\ 39201 !*** ./src/resources/front_window.js ***! 39202 \***************************************/ 39203/*! no static exports found */ 39204(function(module,exports,__webpack_require__){(function($){NewsletterPro.namespace('components.FrontWindow');NewsletterPro.components.FrontWindow=function FrontWindow(cfg){if(!(this instanceof FrontWindow))return new FrontWindow(cfg);var selfStatic=NewsletterPro.components.FrontWindow,self=this,selector=cfg.selector,className=cfg.className,defaultContent=getDefaultContent(selector),dom=buildTemplate(selector),closeDisabled=!1;selfStatic.addInstance(selector.selector,self);if(typeof cfg.content==='function')setContent(cfg.content(this));else if($.trim(defaultContent)!='')setContent(defaultContent);resize();$(window).resize(function(){resize()});$.each([dom.bg,dom.cross],function(i,item){item.click(function(event){event.preventDefault();event.stopPropagation();self.close()})});this.show=function show(content){if(typeof content!=='undefined')setContent(content);selector.fadeIn('fast');resize();if(typeof cfg.show==='function')cfg.show(self)};this.open=function open(content){self.show(content)};this.hide=function hide(){selector.fadeOut('fast')};this.close=function close(){if(typeof cfg.close==='function')cfg.close(self);if(!isCloseDisabled())this.hide()};this.setContent=function setContent(html){setContent(html)};this.disableClose=function disableClose(){closeDisabled=!0};this.enableClose=function enableClose(){closeDisabled=!1};if(selector.hasClass('in-preview')){this.disableClose();selector.css({position:'relative'});dom.body.css({'margin-bottom':dom.body.css('top')});this.show()} 39205function buildTemplate(selector){var crossClassName=NewsletterPro.dataStorage.get('configuration.CROSS_TYPE_CLASS');var bg=$('<div class="gk-front-window-bg"> </div>');var cross=$('<span class="'+crossClassName+' np-cross"></span>');var body=$('<div class="gk-front-window '+(typeof cfg.className!=='undefined'?cfg.className:'')+'"></div>');var content=$('<div class="gk-front-window-content gk-front-window-scrollbar"></div>');selector.addClass('gk-front-window-box');bg.css({width:'100%',height:'100%'});selector.append(bg);body.append(cross);body.append(content);selector.append(body);selector.hide();return{bg:bg,cross:cross,body:body,content:content,selector:selector}} 39206function resizeCondition(fullHeight,windowHeight,scrollHeight){return fullHeight>=windowHeight&&scrollHeight>=dom.content.height()} 39207function fixSize(){var windowHeight=$(window).height(),children=dom.content.children(),scrollHeight=children.height(),bodyTop=parseInt(dom.body.css('top')),bodyPadding=dom.body.outerHeight()-dom.body.height(),bodyHeight=scrollHeight+bodyPadding,fullHeight=bodyHeight+2*bodyTop,minTop=15;if(resizeCondition(fullHeight,windowHeight,scrollHeight)){setTop(minTop);dom.content.css({height:windowHeight-bodyPadding-2*minTop,'overflow-y':'scroll'});if(!resizeCondition(fullHeight,windowHeight,scrollHeight)){var center=(windowHeight-bodyHeight)/2;var top=center>cfg.top?top:center;setTop(top);dom.content.css({height:'auto','overflow-y':'hidden'})}}else{setTop(cfg.top);dom.content.css({height:'auto','overflow-y':'hidden'})}} 39208function getDefaultContent(selector){var content=selector.html();selector.empty();return content} 39209function setContent(html){dom.content.html(html)} 39210function convertValueToPixel(value,windowWidth){if(/\%/.test(value)){percentValue=parseInt(value);value=percentValue*windowWidth/100}else if(/px/.test(value))value=parseInt(value);return value} 39211function setWidth(value){if(typeof value!=='undefined'){var windowWidth=$(window).width();value=convertValueToPixel(value,windowWidth);var maxWidth=null,minWidth=null;if(typeof cfg.maxWidth!=='undefined'||cfg.maxWidth!=null)maxWidth=convertValueToPixel(cfg.maxWidth,windowWidth);if(typeof cfg.minWidth!=='undefined'||cfg.minWidth!=null)minWidth=convertValueToPixel(cfg.minWidth,windowWidth);if(maxWidth!=null&&value>=maxWidth)value=maxWidth;else if(minWidth!=null&&value<=minWidth)value=minWidth;dom.body.css({width:value/windowWidth*100+'%'});var marginLeft=(windowWidth-value)/2/windowWidth*100+'%';var marginRight=marginLeft;dom.body.css({'margin-left':marginLeft,'margin-right':marginRight})}} 39212function setHeight(value){if(typeof value!=='undefined'){dom.body.height(value)}} 39213function centerWindow(){dom.body.css({top:($(window).height()-dom.body.height())/2+'px'})} 39214function setTop(value){dom.body.css({top:value+'px'})} 39215function resize(){setWidth(cfg.width);setHeight(cfg.height);if(issetTop())setTop(cfg.top);else centerWindow();fixSize()} 39216function issetTop(){if(typeof cfg.top==='undefined')return!1;return!0} 39217function isCloseDisabled(){return closeDisabled}};NewsletterPro.components.FrontWindow.instances={};NewsletterPro.components.FrontWindow.addInstance=function(id,value){var instances=NewsletterPro.components.FrontWindow.instances;instances[id]=value};NewsletterPro.components.FrontWindow.getInstanceById=function(id){var instances=NewsletterPro.components.FrontWindow.instances;if(instances.hasOwnProperty(id))return instances[id];return!1};NewsletterPro.components.FrontWindow.getInstances=function(){return NewsletterPro.components.FrontWindow.instances}}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39217"./src/resources/init.js": 39218/*!*******************************!*\ 39219 !*** ./src/resources/init.js ***! 39220 \*******************************/ 39221/*! no static exports found */ 39222(function(module,exports,__webpack_require__){(function($){function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)} 39223window.NewsletterPro=window.NewsletterPro||{};var NewsletterPro=window.NewsletterPro;$(function(){try{NewsletterPro.modifyTextarea()}catch(error){console.warn(error)}});NewsletterPro.define={SEND_METHOD_DEFAULT:0,SEND_METHOD_ANTIFLOOD:1,SEND_THROTTLER_TYPE_EMAILS:0,SEND_THROTTLER_TYPE_MB:1};NewsletterPro.prototype={name:'Newsletter Pro',version:'4.0.1'};NewsletterPro.namespace=function(ns_string){var parts=ns_string.split('.'),parent=NewsletterPro,i;if(parts[0]==='NewsletterPro'){parts=parts.slice(1)} 39224for(i=0;i<parts.length;i++){if(typeof parent[parts[i]]==='undefined'){parent[parts[i]]={}} 39225parent=parent[parts[i]]} 39226return parent};NewsletterPro.alertErrors=function(errors){var string;if(typeof errors==='string')string=errors.replace(/\"/g,'"');else string=String(errors.join('\n')).replace(/\"/g,'"');string=string.replace(/\&\#039;/g,'"');alert(string)};NewsletterPro.displayAlert=function(string,separator){separator=separator||'\n';if(_typeof(string)==='object')string=string.join(separator);string=string.replace(/\"/g,'"');string=string.replace(/\&\#039;/g,'"');string=string.replace(/\&\gt;/g,'>');string=string.replace(/\&\lt;/g,'<');return string};NewsletterPro.showAjaxLoader=function(target){var loder=target.find('.btn-ajax-loader');if(loder.length>0)loder.show();else{loder=target.find('.ajax-loader');if(loder.length>0)loder.show()}};NewsletterPro.hideAjaxLoader=function(target){var loder=target.find('.btn-ajax-loader');if(loder.length>0)loder.hide();else{loder=target.find('.ajax-loader');if(loder.length>0)loder.hide()}};NewsletterPro.getUrl=function(params){return NewsletterPro.dataStorage.get('ajax_url')+this.parseUrl(params)};NewsletterPro.parseUrl=function(params,trimFirst){if(typeof trimFirst==='undefined')trimFirst=!1;var paramsString='';for(var key in params){var value=params[key];paramsString+='&'+key+'='+value} 39227return trimFirst==!0?paramsString.substr(1):paramsString};NewsletterPro.extendSubscribeFeature=function(obj){obj.subscriptionFeature=obj.subscriptionFeature||{};obj.subscribe=function(eventName,func,instance){if(!obj.subscriptionFeature.hasOwnProperty(eventName))obj.subscriptionFeature[eventName]=[];obj.subscriptionFeature[eventName].push({func:func,instance:instance})};obj.publish=function(eventName,data){if(obj.subscriptionFeature.hasOwnProperty(eventName)){for(var i=0;i<obj.subscriptionFeature[eventName].length;i++){var result=typeof data==='function'?data():data;var func=obj.subscriptionFeature[eventName][i].func;var instance=obj.subscriptionFeature[eventName][i].instance||obj;func.call(instance,result)}}}};NewsletterPro.dataStorage={data:{},init:function init(){NewsletterPro.extendSubscribeFeature(this);return this},get:function get(name){if(typeof name==='undefined')return this.data;var split=name.split('.');if(split.length>1){var target='NewsletterPro.dataStorage.data'+'.'+split.join('.');try{if(eval('typeof '+target)!=='undefined')return eval(target)}catch(e){return!1}}else if(this.data.hasOwnProperty(name))return this.data[name];return!1},getNumber:function getNumber(name){var value=Number(this.get(name));if(isNaN(value))return 0;return value},has:function has(name){if(typeof name==='undefined')return this.data;var split=name.split('.');if(split.length>1){var target='NewsletterPro.dataStorage.data'+'.'+split.join('.');try{if(eval('typeof '+target)!=='undefined')return!0}catch(e){return!1}}else if(this.data.hasOwnProperty(name))return!0;return!1},add:function add(name,value){var splitName=name.split('.'),parent=this.data,i;for(i=0;i<splitName.length;i++){if(i==splitName.length-1)parent[splitName[i]]=value;else{if(_typeof(parent[splitName[i]])!=='object')parent[splitName[i]]={}} 39228if(_typeof(parent)==='object')parent=parent[splitName[i]]}},set:function set(name,value){this.add(name,value);this.publish('change'+name,value)},addObject:function addObject(obj){for(var i in obj){this.data[i]=obj[i]}},append:function append(name,value){if(this.data.hasOwnProperty(name))this.data[name].push(value);else{this.data[name]=[];this.data[name].push(value)}},on:function on(evt,name,func){switch(evt){case 'change':this.subscribe('
39228change'+name,func);break}}}.init();NewsletterPro.test={dom:function(_dom){function dom(){return _dom.apply(this,arguments)} 39229dom.toString=function(){return _dom.toString()};return dom}(function(){var modules=NewsletterPro.modules;for(var i in modules){var moduleName=i,module=modules[i];dom=module.dom;for(var j in dom){var name=j,value=dom[j];if(value.length==0)throw Error('Error: The element "'+name+'" does not exist in the module "'+moduleName+'"')}}})};NewsletterPro.onObject={callback:{},setCallback:function setCallback(name,func){this.callback[name]=func},run:function run(name,ed){if(this.callback.hasOwnProperty(name)){this.callback[name](ed)}}};NewsletterPro.uniqueId=function(length){length=length||3;var output='';function s4(){return((1+Math.random())*0x10000|0).toString(16).substring(1)} 39230for(var i=0;i<length;i++){output+=s4()+'-'} 39231return output.replace(/-$/,'')};NewsletterPro.ucfirst=function(string){return string.charAt(0).toUpperCase()+string.slice(1)};NewsletterPro.modifyTextarea=function(){HTMLTextAreaElement.prototype.getCaretPosition=function(){return this.selectionStart};HTMLTextAreaElement.prototype.setCaretPosition=function(position){this.selectionStart=position;this.selectionEnd=position;this.focus()};HTMLTextAreaElement.prototype.hasSelection=function(){if(this.selectionStart==this.selectionEnd){return!1}else{return!0}};HTMLTextAreaElement.prototype.getSelectedText=function(){return this.value.substring(this.selectionStart,this.selectionEnd)};HTMLTextAreaElement.prototype.setSelection=function(start,end){this.selectionStart=start;this.selectionEnd=end;this.focus()}};NewsletterPro.setBoxSizeing=function(array){for(var i in array){array[i].css({'box-sizing':'content-box'})}};NewsletterPro.versionCompare=function(v1,v2,options){var lexicographical=options&&options.lexicographical,zeroExtend=options&&options.zeroExtend,v1parts=v1.split('.'),v2parts=v2.split('.');function isValidPart(x){return(lexicographical?/^\d+[A-Za-z]*$/:/^\d+$/).test(x)} 39232if(!v1parts.every(isValidPart)||!v2parts.every(isValidPart))return NaN;if(zeroExtend){while(v1parts.length<v2parts.length){v1parts.push('0')} 39233while(v2parts.length<v1parts.length){v2parts.push('0')}} 39234if(!lexicographical){v1parts=v1parts.map(Number);v2parts=v2parts.map(Number)} 39235for(var i=0;i<v1parts.length;++i){if(v2parts.length==i)return 1;if(v1parts[i]==v2parts[i])continue;else if(v1parts[i]>v2parts[i])return 1;else return-1} 39236if(v1parts.length!=v2parts.length)return-1;return 0};NewsletterPro.subscription=function(object,subscription){for(var i=0;i<object.subscription.length;i++){var value=object.subscription[i];value[0].subscribe(value[1],object[value[2]],object)}};NewsletterPro.htmlEncode=function(value){return $('<div/>').text(value).html()};NewsletterPro.htmlDecode=function(value){return $('<div/>').html(value).text()};NewsletterPro.getXHRError=function(jqXHR,size){size=size||1000;var text=jqXHR.responseText,msg=this.htmlEncode(text.slice(0,1000));if(text.length>1000)msg+='...';return msg};NewsletterPro.bootstrap=function(func){var bool=Number(this.dataStorage.get('bootstrap'));return func(bool)};NewsletterPro.isTinyHigherVersion=function(){if(tinyMCE.majorVersion>=4)return!0;return!1};NewsletterPro.linkAdd=function(link,params,hash){params=params||'';hash=hash||'';if(link){var hashIndex=link.indexOf('#');if(/\?/.test(link)&¶ms.length>0){if(hashIndex!=-1)link=link.substr(0,hashIndex)+'&'+params+link.substr(hashIndex);else link=link+'&'+params}else if(params.length>0){if(hashIndex!=-1)link=link.substr(0,hashIndex)+'?'+params+link.substr(hashIndex);else link=link+'?'+params} 39237if(hashIndex!=-1&&hash.length>0)link=link+hash;else if(hash.length>0)link=link+'#'+hash} 39238return link};NewsletterPro.trimString=function(str,value,end){end=end||'...';value=parseInt(value);if(!0){if(str.length>value+end.length)str=str.slice(0,value)+end}else{} 39239return str};NewsletterPro.objSize=function(obj){var size=0;for(var i in obj){size++} 39240return size};NewsletterPro.parseProductHeader=function(content,matchContent){matchContent=typeof matchContent!=='undefined'?matchContent:!0;var parseProductHeader=function parseProductHeader(headerString){var match=headerString.split('\n');var headerLine='';if(match!=null&&match.length>0){for(var i=0;i<match.length;i++){var item=match[i].replace(/\s+/g,'');if(item!=''){headerLine+=item;if(item[item.length-1]!==';'){headerLine+=';'}}}} 39241var header=headerLine.split(';');var headerObject={};if(header!=null&&header.length>0){for(var i=0;i<header.length;i++){var line=header[i].replace(/\s+/g,'');if(line!=''){var prop=line.split('=');if(typeof prop[1]!=='undefined'){headerObject[prop[0]]=prop[1]==='false'?!1:prop[1]==='true'?!0:!isNaN(Number(prop[1]))?Number(prop[1]):prop[1]}}}} 39242return headerObject};var getHeader=function getHeader(content){var match=content.match(/<!-- start header -->\s*?<!--([\s\S]*)-->\s*?<!-- end header -->/);if(!matchContent){match=[];match[0]='';match[1]=content} 39243var matchFullHeader,matchHeader,headerObject={};if(match!=null&&match.length>0){matchFullHeader=match[0];matchHeader=match[1];headerObject=parseProductHeader(matchHeader);content=content.replace(matchFullHeader,'')} 39244return headerObject};return getHeader(content)};NewsletterPro.parseObject=function(obj,callback){var objKeys=Object.keys(obj);if(objKeys.length>0){for(var i=0;i<objKeys.length;i++){callback(obj[objKeys[i]],objKeys[i])}}};NewsletterPro.mapObject=function(obj,callback){var objKeys=Object.keys(obj),data=[];if(objKeys.length>0){for(var i=0;i<objKeys.length;i++){data.push(callback(obj[objKeys[i]],objKeys[i]))}} 39245return data}}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39245"./src/resources/my_account.js": 39246/*!*************************************!*\ 39247 !*** ./src/resources/my_account.js ***! 39248 \*************************************/ 39249/*! no static exports found */ 39250(function(module,exports,__webpack_require__){(function($){NewsletterPro.namespace('modules.myAccount');NewsletterPro.modules.myAccount={box:null,dom:null,init:function init(box){var self=this;self.box=box;self.selectedCategories=[];function getCategories(content){var categories=content.find('input[type="checkbox"]');if(categories.length>0)return categories;return[]} 39251function getSelected(categoryTree){var values=[];if(typeof categoryTree!=='array'){values=$.map(categoryTree,function(item){var item=$(item);var val=item.val();if(val!=='undefined'&&item.is(':checked')){return parseInt(val)}})} 39252return values} 39253self.ready(function(dom){if(box.dataStorage.get('isPS17')){var subscribedCategories=$('input[name=subscribed_categories]');if(subscribedCategories.length>0&&subscribedCategories.val().length>0){self.selectedCategories=subscribedCategories.val().split(',')} 39254var categoryTree=new self.CategoryTree(self);$('#np-category-tree').html(categoryTree.render())}else{var categoryTree;dom.submit.click(function(){categoryTree=categoryTree||getCategories(dom.categoryTree);var selected=getSelected(categoryTree)})}});return this},CategoryTree:function CategoryTree(module){var self=this,box=NewsletterPro,Node=module.CategoryNode,template,dom,getRoot=function getRoot(successCallback){if(box.dataStorage.has('home_category'))successCallback(box.dataStorage.get('home_category'));else $.postAjax({submit:'getHomeCategory'},null,!1).done(successCallback)},render=function render(){return template};template=$('<ul></ul>');dom={};getRoot(function(data){var node=new Node(module,data,null);template.html(node.render())});this.render=render},CategoryNode:function CategoryNode(module,data,parent){this.data=data;this.id=Number(data.id_category);if((index=module.selectedCategories.indexOf(String(this.id)))>-1){module.selectedCategories.splice(index,1);var subscribedCategories=$('input[name=subscribed_categories]');if(subscribedCategories.length>0){subscribedCategories.val(module.selectedCategories.join(','))}} 39255this.id_parent=Number(data.id_parent);this.name=data.name;this.childrens_count=Number(data.childrens_count);this.checked=Number(data.checked);this.expanded=!1;this.childrens=[];this.parent=parent;var self=this,template,Node=module.CategoryNode,dom,icons={expand:'<i class="material-icons"></i>',collapse:'<i class="material-icons"></i>'},render=function render(){return template},addChild=function addChild(childNode){this.childrens.push(childNode);childNode.parent=self},expand=function expand(){self.expanded=!0;dom.toggle.html(icons.collapse);dom.childrens.show();if(self.childrens_count>0&&self.childrens.length==0){$.postAjax({submit:'getCategoryChildrens',id_category:self.id}).done(function(data){for(var i=0;i<data.length;i++){var node=new Node(module,data[i],this);self.addChild(node);dom.childrens.append(node.render())}})}},collapse=function collapse(){self.expanded=!1;dom.toggle.html(icons.expand);dom.childrens.hide()};template=$('\ 39256 <li>\ 39257 <div>\ 39258 <a href="javascript:{}" class="np-category-toggle '+(this.childrens_count>0?'':'np-visibility-hidden')+'">\ 39259 '+(this.expanded?icons.collapse:icons.expand)+'\ 39260 </a>\ 39261 <span class="custom-checkbox">\ 39262 <label>\ 39263 <input name="categoryBox[]" type="checkbox" value="'+this.id+'" '+(this.checked?'checked':'')+'>\ 39264 <span>\ 39265 <i class="material-icons checkbox-checked"></i>\ 39266 </span>\ 39267 <span>'+this.name+'</span>\ 39268 </label>\ 39269 </span>\ 39270 </div>\ 39271 <ul class="np-category-childrens" '+(this.expanded?'':'style="display: none"')+'></ul>\ 39272 </li>\ 39273 ');dom={toggle:template.find('.np-category-toggle'),childrens:template.find('.np-category-childrens')};dom.toggle.on('click',function(e){if(self.expanded){collapse()}else{expand()}});this.render=render;this.addChild=addChild},ready:function ready(func){var self=this;$(document).ready(function(){self.dom={categoryTree:$('#category-tree'),submit:$('input[name="submitNewsletterProSettings"]')};func(self.dom)})}};module.exports=function(box){NewsletterPro.modules.myAccount.init(box)}}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39273"./src/resources/newsletter.js": 39274/*!*************************************!*\ 39275 !*** ./src/resources/newsletter.js ***! 39276 \*************************************/ 39277/*! no static exports found */ 39278(function(module,exports,__webpack_require__){(function($){function postAjax(data,dataType,catchError){dataType=dataType||'json';catchError=typeof catchError!=='undefined'?catchError:!0;return $.ajax({url:NewsletterPro.dataStorage.get('ajax_url'),type:'POST',dataType:dataType,data:data,error:function error(data){if(dataType=='json'){if(catchError==!0){var login=data.getResponseHeader('Login')==='true'?!0:!1;if(login){alert('The login session has expired. You must refresh the browser and login again. The next time when you are login check the button "Stay logged in".')}else{alert('Ajax request error, please check your console for more details!')}} 39279console.warn('error: the returned data must be json, your response text is: ');console.warn(data.responseText)}}}).promise()} 39280function updateConfiguration(name,value){return postAjax({submit:'jsUpdateConfiguration',name:name,value:value}).promise()} 39281function objSize(obj){return Object.keys(obj).length} 39282function getFormData(){form=this;var formObj=form.serializeArray(),formdata={},j=0,len=formObj.length,item;for(;j<len;j++){item=formObj[j];formdata[item.name]=item.value} 39283if(formdata)return formdata;return{}} 39284function setCookie(c_name,value,exdays){var exdate=new Date();exdate.setDate(exdate.getDate()+exdays);var c_value=escape(value)+(exdays==null?'':'; expires='+exdate.toUTCString());document.cookie=c_name+'='+c_value} 39285function getCookie(c_name){var i,x,y,ARRcookies=document.cookie.split(';');for(i=0;i<ARRcookies.length;i++){x=ARRcookies[i].substr(0,ARRcookies[i].indexOf('='));y=ARRcookies[i].substr(ARRcookies[i].indexOf('=')+1);x=x.replace(/^\s+|\s+$/g,'');if(x==c_name){return unescape(y)}}} 39286function deleteCookie(name){document.cookie=name+'=; expires=Thu, 01-Jan-70 00:00:01 GMT;'} 39287function submitAjax(obj,dataType,catchError){catchError=typeof catchError!=='undefined'?catchError:!0;dataType=dataType||'json';var self=this;this.form=obj.form;var formObj=this.form.serializeArray();var formdata=!1;if(window.FormData)formdata=new FormData();var files=this.form.find('input[type="file"]');var k=0,length=files.length,input;for(;k<length;k++){input=$(files[k]);var i=0,len=input[0].files.length,file;for(;i<len;i++){file=input[0].files[i];if(formdata){formdata.append(input.attr('name')+'',file)}}} 39288var j=0,len=formObj.length,item;for(;j<len;j++){item=formObj[j];if(formdata){formdata.append(item.name,item.value)}} 39289var submitModule=null;for(var key in obj){if(/^submit_\w+/.test(key)){submitModule=key;break}} 39290if(formdata){if(obj.hasOwnProperty('name')){var appendValue=!0;if(obj.hasOwnProperty('value'))appendValue=obj.value;formdata.append(obj.name,appendValue)} 39291if(obj.hasOwnProperty('submit'))formdata.append('submit',obj.submit);else if(submitModule)formdata.append(submitModule,obj[submitModule]);if(obj.hasOwnProperty('data')){$.each(obj.data,function(name,value){formdata.append(name,value)})}} 39292var errorCallback=function errorCallback(data){if(dataType=='json'){if(catchError==!0)alert('You have an request error, check the console for more details.');console.log('error: the returned data must be json, your response text is: ');console.log(data.responseText)}};if(formdata){return $.ajax({url:NewsletterPro.dataStorage.get('ajax_url'),type:'POST',data:formdata,processData:!1,contentType:!1,dataType:dataType,error:errorCallback}).promise()}else{var data=this.form.getFormData();if(obj.hasOwnProperty('submit'))data.submit=obj.submit;else if(submitModule)formdata.append(submitModule,obj[submitModule]);return $.ajax({url:NewsletterPro.dataStorage.get('ajax_url'),type:'POST',data:data,dataType:dataType,error:errorCallback}).promise()}} 39293function getPaddingWidth(){var left=parseFloat(this.css('padding-left')),right=parseFloat(this.css('padding-right'));return left+right} 39294function widthCSS(value){var that=$(this);if(typeof value!=='undefined'){var val=0;if(/%/.test(new RegExp(String(value)))){val=value}else if(/px/.test(new RegExp(String(value)))){val=value}else{val=parseInt(value)+'px'} 39295that.css('width',val);return that}else{return parseInt(that.css('width'))}} 39296function quickOuterWidth(){var elem=this.get(0);if(window.getComputedStyle){var computedStyle=window.getComputedStyle(elem,null);return elem.offsetWidth+(parseInt(computedStyle.getPropertyValue('margin-left'),10)||0)+(parseInt(computedStyle.getPropertyValue('margin-right'),10)||0)}else{return elem.offsetWidth+(parseInt(elem.currentStyle.marginLeft)||0)+(parseInt(elem.currentStyle.marginRight)||0)}} 39297module.exports=function(arr){for(var i=0;i<arr.length;i++){var obj=arr[i];obj.extend({postAjax:postAjax,updateConfiguration:updateConfiguration,objSize:objSize,setCookie:setCookie,getCookie:getCookie,deleteCookie:deleteCookie,submitAjax:submitAjax});obj.fn.extend({getPaddingWidth:getPaddingWidth,widthCSS:widthCSS,quickOuterWidth:quickOuterWidth,getFormData:getFormData})}}}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39297"./src/resources/newsletter_subscribe.js": 39298/*!***********************************************!*\ 39299 !*** ./src/resources/newsletter_subscribe.js ***! 39300 \***********************************************/ 39301/*! no static exports found */ 39302(function(module,exports,__webpack_require__){(function($){NewsletterPro.namespace('modules.newsletterSubscribe');NewsletterPro.modules.newsletterSubscribe={box:null,dom:null,popup:null,l:function l(name){var translations=NewsletterPro.dataStorage.get('translations_subscribe');if(translations.hasOwnProperty(name)){return translations[name].replace(/\"/g,'"')} 39303return name},init:function init(box){var self=this,uniformInit=!1,popup,viewport=new box.components.Viewport(),smClasses=['np-footer-section-sm'],xsClasses=['np-footer-section-xs'];self.box=box;self.ready(function(dom){if(NewsletterProApp.storage.get('subscription_tpl_loader_better')){return} 39304var updateClasses=function updateClasses(){if(viewport.is('xs')){for(var i=0;i<smClasses.length;i++){dom.npsb.removeClass(smClasses[i]);dom.npsbId.removeClass(smClasses[i])} 39305for(var i=0;i<xsClasses.length;i++){dom.npsb.addClass(xsClasses[i]);dom.npsbId.addClass(xsClasses[i])}}else{for(var i=0;i<xsClasses.length;i++){dom.npsb.removeClass(xsClasses[i]);dom.npsbId.removeClass(xsClasses[i])} 39306for(var i=0;i<smClasses.length;i++){dom.npsb.addClass(smClasses[i]);dom.npsbId.addClass(smClasses[i])}}};updateClasses();$(window).resize(function(){updateClasses()});var define={emailText:$('.pqnp-email-address').val()};var target;var info=box.dataStorage.get('subscription_template_front_info');popup=self.popup=new box.components.FrontWindow({className:'np-popup-subscription-window',width:info.body_width,minWidth:info.body_min_width>0?info.body_min_width:null,maxWidth:info.body_max_width>0?info.body_max_width:null,top:info.body_top,selector:$('.nps-popup'),show:function show(pup){$('.nps-popup .np-cross').removeClass('cross-message');if(!uniformInit){uniformInit=!0;if($.hasOwnProperty('uniform')){$('.np-select-option, .np-input-radio, .np-input-checkbox').uniform()}}else{if($.hasOwnProperty('uniform'))$.uniform.update('.np-select-option, .np-input-radio, .np-input-checkbox')}},close:function close(pup){var closeForever=box.dataStorage.getNumber('subscription_template_front_info.close_forever');if(closeForever)box.modules.newsletterSubscribe.closeForever()}});if(/(\&|\?)newsletterproSubscribe/i.test(window.location.href))popup.show();setTimeout(function(){if(info.display_popup)popup.show()},info.start_timer*1000);$(window).resize(function(){if($.hasOwnProperty('uniform'))$.uniform.update('.np-select-option, .np-input-radio, .np-input-checkbox')});var showPopUpCallback=function showPopUpCallback(event){event.preventDefault();var ajaxError=$('.ajax-errors-subscribe'),ajaxSuccess=$('.ajax-success-subscribe'),email=$('.pqnp-email-address').val();if(typeof target!=='undefined')email=target.val();ajaxError.hide();ajaxSuccess.hide();$('.nps-popup-content').show();$('.nps-popup-response').hide();if(email!==define.emailText)$('.np-popup-email').val(email);popup.show();$('.pqnp-email-address').val(define.emailText)};$('.pqnp-email-address').on('keydown',function(event){if(event.keyCode==13){event.stopPropagation();showPopUpCallback(event)}});dom.openSubscribe.on('click tap',showPopUpCallback);$('.pqnp-email-address').focusin(function(event){target=$(event.currentTarget);if(target.val()===define.emailText)target.val('')});$('.pqnp-email-address').blur(function(event){target=$(event.currentTarget);if($.trim(target.val())==='')target.val(define.emailText)});$('.submit-newsletterpro-subscribe').on('click tap',function(){var ajaxError=$('.ajax-errors-subscribe'),ajaxSuccess=$('.ajax-success-subscribe');ajaxError.hide();ajaxSuccess.hide();var terms=$('.np-terms-and-conditions-checkbox');if(terms.length){if(!terms.is(':checked')){ajaxError.show().html(self.l('You must agree to the terms of service before subscribing.'));return}} 39307var submitNewsletterProSubscribeCallbackDone=function submitNewsletterProSubscribeCallbackDone(response){if(response.status){if(response.displaySubscribeMessage==!0){$('.nps-popup-content').hide();$('.nps-popup-response').empty().show().html(response.msg);$('.nps-popup .np-cross').addClass('cross-message')}else{ajaxSuccess.show().html(response.msg);self.clearForm();setTimeout(function(){self.closeForever()},5000)}}else{var errors=box.displayAlert(response.errors.join('<br>'));ajaxError.show().html(errors)}
39308self.resizeBackofficeView()};var submitNewsletterProSubscribeCallbackFail=function submitNewsletterProSubscribeCallbackFail(){ajaxError.show().html(self.l('ajax request error'));self.resizeBackofficeView()};console.log('form',$('.np-subscribe-form'));$.submitAjax({submit:'submitNewsletterProSubscribe',form:$('.np-subscribe-form')},'json',!1).done(submitNewsletterProSubscribeCallbackDone).fail(submitNewsletterProSubscribeCallbackFail)});$('.newsletterpro-subscribe-close-forever').on('click tap',function(){self.closeForever()});$('.ajax-errors-subscribe').on('click tap',function(){$(this).hide()});$('.ajax-success-subscribe').on('click tap',function(){$(this).hide()})});return this},closeForever:function closeForever(){var self=this,box=self.box;var ajaxError=$('.ajax-errors-subscribe'),ajaxSuccess=$('.ajax-success-subscribe');ajaxError.hide();ajaxSuccess.hide();$.postAjax({submit:'submitNewsletterProSubscribeCloseForever'}).done(function(response){if(response.status)self.popup.hide();else{var errors=box.displayAlert(response.errors.join('<br>'));ajaxError.show().html(errors);setTimeout(function(){popup.close()},5000)}})},clearForm:function clearForm(){var self=this;$('.nps-popup-content').find('[name=firstname]').val('');$('.nps-popup-content').find('[name=lastname]').val('');$('.nps-popup-content').find('.np-popup-email').val('');$('.nps-popup-content').find('.np-days').prop('selectedIndex',0);$('.nps-popup-content').find('.np-months').prop('selectedIndex',0);$('.nps-popup-content').find('.np-years').prop('selectedIndex',0);$('.nps-popup-content').find('.np-list-of-interest').prop('selectedIndex',0);if($.hasOwnProperty('uniform'))$.uniform.update('.np-select-option, .np-input-radio, .np-input-checkbox')},resizeBackofficeView:function resizeBackofficeView(){if(typeof parent.NewsletterPro.modules.frontSubscription!=='undefined'){var frontSubscription=parent.NewsletterPro.modules.frontSubscription;frontSubscription.resizeView()}},ready:function ready(func){var self=this;$(document).ready(function(){self.dom={openSubscribe:$('.pqnp-subscribe-button'),npsb:$('.pqnp-subscribe-block'),npsbId:$('.pqnp-subscribe-container')};func(self.dom)})}};module.exports=function(box){NewsletterPro.modules.newsletterSubscribe.init(box)}}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39308"./src/resources/viewport.js": 39309/*!***********************************!*\ 39310 !*** ./src/resources/viewport.js ***! 39311 \***********************************/ 39312/*! no static exports found */ 39313(function(module,exports){NewsletterPro.namespace('components.Viewport');NewsletterPro.components.Viewport=function Viewport(cfg){if(!(this instanceof Viewport))return new FrontWindow(cfg);var self=this;this.width=window.innerWidth;this.operators=['<','<=','==','!=','>','>='];this.defaultOperator='==';this.sizes=['xs','sm','md','lg']};NewsletterPro.components.Viewport.prototype.is=function(size,operator){operator=operator||this.defaultOperator;var screenSize,screenSizeIndex,sizeIndex=this.sizes.indexOf(size),result=!1;if(this.sizes.indexOf(size)==-1)throw new Error('The operator '+operator+' does not exists.');if(this.operators.indexOf(operator)==-1)throw new Error('The operator '+operator+' does not exists.');this.width=window.innerWidth;if(this.width<768)screenSize='xs';else if(this.width>=768&&this.width<992)screenSize='sm';else if(this.width>=992&&this.width<1200)screenSize='md';else screenSize='lg';screenSizeIndex=this.sizes.indexOf(screenSize);switch(operator){case '<':result=screenSizeIndex<sizeIndex;break;case '<=':result=screenSizeIndex<=sizeIndex;break;case '==':result=screenSizeIndex==sizeIndex;break;case '!=':result=screenSizeIndex!=sizeIndex;break;case '>':result=screenSizeIndex>sizeIndex;break;case '>=':result=screenSizeIndex>=sizeIndex;break} 39314return result}}),
39314"./src/scss/app_front.scss": 39315/*!*********************************!*\ 39316 !*** ./src/scss/app_front.scss ***! 39317 \*********************************/ 39318/*! no static exports found */ 39319(function(module,exports){}),
39319"./src/scss/app_style/newsletterpro_cross.scss": 39320/*!*****************************************************!*\ 39321 !*** ./src/scss/app_style/newsletterpro_cross.scss ***! 39322 \*****************************************************/ 39323/*! no static exports found */ 39324(function(module,exports){}),
39324"./src/scss/pqnp-font.scss": 39325/*!*********************************!*\ 39326 !*** ./src/scss/pqnp-font.scss ***! 39327 \*********************************/ 39328/*! no static exports found */ 39329(function(module,exports){}),
39329"./src/scss/win-front.scss": 39330/*!*********************************!*\ 39331 !*** ./src/scss/win-front.scss ***! 39332 \*********************************/ 39333/*! no static exports found */ 39334(function(module,exports){}),
39334"./src/utils/ajax.tsx": 39335/*!****************************!*\ 39336 !*** ./src/utils/ajax.tsx ***! 39337 \****************************/ 39338/*! exports provided: config, ajax */ 39339(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"config",function(){return config});__webpack_require__.d(__webpack_exports__,"ajax",function(){return ajax});var _classes_ajax__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../classes/ajax */"./src/classes/ajax.tsx");var ajax=new _classes_ajax__WEBPACK_IMPORTED_MODULE_0__.Ajax('pqnpAction');function config(actionKey){return new _classes_ajax__WEBPACK_IMPORTED_MODULE_0__.Ajax(actionKey)}}),
39339"./src/utils/storage.tsx": 39340/*!*******************************!*\ 39341 !*** ./src/utils/storage.tsx ***! 39342 \*******************************/ 39343/*! exports provided: storage */ 39344(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"storage",function(){return storage});var _classes_storage__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../classes/storage */"./src/classes/storage.tsx");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)} 39345var storage=new _classes_storage__WEBPACK_IMPORTED_MODULE_0__.Storage();if(_typeof(window.NewsletterProAppStorage)==='object'){storage.setObject(window.NewsletterProAppStorage)} 39346$(document).ready(function(){if(storage.length()===0){storage.setObject(window.NewsletterProAppStorage)}})}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39346"./src/utils/translate.tsx": 39347/*!*********************************!*\ 39348 !*** ./src/utils/translate.tsx ***! 39349 \*********************************/ 39350/*! exports provided: translate */ 39351(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"translate",function(){return translate});var _classes_translate__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../classes/translate */"./src/classes/translate.tsx");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)} 39352var translate=new _classes_translate__WEBPACK_IMPORTED_MODULE_0__.Translate();if(_typeof(window.NewsletterProAppTranslate)==='object'){translate.setObject(window.NewsletterProAppTranslate,!0)} 39353$(document).ready(function(){if(translate.length()===0){translate.setObject(window.NewsletterProAppTranslate,!0)}})}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39353"./src/utils/url.tsx": 39354/*!***************************!*\ 39355 !*** ./src/utils/url.tsx ***! 39356 \***************************/ 39357/*! exports provided: url */ 39358(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"url",function(){return url});var _classes_url__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../classes/url */"./src/classes/url.tsx");var url=new _classes_url__WEBPACK_IMPORTED_MODULE_0__.Url()}),
39358"./src/utils/win.tsx": 39359/*!***************************!*\ 39360 !*** ./src/utils/win.tsx ***! 39361 \***************************/ 39362/*! exports provided: ready, init, win */ 39363(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"ready",function(){return ready});__webpack_require__.d(__webpack_exports__,"init",function(){return init});__webpack_require__.d(__webpack_exports__,"win",function(){return win});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! react */"./node_modules/react/index.js");var react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);var react_dom__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! react-dom */"./node_modules/react-dom/index.js");var react_dom__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);var _containers_win_front__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ../containers/win-front */"./src/containers/win-front.tsx");var _classes_promise__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ../classes/promise */"./src/classes/promise.tsx");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:!0};return{done:!1,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=!0,didErr=!1,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=!0;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}} 39364function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)} 39365function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2} 39366var win=null;var callbacks=[];function ready(callback){if(win!==null){return callback(win)} 39367callbacks.push(callback)} 39368function init(initCallback){return new _classes_promise__WEBPACK_IMPORTED_MODULE_3__["default"](function(resolve,reject){$(document).ready(function(){$(document.body).append('<div id="pqnp-win"></div>');win=react_dom__WEBPACK_IMPORTED_MODULE_1__.render(react__WEBPACK_IMPORTED_MODULE_0__.createElement(_containers_win_front__WEBPACK_IMPORTED_MODULE_2__.WinFront,null),document.getElementById('pqnp-win'));resolve(win);initCallback(win);if(callbacks.length>0){var _iterator=_createForOfIteratorHelper(callbacks),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var callback=_step.value;callback(win)}}catch(err){_iterator.e(err)}finally{_iterator.f()}}})})}}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))})
vendor: 5,091 bytes, lines 39368-39372
39368});/*! jQuery UI - v1.10.3 - 2013-05-03 39369* http://jqueryui.com 39370* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.effect.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js, jquery.ui.menu.js, jquery.ui.position.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js 39371* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 39372!function(a,b){function e(b,c){var d,e,g,h=b.nodeName.toLowerCase();return"area"===h?(d=b.parentNode,e=d.name,!(!b.href||!e||"map"!==d.nodeName.toLowerCase())&&(g=a("img[usemap=#"+e+"]")[0],!!g&&f(g))):(/input|select|textarea|button|object/.test(h)?!b.disabled:"a"===h?b.href||c:c)&&f(b)}function f(b){return a.expr.filters.visible(b)&&!a(b).parents().addBack().filter(function(){return"hidden"===a.css(this,"visibility")}).length}var c=0,d=/^ui-id-\d+$/;a.ui=a.ui||{},a.extend(a.ui,{version:"1.10.3",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),a.fn.extend({focus:function(b){return function(c,d){return"number"==typeof c?this.each(function(){var b=this;setTimeout(function(){a(b).focus(),d&&d.call(b)},c)}):b.apply(this,arguments)}}(a.fn.focus),scrollParent:function(){var b;return b=a.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.css(this,"position"))&&/(auto|scroll)/.test(a.css(this,"overflow")+a.css(this,"overflow-y")+a.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(a.css(this,"overflow")+a.css(this,"overflow-y")+a.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length)for(var e,f,d=a(this[0]);d.length&&d[0]!==document;){if(e=d.css("position"),("absolute"===e||"relative"===e||"fixed"===e)&&(f=parseInt(d.css("zIndex"),10),!isNaN(f)&&0!==f))return f;d=d.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++c)})},removeUniqueId:function(){return this.each(function(){d.test(this.id)&&a(this).removeAttr("id")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return e(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var c=a.attr(b,"tabindex"),d=isNaN(c);return(d||c>=0)&&e(b,!d)}}),a("<a>").outerWidth(1).jquery||a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.css(b,"padding"+this))||0,d&&(c-=parseFloat(a.css(b,"border"+this+"Width"))||0),f&&(c-=parseFloat(a.css(b,"margin"+this))||0)}),c}var e="Width"===d?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return"number"!=typeof b?g["outer"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(a.fn.removeData=function(b){return function(c){return arguments.length?b.call(this,a.camelCase(c)):b.call(this)}}(a.fn.removeData)),a.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),a.support.selectstart="onselectstart"in document.createElement("div"),a.fn.extend({disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e,f=a.ui[b].prototype;for(e in d)f.plugins[e]=f.plugins[e]||[],f.plugins[e].push([c,d[e]])},call:function(a,b,c){var d,e=a.plugins[b];if(e&&a.element[0].parentNode&&11!==a.element[0].parentNode.nodeType)for(d=0;d<e.length;d++)a.options[e[d][0]]&&e[d][1].apply(a.element,c)}},hasScroll:function(b,c){if("hidden"===a(b).css("overflow"))return!1;var d=c&&"left"===c?"scrollLeft":"scrollTop",e=!1;return b[d]>
vendor: 9,267 bytes, line 39372
393720||(b[d]=1,e=b[d]>0,b[d]=0,e)}})}(jQuery),function(a,b){var c=0,d=Array.prototype.slice,e=a.cleanData;a.cleanData=function(b){for(var d,c=0;null!=(d=b[c]);c++)try{a(d).triggerHandler("remove")}catch(a){}e(b)},a.widget=function(b,c,d){var e,f,g,h,i={},j=b.split(".")[0];b=b.split(".")[1],e=j+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][e.toLowerCase()]=function(b){return!!a.data(b,e)},a[j]=a[j]||{},f=a[j][b],g=a[j][b]=function(a,b){return this._createWidget?void(arguments.length&&this._createWidget(a,b)):new g(a,b)},a.extend(g,f,{version:d.version,_proto:a.extend({},d),_childConstructors:[]}),h=new c,h.options=a.widget.extend({},h.options),a.each(d,function(b,d){return a.isFunction(d)?void(i[b]=function(){var a=function(){return c.prototype[b].apply(this,arguments)},e=function(a){return c.prototype[b].apply(this,a)};return function(){var f,b=this._super,c=this._superApply;return this._super=a,this._superApply=e,f=d.apply(this,arguments),this._super=b,this._superApply=c,f}}()):void(i[b]=d)}),g.prototype=a.widget.extend(h,{widgetEventPrefix:f?h.widgetEventPrefix:b},i,{constructor:g,namespace:j,widgetName:b,widgetFullName:e}),f?(a.each(f._childConstructors,function(b,c){var d=c.prototype;a.widget(d.namespace+"."+d.widgetName,g,c._proto)}),delete f._childConstructors):c._childConstructors.push(g),a.widget.bridge(b,g)},a.widget.extend=function(c){for(var h,i,e=d.call(arguments,1),f=0,g=e.length;f<g;f++)for(h in e[f])i=e[f][h],e[f].hasOwnProperty(h)&&i!==b&&(a.isPlainObject(i)?c[h]=a.isPlainObject(c[h])?a.widget.extend({},c[h],i):a.widget.extend({},i):c[h]=i);return c},a.widget.bridge=function(c,e){var f=e.prototype.widgetFullName||c;a.fn[c]=function(g){var h="string"==typeof g,i=d.call(arguments,1),j=this;return g=!h&&i.length?a.widget.extend.apply(null,[g].concat(i)):g,h?this.each(function(){var d,e=a.data(this,f);return e?a.isFunction(e[g])&&"_"!==g.charAt(0)?(d=e[g].apply(e,i),d!==e&&d!==b?(j=d&&d.jquery?j.pushStack(d.get()):d,!1):void 0):a.error("no such method '"+g+"' for "+c+" widget instance"):a.error("cannot call methods on "+c+" prior to initialization; attempted to call method '"+g+"'")}):this.each(function(){var b=a.data(this,f);b?b.option(g||{})._init():a.data(this,f,new e(g,this))}),j}},a.Widget=function(){},a.Widget._childConstructors=[],a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(b,d){d=a(d||this.defaultElement||this)[0],this.element=a(d),this.uuid=c++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=a.widget.extend({},this.options,this._getCreateOptions(),b),this.bindings=a(),this.hoverable=a(),this.focusable=a(),d!==this&&(a.data(d,this.widgetFullName,this),this._on(!0,this.element,{remove:function(a){a.target===d&&this.destroy()}}),this.document=a(d.style?d.ownerDocument:d.document||d),this.window=a(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:a.noop,_getCreateEventData:a.noop,_create:a.noop,_init:a.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(a.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:a.noop,widget:function(){return this.element},option:function(c,d){var f,g,h,e=c;if(0===arguments.length)return a.widget.extend({},this.options);if("string"==typeof c)if(e={},f=c.split("."),c=f.shift(),f.length){for(g=e[c]=a.widget.extend({},this.options[c]),h=0;h<f.length-1;h++)g[f[h]]=g[f[h]]||{},g=g[f[h]];if(c=f.pop(),d===b)return g[c]===b?null:g[c];g[c]=d}else{if(d===b)return this.options[c]===b?null:this.options[c];e[c]=d}return this._setOptions(e),this},_setOptions:function(a){var b;for(b in a)this._setOption(b,a[b]);return this},_setOption:function(a,b){return this.options[a]=b,"disabled"===a&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!b).attr("aria-disabled",b),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(b,c,d){var e,f=this;"boolean"!=typeof b&&(d=c,c=b,b=!1),d?(c=e=a(c),this.bindings=this.bindings.add(c)):(d=c,c=this.element,e=this.widget()),a.each(d,function(d,g){function h(){if(b||f.options.disabled!==!0&&!a(this).hasClass("ui-state-disabled"))return("string"==typeof g?f[g]:g).apply(f,arguments)}"string"!=typeof g&&(h.guid=g.guid=g.guid||h.guid||a.guid++);var i=d.match(/^(\w+)\s*(.*)$/),j=i[1]+f.eventNamespace,k=i[2];k?e.delegate(k,j,h):c.bind(j,h)})},_off:function(a,b){b=(b||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,a.unbind(b).undelegate(b)},_delay:function(a,b){function c(){return("string"==typeof a?d[a]:a).apply(d,arguments)}var d=this;return setTimeout(c,b||0)},_hoverable:function(b){this.hoverable=this.hoverable.add(b),this._on(b,{mouseenter:function(b){a(b.currentTarget).addClass("ui-state-hover")},mouseleave:function(b){a(b.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(b){this.focusable=this.focusable.add(b),this._on(b,{focusin:function(b){a(b.currentTarget).addClass("ui-state-focus")},focusout:function(b){a(b.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(b,c,d){var e,f,g=this.options[b];if(d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.apply(this.element[0],[c].concat(d))===!1||c.isDefaultPrevented())}},a.each({show:"fadeIn",hide:"fadeOut"},function(b,c){a.Widget.prototype["_"+b]=function(d,e,f){"string"==typeof e&&(e={effect:e});var g,h=e?e===!0||"number"==typeof e?c:e.effect||c:b;e=e||{},"number"==typeof e&&(e={duration:e}),g=!a.isEmptyObject(e),e.complete=f,e.delay&&d.delay(e.delay),g&&a.effects&&a.effects.effect[h]?d[b](e):h!==b&&d[h]?d[h](e.duration,e.easing,f):d.queue(function(c){a(this)[b](),f&&f.call(d[0]),c()})}})}(jQuery),function(a,b){var c=!1;a(document).mouseup(function(){c=!1}),a.widget("ui.mouse",{version:"1.10.3",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){if(!0===a.data(c.target,b.widgetName+".preventClickEvent"))return a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(b){if(!c){this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var d=this,e=1===b.which,f=!("string"!=typeof this.options.cancel||!b.target.nodeName)&&a(b.target).closest(this.options.cancel).length;return!(e&&!f&&this._mouseCapture(b))||(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(b)!==!1,!this._mouseStarted)?(b.preventDefault(),!0):(!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),b.preventDefault(),c=!0,!0))}},_mouseMove:function(b){return a.ui.ie&&(!document.documentMode||document.documentMode<9)&&!b.button?this._mouseUp(b):this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target===this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})}(jQuery),function(a,b){a.widget("ui.draggable",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,
vendor: 20,944 bytes, line 39372
39372containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(b){var c=this.options;return!(this.helper||c.disabled||a(b.target).closest(".ui-resizable-handle").length>0)&&(this.handle=this._getHandle(b),!!this.handle&&(a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(a(this).offset()).appendTo("body")}),!0))},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_mouseDrag:function(b,c){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp({}),!1;this.position=d.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=this,d=!1;return a.ui.ddmanager&&!this.options.dropBehaviour&&(d=a.ui.ddmanager.drop(this,b)),this.dropped&&(d=this.dropped,this.dropped=!1),!("original"===this.options.helper&&!a.contains(this.element[0].ownerDocument,this.element[0]))&&("invalid"===this.options.revert&&!d||"valid"===this.options.revert&&d||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d)?a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",b)!==!1&&c._clear()}):this._trigger("stop",b)!==!1&&this._clear(),!1)},_mouseUp:function(b){return a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(b){return!this.options.handle||!!a(b.target).closest(this.element.find(this.options.handle)).length},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):"clone"===c.helper?this.element.clone().removeAttr("id"):this.element;return d.parents("body").length||d.appendTo("parent"===c.appendTo?this.element[0].parentNode:c.appendTo),d[0]===this.element[0]||/(fixed|absolute)/.test(d.css("position"))||d.css("position","absolute"),d},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){var b=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&a.ui.ie)&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b,c,d,e=this.options;return e.containment?"window"===e.containment?void(this.containment=[a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,a(window).scrollLeft()+a(window).width()-this.helperProportions.width-this.margins.left,a(window).scrollTop()+(a(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):"document"===e.containment?void(this.containment=[0,0,a(document).width()-this.helperProportions.width-this.margins.left,(a(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):e.containment.constructor===Array?void(this.containment=e.containment):("parent"===e.containment&&(e.containment=this.helper[0].parentNode),c=a(e.containment),d=c[0],void(d&&(b="hidden"!==c.css("overflow"),this.containment=[(parseInt(c.css("borderLeftWidth"),10)||0)+(parseInt(c.css("paddingLeft"),10)||0),(parseInt(c.css("borderTopWidth"),10)||0)+(parseInt(c.css("paddingTop"),10)||0),(b?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(c.css("borderRightWidth"),10)||0)-(parseInt(c.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(b?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(c.css("borderBottomWidth"),10)||0)-(parseInt(c.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c))):void(this.containment=null)},_convertPositionTo:function(b,c){c||(c=this.position);var d="absolute"===b?1:-1,e="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:e.scrollTop(),left:e.scrollLeft()}),{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*d,left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*d}},_generatePosition:function(b){var c,d,e,f,g=this.options,h="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=b.pageX,j=b.pageY;return this.offset.scroll||(this.offset.scroll={top:h.scrollTop(),left:h.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(d=this.relative_container.offset(),c=[this.containment[0]+d.left,this.containment[1]+d.top,this.containment[2]+d.left,this.containment[3]+d.top]):c=this.containment,b.pageX-this.offset.click.left<c[0]&&(i=c[0]+this.offset.click.left),b.pageY-this.offset.click.top<c[1]&&(j=c[1]+this.offset.click.top),b.pageX-this.offset.click.left>c[2]&&(i=c[2]+this.offset.click.left),b.pageY-this.offset.click.top>c[3]&&(j=c[3]+this.offset.click.top)),g.grid&&(e=g.grid[1]?this.originalPageY+Math.round((j-this.originalPageY)/g.grid[1])*g.grid[1]:this.originalPageY,j=c?e-this.offset.click.top>=c[1]||e-this.offset.click.top>c[3]?e:e-this.offset.click.top>=c[1]?e-g.grid[1]:e+g.grid[1]:e,f=g.grid[0]?this.originalPageX+Math.round((i-this.originalPageX)/g.grid[0])*g.grid[0]:this.originalPageX,i=c?f-this.offset.click.left>=c[0]||f-this.offset.click.left>c[2]?f:f-this.offset.click.left>=c[0]?f-g.grid[0]:f+g.grid[0]:f)),{top:j-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:i-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(b,c,d){return d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d]),"drag"===b&&(this.positionAbs=this._convertPositionTo("absolute")),a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c){var d=a(this).data("ui-draggable"),e=d.options,f=a.extend({},c,{item:d.element});d.sortables=[],a(e.connectToSortable).each(function(){var c=a.data(this,"ui-sortable");c&&!c.options.disabled&&(d.sortables.push({instance:c,shouldRevert:c.options.revert}),c.refreshPositions(),c._trigger("activate",b,f))})},stop:function(b,c){var d=a(this).data("ui-draggable"),e=a.extend({},c,{item:d.element});a.each(d.sortables,function(){this.instance.isOver?(this.instance.isOver=0,d.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(b),this.instance.options.helper=this.instance.options._helper,"original"===d.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",b,e))})},drag:function(b,c){var d=a(this).data("ui-draggable"),e=this;a.each(d.sortables,function(){var f=!1,g=this;this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(f=!0,a.each(d.sortables,function(){return this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this!==g&&this.instance._intersectsWith(this.instance.containerCache)&&a.contains(g.instance.element[0],this.instance.element[0])&&(f=!1),f})),f?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=a(e).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return c.helper[0]},b.target=this.instance.currentItem[0],this.instance._mouseCapture(b,!0),this.instance._mouseStart(b,!0,!0),this.instance.offset.click.top=d.offset.click.top,this.instance.offset.click.left=d.offset.click.left,this.instance.offset.parent.left-=d.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=d.offset.parent.top-this.instance.offset.parent.top,d._trigger("toSortable",b),d.dropped=this.instance.element,d.currentItem=d.element,this.instance.fromOutside=d),this.instance.currentItem&&this.instance._mouseDrag(b)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",b,this.instance._uiHash(this.instance)),this.instance._mouseStop(b,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),d._trigger("fromSortable",b),d.dropped=!1)})}}),a.ui.plugin.add("draggable","cursor",{start:function(){var b=a("body"),c=a(this).data("ui-draggable").options;b.css("cursor")&&(c._cursor=b.css("cursor")),b.css("cursor",c.cursor)},stop:function(){var b=a(this).data("ui-draggable").options;b._cursor&&a("body").css("cursor",b._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c){var d=a(c.helper),e=a(this).data("ui-draggable").options;d.css("opacity")&&(e._opacity=d.css("opacity")),d.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("ui-draggable").options;d._opacity&&a(c.helper).css("opacity",d._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(){var b=a(this).data("ui-draggable");b.scrollParent[0]!==document&&"HTML"!==b.scrollParent[0].tagName&&(b.overflowOffset=b.scrollParent.offset())},drag:function(b){var c=a(this).data("ui-draggable"),d=c.options,e=!1;c.scrollParent[0]!==document&&"HTML"!==c.scrollParent[0].tagName?(d.axis&&"x"===d.axis||(c.overflowOffset.top+c.scrollParent[0].offsetHeight-b.pageY<d.scrollSensitivity?c.scrollParent[0].scrollTop=e=c.scrollParent[0].scrollTop+d.scrollSpeed:b.pageY-c.overflowOffset.top<d.scrollSensitivity&&(c.scrollParent[0].scrollTop=e=c.scrollParent[0].scrollTop-d.scrollSpeed)),d.axis&&"y"===d.axis||(c.overflowOffset.left+c.scrollParent[0].offsetWidth-b.pageX<d.scrollSensitivity?c.scrollParent[0].scrollLeft=e=c.scrollParent[0].scrollLeft+d.scrollSpeed:b.pageX-c.overflowOffset.left<d.scrollSensitivity&&(c.scrollParent[0].scrollLeft=e=c.scrollParent[0].scrollLeft-d.scrollSpeed))):(d.axis&&"x"===d.axis||(b.pageY-a(document).scrollTop()<d.scrollSensitivity?e=a(document).scrollTop(a(document).scrollTop()-d.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<d.scrollSensitivity&&(e=a(document).scrollTop(a(document).scrollTop()+d.scrollSpeed))),d.axis&&"y"===d.axis||(b.pageX-a(document).scrollLeft()<d.scrollSensitivity?e=a(document).scrollLeft(a(document).scrollLeft()-d.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<d.scrollSensitivity&&(e=a(document).scrollLeft(a(document).scrollLeft()+d.scrollSpeed)))),e!==!1&&a.ui.ddmanager&&!d.dropBehaviour&&a.ui.ddmanager.prepareOffsets(c,b)}}),a.ui.plugin.add("draggable","snap",{start:function(){var b=a(this).data("ui-draggable"),c=b.options;b.snapElements=[],a(c.snap.constructor!==String?c.snap.items||":data(ui-draggable)":c.snap).each(function(){var c=a(this),d=c.offset();this!==b.element[0]&&b.snapElements.push({item:this,width:c.outerWidth(),height:c.outerHeight(),top:d.top,left:d.left})})},drag:function(b,c){var d,e,f,g,h,i,j,k,l,m,n=a(this).data("ui-draggable"),o=n.options,p=o.snapTolerance,q=c.offset.left,r=q+n.helperProportions.width,s=c.offset.top,t=s+n.helperProportions.height;for(l=n.snapElements.length-1;l>=0;l--)h=n.snapElements[l].left,i=h+n.snapElements[l].width,j=n.snapElements[l].top,k=j+n.snapElements[l].height,r<h-p||q>i+p||t<j-p||s>k+p||!a.contains(n.snapElements[l].item.ownerDocument,n.snapElements[l].item)?(n.snapElements[l].snapping&&n.options.snap.release&&n.options.snap.release.call(n.element,b,a.extend(n._uiHash(),{snapItem:n.snapElements[l].item})),n.snapElements[l].snapping=!1):("inner"!==o.snapMode&&(d=Math.abs(j-t)<=p,e=Math.abs(k-s)<=p,f=Math.abs(h-r)<=p,g=Math.abs(i-q)<=p,d&&(c.position.top=n._convertPositionTo("relative",{top:j-n.helperProportions.height,left:0}).top-n.margins.top),e&&(c.position.top=n._convertPositionTo("relative",{top:k,left:0}).top-n.margins.top),f&&(c.position.left=n._convertPositionTo("relative",{top:0,left:h-n.helperProportions.width}).left-n.margins.left),g&&(c.position.left=n._convertPositionTo("relative",{top:0,left:i}).left-n.margins.left)),m=d||e||f||g,"outer"!==o.snapMode&&(d=Math.abs(j-s)<=p,e=Math.abs(k-t)<=p,f=Math.abs(h-q)<=p,g=Math.abs(i-r)<=p,d&&(c.position.top=n._convertPositionTo("relative",{top:j,left:0}).top-n.margins.top),e&&(c.position.top=n._convertPositionTo("relative",{top:k-n.helperProportions.height,left:0}).top-n.margins.top),f&&(c.position.left=n._convertPositionTo("relative",{top:0,left:h}).left-n.margins.left),g&&(c.position.left=n._convertPositionTo("relative",{top:0,left:i-n.helperProportions.width}).left-n.margins.left)),!n.snapElements[l].snapping&&(d||e||f||g||m)&&n.options.snap.snap&&n.options.snap.snap.call(n.element,b,a.extend(n._uiHash(),{snapItem:n.snapElements[l].item})),n.snapElements[l].snapping=d||e||f||g||m)}}),a.ui.plugin.add("draggable","stack",{start:function(){var b,c=this.data("ui-draggable").options,d=a.makeArray(a(c.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});d.length&&(b=parseInt(a(d[0]).css("zIndex"),10)||0,a(d).each(function(c){a(this).css("zIndex",b+c)}),this.css("zIndex",b+d.length))}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c){var d=a(c.helper),e=a(this).data("ui-draggable").options;d.css("zIndex")&&(e._zIndex=d.css("zIndex")),d.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("ui-draggable").options;d._zIndex&&a(c.helper).css("zIndex",d._zIndex)}})}(jQuery),function(a,b){function c(a,b,c){return a>b&&a<b+c}a.widget("ui.droppable",{version:"1.10.3",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var b=this.options,c=b.accept;this.isover=!1,this.isout=!0,this.accept=a.isFunction(c)?c:function(a){return a.is(c)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},a.ui.ddmanager.droppables[b.scope]=a.ui.ddmanager.droppables[b.scope]||[],a.ui.ddmanager.droppables[b.scope].push(this),b.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var b=0,c=a.ui.ddmanager.droppables[this.options.scope];b<c.length;b++)c[b]===this&&c.splice(b,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(b,c){"accept"===b&&(this.accept=a.isFunction(c)?c:function(a){return a.is(c)}),a.Widget.prototype._setOption.apply(this,arguments)},_activate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),c&&this._trigger("activate",b,this.ui(c))},_deactivate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),c&&this._trigger("deactivate",b,this.ui(c))},_over:function(b){var c=a.ui.ddmanager.current;c&&(c.currentItem||c.element)[0]!==this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",b,this.ui(c)))},_out:function(b){var c=a.ui.ddmanager.current;c&&(c.currentItem||c.element)[0]!==this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",b,this.ui(c)))},_drop:function(b,c){var d=c||a.ui.ddmanager.current,e=!1;return!(!d||(d.currentItem||d.element)[0]===this.element[0])&&(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var b=a.data(this,"ui-droppable");if(b.options.greedy&&!b.options.disabled&&b.options.scope===d.options.scope&&b.accept.call(b.element[0],d.currentItem||d.element)&&a.ui.intersect(d,a.extend(b,{offset:b.element.offset()}),b.options.tolerance))return e=!0,!1}),!e&&(!!this.accept.call(this.element[0],d.currentItem||d.element)&&(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",b,this.ui(d)),this.element)))},ui:function(a){return{draggable:a.currentItem||a.element,helper:
vendor: 26,274 bytes, line 39372
39372a.helper,position:a.position,offset:a.positionAbs}}}),a.ui.intersect=function(a,b,d){if(!b.offset)return!1;var e,f,g=(a.positionAbs||a.position.absolute).left,h=g+a.helperProportions.width,i=(a.positionAbs||a.position.absolute).top,j=i+a.helperProportions.height,k=b.offset.left,l=k+b.proportions.width,m=b.offset.top,n=m+b.proportions.height;switch(d){case"fit":return k<=g&&h<=l&&m<=i&&j<=n;case"intersect":return k<g+a.helperProportions.width/2&&h-a.helperProportions.width/2<l&&m<i+a.helperProportions.height/2&&j-a.helperProportions.height/2<n;case"pointer":return e=(a.positionAbs||a.position.absolute).left+(a.clickOffset||a.offset.click).left,f=(a.positionAbs||a.position.absolute).top+(a.clickOffset||a.offset.click).top,c(f,m,b.proportions.height)&&c(e,k,b.proportions.width);case"touch":return(i>=m&&i<=n||j>=m&&j<=n||i<m&&j>n)&&(g>=k&&g<=l||h>=k&&h<=l||g<k&&h>l);default:return!1}},a.ui.ddmanager={current:null,droppables:{default:[]},prepareOffsets:function(b,c){var d,e,f=a.ui.ddmanager.droppables[b.options.scope]||[],g=c?c.type:null,h=(b.currentItem||b.element).find(":data(ui-droppable)").addBack();a:for(d=0;d<f.length;d++)if(!(f[d].options.disabled||b&&!f[d].accept.call(f[d].element[0],b.currentItem||b.element))){for(e=0;e<h.length;e++)if(h[e]===f[d].element[0]){f[d].proportions.height=0;continue a}f[d].visible="none"!==f[d].element.css("display"),f[d].visible&&("mousedown"===g&&f[d]._activate.call(f[d],c),f[d].offset=f[d].element.offset(),f[d].proportions={width:f[d].element[0].offsetWidth,height:f[d].element[0].offsetHeight})}},drop:function(b,c){var d=!1;return a.each((a.ui.ddmanager.droppables[b.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&a.ui.intersect(b,this,this.options.tolerance)&&(d=this._drop.call(this,c)||d),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],b.currentItem||b.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,c)))}),d},dragStart:function(b,c){b.element.parentsUntil("body").bind("scroll.droppable",function(){b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)})},drag:function(b,c){b.options.refreshPositions&&a.ui.ddmanager.prepareOffsets(b,c),a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var d,e,f,g=a.ui.intersect(b,this,this.options.tolerance),h=!g&&this.isover?"isout":g&&!this.isover?"isover":null;h&&(this.options.greedy&&(e=this.options.scope,f=this.element.parents(":data(ui-droppable)").filter(function(){return a.data(this,"ui-droppable").options.scope===e}),f.length&&(d=a.data(f[0],"ui-droppable"),d.greedyChild="isover"===h)),d&&"isover"===h&&(d.isover=!1,d.isout=!0,d._out.call(d,c)),this[h]=!0,this["isout"===h?"isover":"isout"]=!1,this["isover"===h?"_over":"_out"].call(this,c),d&&"isout"===h&&(d.isout=!1,d.isover=!0,d._over.call(d,c)))}})},dragStop:function(b,c){b.element.parentsUntil("body").unbind("scroll.droppable"),b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)}}}(jQuery),function(a,b){function c(a){return parseInt(a,10)||0}function d(a){return!isNaN(parseInt(a,10))}a.widget("ui.resizable",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var b,c,d,e,f,g=this,h=this.options;if(this.element.addClass("ui-resizable"),a.extend(this,{_aspectRatio:!!h.aspectRatio,aspectRatio:h.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:h.helper||h.ghost||h.animate?h.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(a("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=h.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),b=this.handles.split(","),this.handles={},c=0;c<b.length;c++)d=a.trim(b[c]),f="ui-resizable-"+d,e=a("<div class='ui-resizable-handle "+f+"'></div>"),e.css({zIndex:h.zIndex}),"se"===d&&e.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[d]=".ui-resizable-"+d,this.element.append(e);this._renderAxis=function(b){var c,d,e,f;b=b||this.element;for(c in this.handles)this.handles[c].constructor===String&&(this.handles[c]=a(this.handles[c],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(d=a(this.handles[c],this.element),f=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth(),e=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join(""),b.css(e,f),this._proportionallyResize()),a(this.handles[c]).length},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){g.resizing||(this.className&&(e=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),g.axis=e&&e[1]?e[1]:"se")}),h.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").mouseenter(function(){h.disabled||(a(this).removeClass("ui-resizable-autohide"),g._handles.show())}).mouseleave(function(){h.disabled||g.resizing||(a(this).addClass("ui-resizable-autohide"),g._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var b,c=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(c(this.element),b=this.element,this.originalElement.css({position:b.css("position"),width:b.outerWidth(),height:b.outerHeight(),top:b.css("top"),left:b.css("left")}).insertAfter(b),b.remove()),this.originalElement.css("resize",this.originalResizeStyle),c(this.originalElement),this},_mouseCapture:function(b){var c,d,e=!1;for(c in this.handles)d=a(this.handles[c])[0],(d===b.target||a.contains(d,b.target))&&(e=!0);return!this.options.disabled&&e},_mouseStart:function(b){var d,e,f,g=this.options,h=this.element.position(),i=this.element;return this.resizing=!0,/absolute/.test(i.css("position"))?i.css({position:"absolute",top:i.css("top"),left:i.css("left")}):i.is(".ui-draggable")&&i.css({position:"absolute",top:h.top,left:h.left}),this._renderProxy(),d=c(this.helper.css("left")),e=c(this.helper.css("top")),g.containment&&(d+=a(g.containment).scrollLeft()||0,e+=a(g.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:d,top:e},this.size=this._helper?{width:i.outerWidth(),height:i.outerHeight()}:{width:i.width(),height:i.height()},this.originalSize=this._helper?{width:i.outerWidth(),height:i.outerHeight()}:{width:i.width(),height:i.height()},this.originalPosition={left:d,top:e},this.sizeDiff={width:i.outerWidth()-i.width(),height:i.outerHeight()-i.height()},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio="number"==typeof g.aspectRatio?g.aspectRatio:this.originalSize.width/this.originalSize.height||1,f=a(".ui-resizable-"+this.axis).css("cursor"),a("body").css("cursor","auto"===f?this.axis+"-resize":f),i.addClass("ui-resizable-resizing"),this._propagate("start",b),!0},_mouseDrag:function(b){var c,d=this.helper,e={},f=this.originalMousePosition,g=this.axis,h=this.position.top,i=this.position.left,j=this.size.width,k=this.size.height,l=b.pageX-f.left||0,m=b.pageY-f.top||0,n=this._change[g];return!!n&&(c=n.apply(this,[b,l,m]),this._updateVirtualBoundaries(b.shiftKey),(this._aspectRatio||b.shiftKey)&&(c=this._updateRatio(c,b)),c=this._respectSize(c,b),this._updateCache(c),this._propagate("resize",b),this.position.top!==h&&(e.top=this.position.top+"px"),this.position.left!==i&&(e.left=this.position.left+"px"),this.size.width!==j&&(e.width=this.size.width+"px"),this.size.height!==k&&(e.height=this.size.height+"px"),d.css(e),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),a.isEmptyObject(e)||this._trigger("resize",b,this.ui()),!1)},_mouseStop:function(b){this.resizing=!1;var c,d,e,f,g,h,i,j=this.options,k=this;return this._helper&&(c=this._proportionallyResizeElements,d=c.length&&/textarea/i.test(c[0].nodeName),e=d&&a.ui.hasScroll(c[0],"left")?0:k.sizeDiff.height,f=d?0:k.sizeDiff.width,g={width:k.helper.width()-f,height:k.helper.height()-e},h=parseInt(k.element.css("left"),10)+(k.position.left-k.originalPosition.left)||null,i=parseInt(k.element.css("top"),10)+(k.position.top-k.originalPosition.top)||null,j.animate||this.element.css(a.extend(g,{top:i,left:h})),k.helper.height(k.size.height),k.helper.width(k.size.width),this._helper&&!j.animate&&this._proportionallyResize()),a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(a){var b,c,e,f,g,h=this.options;g={minWidth:d(h.minWidth)?h.minWidth:0,maxWidth:d(h.maxWidth)?h.maxWidth:1/0,minHeight:d(h.minHeight)?h.minHeight:0,maxHeight:d(h.maxHeight)?h.maxHeight:1/0},(this._aspectRatio||a)&&(b=g.minHeight*this.aspectRatio,e=g.minWidth/this.aspectRatio,c=g.maxHeight*this.aspectRatio,f=g.maxWidth/this.aspectRatio,b>g.minWidth&&(g.minWidth=b),e>g.minHeight&&(g.minHeight=e),c<g.maxWidth&&(g.maxWidth=c),f<g.maxHeight&&(g.maxHeight=f)),this._vBoundaries=g},_updateCache:function(a){this.offset=this.helper.offset(),d(a.left)&&(this.position.left=a.left),d(a.top)&&(this.position.top=a.top),d(a.height)&&(this.size.height=a.height),d(a.width)&&(this.size.width=a.width)},_updateRatio:function(a){var b=this.position,c=this.size,e=this.axis;return d(a.height)?a.width=a.height*this.aspectRatio:d(a.width)&&(a.height=a.width/this.aspectRatio),"sw"===e&&(a.left=b.left+(c.width-a.width),a.top=null),"nw"===e&&(a.top=b.top+(c.height-a.height),a.left=b.left+(c.width-a.width)),a},_respectSize:function(a){var b=this._vBoundaries,c=this.axis,e=d(a.width)&&b.maxWidth&&b.maxWidth<a.width,f=d(a.height)&&b.maxHeight&&b.maxHeight<a.height,g=d(a.width)&&b.minWidth&&b.minWidth>a.width,h=d(a.height)&&b.minHeight&&b.minHeight>a.height,i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,k=/sw|nw|w/.test(c),l=/nw|ne|n/.test(c);return g&&(a.width=b.minWidth),h&&(a.height=b.minHeight),e&&(a.width=b.maxWidth),f&&(a.height=b.maxHeight),g&&k&&(a.left=i-b.minWidth),e&&k&&(a.left=i-b.maxWidth),h&&l&&(a.top=j-b.minHeight),f&&l&&(a.top=j-b.maxHeight),a.width||a.height||a.left||!a.top?a.width||a.height||a.top||!a.left||(a.left=null):a.top=null,a},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var a,b,c,d,e,f=this.helper||this.element;for(a=0;a<this._proportionallyResizeElements.length;a++){if(e=this._proportionallyResizeElements[a],!this.borderDif)for(this.borderDif=[],c=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],d=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")],b=0;b<c.length;b++)this.borderDif[b]=(parseInt(c[b],10)||0)+(parseInt(d[b],10)||0);e.css({height:f.height()-this.borderDif[0]-this.borderDif[2]||0,width:f.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var b=this.element,c=this.options;this.elementOffset=b.offset(),this._helper?(this.helper=this.helper||a("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(a,b){return{width:this.originalSize.width+b}},w:function(a,b){var c=this.originalSize,d=this.originalPosition;return{left:d.left+b,width:c.width-b}},n:function(a,b,c){var d=this.originalSize,e=this.originalPosition;return{top:e.top+c,height:d.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),"resize"!==b&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.ui.plugin.add("resizable","animate",{stop:function(b){var c=a(this).data("ui-resizable"),d=c.options,e=c._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],"left")?0:c.sizeDiff.height,h=f?0:c.sizeDiff.width,i={width:c.size.width-h,height:c.size.height-g},j=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,k=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;c.element.animate(a.extend(i,k&&j?{top:k,left:j}:{}),{duration:d.animateDuration,easing:d.animateEasing,step:function(){var d={width:parseInt(c.element.css("width"),10),height:parseInt(c.element.css("height"),10),top:parseInt(c.element.css("top"),10),left:parseInt(c.element.css("left"),10)};e&&e.length&&a(e[0]).css({width:d.width,height:d.height}),c._updateCache(d),c._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(){var b,d,e,f,g,h,i,j=a(this).data("ui-resizable"),k=j.options,l=j.element,m=k.containment,n=m instanceof a?m.get(0):/parent/.test(m)?l.parent().get(0):m;n&&(j.containerElement=a(n),/document/.test(m)||m===document?(j.containerOffset={left:0,top:0},j.containerPosition={left:0,top:0},j.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight}):(b=a(n),d=[],a(["Top","Right","Left","Bottom"]).each(function(a,e){d[a]=c(b.css("padding"+e))}),j.containerOffset=b.offset(),j.containerPosition=b.position(),j.containerSize={height:b.innerHeight()-d[3],width:b.innerWidth()-d[1]},e=j.containerOffset,f=j.containerSize.height,g=j.containerSize.width,h=a.ui.hasScroll(n,"left")?n.scrollWidth:g,i=a.ui.hasScroll(n)?n.scrollHeight:f,j.parentData={element:n,left:e.left,top:e.top,width:h,height:i}))},resize:function(b){var c,d,e,f,g=a(this).data("ui-resizable"),h=g.options,i=g.containerOffset,j=g.position,k=g._aspectRatio||b.shiftKey,l={top:0,left:0},m=g.containerElement;m[0]!==document&&/static/.test(m.css("position"))&&(l=i),j.left<(g._helper?i.left:0)&&(g.size.width=g.size.width+(g._helper?g.position.left-i.left:g.position.left-l.left),k&&(g.size.height=g.size.width/g.aspectRatio),g.position.left=h.helper?i.left:0),j.top<(g._helper?i.top:0)&&(g.size.height=g.size.height+(g._helper?g.position.top-i.top:g.position.top),k&&(g.size.width=g.size.height*g.aspectRatio),g.position.top=g._helper?i.top:0),g.offset.left=g.parentData.left+g.position.left,g.offset.top=g.parentData.top+g.position.top,c=Math.abs((g._helper?g.offset.left-l.left:g.offset.left-l.left)+g.sizeDiff.width),d=Math.abs((g._helper?g.offset.top-l.top:g.offset.top-i.top)+g.sizeDiff.height),e=g.containerElement.get(0)===g.element.parent().get(0),f=/relative|absolute/.test(g.containerElement.css("position")),e&&f&&(c-=g.parentData.left),c+g.size.width>=g.parentData.width&&(g.size.width=g.parentData.width-c,k&&(g.size.height=g.size.width/g.aspectRatio)),d+g.size.height>=g.parentData.height&&(g.size.height=g.parentData.height-d,k&&(g.size.width=g.size.height*g.aspectRatio))},stop:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.containerOffset,e=b.containerPosition,f=b.containerElement,g=a(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width,j=g.outerHeight()-b.sizeDiff.height;b._helper&&!c.animate&&/relative/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j}),b._helper&&!c.animate&&/static/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j})}}),a.ui.plugin.add("resizable","alsoResize",{start:function(){var b=a(this).data("ui-resizable"),c=b.options,d=function(b){a(b).each(function(){var b=a(this);b.data("ui-resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})};"object"!=typeof c.alsoResize||c.alsoResize.parentNode?d(c.alsoResize):c.alsoResize.length?(c.alsoResize=c.alsoResize[0],d(c.alsoResize)):a.each(c.alsoResize,function(a){d(a)})},resize:function(b,c){var d=a(this).data("ui-resizable"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data("ui-resizable-alsoresize"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};"object"!=typeof e.alsoResize||e.alsoResize.nodeType?i(e.alsoResize):a.each(e.alsoResize,function(a,b){i(a,b)})},stop:function(){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","ghost",{start:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.size;b.ghost=b.originalElement.clone(),b.ghost.css({opacity:.25,display:"block",position:"relative",height:d.height,width:d.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof c.ghost?c.ghost:""),b.ghost.appendTo(b.helper)},resize:function(){var b=a(this).data("ui-resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=a(this).data("ui-resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.size,e=b.originalSize,f=b.originalPosition,g=b.axis,h="number"==typeof c.grid?[c.grid,c.grid]:c.grid,i=h[0]||1,j=h[1]||1,k=Math.round((d.width-e.width)/i)*i,l=Math.round((d.height-e.height)/j)*j,m=e.width+k,n=e.height+l,o=c.maxWidth&&c.maxWidth<m,p=c.maxHeight&&c.maxHeight<n,q=c.minWidth&&c.minWidth>m,r=c.minHeight&&c.minHeight>n;c.grid=h,q&&(m+=i),r&&(n+=j),o&&(m-=i),p&&(n-=j),/^(se|s|e)$/.test(g)?(b.size.width=m,b.size.height=n):/^(ne)$/.test(g)?(b.size.width=m,b.size.height=n,b.position.top=f.top-l):/^(sw)$/.test(g)?(b.size.width=m,b.size.height=n,b.position.left=f.left-k):(b.size.width=m,b.size.height=n,b.position.top=f.top-l,b.position.left=f.left-k)}})}(jQuery),function(a,b){a.widget("ui.selectable",a.ui.mouse,{version:"1.10.3",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var b,c=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){b=a(c.options.filter,c.element[0]),b.addClass("ui-selectee"),b.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=b.addClass("ui-selectee"),this._mouseInit(),this.helper=a("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(b){var c=this,d=this.options;this.opos=[b.pageX,b.pageY],this.options.disabled||(this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.pageX,top:b.pageY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,b.metaKey||b.ctrlKey||(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().addBack().each(function(){var d,e=a.data(this,"selectable-item");if(e)return d=!b.metaKey&&!b.ctrlKey||!e.$element.hasClass("ui-selected"),e.$element.removeClass(d?"ui-unselecting":"ui-selected").addClass(d?"ui-selecting":"ui-unselecting"),e.unselecting=!d,e.selecting=d,e.selected=d,d?c._trigger("selecting",b,{selecting:e.element}):c._trigger("unselecting",b,{unselecting:e.element}),!1}))},_mouseDrag:function(b){if(this.dragged=!0,!this.options.disabled){var c,d=this,e=this.options,f=this.opos[0],g=this.opos[1],h=b.pageX,i=b.pageY;return f>h&&(c=h,h=f,f=c),g>i&&(c=i,i=g,g=c),this.helper.css({left:f,top:g,width:h-f,height:i-g}),this.selectees.each(function(){var c=a.data(this,"selectable-item"),j=!1;c&&c.element!==d.element[0]&&("touch"===e.tolerance?j=!(c.left>h||c.right<f||c.top>i||c.bottom<g):"fit"===e.tolerance&&(j=c.left>f&&c.right<h&&c.top>g&&c.bottom<i),j?(c.selected&&(c.$element.removeClass("ui-selected"),c.selected=!1),c.unselecting&&(c.$element.removeClass("ui-unselecting"),c.unselecting=!1),c.selecting||(c.$element.addClass("ui-selecting"),c.selecting=!0,d._trigger("selecting",b,{selecting:c.element}))):(c.selecting&&((b.metaKey||b.ctrlKey)&&c.startselected?(c.$element.removeClass("ui-selecting"),c.selecting=!1,c.$element.addClass("ui-selected"),c.selected=!0):(c.$element.removeClass("ui-selecting"),c.selecting=!1,c.startselected&&(c.$element.addClass("ui-unselecting"),c.unselecting=!0),d._trigger("unselecting",b,{unselecting:c.element}))),c.selected&&(b.metaKey||b.ctrlKey||c.startselected||(c.$element.removeClass("ui-selected"),c.selected=!1,c.$element.addClass("ui-unselecting"),c.unselecting=!0,d._trigger("unselecting",b,{unselecting:c.element})))))}),!1}},_mouseStop:function(b){var c=this;return this.dragged=!1,a(".ui-unselecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-unselecting"),d.unselecting=!1,d.startselected=!1,c._trigger("unselected",b,{unselected:d.element})}),a(".ui-selecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected"),d.selecting=!1,d.selected=!0,d.startselected=!0,c._trigger("selected",b,{selected:d.element})}),this._trigger("stop",b),this.helper.remove(),!1}})}(jQuery),function(a,b){function c(a,b,c){return a>b&&a<b+c}function d(a){return/left|right/.test(a.css("float"))||/inline|table-cell/.test(a.css("display"))}a.widget("ui.sortable",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var a=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=!!this.items.length&&("x"===a.axis||d(this.items[0].item)),this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){"disabled"===b?(this.options[b]=c,this.widget().toggleClass("ui-sortable-disabled",!!c)):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=null,e=!1,f=this;return!this.reverting&&(!this.options.disabled&&"static"!==this.options.type&&(this._refreshItems(b),a(b.target).parents().each(function(){if(a.data(this,f.widgetName+"-item")===f)return d=a(this),!1}),a.data(b.target,f.widgetName+"-item")===f&&(d=a(b.target)),!!d&&(!(this.options.handle&&!c&&(a(this.options.handle,d).find("*").addBack().each(function(){this===b.target&&(e=!0)}),!e))&&(this.currentItem=d,this._removeCurrentsFromItems(),!0))))},_mouseStart:function(b,c,d){var e,f,g=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left
vendor: 7,762 bytes, line 39372
39372:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,g.cursorAt&&this._adjustOffsetFromHelper(g.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),g.containment&&this._setContainment(),g.cursor&&"auto"!==g.cursor&&(f=this.document.find("body"),this.storedCursor=f.css("cursor"),f.css("cursor",g.cursor),this.storedStylesheet=a("<style>*{ cursor: "+g.cursor+" !important; }</style>").appendTo(f)),g.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",g.opacity)),g.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",g.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!d)for(e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("activate",b,this._uiHash(this));return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){var c,d,e,f,g=this.options,h=!1;for(this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY<g.scrollSensitivity?this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop+g.scrollSpeed:b.pageY-this.overflowOffset.top<g.scrollSensitivity&&(this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop-g.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-b.pageX<g.scrollSensitivity?this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft+g.scrollSpeed:b.pageX-this.overflowOffset.left<g.scrollSensitivity&&(this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft-g.scrollSpeed)):(b.pageY-a(document).scrollTop()<g.scrollSensitivity?h=a(document).scrollTop(a(document).scrollTop()-g.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<g.scrollSensitivity&&(h=a(document).scrollTop(a(document).scrollTop()+g.scrollSpeed)),b.pageX-a(document).scrollLeft()<g.scrollSensitivity?h=a(document).scrollLeft(a(document).scrollLeft()-g.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<g.scrollSensitivity&&(h=a(document).scrollLeft(a(document).scrollLeft()+g.scrollSpeed))),h!==!1&&a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),c=this.items.length-1;c>=0;c--)if(d=this.items[c],e=d.item[0],f=this._intersectsWithPointer(d),f&&d.instance===this.currentContainer&&!(e===this.currentItem[0]||this.placeholder[1===f?"next":"prev"]()[0]===e||a.contains(this.placeholder[0],e)||"semi-dynamic"===this.options.type&&a.contains(this.element[0],e))){if(this.direction=1===f?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(d))break;this._rearrange(b,d),this._trigger("change",b,this._uiHash());break}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(b){if(a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b),this.options.revert){var d=this,e=this.placeholder.offset(),f=this.options.axis,g={};f&&"x"!==f||(g.left=e.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),f&&"y"!==f||(g.top=e.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,a(this.helper).animate(g,parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--)this.containers[b]._trigger("deactivate",null,this._uiHash(this)),this.containers[b].containerCache.over&&(this.containers[b]._trigger("out",null,this._uiHash(this)),this.containers[b].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[\-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l="x"===this.options.axis||d+j>h&&d+j<i,m="y"===this.options.axis||b+k>f&&b+k<g,n=l&&m;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?n:f<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<g&&h<d+this.helperProportions.height/2&&e-this.helperProportions.height/2<i},_intersectsWithPointer:function(a){var b="x"===this.options.axis||c(this.positionAbs.top+this.offset.click.top,a.top,a.height),d="y"===this.options.axis||c(this.positionAbs.left+this.offset.click.left,a.left,a.width),e=b&&d,f=this._getDragVerticalDirection(),g=this._getDragHorizontalDirection();return!!e&&(this.floating?g&&"right"===g||"down"===f?2:1:f&&("down"===f?2:1))},_intersectsWithSides:function(a){var b=c(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height),d=c(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width),e=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();return this.floating&&f?"right"===f&&d||"left"===f&&!d:e&&("down"===e&&b||"up"===e&&!b)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return 0!==a&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return 0!==a&&(a>0?"right":"left")},refresh:function(a){return this._refreshItems(a),this.refreshPositions(),this},_connectWith:function(){var a=this.options;
vendor: 2,144 bytes, line 39372
39372return a.connectWith.constructor===String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c,d,e,f,g=[],h=[],i=this._connectWith();if(i&&b)for(c=i.length-1;c>=0;c--)for(e=a(i[c]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetFullName),f&&f!==this&&!f.options.disabled&&h.push([a.isFunction(f.options.items)?f.options.items.call(f.element):a(f.options.items,f.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),f]);for(h.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),c=h.length-1;c>=0;c--)h[c][0].each(function(){g.push(this)});return a(g)},_removeCurrentsFromItems:function(){var b=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=a.grep(this.items,function(a){for(var c=0;c<b.length;c++)if(b[c]===a.item[0])return!1;return!0})},_refreshItems:function(b){this.items=[],this.containers=[this];var c,d,e,f,g,h,i,j,k=this.items,l=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]],m=this._connectWith();if(m&&this.ready)for(c=m.length-1;c>=0;c--)for(e=a(m[c]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetFullName),f&&f!==this&&!f.options.disabled&&(l.push([a.isFunction(f.options.items)?f.options.items.call(f.element[0],b,{item:this.currentItem}):a(f.options.items,f.element),f]),this.containers.push(f));for(c=l.length-1;c>=0;c--)for(g=l[c][1],h=l[c][0],d=0,j=h.length;d<j;d++)i=a(h[d]),i.data(this.widgetName+"-item",g),k.push({item:i,instance:g,width:0,height:0,left:0,top:0})},refreshPositions:function(b){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var c,d,e,f;for(c=this.items.length-1;c>=0;c--)d=this.items[c],d.instance!==this.currentContainer&&this.currentContainer&&d.item[0]!==this.currentItem[0]||(e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item,b||(d.width=e.outerWidth(),d.height=e.outerHeight()),f=e.offset(),d.left=f.left,d.top=f.top);
vendor: 1,122 bytes, line 39372
39372if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(c=this.containers.length-1;c>=0;c--)f=this.containers[c].element.offset(),this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight();return this},_createPlaceholder:function(b){b=b||this;var c,d=b.options;d.placeholder&&d.placeholder.constructor!==String||(c=d.placeholder,d.placeholder={element:function(){var d=b.currentItem[0].nodeName.toLowerCase(),e=a("<"+d+">",b.document[0]).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===d?b.currentItem.children().each(function(){a("<td> </td>",b.document[0]).attr("colspan",a(this).attr("colspan")||1).appendTo(e)}):"img"===d&&e.attr("src",b.currentItem.attr("src")),c||e.css("visibility","hidden"),e},update:function(a,e){c&&!d.forcePlaceholderSize||(e.height()||e.height(b.currentItem.innerHe
vendor: 5,242 bytes, line 39372
39372ight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10)),e.width()||e.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10)))}}),b.placeholder=a(d.placeholder.element.call(b.element,b.currentItem)),b.currentItem.after(b.placeholder),d.placeholder.update(b,b.placeholder)},_contactContainers:function(b){var e,f,g,h,i,j,k,l,m,n,o=null,p=null;for(e=this.containers.length-1;e>=0;e--)if(!a.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(o&&a.contains(this.containers[e].element[0],o.element[0]))continue;o=this.containers[e],p=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",b,this._uiHash(this)),this.containers[e].containerCache.over=0);if(o)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",b,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(g=1e4,h=null,n=o.floating||d(this.currentItem),i=n?"left":"top",j=n?"width":"height",k=this.positionAbs[i]+this.offset.click[i],f=this.items.length-1;f>=0;f--)a.contains(this.containers[p].element[0],this.items[f].item[0])&&this.items[f].item[0]!==this.currentItem[0]&&(n&&!c(this.positionAbs.top+this.offset.click.top,this.items[f].top,this.items[f].height)||(l=this.items[f].item.offset()[i],m=!1,Math.abs(l-k)>Math.abs(l+this.items[f][j]-k)&&(m=!0,l+=this.items[f][j]),Math.abs(l-k)<g&&(g=Math.abs(l-k),h=this.items[f],this.direction=m?"up":"down")));if(!h&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return;h?this._rearrange(b,h,null,!0):this._rearrange(b,null,this.containers[p].element,!0),this._trigger("change",b,this._uiHash()),this.containers[p]._trigger("change",b,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",b,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):"clone"===c.helper?this.currentItem.clone():this.currentItem;return d.parents("body").length||a("parent"!==c.appendTo?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),d[0].style.width&&!c.forceHelperSize||d.width(this.currentItem.width()),d[0].style.height&&!c.forceHelperSize||d.height(this.currentItem.height()),d},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&a.ui.ie)&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b,c,d,e=this.options;"parent"===e.containment&&(e.containment=this.helper[0].parentNode),"document"!==e.containment&&"window"!==e.containment||(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a("document"===e.containment?document:window).width()-this.helperProportions.width-this.margins.left,(a("document"===e.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(e.containment)||(b=a(e.containment)[0],c=a(e.containment).offset(),d="hidden"!==a(b).css("overflow"),this.containment=[c.left+(parseInt(a(b).css("borderLeftWidth"),10)||0)+(parseInt(a(b).css("paddingLeft"),10)||0)-this.margins.left,c.top+(parseInt(a(b).css("borderTopWidth"),
vendor: 2,235 bytes, line 39372
3937210)||0)+(parseInt(a(b).css("paddingTop"),10)||0)-this.margins.top,c.left+(d?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(a(b).css("borderLeftWidth"),10)||0)-(parseInt(a(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,c.top+(d?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(a(b).css("borderTopWidth"),10)||0)-(parseInt(a(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(b,c){c||(c=this.position);var d="absolute"===b?1:-1,e="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,f=/(html|body)/i.test(e[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():f?0:e.scrollTop())*d,left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():f?0:e.scrollLeft())*d}},_generatePosition:function(b){var c,d,e=this.options,f=b.pageX,g=b.pageY,h="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=/(html|body)/i.test(h[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top)),e.grid&&(c=this.originalPageY+Math.round((g-this.originalPageY)/e.grid[1])*e.grid[1],g=this.containment?c-this.offset.click.top>=this.containment[1]&&c-this.offset.click.top<=this.containment[3]?c:c-this.offset.click.top>=this.containment[1]?c-e.grid[1]:c+e.grid[1]:c,d=this.originalPageX+Math.round((f-this.originalPageX)/e.grid[
vendor: 5,015 bytes, line 39372
393720])*e.grid[0],f=this.containment?d-this.offset.click.left>=this.containment[0]&&d-this.offset.click.left<=this.containment[2]?d:d-this.offset.click.left>=this.containment[0]?d-e.grid[0]:d+e.grid[0]:d)),{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():i?0:h.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():i?0:h.scrollLeft())}},_rearrange:function(a,b,c,d){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?b.item[0]:b.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var e=this.counter;this._delay(function(){e===this.counter&&this.refreshPositions(!d)})},_clear:function(a,b){this.reverting=!1;var c,d=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(c in this._storedCSS)"auto"!==this._storedCSS[c]&&"static"!==this._storedCSS[c]||(this._storedCSS[c]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!b&&d.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||b||d.push(function(a){this._trigger("update",a,this._uiHash())}),this!==this.currentContainer&&(b||(d.push(function(a){this._trigger("remove",a,this._uiHash())}),d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.currentContainer)),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.currentContainer)))),c=this.containers.length-1;c>=0;c--)b||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[c])),this.containers[c].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[c])),this.containers[c].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!b){for(this._trigger("beforeStop",a,this._uiHash()),c=0;c<d.length;c++)d[c].call(this,a);this._trigger("stop",a,this._uiHash())}return this.fromOutside=!1,!1}if(b||this._trigger("beforeStop",a,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!b){for(c=0;c<d.length;c++)d[c].call(this,a);this._trigger("stop",a,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.element:null}}})}(jQuery),function(a,b){var c="ui-effects-";a.effects={effect:{}},function(a,b){function m(a,b,c){var d=h[b.type]||{};return null==a?c||!b.def?null:b.def:(a=d.floor?~~a:parseFloat(a),isNaN(a)?b.def:d.mod?(a+d.mod)%d.mod:0>a?0:d.max<a?d.max:a)}function n(b){var c=f(),d=c._rgba=[];return b=b.toLowerCase(),l(e,function(a,e){var f,h=e.re.exec(b),i=h&&e.parse(h),j=e.space||"rgba";if(i)return f=c[j](i),c[g[j].cache]=f[g[j].cache],d=c._rgba=f._rgba,!1}),d.length?("0,0,0,0"===d.join()&&a.extend(d,k.transparent),c):k[b]}function o(a,b,c){return c=(c+1)%1,6*c<1?a+(b-a)*c*6:2*c<1?b:3*c<2?a+(b-a)*(2/3-c)*6:a}var k,c="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",d=/^([\-+])=\s*(\d+\.?\d*)/,e=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(a){return[a[1],a[2],a[3],a[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],a[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(a){return[a[1],a[2]/100,a[3]/100,a[4]]}}],f=a.Color=function(b,c,d,e){return new a.Color.fn.parse(b,c,d,e)},g={rgba:{props:{red:{idx:0,type:"byte"}
vendor: 8,568 bytes, line 39372
39372,green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},h={byte:{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},i=f.support={},j=a("<p>")[0],l=a.each;j.style.cssText="background-color:rgba(1,1,1,.5)",i.rgba=j.style.backgroundColor.indexOf("rgba")>-1,l(g,function(a,b){b.cache="_"+a,b.props.alpha={idx:3,type:"percent",def:1}}),f.fn=a.extend(f.prototype,{parse:function(c,d,e,h){if(c===b)return this._rgba=[null,null,null,null],this;(c.jquery||c.nodeType)&&(c=a(c).css(d),d=b);var i=this,j=a.type(c),o=this._rgba=[];return d!==b&&(c=[c,d,e,h],j="array"),"string"===j?this.parse(n(c)||k._default):"array"===j?(l(g.rgba.props,function(a,b){o[b.idx]=m(c[b.idx],b)}),this):"object"===j?(c instanceof f?l(g,function(a,b){c[b.cache]&&(i[b.cache]=c[b.cache].slice())}):l(g,function(b,d){var e=d.cache;l(d.props,function(a,b){if(!i[e]&&d.to){if("alpha"===a||null==c[a])return;i[e]=d.to(i._rgba)}i[e][b.idx]=m(c[a],b,!0)}),i[e]&&a.inArray(null,i[e].slice(0,3))<0&&(i[e][3]=1,d.from&&(i._rgba=d.from(i[e])))}),this):void 0},is:function(a){var b=f(a),c=!0,d=this;return l(g,function(a,e){var f,g=b[e.cache];return g&&(f=d[e.cache]||e.to&&e.to(d._rgba)||[],l(e.props,function(a,b){if(null!=g[b.idx])return c=g[b.idx]===f[b.idx]})),c}),c},_space:function(){var a=[],b=this;return l(g,function(c,d){b[d.cache]&&a.push(c)}),a.pop()},transition:function(a,b){var c=f(a),d=c._space(),e=g[d],i=0===this.alpha()?f("transparent"):this,j=i[e.cache]||e.to(i._rgba),k=j.slice();return c=c[e.cache],l(e.props,function(a,d){var e=d.idx,f=j[e],g=c[e],i=h[d.type]||{};null!==g&&(null===f?k[e]=g:(i.mod&&(g-f>i.mod/2?f+=i.mod:f-g>i.mod/2&&(f-=i.mod)),k[e]=m((g-f)*b+f,d)))}),this[d](k)},blend:function(b){if(1===this._rgba[3])return this;var c=this._rgba.slice(),d=c.pop(),e=f(b)._rgba;return f(a.map(c,function(a,b){return(1-d)*e[b]+d*a}))},toRgbaString:function(){var b="rgba(",c=a.map(this._rgba,function(a,b){return null==a?b>2?1:0:a});return 1===c[3]&&(c.pop(),b="rgb("),b+c.join()+")"},toHslaString:function(){var b="hsla(",c=a.map(this.hsla(),function(a,b){return null==a&&(a=b>2?1:0),b&&b<3&&(a=Math.round(100*a)+"%"),a});return 1===c[3]&&(c.pop(),b="hsl("),b+c.join()+")"},toHexString:function(b){var c=this._rgba.slice(),d=c.pop();return b&&c.push(~~(255*d)),"#"+a.map(c,function(a){return a=(a||0).toString(16),1===a.length?"0"+a:a}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),f.fn.parse.prototype=f.fn,g.hsla.to=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var k,l,b=a[0]/255,c=a[1]/255,d=a[2]/255,e=a[3],f=Math.max(b,c,d),g=Math.min(b,c,d),h=f-g,i=f+g,j=.5*i;return k=g===f?0:b===f?60*(c-d)/h+360:c===f?60*(d-b)/h+120:60*(b-c)/h+240,l=0===h?0:j<=.5?h/i:h/(2-i),[Math.round(k)%360,l,j,null==e?1:e]},g.hsla.from=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b=a[0]/360,c=a[1],d=a[2],e=a[3],f=d<=.5?d*(1+c):d+c-d*c,g=2*d-f;return[Math.round(255*o(g,f,b+1/3)),Math.round(255*o(g,f,b)),Math.round(255*o(g,f,b-1/3)),e]},l(g,function(c,e){var g=e.props,h=e.cache,i=e.to,j=e.from;f.fn[c]=function(c){if(i&&!this[h]&&(this[h]=i(this._rgba)),c===b)return this[h].slice();var d,e=a.type(c),k="array"===e||"object"===e?c:arguments,n=this[h].slice();return l(g,function(a,b){var c=k["object"===e?a:b.idx];null==c&&(c=n[b.idx]),n[b.idx]=m(c,b)}),j?(d=f(j(n)),d[h]=n,d):f(n)},l(g,function(b,e){f.fn[b]||(f.fn[b]=function(f){var k,g=a.type(f),h="alpha"===b?this._hsla?"hsla":"rgba":c,i=this[h](),j=i[e.idx];return"undefined"===g?j:("function"===g&&(f=f.call(this,j),g=a.type(f)),null==f&&e.empty?this:("string"===g&&(k=d.exec(f),k&&(f=j+parseFloat(k[2])*("+"===k[1]?1:-1))),i[e.idx]=f,this[h](i)))})})}),f.hook=function(b){var c=b.split(" ");l(c,function(b,c){a.cssHooks[c]={set:function(b,d){var e,g,h="";if("transparent"!==d&&("string"!==a.type(d)||(e=n(d)))){if(d=f(e||d),!i.rgba&&1!==d._rgba[3]){for(g="backgroundColor"===c?b.parentNode:b;(""===h||"transparent"===h)&&g&&g.style;)try{h=a.css(g,"backgroundColor"),g=g.parentNode}catch(a){}d=d.blend(h&&"transparent"!==h?h:"_default")}d=d.toRgbaString()}try{b.style[c]=d}catch(a){}}},a.fx.step[c]=function(b){b.colorInit||(b.start=f(b.elem,c),b.end=f(b.end),b.colorInit=!0),a.cssHooks[c].set(b.elem,b.start.transition(b.end,b.pos))}})},f.hook(c),a.cssHooks.borderColor={expand:function(a){var b={};return l(["Top","Right","Bottom","Left"],function(c,d){b["border"+d+"Color"]=a}),b}},k=a.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function e(b){var c,d,e=b.ownerDocument.defaultView?b.ownerDocument.defaultView.getComputedStyle(b,null):b.currentStyle,f={};if(e&&e.length&&e[0]&&e[e[0]])for(d=e.length;d--;)c=e[d],"string"==typeof e[c]&&(f[a.camelCase(c)]=e[c]);else for(c in e)"string"==typeof e[c]&&(f[c]=e[c]);return f}function f(b,c){var f,g,e={};for(f in c)g=c[f],b[f]!==g&&(d[f]||!a.fx.step[f]&&isNaN(parseFloat(g))||(e[f]=g));return e}var c=["add","remove","toggle"],d={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(b,c){a.fx.step[c]=function(a){("none"!==a.end&&!a.setAttr||1===a.pos&&!a.setAttr)&&(jQuery.style(a.elem,c,a.end),a.setAttr=!0)}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a.effects.animateClass=function(b,d,g,h){var i=a.speed(d,g,h);return this.queue(function(){var h,d=a(this),g=d.attr("class")||"",j=i.children?d.find("*").addBack():d;j=j.map(function(){var b=a(this);return{el:b,start:e(this)}}),h=function(){a.each(c,function(a,c){b[c]&&d[c+"Class"](b[c])})},h(),j=j.map(function(){return this.end=e(this.el[0]),this.diff=f(this.start,this.end),this}),d.attr("class",g),j=j.map(function(){var b=this,c=a.Deferred(),d=a.extend({},i,{queue:!1,complete:function(){c.resolve(b)}});return this.el.animate(this.diff,d),c.promise()}),a.when.apply(a,j.get()).done(function(){h(),a.each(arguments,function(){var b=this.el;a.each(this.diff,function(a){b.css(a,"")})}),i.complete.call(d[0])})})},a.fn.extend({addClass:function(b){return function(c,d,e,f){return d?a.effects.animateClass.call(this,{add:c},d,e,f):b.apply(this,arguments)}}(a.fn.addClass),removeClass:function(b){return function(c,d,e,f){return arguments.length>1?a.effects.animateClass.call(this,{remove:c},d,e,f):b.apply(this,arguments)}}(a.fn.removeClass),toggleClass:function(c){return function(d,e,f,g,h){return"boolean"==typeof e||e===b?f?a.effects.animateClass.call(this,e?{add:d}:{remove:d},f,g,h):c.apply(this,arguments):a.effects.animateClass.call(this,{toggle:d},e,f,g)}}(a.fn.toggleClass),switchClass:function(b,c,d,e,f){return a.effects.animateClass.call(this,{add:c,remove:b},d,e,f)}})}(),function(){function d(b,c,d,e){return a.isPlainObject(b)&&(c=b,b=b.effect),b={effect:b},null==c&&(c={}),a.isFunction(c)&&(e=c,d=null,c={}),("number"==typeof c||a.fx.speeds[c])&&(e=d,d=c,c={}),a.isFunction(d)&&(e=d,d=null),c&&a.extend(b,c),d=d||c.duration,b.duration=a.fx.off?0:"number"==typeof d?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,b.complete=e||c.complete,b}function e(b){return!(b&&"number"!=typeof b&&!a.fx.speeds[b])||("string"==typeof b&&!a.effects.effect[b]||(!!a.isFunction(b)||"object"==typeof b&&!b.effect))}a.extend(a.effects,{version:"1.10.3",save:function(a,b){for(var d=0;d<b.length;d++)null!==b[d]&&a.data(c+b[d],a[0].style[b[d]])},restore:function(a,d){var e,f;for(f=0;f<d.length;f++)null!==d[f]&&(e=a.data(c+d[f]),e===b&&(e=""),a.css(d[f],e))},setMode:function(a,b){return"toggle"===b&&(b=a.is(":hidden")?"show":"hide"),b},getBaseline:function(a,b){var c,d;switch(a[0]){case"top":c=0;break;case"middle":c=.5;break;case"bottom":c=1;break;default:c=a[0]/b.height}switch(a[1]){case"left":d=0;break;case"center":d=.5;break;case"right":d=1;break;default:d=a[1]/b.width}return{x:d,y:c}},createWrapper:function(b){if(b.parent().is(".ui-effects-wrapper"))return b.parent();var c={width:b.outerWidth(!0),height:b.outerHeight(!0),float:b.css("float")},d=a("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}
vendor: 4,367 bytes, line 39372
39372),e={width:b.width(),height:b.height()},f=document.activeElement;try{f.id}catch(a){f=document.body}return b.wrap(d),(b[0]===f||a.contains(b[0],f))&&a(f).focus(),d=b.parent(),"static"===b.css("position")?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),b.css(e),d.css(c).show()},removeWrapper:function(b){var c=document.activeElement;return b.parent().is(".ui-effects-wrapper")&&(b.parent().replaceWith(b),(b[0]===c||a.contains(b[0],c))&&a(c).focus()),b},setTransition:function(b,c,d,e){return e=e||{},a.each(c,function(a,c){var f=b.cssUnit(c);f[0]>0&&(e[c]=f[0]*d+f[1])}),e}}),a.fn.extend({effect:function(){function g(c){function h(){a.isFunction(e)&&e.call(d[0]),a.isFunction(c)&&c()}var d=a(this),e=b.complete,g=b.mode;(d.is(":hidden")?"hide"===g:"show"===g)?(d[g](),h()):f.call(d[0],b,h)}var b=d.apply(this,arguments),c=b.mode,e=b.queue,f=a.effects.effect[b.effect];return a.fx.off||!f?c?this[c](b.duration,b.complete):this.each(function(){b.complete&&b.complete.call(this)}):e===!1?this.each(g):this.queue(e||"fx",g)},show:function(a){return function(b){if(e(b))return a.apply(this,arguments);var c=d.apply(this,arguments);return c.mode="show",this.effect.call(this,c)}}(a.fn.show),hide:function(a){return function(b){if(e(b))return a.apply(this,arguments);var c=d.apply(this,arguments);return c.mode="hide",this.effect.call(this,c)}}(a.fn.hide),toggle:function(a){return function(b){if(e(b)||"boolean"==typeof b)return a.apply(this,arguments);var c=d.apply(this,arguments);return c.mode="toggle",this.effect.call(this,c)}}(a.fn.toggle),cssUnit:function(b){var c=this.css(b),d=[];return a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])}),d}})}(),function(){var b={};a.each(["Quad","Cubic","Quart","Quint","Expo"],function(a,c){b[c]=function(b){return Math.pow(b,a+2)}}),a.extend(b,{Sine:function(a){return 1-Math.cos(a*Math.PI/2)},Circ:function(a){return 1-Math.sqrt(1-a*a)},Elastic:function(a){return 0===a||1===a?a:-Math.pow(2,8*(a-1))*Math.sin((80*(a-1)-7.5)*Math.PI/15)},Back:function(a){return a*a*(3*a-2)},Bounce:function(a){for(var b,c=4;a<((b=Math.pow(2,--c))-1)/11;);return 1/Math.pow(4,3-c)-7.5625*Math.pow((3*b-2)/22-a,2)}}),a.each(b,function(b,c){a.easing["easeIn"+b]=c,a.easing["easeOut"+b]=function(a){return 1-c(1-a)},a.easing["easeInOut"+b]=function(a){return a<.5?c(2*a)/2:1-c(a*-2+2)/2}})}()}(jQuery),function(a,b){var c=0,d={},e={};d.height=d.paddingTop=d.paddingBottom=d.borderTopWidth=d.borderBottomWidth="hide",e.height=e.paddingTop=e.paddingBottom=e.borderTopWidth=e.borderBottomWidth="show",a.widget("ui.accordion",{version:"1.10.3",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var b=this.options;this.prevShow=this.prevHide=a(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),b.collapsible||b.active!==!1&&null!=b.active||(b.active=0),this._processPanels(),b.active<0&&(b.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():a(),content:this.active.length?this.active.next():a()}},_createIcons:function(){var b=this.options.icons;b&&(a("<span>").addClass("ui-accordion-header-icon ui-icon "+b.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(b.header).addClass(b.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var a;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id
vendor: 16,460 bytes, line 39372
39372)&&this.removeAttribute("id")}),this._destroyIcons(),a=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),"content"!==this.options.heightStyle&&a.css("height","")},_setOption:function(a,b){return"active"===a?void this._activate(b):("event"===a&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(b)),this._super(a,b),"collapsible"!==a||b||this.options.active!==!1||this._activate(0),"icons"===a&&(this._destroyIcons(),b&&this._createIcons()),void("disabled"===a&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!b)))},_keydown:function(b){if(!b.altKey&&!b.ctrlKey){var c=a.ui.keyCode,d=this.headers.length,e=this.headers.index(b.target),f=!1;switch(b.keyCode){case c.RIGHT:case c.DOWN:f=this.headers[(e+1)%d];break;case c.LEFT:case c.UP:f=this.headers[(e-1+d)%d];break;case c.SPACE:case c.ENTER:this._eventHandler(b);break;case c.HOME:f=this.headers[0];break;case c.END:f=this.headers[d-1]}f&&(a(b.target).attr("tabIndex",-1),a(f).attr("tabIndex",0),f.focus(),b.preventDefault())}},_panelKeyDown:function(b){b.keyCode===a.ui.keyCode.UP&&b.ctrlKey&&a(b.currentTarget).prev().focus()},refresh:function(){var b=this.options;this._processPanels(),b.active===!1&&b.collapsible===!0||!this.headers.length?(b.active=!1,this.active=a()):b.active===!1?this._activate(0):this.active.length&&!a.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(b.active=!1,this.active=a()):this._activate(Math.max(0,b.active-1)):b.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide()},_refresh:function(){var b,d=this.options,e=d.heightStyle,f=this.element.parent(),g=this.accordionId="ui-accordion-"+(this.element.attr("id")||++c);this.active=this._findActive(d.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(b){var c=a(this),d=c.attr("id"),e=c.next(),f=e.attr("id");d||(d=g+"-header-"+b,c.attr("id",d)),f||(f=g+"-panel-"+b,e.attr("id",f)),c.attr("aria-controls",f),e.attr("aria-labelledby",d)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false",tabIndex:-1}).next().attr({"aria-expanded":"false","aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true",tabIndex:0}).next().attr({"aria-expanded":"true","aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(d.event),"fill"===e?(b=f.height(),this.element.siblings(":visible").each(function(){var c=a(this),d=c.css("position");"absolute"!==d&&"fixed"!==d&&(b-=c.outerHeight(!0))}),this.headers.each(function(){b-=a(this).outerHeight(!0)}),this.headers.next().each(function(){a(this).height(Math.max(0,b-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===e&&(b=0,this.headers.next().each(function(){b=Math.max(b,a(this).css("height","").height())}).height(b))},_activate:function(b){var c=this._findActive(b)[0];c!==this.active[0]&&(c=c||this.active[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return"number"==typeof b?this.headers.eq(b):a()},_setupEvents:function(b){var c={keydown:"_keydown"};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,c),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e[0]===d[0],g=f&&c.collapsible,h=g?a():e.next(),i=d.next(),j={oldHeader:d,oldPanel:i,newHeader:g?a():e,newPanel:h};b.preventDefault(),f&&!c.collapsible||this._trigger("beforeActivate",b,j)===!1||(c.active=!g&&this.headers.index(e),this.active=f?a():e,this._toggle(j),d.removeClass("ui-accordion-header-active ui-state-active"),c.icons&&d.children(".ui-accordion-header-icon").removeClass(c.icons.activeHeader).addClass(c.icons.header),f||(e.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),c.icons&&e.children(".ui-accordion-header-icon").removeClass(c.icons.header).addClass(c.icons.activeHeader),e.next().addClass("ui-accordion-content-active")))},_toggle:function(b){var c=b.newPanel,d=this.prevShow.length?this.prevShow:b.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=c,this.prevHide=d,this.options.animate?this._animate(c,d,b):(d.hide(),c.show(),this._toggleComplete(b)),d.attr({"aria-expanded":"false","aria-hidden":"true"}),d.prev().attr("aria-selected","false"),c.length&&d.length?d.prev().attr("tabIndex",-1):c.length&&this.headers.filter(function(){return 0===a(this).attr("tabIndex")}).attr("tabIndex",-1),c.attr({"aria-expanded":"true","aria-hidden":"false"}).prev().attr({"aria-selected":"true",tabIndex:0})},_animate:function(a,b,c){var f,g,h,i=this,j=0,k=a.length&&(!b.length||a.index()<b.index()),l=this.options.animate||{},m=k&&l.down||l,n=function(){i._toggleComplete(c)};return"number"==typeof m&&(h=m),"string"==typeof m&&(g=m),g=g||m.easing||l.easing,h=h||m.duration||l.duration,b.length?a.length?(f=a.show().outerHeight(),b.animate(d,{duration:h,easing:g,step:function(a,b){b.now=Math.round(a)}}),void a.hide().animate(e,{duration:h,easing:g,complete:n,step:function(a,c){c.now=Math.round(a),"height"!==c.prop?j+=c.now:"content"!==i.options.heightStyle&&(c.now=Math.round(f-b.outerHeight()-j),j=0)}})):b.animate(d,h,g,n):a.animate(e,h,g,n)},_toggleComplete:function(a){var b=a.oldPanel;b.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),b.length&&(b.parent()[0].className=b.parent()[0].className),this._trigger("activate",null,a)}})}(jQuery),function(a,b){var c=0;a.widget("ui.autocomplete",{version:"1.10.3",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},pending:0,_create:function(){var b,c,d,e=this.element[0].nodeName.toLowerCase(),f="textarea"===e,g="input"===e;this.isMultiLine=!!f||!g&&this.element.prop("isContentEditable"),this.valueMethod=this.element[f||g?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(e){if(this.element.prop("readOnly"))return b=!0,d=!0,void(c=!0);b=!1,d=!1,c=!1;var f=a.ui.keyCode;switch(e.keyCode){case f.PAGE_UP:b=!0,this._move("previousPage",e);break;case f.PAGE_DOWN:b=!0,this._move("nextPage",e);break;case f.UP:b=!0,this._keyEvent("previous",e);break;case f.DOWN:b=!0,this._keyEvent("next",e);break;case f.ENTER:case f.NUMPAD_ENTER:this.menu.active&&(b=!0,e.preventDefault(),this.menu.select(e));break;case f.TAB:this.menu.active&&this.menu.select(e);break;case f.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(e),e.preventDefault());break;default:c=!0,this._searchTimeout(e)}},keypress:function(d){if(b)return b=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||d.preventDefault());if(!c){var e=a.ui.keyCode;switch(d.keyCode){case e.PAGE_UP:this._move("previousPage",d);break;case e.PAGE_DOWN:this._move("nextPage",d);break;case e.UP:this._keyEvent("previous",d);break;case e.DOWN:this._keyEvent("next",d)}}},input:function(a){return d?(d=!1,void a.preventDefault()):void this._searchTimeout(a)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(a){return this.cancelBlur?void delete this.cancelBlur:(clearTimeout(this.searching),this.close(a),void this._change(a))}}),this._initSource(),this.menu=a("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().data("ui-menu"),this._on(this.menu.element,{mousedown:function(b){b.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var c=this.menu.element[0];a(b.target).closest(".ui-menu-item").length||this._delay(function(){var b=this;this.document.one("mousedown",function(d){d.target===b.element[0]||d.target===c||a.contains(c,d.target)||b.close()})})},menufocus:function(b,c){if(this.isNewMenu&&(this.isNewMenu=!1,b.originalEvent&&/^mouse/.test(b.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){a(b.target).trigger(b.originalEvent)});var d=c.item.data("ui-autocomplete-item");!1!==this._trigger("focus",b,{item:d})?b.originalEvent&&/^key/.test(b.originalEvent.type)&&this._value(d.value):this.liveRegion.text(d.value)},menuselect:function(a,b){var c=b.item.data("ui-autocomplete-item"),d=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=d,this._delay(function(){this.previous=d,this.selectedItem=c})),!1!==this._trigger("select",a,{item:c})&&this._value(c.value),this.term=this._value(),this.close(a),this.selectedItem=c}}),this.liveRegion=a("<span>",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertBefore(this.element),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(a,b){this._super(a,b),"source"===a&&this._initSource(),"appendTo"===a&&this.menu.element.appendTo(this._appendTo()),"disabled"===a&&b&&this.xhr&&this.xhr.abort()},_appendTo:function(){var b=this.options.appendTo;return b&&(b=b.jquery||b.nodeType?a(b):this.document.find(b).eq(0)),b||(b=this.element.closest(".ui-front")),b.length||(b=this.document[0].body),b},_initSource:function(){var b,c,d=this;a.isArray(this.options.source)?(b=this.options.source,this.source=function(c,d){d(a.ui.autocomplete.filter(b,c.term))}):"string"==typeof this.options.source?(c=this.options.source,this.source=function(b,e){d.xhr&&d.xhr.abort(),d.xhr=a.ajax({url:c,data:b,dataType:"json",success:function(a){e(a)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(a){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,a))},this.options.delay)},search:function(a,b){return a=null!=a?a:this._value(),this.term=this._value(),a.length<this.options.minLength?this.close(b):this._trigger("search",b)!==!1?this._search(a):void 0},_search:function(a){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:a},this._response())},_response:function(){var a=this,b=++c;return function(d){b===c&&a.__response(d),a.pending--,a.pending||a.element.removeClass("ui-autocomplete-loading")}},__response:function(a){a&&(a=this._normalize(a)),this._trigger("response",null,{content:a}),!this.options.disabled&&a&&a.length&&!this.cancelSearch?(this._suggest(a),this._trigger("open")):this._close()},close:function(a){this.cancelSearch=!0,this._close(a)},_close:function(a){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",a))},_change:function(a){this.previous!==this._value()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(b){return b.length&&b[0].label&&b[0].value?b:a.map(b,function(b){return"string"==typeof b?{label:b,value:b}:a.extend({label:b.label||b.value,value:b.value||b.label},b)})},_suggest:function(b){var c=this.menu.element.empty();this._renderMenu(c,b),this.isNewMenu=!0,this.menu.refresh(),c.show(),this._resizeMenu(),c.position(a.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(b,c){var d=this;a.each(c,function(a,c){d._renderItemData(b,c)})},_renderItemData:function(a,b){return this._renderItem(a,b).data("ui-autocomplete-item",b)},_renderItem:function(b,c){return a("<li>").append(a("<a>").text(c.label)).appendTo(b)},_move:function(a,b){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(a)||this.menu.isLastItem()&&/^next/.test(a)?(this._value(this.term),void this.menu.blur()):void this.menu[a](b):void this.search(null,b)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(a,b){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(a,b),b.preventDefault())}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}}),a.widget("ui.autocomplete",a.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(a){return a+(a>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(a){var b;this._superApply(arguments),this.options.disabled||this.cancelSearch||(b=a&&a.length?this.options.messages.results(a.length):this.options.messages.noResults,this.liveRegion.text(b))}})}(jQuery),function(a,b){var c,d,e,f,g="ui-button ui-widget ui-state-default ui-corner-all",h="ui-state-hover ui-state-active ",i="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",j=function(){var b=a(this);setTimeout(function(){b.find(":ui-button").button("refresh")},1)},k=function(b){var c=b.name,d=b.form,e=a([]);return c&&(c=c.replace(/'/g,"\\'"),e=d?a(d).find("[name='"+c+"']"):a("[name='"+c+"']",b.ownerDocument).filter(function(){return!this.form})),e};a.widget("ui.button",{version:"1.10.3",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,j),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var b=this,h=this.options,i="checkbox"===this.type||"radio"===this.type,l=i?"":"ui-state-active",m="ui-state-focus";null===h.label&&(h.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(g).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){h.disabled||this===c&&a(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){h.disabled||a(this).removeClass(l)}).bind("click"+this.eventNamespace,function(a){h.disabled&&(a.preventDefault(),a.stopImmediatePropagation())}),this.element.bind("focus"+this.eventNamespace,function(){b.buttonElement.addClass(m)}).bind("blur"+this.eventNamespace,function(){b.buttonElement.removeClass(m)}),i&&(this.element.bind("change"+this.eventNamespace,function(){f||b.refresh()}),this.buttonElement.bind("mousedown"+this.eventNamespace,function(a){h.disabled||(f=!1,d=a.pageX,e=a.pageY)}).bind("mouseup"+this.eventNamespace,function(a){h.disabled||d===a.pageX&&e===a.pageY||(f=!0)})),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(h.disabled||f)return!1}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(h.disabled||f)return!1;a(this).addClass("ui-state-active"),b.buttonElement.attr("aria-pressed","true");var c=b.element[0];k(c).not(c).map(function(){return a(this).button("widget")[0]}
39372).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return!h.disabled&&(a(this).addClass("ui-state-active"),c=this,void b.document.one("mouseup",function(){c=null}))}).bind("mouseup"+this.eventNamespace,function(){return!h.disabled&&void a(this).removeClass("ui-state-active")}).bind("keydown"+this.eventNamespace,function(b){return!h.disabled&&void(b.keyCode!==a.ui.keyCode.SPACE&&b.keyCode!==a.ui.keyCode.ENTER||a(this).addClass("ui-state-active"))}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){a(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(b){b.keyCode===a.ui.keyCode.SPACE&&a(this).click()})),this._setOption("disabled",h.disabled),this._resetButton()},_determineButtonType:function(){var a,b,c;this.element.is("[type=checkbox]")?this.type="checkbox":this.element.is("[type=radio]")?this.type="radio":this.element.is("input")?this.type="input":this.type="button","checkbox"===this.type||"radio"===this.type?(a=this.element.parents().last(),b="label[for='"+this.element.attr("id")+"']",this.buttonElement=a.find(b),this.buttonElement.length||(a=a.length?a.siblings():this.element.siblings(),this.buttonElement=a.filter(b),this.buttonElement.length||(this.buttonElement=a.find(b))),this.element.addClass("ui-helper-hidden-accessible"),c=this.element.is(":checked"),c&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",c)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(g+" "+h+" "+i).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(a,b){return this._super(a,b),"disabled"===a?void(b?this.element.prop("disabled",!0):this.element.prop("disabled",!1)):void this._resetButton()},refresh:function(){var b=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");b!==this.options.disabled&&this._setOption("disabled",b),"radio"===this.type?k(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return void(this.options.label&&this.element.val(this.options.label));var b=this.buttonElement.removeClass(i),c=a("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary,f=[];d.primary||d.secondary?(this.options.text&&f.push("ui-button-text-icon"+(e?"s":d.primary?"-primary":"-secondary")),d.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+d.primary+"'></span>"),d.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+d.secondary+"'></span>"),this.options.text||(f.push(e?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||b.attr("title",a.trim(c)))):f.push("ui-button-text-only"),b.addClass(f.join(" "))}}),a.widget("ui.buttonset",{version:"1.10.3",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,b){"disabled"===a&&this.buttons.button("option",a,b),this._super(a,b)},refresh:function(){var b="rtl"===this.element.css("direction");this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(b?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}})}(jQuery),function(a,b){function e(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Frid
39372ay","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},a.extend(this._defaults,this.regional[""]),this.dpDiv=f(a("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function f(b){var c="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return b.delegate(c,"mouseout",function(){a(this).removeClass("ui-state-hover"),this.className.indexOf("ui-datepicker-prev")!==-1&&a(this).removeClass("ui-datepicker-prev-hover"),this.className.indexOf("ui-datepicker-next")!==-1&&a(this).removeClass("ui-datepicker-next-hover")}).delegate(c,"mouseover",function(){a.datepicker._isDisabledDatepicker(d.inline?b.parent()[0]:d.input[0])||(a(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),a(this).addClass("ui-state-hover"),this.className.indexOf("ui-datepicker-prev")!==-1&&a(this).addClass("ui-datepicker-prev-hover"),this.className.indexOf("ui-datepicker-next")!==-1&&a(this).addClass("ui-datepicker-next-hover"))})}function g(b,c){a.extend(b,c);for(var d in c)null==c[d]&&(b[d]=c[d]);return b}a.extend(a.ui,{datepicker:{version:"1.10.3"}});var d,c="datepicker";a.extend(e.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return g(this._defaults,a||{}),this},_attachDatepicker:function(b,c){var d,e,f;d=b.nodeName.toLowerCase(),e="div"===d||"span"===d,b.id||(this.uuid+=1,b.id="dp"+this.uuid),f=this._newInst(a(b),e),f.settings=a.extend({},c||{}),"input"===d?this._connectDatepicker(b,f):e&&this._inlineDatepicker(b,f)},_newInst:function(b,c){var d=b[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:d,input:b,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:c,dpDiv:c?f(a("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(b,d){var e=a(b);d.append=a([]),d.trigger=a([]),e.hasClass(this.markerClassName)||(this._attachments(e,d),e.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(d),a.data(b,c,d),d.settings.disabled&&this._disableDatepicker(b))},_attachments:function(b,c){var d,e,f,g=this._get(c,"appendText"),h=this._get(c,"isRTL");c.append&&c.append.remove(),g&&(c.append=a("<span class='"+this._appendClass+"'>"+g+"</span>"),b[h?"before":"after"](c.append)),b.unbind("focus",this._showDatepicker),c.trigger&&c.trigger.remove(),d=this._get(c,"showOn"),"focus"!==d&&"both"!==d||b.focus(this._showDatepicker),"button"!==d&&"both"!==d||(e=this._get(c,"buttonText"),f=this._get(c,"buttonImage"),c.trigger=a(this._get(c,"buttonImageOnly")?a("<img/>").addClass(this._triggerClass).attr({src:f,alt:e,title:e}):a("<button type='button'></button>").addClass(this._triggerClass).html(f?a("<img/>").attr({src:f,alt:e,title:e}):e)),b[h?"before":"after"](c.trigger),c.trigger.click(function(){return a.datepicker._datepickerShowing&&a.datepicker._lastInput===b[0]?a.datepicker._hideDatepicker():a.datepicker._datepickerShowing&&a.datepicker._lastInput!==b[0]?(a.datepicker._hideDatepicker(),a.datepicker._showDatepicker(b[0])):a.datepicker._showDatepicker(b[0]),!1}))}
vendor: 7,339 bytes, line 39372
39372,_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b,c,d,e,f=new Date(2009,11,20),g=this._get(a,"dateFormat");g.match(/[DM]/)&&(b=function(a){for(c=0,d=0,e=0;e<a.length;e++)a[e].length>c&&(c=a[e].length,d=e);return d},f.setMonth(b(this._get(a,g.match(/MM/)?"monthNames":"monthNamesShort"))),f.setDate(b(this._get(a,g.match(/DD/)?"dayNames":"dayNamesShort"))+20-f.getDay())),a.input.attr("size",this._formatDate(a,f).length)}},_inlineDatepicker:function(b,d){var e=a(b);e.hasClass(this.markerClassName)||(e.addClass(this.markerClassName).append(d.dpDiv),a.data(b,c,d),this._setDate(d,this._getDefaultDate(d),!0),this._updateDatepicker(d),this._updateAlternate(d),d.settings.disabled&&this._disableDatepicker(b),d.dpDiv.css("display","block"))},_dialogDatepicker:function(b,d,e,f,h){var i,j,k,l,m,n=this._dialogInst;return n||(this.uuid+=1,i="dp"+this.uuid,this._dialogInput=a("<input type='text' id='"+i+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),a("body").append(this._dialogInput),n=this._dialogInst=this._newInst(this._dialogInput,!1),n.settings={},a.data(this._dialogInput[0],c,n)),g(n.settings,f||{}),d=d&&d.constructor===Date?this._formatDate(n,d):d,this._dialogInput.val(d),this._pos=h?h.length?h:[h.pageX,h.pageY]:null,this._pos||(j=document.documentElement.clientWidth,k=document.documentElement.clientHeight,l=document.documentElement.scrollLeft||document.body.scrollLeft,m=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[j/2-100+l,k/2-150+m]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),n.settings.onSelect=e,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),a.blockUI&&a.blockUI(this.dpDiv),a.data(this._dialogInput[0],c,n),this},_destroyDatepicker:function(b){var d,e=a(b),f=a.data(b,c);e.hasClass(this.markerClassName)&&(d=b.nodeName.toLowerCase(),a.removeData(b,c),"input"===d?(f.append.remove(),f.trigger.remove(),e.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):"div"!==d&&"span"!==d||e.removeClass(this.markerClassName).empty())},_enableDatepicker:function(b){var d,e,f=a(b),g=a.data(b,c);f.hasClass(this.markerClassName)&&(d=b.nodeName.toLowerCase(),"input"===d?(b.disabled=!1,g.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):"div"!==d&&"span"!==d||(e=f.children("."+this._inlineClass),e.children().removeClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}))},_disableDatepicker:function(b){var d,e,f=a(b),g=a.data(b,c);f.hasClass(this.markerClassName)&&(d=b.nodeName.toLowerCase(),"input"===d?(b.disabled=!0,g.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):"div"!==d&&"span"!==d||(e=f.children("."+this._inlineClass),e.children().addClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}),this._disabledInputs[this._disabledInputs.length]=b)},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]===a)return!0;return!1},_getInst:function(b){try{return a.data(b,c)}catch(a){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(c,d,e){var f,h,i,j,k=this._getInst(c);return 2===arguments.length&&"string"==typeof d?"defaults"===d?a.extend({},a.datepicker._defaults):k?"all"===d?a.extend({},k.settings):this._get(k,d):null:(f=d||{},"string"==typeof d&&(f={},f[d]=e),void(k&&(this._curInst===k&&this._hideDatepicker(),h=this._getDateDatepicker(c,!0),i=this._getMinMaxDate(k,"min"),j=this._getMinMaxDate(k,"max"),g(k.settings,f),null!==i&&f.dateFormat!==b&&f.minDate===b&&(k.settings.minDate=this._formatDate(k,i)),null!==j&&f.dateFormat!==b&&f.maxDate===b&&(k.settings.maxDate=this._formatDate(k,j)),"disabled"in f&&(f.disabled?this._disableDatepicker(c):this._enableDatepicker(c)),this._attachments(a(c),k),this._autoSize(k),this._setDate(k,h),this._updateAlternate(k),this._updateDatepicker(k))))},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);return c&&!c.inline&&this._setDateFromField(c,b),c?this._getDate(c):null},_doKeyDown:function(b){var c,d,e,f=a.datepicker._getInst(b.target),g=!0,h=f.dpDiv.is(".ui-datepicker-rtl");if(f._keyEvent=!0,a.datepicker._datepickerShowing)switch(b.keyCode){case 9:a.datepicker._hideDatepicker(),g=!1;break;case 13:return e=a("td."+a.datepicker._dayOverClass+":not(."+a.datepicker._currentClass+")",f.dpDiv),e[0]&&a.datepicker._selectDay(b.target,f.selectedMonth,f.selectedYear,e[0]),c=a.datepicker._get(f,"onSelect"),c?(d=a.datepicker._formatDate(f),c.apply(f.input?f.input[0]:null,[d,f])):a.datepicker._hideDatepicker(),!1;case 27:a.datepicker._hideDatepicker();break;case 33:a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 34:a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 35:(b.ctrlKey||b.metaKey)&&a.datepicker._clearDate(b.target),g=b.ctrlKey||b.metaKey;break;case 36:(b.ctrlKey||b.metaKey)&&a.datepicker._gotoToday(b.target),g=b.ctrlKey||b.metaKey;break;case 37:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?1:-1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 38:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,-7,"D"),g=b.ctrlKey||b.metaKey;break;case 39:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?-1:1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 40:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,7,"D"),g=b.ctrlKey||b.metaKey;break;default:g=!1}else 36===b.keyCode&&b.ctrlKey?a.datepicker._showDatepicker(this):g=!1;g&&(b.preventDefault(),b.stopPropagation())},_doKeyPress:function(b){var c,d,e=a.datepicker._getInst(b.target);if(a.datepicker._get(e,"constrainInput"))return c=a.datepicker._possibleChars(a.datepicker._get(e,"dateFormat")),d=String.fromCharCode(null==b.charCode?b.keyCode:b.charCode),b.ctrlKey||b.metaKey||d<" "||!c||c.indexOf(d)>-1},_doKeyUp:function(b){var c,d=a.datepicker._getInst(b.target);if(d.input.val()!==d.lastVal)try{c=a.datepicker.parseDate(a.datepicker._get(d,"dateFormat"),d.input?d.input.val():null,a.datepicker._getFormatConfig(d)),c&&(a.datepicker._setDateFromField(d),a.datepicker._updateAlternate(d),a.datepicker._updateDatepicker(d
vendor: 6,333 bytes, line 39372
39372))}catch(a){}return!0},_showDatepicker:function(b){if(b=b.target||b,"input"!==b.nodeName.toLowerCase()&&(b=a("input",b.parentNode)[0]),!a.datepicker._isDisabledDatepicker(b)&&a.datepicker._lastInput!==b){var c,d,e,f,h,i,j;c=a.datepicker._getInst(b),a.datepicker._curInst&&a.datepicker._curInst!==c&&(a.datepicker._curInst.dpDiv.stop(!0,!0),c&&a.datepicker._datepickerShowing&&a.datepicker._hideDatepicker(a.datepicker._curInst.input[0])),d=a.datepicker._get(c,"beforeShow"),e=d?d.apply(b,[b,c]):{},e!==!1&&(g(c.settings,e),c.lastVal=null,a.datepicker._lastInput=b,a.datepicker._setDateFromField(c),a.datepicker._inDialog&&(b.value=""),a.datepicker._pos||(a.datepicker._pos=a.datepicker._findPos(b),a.datepicker._pos[1]+=b.offsetHeight),f=!1,a(b).parents().each(function(){return f|="fixed"===a(this).css("position"),!f}),h={left:a.datepicker._pos[0],top:a.datepicker._pos[1]},a.datepicker._pos=null,c.dpDiv.empty(),c.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),a.datepicker._updateDatepicker(c),h=a.datepicker._checkOffset(c,h,f),c.dpDiv.css({position:a.datepicker._inDialog&&a.blockUI?"static":f?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"}),c.inline||(i=a.datepicker._get(c,"showAnim"),j=a.datepicker._get(c,"duration"),c.dpDiv.zIndex(a(b).zIndex()+1),a.datepicker._datepickerShowing=!0,a.effects&&a.effects.effect[i]?c.dpDiv.show(i,a.datepicker._get(c,"showOptions"),j):c.dpDiv[i||"show"](i?j:null),a.datepicker._shouldFocusInput(c)&&c.input.focus(),a.datepicker._curInst=c))}},_updateDatepicker:function(b){this.maxRows=4,d=b,b.dpDiv.empty().append(this._generateHTML(b)),this._attachHandlers(b),b.dpDiv.find("."+this._dayOverClass+" a").mouseover();var c,e=this._getNumberOfMonths(b),f=e[1],g=17;b.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&b.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",g*f+"em"),b.dpDiv[(1!==e[0]||1!==e[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),b.dpDiv[(this._get(b,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),b===a.datepicker._curInst&&a.datepicker._datepickerShowing&&a.datepicker._shouldFocusInput(b)&&b.input.focus(),b.yearshtml&&(c=b.yearshtml,setTimeout(function(){c===b.yearshtml&&b.yearshtml&&b.dpDiv.find("select.ui-datepicker-year:first").replaceWith(b.yearshtml),c=b.yearshtml=null},0))},_shouldFocusInput:function(a){return a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&!a.input.is(":focus")},_checkOffset:function(b,c,d){var e=b.dpDiv.outerWidth(),f=b.dpDiv.outerHeight(),g=b.input?b.input.outerWidth():0,h=b.input?b.input.outerHeight():0,i=document.documentElement.clientWidth+(d?0:a(document).scrollLeft()),j=document.documentElement.clientHeight+(d?0:a(document).scrollTop());return c.left-=this._get(b,"isRTL")?e-g:0,c.left-=d&&c.left===b.input.offset().left?a(document).scrollLeft():0,c.top-=d&&c.top===b.input.offset().top+h?a(document).scrollTop():0,c.left-=Math.min(c.left,c.left+e>i&&i>e?Math.abs(c.left+e-i):0),c.top-=Math.min(c.top,c.top+f>j&&j>f?Math.abs(f+h):0),c},_findPos:function(b){for(var c,d=this._getInst(b),e=this._get(d,"isRTL");b&&("hidden"===b.type||1!==b.nodeType||a.expr.filters.hidden(b));)b=b[e?"previousSibling":"nextSibling"];return c=a(b).offset(),[c.left,c.top]},_hideDatepicker:function(b){var d,e,f,g,h=this._curInst;!h||b&&h!==a.data(b,c)||this._datepickerShowing&&(d=this._get(h,"showAnim"),e=this._get(h,"duration"),f=function(){a.datepicker._tidyDialog(h)},a.effects&&(a.effects.effect[d]||a.effects[d])?h.dpDiv.hide(d,a.datepicker._get(h,"showOptions"),e,f):h.dpDiv["slideDown"===d?"slideUp":"fadeIn"===d?"fadeOut":"hide"](d?e:null,f),d||f(),this._datepickerShowing=!1,g=this._get(h,"onClose"),g&&g.apply(h.input?h.input[0]:null,[h.input?h.input.val():"",h]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),a.blockUI&&(a.unblockUI(),a("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(b){if(a.datepicker._curInst){var c=a(b.target),d=a.datepicker._getInst(c[0]);(c[0].id===a.datepicker._mainDivId||0!==c.parents("#"+a.datepicker._mainDivId).length||c.hasClass(a.datepicker.markerClassName)||c.closest("."+a.datepicker._triggerClass).length||!a.datepicker._datepickerShowing||a.datepicker._inDialog&&a.blockUI)&&(!c.hasClass(a.datepicker.markerClassName)||a.datepicker._curInst===d)||a.datepicker._hideDatepicker()}},_adjustDate:function(b,c,d){var e=a(b),f=this._getInst(e[0]);this._isDisabledDatepicker(e[0])||(this._adjustInstDate(f,c+("M"===d?this._get(f,"showCurrentAtPos"):0),d),this._updateDatepicker(f))},_gotoToday:function(b){var c,d=a(b),e=this._getInst(d[0]);this._get(e,"gotoCurrent")&&e.currentDay?(e.selectedDay=e.currentDay,e.drawMonth=e.selectedMonth=e.currentMonth,e.drawYear=e.selectedYear=e.currentYear):(c=new Date,e.selectedDay=c.getDate(),e.drawMonth=e.selectedMonth=c.getMonth(),e.drawYear=e.selectedYear=c.getFullYear()),this._notifyChange(e),this._adjustDate(d)},_selectMonthYear:function(b,c,d){var e=a(b),f=this._getInst(e[0]);f["selected"+("M"===d?"Month":"Year")]=f["draw"+("M"===d?"Month":"Year")]=parseInt(c.options[c.selectedIndex].value,10),this._notifyChange(f),this._adjustDate(e)},_selectDay:function(b,c,d,e){var f,g=a(b);a(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(g[0])||(f=this._getInst(g[0]),f.selectedDay=f.currentDay=a("a",e).html(),f.selectedMonth=f.currentMonth=c,f.selectedYear=f.currentYear=d,this._selectDate(b,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear)))},_clearDate:function(b){var c=a(b);this._selectDate(c,"")},_selectDate:function(b,c){var d,e=a(b),f=this._getInst(e[0]);c=null!=c?c:this._formatDate(f),f.input&&f.input.val(c),this._updateAlternate(f),d=this._get(f,"onSelect"),d?d.apply(f.input?f.input[0]:null,[c,f]):f.input&&f.input.trigger("change"),f.inline?this._updateDatepicker(f):(this._hideDatepicker(),this._lastInput=f.input[0],"object"!=typeof f.input[0]&&f.input.focus(),this._lastInput=null)},_updateAlternate:function(b){var c,d,e,f=this._get(b,"altField");f&&(c=this._get(b,"altFormat")||this._get(b,"dateFormat"),d=this._getDate(b),e=this.formatDate(c,d,this._getFormatConfig(b)),a(f).each(function(){a(this).val(e)}))}
vendor: 14,341 bytes, line 39372
39372,noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b,c=new Date(a.getTime());return c.setDate(c.getDate()+4-(c.getDay()||7)),b=c.getTime(),c.setMonth(0),c.setDate(1),Math.floor(Math.round((b-c)/864e5)/7)+1},parseDate:function(b,c,d){if(null==b||null==c)throw"Invalid arguments";if(c="object"==typeof c?c.toString():c+"",""===c)return null;var e,f,g,t,h=0,i=(d?d.shortYearCutoff:null)||this._defaults.shortYearCutoff,j="string"!=typeof i?i:(new Date).getFullYear()%100+parseInt(i,10),k=(d?d.dayNamesShort:null)||this._defaults.dayNamesShort,l=(d?d.dayNames:null)||this._defaults.dayNames,m=(d?d.monthNamesShort:null)||this._defaults.monthNamesShort,n=(d?d.monthNames:null)||this._defaults.monthNames,o=-1,p=-1,q=-1,r=-1,s=!1,u=function(a){var c=e+1<b.length&&b.charAt(e+1)===a;return c&&e++,c},v=function(a){var b=u(a),d="@"===a?14:"!"===a?20:"y"===a&&b?4:"o"===a?3:2,e=new RegExp("^\\d{1,"+d+"}"),f=c.substring(h).match(e);if(!f)throw"Missing number at position "+h;return h+=f[0].length,parseInt(f[0],10)},w=function(b,d,e){var f=-1,g=a.map(u(b)?e:d,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)});if(a.each(g,function(a,b){var d=b[1];if(c.substr(h,d.length).toLowerCase()===d.toLowerCase())return f=b[0],h+=d.length,!1}),f!==-1)return f+1;throw"Unknown name at position "+h},x=function(){if(c.charAt(h)!==b.charAt(e))throw"Unexpected literal at position "+h;h++};for(e=0;e<b.length;e++)if(s)"'"!==b.charAt(e)||u("'")?x():s=!1;else switch(b.charAt(e)){case"d":q=v("d");break;case"D":w("D",k,l);break;case"o":r=v("o");break;case"m":p=v("m");break;case"M":p=w("M",m,n);break;case"y":o=v("y");break;case"@":t=new Date(v("@")),o=t.getFullYear(),p=t.getMonth()+1,q=t.getDate();break;case"!":t=new Date((v("!")-this._ticksTo1970)/1e4),o=t.getFullYear(),p=t.getMonth()+1,q=t.getDate();break;case"'":u("'")?x():s=!0;break;default:x()}if(h<c.length&&(g=c.substr(h),!/^\s+/.test(g)))throw"Extra/unparsed characters found in date: "+g;if(o===-1?o=(new Date).getFullYear():o<100&&(o+=(new Date).getFullYear()-(new Date).getFullYear()%100+(o<=j?0:-100)),r>-1)for(p=1,q=r;;){if(f=this._getDaysInMonth(o,p-1),q<=f)break;p++,q-=f}if(t=this._daylightSavingAdjust(new Date(o,p-1,q)),t.getFullYear()!==o||t.getMonth()+1!==p||t.getDate()!==q)throw"Invalid date";return t},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d,e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=function(b){var c=d+1<a.length&&a.charAt(d+1)===b;return c&&d++,c},j=function(a,b,c){var d=""+b;if(i(a))for(;d.length<c;)d="0"+d;return d},k=function(a,b,c,d){return i(a)?d[b]:c[b]},l="",m=!1;if(b)for(d=0;d<a.length;d++)if(m)"'"!==a.charAt(d)||i("'")?l+=a.charAt(d):m=!1;else switch(a.charAt(d)){case"d":l+=j("d",b.getDate(),2);break;case"D":l+=k("D",b.getDay(),e,f);break;case"o":l+=j("o",Math.round((new Date(b.getFullYear(),b.getMonth(),b.getDate()).getTime()-new Date(b.getFullYear(),0,0).getTime())/864e5),3);break;case"m":l+=j("m",b.getMonth()+1,2);break;case"M":l+=k("M",b.getMonth(),g,h);break;case"y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":l+=b.getTime();break;case"!":l+=1e4*b.getTime()+this._ticksTo1970;break;case"'":i("'")?l+="'":m=!0;break;default:l+=a.charAt(d)}return l},_possibleChars:function(a){var b,c="",d=!1,e=function(c){var d=b+1<a.length&&a.charAt(b+1)===c;return d&&b++,d};for(b=0;b<a.length;b++)if(d)"'"!==a.charAt(b)||e("'")?c+=a.charAt(b):d=!1;else switch(a.charAt(b)){case"d":case"m":case"y":case"@":c+="0123456789";break;case"D":case"M":return null;case"'":e("'")?c+="'":d=!0;break;default:c+=a.charAt(b)}return c},_get:function(a,c){return a.settings[c]!==b?a.settings[c]:this._defaults[c]},_setDateFromField:function(a,b){if(a.input.val()!==a.lastVal){var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e=this._getDefaultDate(a),f=e,g=this._getFormatConfig(a);try{f=this.parseDate(c,d,g)||e}catch(a){d=b?"":d}a.selectedDay=f.getDate(),a.drawMonth=a.selectedMonth=f.getMonth(),a.drawYear=a.selectedYear=f.getFullYear(),a.currentDay=d?f.getDate():0,a.currentMonth=d?f.getMonth():0,a.currentYear=d?f.getFullYear():0,this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(b,c,d){var e=function(a){var b=new Date;return b.setDate(b.getDate()+a),b},f=function(c){try{return a.datepicker.parseDate(a.datepicker._get(b,"dateFormat"),c,a.datepicker._getFormatConfig(b))}catch(a){}for(var d=(c.toLowerCase().match(/^c/)?a.datepicker._getDate(b):null)||new Date,e=d.getFullYear(),f=d.getMonth(),g=d.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,i=h.exec(c);i;){switch(i[2]||"d"){case"d":case"D":g+=parseInt(i[1],10);break;case"w":case"W":g+=7*parseInt(i[1],10);break;case"m":case"M":f+=parseInt(i[1],10),g=Math.min(g,a.datepicker._getDaysInMonth(e,f));break;case"y":case"Y":e+=parseInt(i[1],10),g=Math.min(g,a.datepicker._getDaysInMonth(e,f))}i=h.exec(c)}return new Date(e,f,g)},g=null==c||""===c?d:"string"==typeof c?f(c):"number"==typeof c?isNaN(c)?d:e(c):new Date(c.getTime());return g=g&&"Invalid Date"===g.toString()?d:g,g&&(g.setHours(0),g.setMinutes(0),g.setSeconds(0),g.setMilliseconds(0)),this._daylightSavingAdjust(g)},_daylightSavingAdjust:function(a){return a?(a.setHours(a.getHours()>12?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),e===a.selectedMonth&&f===a.selectedYear||c||this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&""===a.input.val()?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_attachHandlers:function(b){var c=this._get(b,"stepMonths"),d="#"+b.id.replace(/\\\\/g,"\\");b.dpDiv.find("[data-handler]").map(function(){var b={prev:function(){a.datepicker._adjustDate(d,-c,"M")},next:function(){a.datepicker._adjustDate(d,+c,"M")},hide:function(){a.datepicker._hideDatepicker()},today:function(){a.datepicker._gotoToday(d)},selectDay:function(){return a.datepicker._selectDay(d,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return a.datepicker._selectMonthYear(d,this,"M"),!1},selectYear:function(){return a.datepicker._selectMonthYear(d,this,"Y"),!1}};a(this).bind(this.getAttribute("data-event"),b[this.getAttribute("data-handler")])})},_generateHTML:function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O=new Date,P=this._daylightSavingAdjust(new Date(O.getFullYear(),O.getMonth(),O.getDate())),Q=this._get(a,"isRTL"),R=this._get(a,"showButtonPanel"),S=this._get(a,"hideIfNoPrevNext"),T=this._get(a,"navigationAsDateFormat"),U=this._getNumberOfMonths(a),V=this._get(a,"showCurrentAtPos"),W=this._get(a,"stepMonths"),X=1!==U[0]||1!==U[1],Y=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),Z=this._getMinMaxDate(a,"min"),$=this._getMinMaxDate(a,"max"),_=a.drawMonth-V,aa=a.drawYear;if(_<0&&(_+=12,aa--),$)for(b=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-U[0]*U[1]+1,$.getDate())),b=Z&&b<Z?Z:b;this._daylightSavingAdjust(new Date(aa,_,1))>b;)_--,_<0&&(_=11,aa--);for(a.drawMonth=_,a.drawYear=aa,c=this._get(a,"prevText"),c=T?this.formatDate(c,this._daylightSavingAdjust(new Date(aa,_-W,1)),this._getFormatConfig(a)):c,d=this._canAdjustMonth(a,-1,aa,_)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>":S?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>",e=this._get(a,"nextText"),e=T?this.formatDate(e,this._daylightSavingAdjust(new Date(aa,_+W,1)),this._getFormatConfig(a)):e,f=this._canAdjustMonth(a,1,aa,_)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>":S?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>",g=this._get(a,"currentText"),h=this._get(a,"gotoCurrent")&&a.currentDay?Y:P,g=T?this.formatDate(g,h,this._getFormatConfig(a)):g,i=a.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(a,"closeText")+"</button>",j=R?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Q?i:"")+(this._isInRange(a,h)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+g+"</button>":"")+(Q?"":i)+"</div>":"",k=parseInt(this._get(a,"firstDay"),10),k=isNaN(k)?0:k,l=this._get(a,"showWeek"),m=this._get(a,"dayNames"),n=this._get(a,"dayNamesMin"),o=this._get(a,"monthNames"),p=this._get(a,"monthNamesShort"),q=this._get(a,"beforeShowDay"),r=this._get(a,"showOtherMonths"),s=this._get(a,"selectOtherMonths"),t=this._getDefaultDate(a),u="",w=0;w<U[0];w++){for(x="",this.maxRows=4,y=0;y<U[1];y++){if(z=this._daylightSavingAdjust(new Date(aa,_,a.selectedDay)),A=" ui-corner-all",B="",X){if(B+="<div class='ui-datepicker-group",U[1]>1)switch(y){case 0:B+=" ui-datepicker-group-first",A=" ui-corner-"+(Q?"right":"left");break;case U[1]-1:B+=" ui-datepicker-group-last",A=" ui-corner-"+(Q?"left":"right");break;default:B+=" ui-datepicker-group-middle",A=""}B+="'>"}for(B+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+A+"'>"+(/all|left/.test(A)&&0===w?Q?f:d:"")+(/all|right/.test(A)&&0===w?Q?d:f:"")+this._generateMonthYearHeader(a,_,aa,Z,$,w>0||y>0,o,p)+"</div><table class='ui-datepicker-calendar'><thead><tr>",C=l?"<th class='ui-datepicker-week-col'>"+this._get(a,"weekHeader")+"</th>":"",v=0;v<7;v++)D=(v+k)%7,C+="<th"+((v+k+6)%7>=5?" class='ui-datepicker-week-end'":"")+"><span title='"+m[D]+"'>"+n[D]+"</span></th>";for(B+=C+"</tr></thead><tbody>",E=this._getDaysInMonth(aa,_),aa===a.selectedYear&&_===a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,E)),F=(this._getFirstDayOfMonth(aa,_)-k+7)%7,G=Math.ceil((F+E)/7),H=X&&this.maxRows>G?this.maxRows:G,this.maxRows=H,I=this._daylightSavingAdjust(new Date(aa,_,1-F)),J=0;J<H;J++){for(B+="<tr>",K=l?"<td class='ui-datepicker-week-col'>"+this._get(a,"calculateWeek")(I)+"</td>":"",v=0;v<7;v++)L=q?q.apply(a.input?a.input[0]:null,[I]):[!0,""],M=I.getMonth()!==_,N=M&&!s||!L[0]||Z&&I<Z||$&&I>$,K+="<td class='"+((v+k+6)%7>=5?" ui-datepicker-week-end":"")+(M?" ui-datepicker-other-month":"")+(I.getTime()===z.getTime()&&_===a.selectedMonth&&a._keyEvent||t.getTime()===I.getTime()&&t.getTime()===z.getTime()?" "+this._dayOverClass:"")+(N?" "+this._unselectableClass+" ui-state-disabled":"")+(M&&!r?"":" "+L[1]+(I.getTime()===Y.getTime()?" "+this._currentClass:"")+(I.getTime()===P.getTime()?" ui-datepicker-today":""))+"'"+(M&&!r||!L[2]?"":" title='"+L[2].replace(/'/g,"'")+"'")+(N?"":" data-handler='selectDay' data-event='click' data-month='"+I.getMonth()+"' data-year='"+I.getFullYear()+"'")+">"+(M&&!r?" ":N?"<span class='ui-state-default'>"+I.getDate()+"</span>":"<a class='ui-state-default"+(I.getTime()===P.getTime()?" ui-state-highlight":"")+(I.getTime()===Y.getTime()?" ui-state-active":"")+(M?" ui-priority-secondary":"")+"' href='#'>"+I.getDate()+"</a>")+"</td>",I.setDate(I.getDate()+1),I=this._daylightSavingAdjust(I);B+=K+"</tr>"}_++,_>11&&(_=0,aa++),B+="</tbody></table>"+(X?"</div>"+(U[0]>0&&y===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=B}u+=x}return u+=j,a._keyEvent=!1,u},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q=this._get(a,"changeMonth"),r=this._get(a,"changeYear"),s=this._get(a,"showMonthAfterYear"),t="<div class='ui-datepicker-title'>",u="";if(f||!q)u+="<span class='ui-datepicker-month'>"+g[b]+"</span>";else{for(i=d&&d.getFullYear()===c,j=e&&e.getFullYear()===c,u+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",k=0;k<12;k++)(!i||k>=d.getMonth())&&(!j||k<=e.getMonth())&&(u+="<option value='"+k+"'"+(k===b?" selected='selected'":"")+">"+h[k]+"</option>");u+="</select>"}if(s||(t+=u+(!f&&q&&r?"":" ")),!a.yearshtml)if(a.yearshtml="",f||!r)t+="<span class='ui-datepicker-year'>"+c+"</span>";else{for(l=this._get(a,"yearRange").split(":"),m=(new Date).getFullYear(),n=function(a){var b=a.match(/c[+\-].*/)?c+parseInt(a.substring(1),10):a.match(/[+\-].*/)?m+parseInt(a,10):parseInt(a,10);return isNaN(b)?m:b},o=n(l[0]),p=Math.max(o,n(l[1]||"")),o=d?Math.max(o,d.getFullYear()):o,p=e?Math.min(p,e.getFullYear()):p,a.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";o<=p;o++)a.yearshtml+="<option value='"+o+"'"+(o===c?" selected='selected'":"")+">"+o+"</option>";a.yearshtml+="</select>",t+=a.yearshtml,a.yearshtml=null}return t+=this._get(a,"yearSuffix"),s&&(t+=(!f&&q&&r?"":" ")+u),t+="</div>"},_adjustInstDate:function(a,b,c){var d=a.drawYear+("Y"===c?b:0),e=a.drawMonth+("M"===c?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+("D"===c?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),"M"!==c&&"Y"!==c||this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&b<c?c:b;return d&&e>d?d:e}
vendor: 21,179 bytes, line 39372
39372,_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return null==b?[1,1]:"number"==typeof b?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return new Date(a,b,1).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));return b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c,d,e=this._getMinMaxDate(a,"min"),f=this._getMinMaxDate(a,"max"),g=null,h=null,i=this._get(a,"yearRange");return i&&(c=i.split(":"),d=(new Date).getFullYear(),g=parseInt(c[0],10),h=parseInt(c[1],10),c[0].match(/[+\-].*/)&&(g+=d),c[1].match(/[+\-].*/)&&(h+=d)),(!e||b.getTime()>=e.getTime())&&(!f||b.getTime()<=f.getTime())&&(!g||b.getFullYear()>=g)&&(!h||b.getFullYear()<=h)},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b="string"!=typeof b?b:(new Date).getFullYear()%100+parseInt(b,10),{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?"object"==typeof b?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),a.fn.datepicker=function(b){if(!this.length)return this;a.datepicker.initialized||(a(document).mousedown(a.datepicker._checkExternalClick),a.datepicker.initialized=!0),0===a("#"+a.datepicker._mainDivId).length&&a("body").append(a.datepicker.dpDiv);var c=Array.prototype.slice.call(arguments,1);return"string"!=typeof b||"isDisabled"!==b&&"getDate"!==b&&"widget"!==b?"option"===b&&2===arguments.length&&"string"==typeof arguments[1]?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c)):this.each(function(){"string"==typeof b?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this].concat(c)):a.datepicker._attachDatepicker(this,b)}):a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c))},a.datepicker=new e,a.datepicker.initialized=!1,a.datepicker.uuid=(new Date).getTime(),a.datepicker.version="1.10.3"}(jQuery),function(a,b){var c={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},d={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};a.widget("ui.dialog",{version:"1.10.3",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(b){var c=a(this).css(b).offset().top;c<0&&a(this).css("top",b.top-c)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&a.fn.draggable&&this._makeDraggable(),this.options.resizable&&a.fn.resizable&&this._makeResizable(),this._isOpen=!1},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var b=this.options.appendTo;return b&&(b.jquery||b.nodeType)?a(b):this.document.find(b||"body").eq(0)},_destroy:function(){var a,b=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),a=b.parent.children().eq(b.index),a.length&&a[0]!==this.element[0]?a.before(this.element):b.parent.append(this.element)},widget:function(){return this.uiDialog},disable:a.noop,enable:a.noop,close:function(b){var c=this;this._isOpen&&this._trigger("beforeClose",b)!==!1&&(this._isOpen=!1,this._destroyOverlay(),this.opener.filter(":focusable").focus().length||a(this.document[0].activeElement).blur(),this._hide(this.uiDialog,this.options.hide,function(){c._trigger("close",b)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(a,b){var c=!!this.uiDialog.nextAll(":visible").insertBefore(this.uiDialog).length;return c&&!b&&this._trigger("focus",a),c},open:function(){var b=this;return this._isOpen?void(this._moveToTop()&&this._focusTabbable()):(this._isOpen=!0,this.opener=a(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this._show(this.uiDialog,this.options.show,function(){b._focusTabbable(),b._trigger("focus")}),void this._trigger("open"))},_focusTabbable:function(){var a=this.element.find("[autofocus]");a.length||(a=this.element.find(":tabbable")),a.length||(a=this.uiDialogButtonPane.find(":tabbable")),a.length||(a=this.uiDialogTitlebarClose.filter(":tabbable")),a.length||(a=this.uiDialog),a.eq(0).focus()},_keepFocus:function(b){function c(){var b=this.document[0].activeElement,c=this.uiDialog[0]===b||a.contains(this.uiDialog[0],b);c||this._focusTabbable()}b.preventDefault(),c.call(this),this._delay(c)},_createWrapper:function(){this.uiDialog=a("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(b){if(this.options.closeOnEscape&&!b.isDefaultPrevented()&&b.keyCode&&b.keyCode===a.ui.keyCode.ESCAPE)return b.preventDefault(),void this.close(b);if(b.keyCode===a.ui.keyCode.TAB){var c=this.uiDialog.find(":tabbable"),d=c.filter(":first"),e=c.filter(":last");b.target!==e[0]&&b.target!==this.uiDialog[0]||b.shiftKey?b.target!==d[0]&&b.target!==this.uiDialog[0]||!b.shiftKey||(e.focus(1),b.preventDefault()):(d.focus(1),b.preventDefault())}},mousedown:function(a){this._moveToTop(a)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var b;this.uiDialogTitlebar=a("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(b){a(b.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=a("<button></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(a){a.preventDefault(),this.close(a)}}),b=a("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(b),this.uiDialog.attr({"aria-labelledby":b.attr("id")})},_title:function(a){this.options.title||a.html(" "),a.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=a("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=a("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var b=this,c=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),a.isEmptyObject(c)||a.isArray(c)&&!c.length?void this.uiDialog.removeClass("ui-dialog-buttons"):(a.each(c,function(c,d){var e,f;d=a.isFunction(d)?{click:d,text:c}:d,d=a.extend({type:"button"},d),e=d.click,d.click=function(){e.apply(b.element[0],arguments)},f={icons:d.icons,text:d.showText},delete d.icons,delete d.showText,a("<button></button>",d).button(f).appendTo(b.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),void this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){function d(a){return{position:a.position,offset:a.offset}}var b=this,c=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(c,e){a(this).addClass("ui-dialog-dragging"),b._blockFrames(),b._trigger("dragStart",c,d(e))},drag:function(a,c){b._trigger("drag",a,d(c))},stop:function(e,f){c.position=[f.position.left-b.document.scrollLeft(),f.position.top-b.document.scrollTop()],a(this).removeClass("ui-dialog-dragging"),b._unblockFrames(),b._trigger("dragStop",e,d(f))}})},_makeResizable:function(){function g(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}var b=this,c=this.options,d=c.resizable,e=this.uiDialog.css("position"),f="string"==typeof d?d:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:c.maxWidth,maxHeight:c.maxHeight,minWidth:c.minWidth,minHeight:this._minHeight(),handles:f,start:function(c,d){a(this).addClass("ui-dialog-resizing"),b._blockFrames(),b._trigger("resizeStart",c,g(d))},resize:function(a,c){b._trigger("resize",a,g(c))},stop:function(d,e){c.height=a(this).height(),c.width=a(this).width(),a(this).removeClass("ui-dialog-resizing"),b._unblockFrames(),b._trigger("resizeStop",d,g(e))}}).css("position",e)},_minHeight:function(){var a=this.options;return"auto"===a.height?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(){var a=this.uiDialog.is(":visible");a||this.uiDialog.show(),this.uiDialog.position(this.options.position),a||this.uiDialog.hide()},_setOptions:function(b){var e=this,f=!1,g={};a.each(b,function(a,b){e._setOption(a,b),a in c&&(f=!0),a in d&&(g[a]=b)}),f&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",g)},_setOption:function(a,b){var c,d,e=this.uiDialog;"dialogClass"===a&&e.removeClass(this.options.dialogClass).addClass(b),"disabled"!==a&&(this._super(a,b),"appendTo"===a&&this.uiDialog.appendTo(this._appendTo()),"buttons"===a&&this._createButtons(),"closeText"===a&&this.uiDialogTitlebarClose.button({label:""+b}),"draggable"===a&&(c=e.is(":data(ui-draggable)"),c&&!b&&e.draggable("destroy"),!c&&b&&this._makeDraggable()),"position"===a&&this._position(),"resizable"===a&&(d=e.is(":data(ui-resizable)"),d&&!b&&e.resizable("destroy"),d&&"string"==typeof b&&e.resizable("option","handles",b),d||b===!1||this._makeResizable()),"title"===a&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var a,b,c,d=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),d.minWidth>d.width&&(d.width=d.minWidth),a=this.uiDialog.css({height:"auto",width:d.width}).outerHeight(),b=Math.max(0,d.minHeight-a),c="number"==typeof d.maxHeight?Math.max(0,d.maxHeight-a):"none","auto"===d.height?this.element.css({minHeight:b,maxHeight:c,height:"auto"}):this.element.height(Math.max(0,d.height-a)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var b=a(this);return a("<div>").css({position:"absolute",width:b.outerWidth(),height:b.outerHeight()}).appendTo(b.parent()).offset(b.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(b){return!!a(b.target).closest(".ui-dialog").length||!!a(b.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var b=this,c=this.widgetFullName;a.ui.dialog.overlayInstances||this._delay(function(){a.ui.dialog.overlayInstances&&this.document.bind("focusin.dialog",function(d){b._allowInteraction(d)||(d.preventDefault(),a(".ui-dialog:visible:last .ui-dialog-content").data(c)._focusTabbable())})}),this.overlay=a("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),a.ui.dialog.overlayInstances++}},_destroyOverlay:function(){this.options.modal&&this.overlay&&(a.ui.dialog.overlayInstances--,a.ui.dialog.overlayInstances||this.document.unbind("focusin.dialog"),this.overlay.remove(),this.overlay=null)}}),a.ui.dialog.overlayInstances=0,a.uiBackCompat!==!1&&a.widget("ui.dialog",a.ui.dialog,{_position:function(){var e,b=this.options.position,c=[],d=[0,0];b?(("string"==typeof b||"object"==typeof b&&"0"in b)&&(c=b.split?b.split(" "):[b[0],b[1]],1===c.length&&(c[1]=c[0]),a.each(["left","top"],function(a,b){+c[a]===c[a]&&(d[a]=c[a],c[a]=b)}),b={my:c[0]+(d[0]<0?d[0]:"+"+d[0])+" "+c[1]+(d[1]<0?d[1]:"+"+d[1]),at:c.join(" ")}),b=a.extend({},a.ui.dialog.prototype.options.position,b)):b=a.ui.dialog.prototype.options.position,e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.position(b),e||this.uiDialog.hide()}})}(jQuery),function(a,b){var c=/up|down|vertical/,d=/up|left|vertical|horizontal/;a.effects.effect.blind=function(b,e){var p,q,r,f=a(this),g=["position","top","bottom","left","right","height","width"],h=a.effects.setMode(f,b.mode||"hide"),i=b.direction||"up",j=c.test(i),k=j?"height":"width",l=j?"top":"left",m=d.test(i),n={},o="show"===h;f.parent().is(".ui-effects-wrapper")?a.effects.save(f.parent(),g):a.effects.save(f,g),f.show(),p=a.effects.createWrapper(f).css({overflow:"hidden"}),q=p[k](),r=parseFloat(p.css(l))||0,n[k]=o?q:0,m||(f.css(j?"bottom":"right",0).css(j?"top":"left","auto").css({position:"absolute"}),n[l]=o?r:q+r),o&&(p.css(k,0),m||p.css(l,r+q)),p.animate(n,{duration:b.duration,easing:b.easing,queue:!1,complete:function(){"hide"===h&&f.hide(),a.effects.restore(f,g),a.effects.removeWrapper(f),e()}})}}(jQuery),function(a,b){a.effects.effect.bounce=function(b,c){var q,r,s,d=a(this),e=["position","top","bottom","left","right","height","width"],f=a.effects.setMode(d,b.mode||"effect"),g="hide"===f,h="show"===f,i=b.direction||"up",j=b.distance,k=b.times||5,l=2*k+(h||g?1:0),m=b.duration/l,n=b.easing,o="up"===i||"down"===i?"top":"left",p="up"===i||"left"===i,t=d.queue(),u=t.length;for((h||g)&&e.push("opacity"),a.effects.save(d,e),d.show(),a.effects.createWrapper(d),j||(j=d["top"===o?"outerHeight":"outerWidth"]()/3),h&&(s={opacity:1},s[o]=0,d.css("opacity",0).css(o,p?2*-j:2*j).animate(s,m,n)),g&&(j/=Math.pow(2,k-1)),s={},s[o]=0,q=0;q<k;q++)r={},r[o]=(p?"-=":"+=")+j,d.animate(r,m,n).animate(s,m,n),j=g?2*j:j/2;g&&(r={opacity:0},r[o]=(p?"-=":"+=")+j,d.animate(r,m,n)),d.queue(function(){g&&d.hide(),a.effects.restore(d,e),a.effects.removeWrapper(d),c()}),u>1&&t.splice.apply(t,[1,0].concat(t.splice(u,l+1))),d.dequeue()}}(jQuery),function(a,b){a.effects.effect.clip=function(b,c){var m,n,o,d=a(this),e=["position","top","bottom","left","right","height","width"],f=a.effects.setMode(d,b.mode||"hide"),g="show"===f,h=b.direction||"vertical",i="vertical"===h,j=i?"height":"width",k=i?"top":"left",l={};a.effects.save(d,e),d.show(),m=a.effects.createWrapper(d).css({overflow:"hidden"}),n="IMG"===d[0].tagName?m:d,o=n[j](),g&&(n.css(j,0),n.css(k,o/2)),l[j]=g?o:0,l[k]=g?0:o/2,n.animate(l,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){g||d.hide(),a.effects.restore(d,e),a.effects.removeWrapper(d),c()}})}}(jQuery),function(a,b){a.effects.effect.drop=function(b,c){var l,d=a(this),e=["position","top","bottom","left","right","opacity","height","width"],f=a.effects.setMode(d,b.mode||"hide"),g="show"===f,h=b.direction||"left",i="up"===h||"down"===h?"top":"left",j="up"===h||"left"===h?"pos":"neg",k={opacity:g?1:0};a.effects.save(d,e),d.show(),a.effects.createWrapper(d),l=b.distance||d["top"===i?"outerHeight":"outerWidth"](!0)/2,g&&d.css("opacity",0).css(i,"pos"===j?-l:l),k[i]=(g?"pos"===j?"+=":"-=":"pos"===j?"-=":"+=")+l,d.animate(k,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){"hide"===f&&d.hide(),a.effects.restore(d,e),a.effects.removeWrapper(d),c()}})}}(jQuery),function(a,b){a.effects.effect.explode=function(b,c){function s(){l.push(this),l.length===d*e&&t()}function t(){f.css({visibility:"visible"}),a(l).remove(),h||f.hide(),c()}var m,n,o,p,q,r,d=b.pieces?Math.round(Math.sqrt(b.pieces)):3,e=d,f=a(this),g=a.effects.setMode(f,b.mode||"hide"),h="show"===g,i=f.show().css("visibility","hidden").offset(),j=Math.ceil(f.outerWidth()/e),k=Math.ceil(f.outerHeight()/d),l=[];for(m=0;m<d;m++)for(p=i.top+m*k,r=m-(d-1)/2,n=0;n<e;n++)o=i.left+n*j,q=n-(e-1)/2,f.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-n*j,top:-m*k}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:j,height:k,left:o+(h?q*j:0),top:p+(h?r*k:0),opacity:h?0:1}).animate({left:o+(h?0:q*j),top:p+(h?0:r*k),opacity:h?1:0},b.duration||500,b.easing,s)}}(jQuery),function(a,b){a.effects.effect.fade=function(b,c){var d=a(this),e=a.effects.setMode(d,b.mode||"toggle");d.animate({opacity:e},{queue:!1,duration:b.duration,easing:b.easing,complete:c})}}(jQuery),function(a,b){a.effects.effect.fold=function(b,c){var o,p,d=a(this),e=["position","top","bottom","left","right","height","width"],f=a.effects.setMode(d,b.mode||"hide"),g="show"===f,h="hide"===f,i=b.size||15,j=/([0-9]+)%/.exec(i),k=!!b.horizFirst,l=g!==k,m=l?["width","height"]:["height","width"],n=b.duration/2,q={},r={};a.effects.save(d,e),d.show(),o=a.effects.createWrapper(d).css({overflow:"hidden"}),p=l?[o.width(),o.height()]:[o.height(),o.width()],j&&(i=parseInt(j[1],10)/100*p[h?0:1]),g&&o.css(k?{height:0,width:i}:{height:i,width:0}),q[m[0]]=g?p[0]:i,r[m[1]]=g?p[1]:0,o.animate(q,n,b.easing).animate(r,n,b.easing,function(){h&&d.hide(),a.effects.restore(d,e),a.effects.removeWrapper(d),c()})}}(jQuery),function(a,b){a.effects.effect.highlight=function(b,c){var d=a(this),e=["backgroundImage","backgroundColor","opacity"],f=a.effects.setMode(d,b.mode||"show"),g={backgroundColor:d.css("backgroundColor")};"hide"===f&&(g.opacity=0),a.effects.save(d,e),d.show().css({backgroundImage:"none",backgroundColor:b.color||"#ffff99"}).animate(g,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){"hide"===f&&d.hide(),a.effects.restore(d,e),c()}})}}(jQuery),function(a,b){a.effects.effect.pulsate=function(b,c){var n,d=a(this),e=a.effects.setMode(d,b.mode||"show"),f="show"===e,g="hide"===e,h=f||"hide"===e,i=2*(b.times||5)+(h?1:0),j=b.duration/i,k=0,l=d.queue(),m=l.length;for(!f&&d.is(":visible")||(d.css("opacity",0).show(),k=1),n=1;n<i;n++)d.animate({opacity:k},j,b.easing),k=1-k;d.animate({opacity:k},j,b.easing),d.queue(function(){g&&d.hide(),c()}),m>1&&l.splice.apply(l,[1,0].concat(l.splice(m,i+1))),d.dequeue()}}(jQuery),function(a,b){a.effects.effect.puff=function(b,c){var d=a(this),e=a.effects.setMode(d,b.mode||"hide"),f="hide"===e,g=parseInt(b.percent,10)||150,h=g/100,i={height:d.height(),width:d.width(),outerHeight:d.outerHeight(),outerWidth:d.outerWidth()};a.extend(b,{effect:"scale",queue:!1,fade:!0,mode:e,complete:c,percent:f?g:100,from:f?i:{height:i.height*h,width:i.width*h,outerHeight:i.outerHeight*h,outerWidth:i.outerWidth*h}}),d.effect(b)},a.effects.effect.scale=function(b,c){var d=a(this),e=a.extend(!0,{},b),f=a.effects.setMode(d,b.mode||"effect"),g=parseInt(b.percent,10)||(0===parseInt(b.percent,10)?0:"hide"===f?0:100),h=b.direction||"both",i=b.origin,j={height:d.height(),width:d.width(),outerHeight:d.outerHeight(),outerWidth:d.outerWidth()},k={y:"horizontal"!==h?g/100:1,x:"vertical"!==h?g/100:1};e.effect="size",e.queue=!1,e.complete=c,"effect"!==f&&(e.origin=i||["middle","center"],e.restore=!0),e.from=b.from||("show"===f?{height:0,width:0,outerHeight:0,outerWidth:0}:j),e.to={height:j.height*k.y,width:j.width*k.x,outerHeight:j.outerHeight*k.y,outerWidth:j.outerWidth*k.x},e.fade&&("show"===f&&(e.from.opacity=0,e.to.opacity=1),"hide"===f&&(e.from.opacity=1,e.to.opacity=0)),d.effect(e)},a.effects.effect.size=function(b,c){var d,e,f,g=a(this),h=["position","top","bottom","left","right","width","height","overflow","opacity"],i=["position","top","bottom","left","right","overflow","opacity"],j=["width","height","overflow"],k=["fontSize"],l=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],m=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],n=a.effects.setMode(g,b.mode||"effect"),o=b.restore||"effect"!==n,p=b.scale||"both",q=b.origin||["middle","center"],r=g.css("position"),s=o?h:i,t={height:0,width:0,outerHeight:0,outerWidth:0};
vendor: 2,236 bytes, line 39372
39372"show"===n&&g.show(),d={height:g.height(),width:g.width(),outerHeight:g.outerHeight(),outerWidth:g.outerWidth()},"toggle"===b.mode&&"show"===n?(g.from=b.to||t,g.to=b.from||d):(g.from=b.from||("show"===n?t:d),g.to=b.to||("hide"===n?t:d)),f={from:{y:g.from.height/d.height,x:g.from.width/d.width},to:{y:g.to.height/d.height,x:g.to.width/d.width}},"box"!==p&&"both"!==p||(f.from.y!==f.to.y&&(s=s.concat(l),g.from=a.effects.setTransition(g,l,f.from.y,g.from),g.to=a.effects.setTransition(g,l,f.to.y,g.to)),f.from.x!==f.to.x&&(s=s.concat(m),g.from=a.effects.setTransition(g,m,f.from.x,g.from),g.to=a.effects.setTransition(g,m,f.to.x,g.to))),"content"!==p&&"both"!==p||f.from.y!==f.to.y&&(s=s.concat(k).concat(j),g.from=a.effects.setTransition(g,k,f.from.y,g.from),g.to=a.effects.setTransition(g,k,f.to.y,g.to)),a.effects.save(g,s),g.show(),a.effects.createWrapper(g),g.css("overflow","hidden").css(g.from),q&&(e=a.effects.getBaseline(q,d),g.from.top=(d.outerHeight-g.outerHeight())*e.y,g.from.left=(d.outerWidth-g.outerWidth())*e.x,g.to.top=(d.outerHeight-g.to.outerHeight)*e.y,g.to.left=(d.outerWidth-g.to.outerWidth)*e.x),g.css(g.from),"content"!==p&&"both"!==p||(l=l.concat(["marginTop","marginBottom"]).concat(k),m=m.concat(["marginLeft","marginRight"]),j=h.concat(l).concat(m),g.find("*[width]").each(function(){var c=a(this),d={height:c.height(),width:c.width(),outerHeight:c.outerHeight(),outerWidth:c.outerWidth()};o&&a.effects.save(c,j),c.from={height:d.height*f.from.y,width:d.width*f.from.x,outerHeight:d.outerHeight*f.from.y,outerWidth:d.outerWidth*f.from.x},c.to={height:d.height*f.to.y,width:d.width*f.to.x,outerHeight:d.height*f.to.y,outerWidth:d.width*f.to.x},f.from.y!==f.to.y&&(c.from=a.effects.setTransition(c,l,f.from.y,c.from),c.to=a.effects.setTransition(c,l,f.to.y,c.to)),f.from.x!==f.to.x&&(c.from=a.effects.setTransition(c,m,f.from.x,c.from),c.to=a.effects.setTransition(c,m,f.to.x,c.to)),c.css(c.from),c.animate(c.to,b.duration,b.easing,function(){o&&a.effects.restore(c,j)})})),g.animate(g.to,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){0===g.to.opacity&&g.css("opacity",g.from.opacity),"hide"===n&&g.hide(),a.effects.restore(g,s),o||("static"===r?g.css({position:"relative",top:g.to.top,left
vendor: 36,361 bytes, line 39372
39372:g.to.left}):a.each(["top","left"],function(a,b){g.css(b,function(b,c){var d=parseInt(c,10),e=a?g.to.left:g.to.top;return"auto"===c?e+"px":d+e+"px"})})),a.effects.removeWrapper(g),c()}})}}(jQuery),function(a,b){a.effects.effect.shake=function(b,c){var q,d=a(this),e=["position","top","bottom","left","right","height","width"],f=a.effects.setMode(d,b.mode||"effect"),g=b.direction||"left",h=b.distance||20,i=b.times||3,j=2*i+1,k=Math.round(b.duration/j),l="up"===g||"down"===g?"top":"left",m="up"===g||"left"===g,n={},o={},p={},r=d.queue(),s=r.length;for(a.effects.save(d,e),d.show(),a.effects.createWrapper(d),n[l]=(m?"-=":"+=")+h,o[l]=(m?"+=":"-=")+2*h,p[l]=(m?"-=":"+=")+2*h,d.animate(n,k,b.easing),q=1;q<i;q++)d.animate(o,k,b.easing).animate(p,k,b.easing);d.animate(o,k,b.easing).animate(n,k/2,b.easing).queue(function(){"hide"===f&&d.hide(),a.effects.restore(d,e),a.effects.removeWrapper(d),c()}),s>1&&r.splice.apply(r,[1,0].concat(r.splice(s,j+1))),d.dequeue()}}(jQuery),function(a,b){a.effects.effect.slide=function(b,c){var k,d=a(this),e=["position","top","bottom","left","right","width","height"],f=a.effects.setMode(d,b.mode||"show"),g="show"===f,h=b.direction||"left",i="up"===h||"down"===h?"top":"left",j="up"===h||"left"===h,l={};a.effects.save(d,e),d.show(),k=b.distance||d["top"===i?"outerHeight":"outerWidth"](!0),a.effects.createWrapper(d).css({overflow:"hidden"}),g&&d.css(i,j?isNaN(k)?"-"+k:-k:k),l[i]=(g?j?"+=":"-=":j?"-=":"+=")+k,d.animate(l,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){"hide"===f&&d.hide(),a.effects.restore(d,e),a.effects.removeWrapper(d),c()}})}}(jQuery),function(a,b){a.effects.effect.transfer=function(b,c){var d=a(this),e=a(b.to),f="fixed"===e.css("position"),g=a("body"),h=f?g.scrollTop():0,i=f?g.scrollLeft():0,j=e.offset(),k={top:j.top-h,left:j.left-i,height:e.innerHeight(),width:e.innerWidth()},l=d.offset(),m=a("<div class='ui-effects-transfer'></div>").appendTo(document.body).addClass(b.className).css({top:l.top-h,left:l.left-i,height:d.innerHeight(),width:d.innerWidth(),position:f?"fixed":"absolute"}).animate(k,b.duration,b.easing,function(){m.remove(),c()})}}(jQuery),function(a,b){a.widget("ui.menu",{version:"1.10.3",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,a.proxy(function(a){this.options.disabled&&a.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(a){a.preventDefault()},"click .ui-state-disabled > a":function(a){a.preventDefault()},"click .ui-menu-item:has(a)":function(b){var c=a(b.target).closest(".ui-menu-item");!this.mouseHandled&&c.not(".ui-state-disabled").length&&(this.mouseHandled=!0,this.select(b),c.has(".ui-menu").length?this.expand(b):this.element.is(":focus")||(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(b){var c=a(b.currentTarget);c.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(b,c)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(a,b){var c=this.active||this.element.children(".ui-menu-item").eq(0);b||this.focus(a,c)},blur:function(b){this._delay(function(){a.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(b)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(b){a(b.target).closest(".ui-menu").length||this.collapseAll(b),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var b=a(this);b.data("ui-menu-submenu-carat")&&b.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(b){function i(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var c,d,e,f,g,h=!0;switch(b.keyCode){case a.ui.keyCode.PAGE_UP:this.previousPage(b);break;case a.ui.keyCode.PAGE_DOWN:this.nextPage(b);break;case a.ui.keyCode.HOME:this._move("first","first",b);break;case a.ui.keyCode.END:this._move("last","last",b);break;case a.ui.keyCode.UP:this.previous(b);break;case a.ui.keyCode.DOWN:this.next(b);break;case a.ui.keyCode.LEFT:this.collapse(b);break;case a.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(b);break;case a.ui.keyCode.ENTER:case a.ui.keyCode.SPACE:this._activate(b);break;case a.ui.keyCode.ESCAPE:this.collapse(b);break;default:h=!1,d=this.previousFilter||"",e=String.fromCharCode(b.keyCode),f=!1,clearTimeout(this.filterTimer),e===d?f=!0:e=d+e,g=new RegExp("^"+i(e),"i"),c=this.activeMenu.children(".ui-menu-item").filter(function(){return g.test(a(this).children("a").text())}),c=f&&c.index(this.active.next())!==-1?this.active.nextAll(".ui-menu-item"):c,c.length||(e=String.fromCharCode(b.keyCode),g=new RegExp("^"+i(e),"i"),c=this.activeMenu.children(".ui-menu-item").filter(function(){return g.test(a(this).children("a").text())})),c.length?(this.focus(b,c),c.length>1?(this.previousFilter=e,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}h&&b.preventDefault()},_activate:function(a){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(a):this.select(a))},refresh:function(){var b,c=this.options.icons.submenu,d=this.element.find(this.options.menus);d.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var b=a(this),d=b.prev("a"),e=a("<span>").addClass("ui-menu-icon ui-icon "+c).data("ui-menu-submenu-carat",!0);d.attr("aria-haspopup","true").prepend(e),b.attr("aria-labelledby",d.attr("id"))}),b=d.add(this.element),b.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),b.children(":not(.ui-menu-item)").each(function(){var b=a(this);/[^\-\u2014\u2013\s]/.test(b.text())||b.addClass("ui-widget-content ui-menu-divider")}),b.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!a.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(a,b){"icons"===a&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(b.submenu),this._super(a,b)},focus:function(a,b){var c,d;this.blur(a,a&&"focus"===a.type),this._scrollIntoView(b),this.active=b.first(),d=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",d.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),a&&"keydown"===a.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),c=b.children(".ui-menu"),c.length&&/^mouse/.test(a.type)&&this._startOpening(c),this.activeMenu=b.parent(),this._trigger("focus",a,{item:b})},_scrollIntoView:function(b){var c,d,e,f,g,h;this._hasScroll()&&(c=parseFloat(a.css(this.activeMenu[0],"borderTopWidth"))||0,d=parseFloat(a.css(this.activeMenu[0],"paddingTop"))||0,e=b.offset().top-this.activeMenu.offset().top-c-d,f=this.activeMenu.scrollTop(),g=this.activeMenu.height(),h=b.height(),e<0?this.activeMenu.scrollTop(f+e):e+h>g&&this.activeMenu.scrollTop(f+e-g+h))},blur:function(a,b){b||clearTimeout(this.timer),this.active&&(this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",a,{item:this.active}))},_startOpening:function(a){clearTimeout(this.timer),"true"===a.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(a)},this.delay))},_open:function(b){var c=a.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(b.parents(".ui-menu")).hide().attr("aria-hidden","true"),b.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(c)},collapseAll:function(b,c){clearTimeout(this.timer),this.timer=this._delay(function(){var d=c?this.element:a(b&&b.target).closest(this.element.find(".ui-menu"));d.length||(d=this.element),this._close(d),this.blur(b),this.activeMenu=d},this.delay)},_close:function(a){a||(a=this.active?this.active.parent():this.element),a.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(a){var b=this.active&&this.active.parent().closest(".ui-menu-item",this.element);b&&b.length&&(this._close(),this.focus(a,b))},expand:function(a){var b=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();b&&b.length&&(this._open(b.parent()),this._delay(function(){this.focus(a,b)}))},next:function(a){this._move("next","first",a)},previous:function(a){this._move("prev","last",a)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(a,b,c){var d;this.active&&(d="first"===a||"last"===a?this.active["first"===a?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[a+"All"](".ui-menu-item").eq(0)),d&&d.length&&this.active||(d=this.activeMenu.children(".ui-menu-item")[b]()),this.focus(c,d)},nextPage:function(b){var c,d,e;return this.active?void(this.isLastItem()||(this._hasScroll()?(d=this.active.offset().top,e=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return c=a(this),c.offset().top-d-e<0}),this.focus(b,c)):this.focus(b,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]()))):void this.next(b)},previousPage:function(b){var c,d,e;return this.active?void(this.isFirstItem()||(this._hasScroll()?(d=this.active.offset().top,e=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return c=a(this),c.offset().top-d+e>0}),this.focus(b,c)):this.focus(b,this.activeMenu.children(".ui-menu-item").first()))):void this.next(b)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(b){this.active=this.active||a(b.target).closest(".ui-menu-item");var c={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(b,!0),this._trigger("select",b,c)}})}(jQuery),function(a,b){function m(a,b,c){return[parseFloat(a[0])*(k.test(a[0])?b/100:1),parseFloat(a[1])*(k.test(a[1])?c/100:1)]}function n(b,c){return parseInt(a.css(b,c),10)||0}function o(b){var c=b[0];return 9===c.nodeType?{width:b.width(),height:b.height(),offset:{top:0,left:0}}:a.isWindow(c)?{width:b.width(),height:b.height(),offset:{top:b.scrollTop(),left:b.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:b.outerWidth(),height:b.outerHeight(),offset:b.offset()}}a.ui=a.ui||{};var c,d=Math.max,e=Math.abs,f=Math.round,g=/left|center|right/,h=/top|center|bottom/,i=/[\+\-]\d+(\.[\d]+)?%?/,j=/^\w+/,k=/%$/,l=a.fn.position;a.position={scrollbarWidth:function(){if(c!==b)return c;var d,e,f=a("<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),g=f.children()[0];return a("body").append(f),d=g.offsetWidth,f.css("overflow","scroll"),e=g.offsetWidth,d===e&&(e=f[0].clientWidth),f.remove(),c=d-e},getScrollInfo:function(b){var c=b.isWindow?"":b.element.css("overflow-x"),d=b.isWindow?"":b.element.css("overflow-y"),e="scroll"===c||"auto"===c&&b.width<b.element[0].scrollWidth,f="scroll"===d||"auto"===d&&b.height<b.element[0].scrollHeight;return{width:f?a.position.scrollbarWidth():0,height:e?a.position.scrollbarWidth():0}},getWithinInfo:function(b){var c=a(b||window),d=a.isWindow(c[0]);return{element:c,isWindow:d,offset:c.offset()||{left:0,top:0},scrollLeft:c.scrollLeft(),scrollTop:c.scrollTop(),width:d?c.width():c.outerWidth(),height:d?c.height():c.outerHeight()}}},a.fn.position=function(b){if(!b||!b.of)return l.apply(this,arguments);b=a.extend({},b);var c,k,p,q,r,s,t=a(b.of),u=a.position.getWithinInfo(b.within),v=a.position.getScrollInfo(u),w=(b.collision||"flip").split(" "),x={};return s=o(t),t[0].preventDefault&&(b.at="left top"),k=s.width,p=s.height,q=s.offset,r=a.extend({},q),a.each(["my","at"],function(){var c,d,a=(b[this]||"").split(" ");1===a.length&&(a=g.test(a[0])?a.concat(["center"]):h.test(a[0])?["center"].concat(a):["center","center"]),a[0]=g.test(a[0])?a[0]:"center",a[1]=h.test(a[1])?a[1]:"center",c=i.exec(a[0]),d=i.exec(a[1]),x[this]=[c?c[0]:0,d?d[0]:0],b[this]=[j.exec(a[0])[0],j.exec(a[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===b.at[0]?r.left+=k:"center"===b.at[0]&&(r.left+=k/2),"bottom"===b.at[1]?r.top+=p:"center"===b.at[1]&&(r.top+=p/2),c=m(x.at,k,p),r.left+=c[0],r.top+=c[1],this.each(function(){var g,h,i=a(this),j=i.outerWidth(),l=i.outerHeight(),o=n(this,"marginLeft"),s=n(this,"marginTop"),y=j+o+n(this,"marginRight")+v.width,z=l+s+n(this,"marginBottom")+v.height,A=a.extend({},r),B=m(x.my,i.outerWidth(),i.outerHeight());"right"===b.my[0]?A.left-=j:"center"===b.my[0]&&(A.left-=j/2),"bottom"===b.my[1]?A.top-=l:"center"===b.my[1]&&(A.top-=l/2),A.left+=B[0],A.top+=B[1],a.support.offsetFractions||(A.left=f(A.left),A.top=f(A.top)),g={marginLeft:o,marginTop:s},a.each(["left","top"],function(d,e){a.ui.position[w[d]]&&a.ui.position[w[d]][e](A,{targetWidth:k,targetHeight:p,elemWidth:j,elemHeight:l,collisionPosition:g,collisionWidth:y,collisionHeight:z,offset:[c[0]+B[0],c[1]+B[1]],my:b.my,at:b.at,within:u,elem:i})}),b.using&&(h=function(a){var c=q.left-A.left,f=c+k-j,g=q.top-A.top,h=g+p-l,m={target:{element:t,left:q.left,top:q.top,width:k,height:p},element:{element:i,left:A.left,top:A.top,width:j,height:l},horizontal:f<0?"left":c>0?"right":"center",vertical:h<0?"top":g>0?"bottom":"middle"};k<j&&e(c+f)<k&&(m.horizontal="center"),p<l&&e(g+h)<p&&(m.vertical="middle"),d(e(c),e(f))>d(e(g),e(h))?m.important="horizontal":m.important="vertical",b.using.call(this,a,m)}),i.offset(a.extend(A,{using:h}))})},a.ui.position={fit:{left:function(a,b){var j,c=b.within,e=c.isWindow?c.scrollLeft:c.offset.left,f=c.width,g=a.left-b.collisionPosition.marginLeft,h=e-g,i=g+b.collisionWidth-f-e;b.collisionWidth>f?h>0&&i<=0?(j=a.left+h+b.collisionWidth-f-e,a.left+=h-j):i>0&&h<=0?a.left=e:h>i?a.left=e+f-b.collisionWidth:a.left=e:h>0?a.left+=h:i>0?a.left-=i:a.left=d(a.left-g,a.left)},top:function(a,b){var j,c=b.within,e=c.isWindow?c.scrollTop:c.offset.top,f=b.within.height,g=a.top-b.collisionPosition.marginTop,h=e-g,i=g+b.collisionHeight-f-e;b.collisionHeight>f?h>0&&i<=0?(j=a.top+h+b.collisionHeight-f-e,a.top+=h-j):i>0&&h<=0?a.top=e:h>i?a.top=e+f-b.collisionHeight:a.top=e:h>0?a.top+=h:i>0?a.top-=i:a.top=d(a.top-g,a.top)}},flip:{left:function(a,b){var n,o,c=b.within,d=c.offset.left+c.scrollLeft,f=c.width,g=c.isWindow?c.scrollLeft:c.offset.left,h=a.left-b.collisionPosition.marginLeft,i=h-g,j=h+b.collisionWidth-f-g,k="left"===b.my[0]?-b.elemWidth:"right"===b.my[0]?b.elemWidth:0,l="left"===b.at[0]?b.targetWidth:"right"===b.at[0]?-b.targetWidth:0,m=-2*b.offset[0];i<0?(n=a.left+k+l+m+b.collisionWidth-f-d,(n<0||n<e(i))&&(a.left+=k+l+m)):j>0&&(o=a.left-b.collisionPosition.marginLeft+k+l+m-g,(o>0||e(o)<j)&&(a.left+=k+l+m))},top:function(a,b){var o,p,c=b.within,d=c.offset.top+c.scrollTop,f=c.height,g=c.isWindow?c.scrollTop:c.offset.top,h=a.top-b.collisionPosition.marginTop,i=h-g,j=h+b.collisionHeight-f-g,k="top"===b.my[1],l=k?-b.elemHeight:"bottom"===b.my[1]?b.elemHeight:0,m="top"===b.at[1]?b.targetHeight:"bottom"===b.at[1]?-b.targetHeight:0,n=-2*b.offset[1];i<0?(p=a.top+l+m+n+b.collisionHeight-f-d,a.top+l+m+n>i&&(p<0||p<e(i))&&(a.top+=l+m+n)):j>0&&(o=a.top-b.collisionPosition.marginTop+l+m+n-g,a.top+l+m+n>j&&(o>0||e(o)<j)&&(a.top+=l+m+n))}},flipfit:{left:function(){a.ui.position.flip.left.apply(this,arguments),a.ui.position.fit.left.apply(this,arguments)},top:function(){a.ui.position.flip.top.apply(this,arguments),a.ui.position.fit.top.apply(this,arguments)}}},function(){var b,c,d,e,f,g=document.getElementsByTagName("body")[0],h=document.createElement("div");b=document.createElement(g?"div":"body"),d={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},g&&a.extend(d,{position:"absolute",left:"-1000px",top:"-1000px"});for(f in d)b.style[f]=d[f];b.appendChild(h),c=g||document.documentElement,c.insertBefore(b,c.firstChild),h.style.cssText="position: absolute; left: 10.7432222px;",e=a(h).offset().left,a.support.offsetFractions=e>10&&e<11,b.innerHTML="",c.removeChild(b)}()}(jQuery),function(a,b){a.widget("ui.progressbar",{version:"1.10.3",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=a("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(a){return a===b?this.options.value:(this.options.value=this._constrainedValue(a),void this._refreshValue())},_constrainedValue:function(a){return a===b&&(a=this.options.value),this.indeterminate=a===!1,"number"!=typeof a&&(a=0),!this.indeterminate&&Math.min(this.options.max,Math.max(this.min,a))},_setOptions:function(a){var b=a.value;delete a.value,this._super(a),this.options.value=this._constrainedValue(b),this._refreshValue()},_setOption:function(a,b){"max"===a&&(b=Math.max(this.min,b)),this._super(a,b)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var b=this.options.value,c=this._percentage();this.valueDiv.toggle(this.indeterminate||b>this.min).toggleClass("ui-corner-right",b===this.options.max).width(c.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=a("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":b}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==b&&(this.oldValue=b,this._trigger("change")),b===this.options.max&&this._trigger("complete")}})}(jQuery),function(a,b){var c=5;a.widget("ui.slider",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var b,c,d=this.options,e=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",g=[];for(c=d.values&&d.values.length||1,e.length>c&&(e.slice(c).remove(),e=e.slice(0,c)),b=e.length;b<c;b++)g.push(f);this.handles=e.add(a(g.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(b){a(this).data("ui-slider-handle-index",b)})},_createRange:function(){var b=this.options,c="";b.range?(b.range===!0&&(b.values?b.values.length&&2!==b.values.length?b.values=[b.values[0],b.values[0]]:a.isArray(b.values)&&(b.values=b.values.slice(0)):b.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=a("<div></div>").appendTo(this.element),c="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(c+("min"===b.range||"max"===b.range?" ui-slider-range-"+b.range:""))):this.range=a([])},_setupEvents:function(){var a=this.handles.add(this.range).filter("a");this._off(a),this._on(a,this._handleEvents),this._hoverable(a),this._focusable(a)},_destroy:function(){this.handles.remove(),this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(b){var c,d,e,f,g,h,i,j,k=this,l=this.options;return!l.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),c={x:b.pageX,y:b.pageY},d=this._normValueFromMouse(c),e=this._valueMax()-this._valueMin()+1,this.handles.each(function(b){var c=Math.abs(d-k.values(b));(e>c||e===c&&(b===k._lastChangedValue||k.values(b)===l.min))&&(e=c,f=a(this),g=b)}),h=this._start(b,g),h!==!1&&(this._mouseSliding=!0,this._handleIndex=g,f.addClass("ui-state-active").focus(),i=f.offset(),j=!a(b.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=j?{left:0,top:0}:{left:b.pageX-i.left-f.width()/2,top:b.pageY-i.top-f.height()/2-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,g,d),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;return"horizontal"===this.orientation?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),d<0&&(d=0),"vertical"===this.orientation&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};return this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),2===this.options.values.length&&this.options.range===!0&&(0===b&&c>d||1===b&&c<d)&&(c=d),c!==this.values(b)&&(e=this.values(),e[b]=c,f=this._trigger("slide",a,{handle:this.handles[b],value:c,values:e}),d=this.values(b?0:1),f!==!1&&this.values(b,c,!0))):c!==this.value()&&(f=this._trigger("slide",a,{handle:this.handles[b],value:c}),f!==!1&&this.value(c))},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._lastChangedValue=b,this._trigger("change",a,c)}},value:function(a){return arguments.length?(this.options.value=this._trimAlignValue(a),this._refreshValue(),void this._change(null,0)):this._value()},values:function(b,c){var d,e,f;if(arguments.length>1)return this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),void this._change(null,b);if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();for(d=this.options.values,e=arguments[0],f=0;f<d.length;f+=1)d[f]=this._trimAlignValue(e[f]),this._change(null,f);this._refreshValue()},_setOption:function(b,c){var d,e=0;switch("range"===b&&this.options.range===!0&&("min"===c?(this.options.value=this._values(0),this.options.values=null):"max"===c&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),a.isArray(this.options.values)&&(e=this.options.values.length),a.Widget.prototype._setOption.apply(this,arguments),b){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),d=0;d<e;d+=1)this._change(null,d);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a)},_values:function(a){var b,c,d;if(arguments.length)return b=this.options.values[a],b=this._trimAlignValue(b);if(this.options.values&&this.options.values.length){for(c=this.options.values.slice(),d=0;d<c.length;d+=1)c[d]=this._trimAlignValue(c[d]);return c}return[]},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;return 2*Math.abs(c)>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b,c,d,e,f,g=this.options.range,h=this.options,i=this,j=!this._animateOff&&h.animate,k={};this.options.values&&this.options.values.length?this.handles.each(function(d){c=(i.values(d)-i._valueMin())/(i._valueMax()-i._valueMin())*100,k["horizontal"===i.orientation?"left":"bottom"]=c+"%",a(this).stop(1,1)[j?"animate":"css"](k,h.animate),i.options.range===!0&&("horizontal"===i.orientation?(0===d&&i.range.stop(1,1)[j?"animate":"css"]({left:c+"%"},h.animate),1===d&&i.range[j?"animate":"css"]({width:c-b+"%"},{queue:!1,duration:h.animate})):(0===d&&i.range.stop(1,1)[j?"animate":"css"]({bottom:c+"%"},h.animate),1===d&&i.range[j?"animate":"css"]({height:c-b+"%"},{queue:!1,duration:h.animate}))),b=c}):(d=this.value(),e=this._valueMin(),f=this._valueMax(),c=f!==e?(d-e)/(f-e)*100:0,k["horizontal"===this.orientation?"left":"bottom"]=c+"%",this.handle.stop(1,1)[j?"animate":"css"](k,h.animate),"min"===g&&"horizontal"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({width:c+"%"},h.animate),"max"===g&&"horizontal"===this.orientation&&this.range[j?"animate":"css"]({width:100-c+"%"},{queue:!1,duration:h.animate}),"min"===g&&"vertical"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({height:c+"%"},h.animate),"max"===g&&"vertical"===this.orientation&&this.range[j?"animate":"css"]({height:100-c+"%"},{queue:!1,duration:h.animate}))},_handleEvents:{keydown:function(b){var d,e,f,g,h=a(b.target).data("ui-slider-handle-index");switch(b.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(b.preventDefault(),!this._keySliding&&(this._keySliding=!0,a(b.target).addClass("ui-state-active"),d=this._start(b,h),d===!1))return}switch(g=this.options.step,e=f=this.options.values&&this.options.values.length?this.values(h):this.value(),b.keyCode){case a.ui.keyCode.HOME:f=this._valueMin();break;case a.ui.keyCode.END:f=this._valueMax();break;case a.ui.keyCode.PAGE_UP:f=this._trimAlignValue(e+(this._valueMax()-this._valueMin())/c);break;case a.ui.keyCode.PAGE_DOWN:f=this._trimAlignValue(e-(this._valueMax()-this._valueMin())/c);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(e===this._valueMax())return;f=this._trimAlignValue(e+g);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(e===this._valueMin())return;f=this._trimAlignValue(e-g)}this._slide(b,h,f)},click:function(a){a.preventDefault()},keyup:function(b){var c=a(b.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(b,c),this._change(b,c),a(b.target).removeClass("ui-state-active"))}}})}(jQuery),function(a){function b(a){return function(){var b=this.element.val();a.apply(this,arguments),this._refresh(),b!==this.element.val()&&this._trigger("change")}}a.widget("ui.spinner",{version:"1.10.3",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var b={},c=this.element;return a.each(["min","max","step"],function(a,d){var e=c.attr(d);void 0!==e&&e.length&&(b[d]=e)}),b},_events:{keydown:function(a){this._start(a)&&this._keydown(a)&&a.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(a){return this.cancelBlur?void delete this.cancelBlur:(this._stop(),this._refresh(),void(this.previous!==this.element.val()&&this._trigger("change",a)))},mousewheel:function(a,b){if(b){if(!this.spinning&&!this._start(a))return!1;this._spin((b>0?1:-1)*this.options.step,a),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(a)},100),a.preventDefault()}},"mousedown .ui-spinner-button":function(b){function d(){var a=this.element[0]===this.document[0].activeElement;a||(this.element.focus(),this.previous=c,this._delay(function(){this.previous=c}))}var c;c=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),b.preventDefault(),d.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,d.call(this)}),this._start(b)!==!1&&this._repeat(null,a(b.currentTarget).hasClass("ui-spinner-up")?1:-1,b)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(b){if(a(b.currentTarget).hasClass("ui-state-active"))return this._start(b)!==!1&&void this._repeat(null,a(b.currentTarget).hasClass("ui-spinner-up")?1:-1,b)},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var a=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=a.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*a.height())&&a.height()>0&&a.height(a.height()),this.options.disabled&&this.disable()},_keydown:function(b){var c=this.options,d=a.ui.keyCode;switch(b.keyCode){case d.UP:return this._repeat(null,1,b),!0;case d.DOWN:return this._repeat(null,-1,b),!0;case d.PAGE_UP:return this._repeat(null,c.page,b),!0;case d.PAGE_DOWN:return this._repeat(null,-c.page,b),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options.icons.up+"'>▲</span></a><a class='ui-spinner-button ui-spinner-down ui-corner-br'><span class='ui-icon "+this.options.icons.down+"'>▼</span></a>"},_start:function(a){return!(!this.spinning&&this._trigger("start",a)===!1)&&(this.counter||(this.counter=1),this.spinning=!0,!0)},_repeat:function(a,b,c){a=a||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,b,c)},a),this._spin(b*this.options.step,c)},_spin:function(a,b){var c=this.value()||0;this.counter||(this.counter=1),c=this._adjustValue(c+a*this._increment(this.counter)),this.spinning&&this._trigger("spin",b,{value:c})===!1||(this._value(c),this.counter++)},_increment:function(b){var c=this.options.incremental;return c?a.isFunction(c)?c(b):Math.floor(b*b*b/5e4-b*b/500+17*b/200+1):1},_precision:function(){var a=this._precisionOf(this.options.step);return null!==this.options.min&&(a=Math.max(a,this._precisionOf(this.options.min))),a},_precisionOf:function(a){var b=a.toString(),c=b.indexOf(".");return c===-1?0:b.length-c-1},_adjustValue:function(a){var b,c,d=this.options;return b=null!==d.min?d.min:0,c=a-b,c=Math.round(c/d.step)*d.step,a=b+c,a=parseFloat(a.toFixed(this._precision())),null!==d.max&&a>d.max?d.max:null!==d.min&&a<d.min?d.min:a},_stop:function(a){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",a))},_setOption:function(a,b){if("culture"===a||"numberFormat"===a){var c=this._parse(this.element.val());return this.options[a]=b,void this.element.val(this._format(c))}"max"!==a&&"min"!==a&&"step"!==a||"string"==typeof b&&(b=this._parse(b)),"icons"===a&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(b.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(b.down)),this._super(a,b),"disabled"===a&&(b?(this.element.prop("disabled",!0),this.buttons.button("disable")):(this.element.prop("disabled",!1),this.buttons.button("enable")))},_setOptions:b(function(a){this._super(a),this._value(this.element.val())}),_parse:function(a){return"string"==typeof a&&""!==a&&(a=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(a,10,this.options.culture):+a),""===a||isNaN(a)?null:a},_format:function(a){return""===a?"":window.Globalize&&this.options.numberFormat?Globalize.format(a,this.options.numberFormat,this.options.culture):a},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},_value:function(a,b){var c;""!==a&&(c=this._parse(a),null!==c&&(b||(c=this._adjustValue(c)),a=this._format(c))),this.element.val(a),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:b(function(a){this._stepUp(a)}),_stepUp:function(a){this._start()&&(this._spin((a||1)*this.options.step),this._stop())},stepDown:b(function(a){this._stepDown(a)}),_stepDown:function(a){this._start()&&(this._spin((a||1)*-this.options.step),this._stop())},pageUp:b(function(a){this._stepUp((a||1)*this.options.page)}),pageDown:b(function(a){this._stepDown((a||1)*this.options.page)}),value:function(a){return arguments.length?void b(this._value).call(this,a):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}
vendor: 10,571 bytes, line 39372
39372)}(jQuery),function(a,b){function e(){return++c}function f(a){return a.hash.length>1&&decodeURIComponent(a.href.replace(d,""))===decodeURIComponent(location.href.replace(d,""))}var c=0,d=/#.*$/;a.widget("ui.tabs",{version:"1.10.3",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var b=this,c=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",c.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(b){a(this).is(".ui-state-disabled")&&b.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){a(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),c.active=this._initialActive(),a.isArray(c.disabled)&&(c.disabled=a.unique(c.disabled.concat(a.map(this.tabs.filter(".ui-state-disabled"),function(a){return b.tabs.index(a)}))).sort()),this.options.active!==!1&&this.anchors.length?this.active=this._findActive(c.active):this.active=a(),this._refresh(),this.active.length&&this.load(c.active)},_initialActive:function(){var b=this.options.active,c=this.options.collapsible,d=location.hash.substring(1);return null===b&&(d&&this.tabs.each(function(c,e){if(a(e).attr("aria-controls")===d)return b=c,!1}),null===b&&(b=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),null!==b&&b!==-1||(b=!!this.tabs.length&&0)),b!==!1&&(b=this.tabs.index(this.tabs.eq(b)),b===-1&&(b=!c&&0)),!c&&b===!1&&this.anchors.length&&(b=0),b},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):a()}},_tabKeydown:function(b){var c=a(this.document[0].activeElement).closest("li"),d=this.tabs.index(c),e=!0;if(!this._handlePageNav(b)){switch(b.keyCode){case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:d++;break;case a.ui.keyCode.UP:case a.ui.keyCode.LEFT:e=!1,d--;break;case a.ui.keyCode.END:d=this.anchors.length-1;break;case a.ui.keyCode.HOME:d=0;break;case a.ui.keyCode.SPACE:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d);case a.ui.keyCode.ENTER:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d!==this.options.active&&d);default:return}b.preventDefault(),clearTimeout(this.activating),d=this._focusNextTab(d,e),b.ctrlKey||(c.attr("aria-selected","false"),this.tabs.eq(d).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",d)},this.delay))}},_panelKeydown:function(b){this._handlePageNav(b)||b.ctrlKey&&b.keyCode===a.ui.keyCode.UP&&(b.preventDefault(),this.active.focus())},_handlePageNav:function(b){return b.altKey&&b.keyCode===a.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):b.altKey&&b.keyCode===a.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(b,c){function e(){return b>d&&(b=0),b<0&&(b=d),b}for(var d=this.tabs.length-1;a.inArray(e(),this.options.disabled)!==-1;)b=c?b+1:b-1;return b},_focusNextTab:function(a,b){return a=this._findNextTab(a,b),this.tabs.eq(a).focus(),a},_setOption:function(a,b){return"active"===a?void this._activate(b):"disabled"===a?void this._setupDisabled(b):(this._super(a,b),"collapsible"===a&&(this.element.toggleClass("ui-tabs-collapsible",b),b||this.options.active!==!1||this._activate(0)),"event"===a&&this._setupEvents(b),void("heightStyle"===a&&this._setupHeightStyle(b)))},_tabId:function(a){return a.attr("aria-controls")||"ui-tabs-"+e()},_sanitizeSelector:function(a){return a?a.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var b=this.options,c=this.tablist.children(":has(a[href])");b.disabled=a.map(c.filter(".ui-state-disabled"),function(a){return c.index(a)}),this._processTabs(),b.active!==!1&&this.anchors.length?this.active.length&&!a.contains(this.tablist[0],this.active[0])?this.tabs.length===b.disabled.length?(b.active=!1,this.active=a()):this._activate(this._findNextTab(Math.max(0,b.active-1),!1)):b.active=this.tabs.index(this.active):(b.active=!1,this.active=a()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var b=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return a("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=a(),this.anchors.each(function(c,d){var e,g,h,i=a(d).uniqueId().attr("id"),j=a(d).closest("li"),k=j.attr("aria-controls");f(d)?(e=d.hash,g=b.element.find(b._sanitizeSelector(e))):(h=b._tabId(j),e="#"+h,g=b.element.find(e),g.length||(g=b._createPanel(h),g.insertAfter(b.panels[c-1]||b.tablist)),g.attr("aria-live","polite")),g.length&&(b.panels=b.panels.add(g)),k&&j.data("ui-tabs-aria-controls",k),j.attr({"aria-controls":e.substring(1),"aria-labelledby":i}),g.attr("aria-labelledby",i)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.element.find("ol,ul").eq(0)},_createPanel:function(b){return a("<div>").attr("id",b).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(b){a.isArray(b)&&(b.length?b.length===this.anchors.length&&(b=!0):b=!1);for(var d,c=0;d=this.tabs[c];c++)b===!0||a.inArray(c,b)!==-1?a(d).addClass("ui-state-disabled").attr("aria-disabled","true"):a(d).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=b},_setupEvents:function(b){var c={click:function(a){a.preventDefault()}};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,c),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(b){var c,d=this.element.parent();"fill"===b?(c=d.height(),c-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var b=a(this),d=b.css("position");"absolute"!==d&&"fixed"!==d&&(c-=b.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){c-=a(this).outerHeight(!0)}),this.panels.each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===b&&(c=0,this.panels.each(function(){c=Math.max(c,a(this).height("").height())}).height(c))},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e.closest("li"),g=f[0]===d[0],h=g&&c.collapsible,i=h?a():this._getPanelForTab(f),j=d.length?this._getPanelForTab(d):a(),k={oldTab:d,oldPanel:j,newTab:h?a():f,newPanel:i};b.preventDefault(),f.hasClass("ui-state-disabled")||f.hasClass("ui-tabs-loading")||this.running||g&&!c.collapsible||this._trigger("beforeActivate",b,k)===!1||(c.active=!h&&this.tabs.index(f),this.active=g?a():f,this.xhr&&this.xhr.abort(),j.length||i.length||a.error("jQuery UI Tabs: Mismatching fragment identifier."),i.length&&this.load(this.tabs.index(f),b),this._toggle(b,k))},_toggle:function(b,c){function g(){d.running=!1,d._trigger("activate",b,c)}function h(){c.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),e.length&&d.options.show?d._show(e,d.options.show,g):(e.show(),g())}var d=this,e=c.newPanel,f=c.oldPanel;this.running=!0,f.length&&this.options.hide?this._hide(f,this.options.hide,function(){c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),h()}):(c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),f.hide(),h()),f.attr({"aria-expanded":"false","aria-hidden":"true"}),c.oldTab.attr("aria-selected","false"),e.length&&f.length?c.oldTab.attr("tabIndex",-1):e.length&&this.tabs.filter(function(){return 0===a(this).attr("tabIndex")}).attr("tabIndex",-1),e.attr({"aria-expanded":"true","aria-hidden":"false"}),c.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(b){var c,d=this._findActive(b);d[0]!==this.active[0]&&(d.length||(d=this.active),c=d.find(".ui-tabs-anchor")[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return b===!1?a():this.tabs.eq(b)},_getIndex:function(a){return"string"==typeof a&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){a.data(this,"ui-tabs-destroy")?a(this).remove():a(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var b=a(this),c=b.data("ui-tabs-aria-controls");c?b.attr("aria-controls",c).removeData("ui-tabs-aria-controls"):b.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(c){var d=this.options.disabled;d!==!1&&(c===b?d=!1:(c=this._getIndex(c),d=a.isArray(d)?a.map(d,function(a){return a!==c?a:null}):a.map(this.tabs,function(a,b){return b!==c?b:null})),this._setupDisabled(d))},disable:function(c){var d=this.options.disabled;if(d!==!0){if(c===b)d=!0;else{if(c=this._getIndex(c),a.inArray(c,d)!==-1)return;
39372d=a.isArray(d)?a.merge([c],d).sort():[c]}this._setupDisabled(d)}},load:function(b,c){b=this._getIndex(b);var d=this,e=this.tabs.eq(b),g=e.find(".ui-tabs-anchor"),h=this._getPanelForTab(e),i={tab:e,panel:h};f(g[0])||(this.xhr=a.ajax(this._ajaxSettings(g,c,i)),this.xhr&&"canceled"!==this.xhr.statusText&&(e.addClass("ui-tabs-loading"),h.attr("aria-busy","true"),this.xhr.success(function(a){setTimeout(function(){h.html(a),d._trigger("load",c,i)},1)}).complete(function(a,b){setTimeout(function(){"abort"===b&&d.panels.stop(!1,!0),e.removeClass("ui-tabs-loading"),h.removeAttr("aria-busy"),a===d.xhr&&delete d.xhr},1)})))},_ajaxSettings:function(b,c,d){var e=this;return{url:b.attr("href"),beforeSend:function(b,f){return e._trigger("beforeLoad",c,a.extend({jqXHR:b,ajaxSettings:f},d))}}},_getPanelForTab:function(b){var c=a(b).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+c))}})}(jQuery),function(a){function c(b,c){var d=(b.attr("aria-describedby")||"").split(/\s+/);d.push(c),b.data("ui-tooltip-id",c).attr("aria-describedby",a.trim(d.join(" ")))}function d(b){var c=b.data("ui-tooltip-id"),d=(b.attr("aria-describedby")||"").split(/\s+/),e=a.inArray(c,d);e!==-1&&d.splice(e,1),b.removeData("ui-tooltip-id"),d=a.trim(d.join(" ")),d?b.attr("aria-describedby",d):b.removeAttr("aria-describedby")}var b=0;a.widget("ui.tooltip",{version:"1.10.3",options:{content:function(){var b=a(this).attr("title")||"";return a("<a>").text(b).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(b,c){var d=this;return"disabled"===b?(this[c?"_disable":"_enable"](),void(this.options[b]=c)):(this._super(b,c),void("content"===b&&a.each(this.tooltips,function(a,b){d._updateContent(b)})))},_disable:function(){var b=this;a.each(this.tooltips,function(c,d){var e=a.Event("blur");e.target=e.currentTarget=d[0],b.close(e,!0)}),this.element.find(this.options.items).addBack().each(function(){var b=a(this);b.is("[title]")&&b.data("ui-tooltip-title",b.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var b=a(this);b.data("ui-tooltip-title")&&b.attr("title",b.data("ui-tooltip-title"))})},open:function(b){var c=this,d=a(b?b.target:this.element).closest(this.options.items);d.length&&!d.data("ui-tooltip-id")&&(d.attr("title")&&d.data("ui-tooltip-title",d.attr("title")),d.data("ui-tooltip-open",!0),b&&"mouseover"===b.type&&d.parents().each(function(){var d,b=a(this);b.data("ui-tooltip-open")&&(d=a.Event("blur"),d.target=d.currentTarget=this,c.close(d,!0)),b.attr("title")&&(b.uniqueId(),c.parents[this.id]={element:this,title:b.attr("title")},b.attr("title",""))}),this._updateContent(d,b))},_updateContent:function(a,b){var c,d=this.options.content,e=this,f=b?b.type:null;return"string"==typeof d?this._open(b,a,d):(c=d.call(a[0],function(c){a.data("ui-tooltip-open")&&e._delay(function(){b&&(b.type=f),this._open(b,a,c)})}),void(c&&this._open(b,a,c)))},_open:function(b,d,e){function j(a){i.of=a,f.is(":hidden")||f.position(i)}var f,g,h,i=a.extend({},this.options.position);if(e){if(f=this._find(d),f.length)return void f.find(".ui-tooltip-content").html(e);d.is("[title]")&&(b&&"mouseover"===b.type?d.attr("title",""):d.removeAttr("title")),f=this._tooltip(d),c(d,f.attr("id")),f.find(".ui-tooltip-content").html(e),this.options.track&&b&&/^mouse/.test(b.type)?(this._on(this.document,{mousemove:j}),j(b)):f.position(a.extend({of:d},this.options.position)),f.hide(),this._show(f,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){f.is(":visible")&&(j(i.of),clearInterval(h))},a.fx.interval)),this._trigger("open",b,{tooltip:f}),g={keyup:function(b){if(b.keyCode===a.ui.keyCode.ESCAPE){var c=a.Event(b);c.currentTarget=d[0],this.close(c,!0)}},remove:function(){this._removeTooltip(f)}},b&&"mouseover"!==b.type||(g.mouseleave="close"),b&&"focusin"!==b.type||(g.focusout="close"),this._on(!0,d,g)}},close:function(b){var c=this,e=a(b?b.currentTarget:this.element),f=this._find(e);this.closing||(clearInterval(this.delayedShow),e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title")),d(e),f.stop(!0),this._hide(f,this.options.hide,function(){c._removeTooltip(a(this))}),e.removeData("ui-tooltip-open"),this._off(e,"mouseleave focusout keyup"),e[0]!==this.element[0]&&this._off(e,"remove"),this._off(this.document,"mousemove"),b&&"mouseleave"===b.type&&a.each(this.parents,function(b,d){a(d.element).attr("title",d.title),delete c.parents[b]}),this.closing=!0,this._trigger("close",b,{tooltip:f}),this.closing=!1)},_tooltip:function(c){var d="ui-tooltip-"+b++,e=a("<div>").attr({id:d,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return a("<div>").addClass("ui-tooltip-content").appendTo(e),e.appendTo(this.document[0].body),this.tooltips[d]=c,e},_find:function(b){var c=b.data("ui-tooltip-id");return c?a("#"+c):a()},_removeTooltip:function(a){a.remove(),delete this.tooltips[a.attr("id")]},_destroy:function(){var b=this;a.each(this.tooltips,function(c,d){var e=a.Event("blur");e.target=e.currentTarget=d[0],b.close(e,!0),a("#"+c).remove(),d.data("ui-tooltip-title")&&(d.attr("title",d.data("ui-tooltip-title")),d.removeData("ui-tooltip-title"))})}})}(jQuery);window.product=function(t){function e(e){for(var n,a,u=e[0],s=e[1],c=e[2],d=0,f=[];d<u.length;d++)a=u[d],Object.prototype.hasOwnProperty.call(i,a)&&i[a]&&f.push(i[a][0]),i[a]=0;for(n in s)Object.prototype.hasOwnProperty.call(s,n)&&(t[n]=s[n]);for(l&&l(e);f.length;)f.shift()();return o.push.apply(o,c||[]),r()}function r(){for(var t,e=0;e<o.length;e++){for(var r=o[e],n=!0,u=1;u<r.length;u++){var s=r[u];0!==i[s]&&(n=!1)}n&&(o.splice(e--,1),t=a(a.s=r[0]))}return t}var n={},i={7:0,2:0,5:0},o=[];function a(e){if(n[e])return n[e].exports;var r=n[e]={i:e,l:!1,exports:{}};
39372return t[e].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.m=t,a.c=n,a.d=function(t,e,r){a.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.t=function(t,e){if(1&e&&(t=a(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)a.d(r,n,function(e){return t[e]}.bind(null,n));return r},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,"a",e),e},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.p="";var u=window.webpackJsonp_name_=window.webpackJsonp_name_||[],s=u.push.bind(u);u.push=e,u=u.slice();for(var c=0;c<u.length;c++)e(u[c]);var l=s;return o.push([432,0,1]),r()}({0:function(t,e,r){"use strict";r.d(e,"c",(function(){return i})),r.d(e,"a",(function(){return o})),r.d(e,"b",(function(){return a})),r.d(e,"d",(function(){return u})),r.d(e,"e",(function(){return s}));var n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};function i(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var o=function(){return(o=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var i in e=arguments[r])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};function a(t,e,r,n){return new(r||(r=Promise))((function(i,o){function a(t){try{s(n.next(t))}catch(t){o(t)}}function u(t){try{s(n.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,u)}s((n=n.apply(t,e||[])).next())}))}function u(t,e){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(o){return function(u){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=e.call(t,a)}catch(t){o=[6,t],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,u])}}}function s(){for(var t=0,e=0,r=arguments.length;e<r;e++)t+=arguments[e].length;var n=Array(t),i=0;for(e=0;e<r;e++)for(var o=arguments[e],a=0,u=o.length;a<u;a++,i++)n[i]=o[a];return n}},10:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=o(r(35)),i=o(r(30));function o(t){return t&&t.__esModule?t:{default:t}} 39373/** 39374 * 2007-2020 PrestaShop and Contributors 39375 * 39376 * NOTICE OF LICENSE 39377 * 39378 * This source file is subject to the Academic Free License 3.0 (AFL-3.0) 39379 * that is bundled with this package in the file LICENSE.txt. 39380 * It is also available through the world-wide-web at this URL: 39381 * https://opensource.org/licenses/AFL-3.0 39382 * If you did not receive a copy of the license and are unable to 39383 * obtain it through the world-wide-web, please send an email 39384 * to [email protected] so we can send you a copy immediately. 39385 * 39386 * @author PrestaShop SA <[email protected]> 39387 * @copyright 2007-2020 PrestaShop SA and Contributors 39388 * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) 39389 * International Registered Trademark & Property of PrestaShop SA 39390 */var a=new n.default;window.WishlistEventBus=a,i.default.emit("wishlistEventBusInit"),e.default=a},101:function(t,e,r){"use strict";
39390Object.defineProperty(e,"__esModule",{value:!0});var n=(0,o(r(21)).default)(["\n mutation removeFromList($listId: Int!, $productId: Int!, $productAttributeId: Int!, $url: String!) {\n removeFromList(listId: $listId, productId: $productId, productAttributeId: $productAttributeId, url: $url) {\n success\n message\n }\n }\n"],["\n mutation removeFromList($listId: Int!, $productId: Int!, $productAttributeId: Int!, $url: String!) {\n removeFromList(listId: $listId, productId: $productId, productAttributeId: $productAttributeId, url: $url) {\n success\n message\n }\n }\n"]),i=o(r(23));function o(t){return t&&t.__esModule?t:{default:t}}e.default=(0,i.default)(n)},104:function(t,e,r){"use strict";r.r(e),r.d(e,"ContentLoader",(function(){return a})),r.d(e,"BulletListLoader",(function(){return u})),r.d(e,"CodeLoader",(function(){return s})),r.d(e,"FacebookLoader",(function(){return c})),r.d(e,"ListLoader",(function(){return l})),r.d(e,"InstagramLoader",(function(){return d}));var n=r(34),i=r.n(n),o=function(){return Math.random().toString(36).substring(2)},a={name:"ContentLoader",functional:!0,props:{width:{type:[Number,String],default:400},height:{type:[Number,String],default:130},speed:{type:Number,default:2},preserveAspectRatio:{type:String,default:"xMidYMid meet"},baseUrl:{type:String,default:""},primaryColor:{type:String,default:"#f9f9f9"},secondaryColor:{type:String,default:"#ecebeb"},primaryOpacity:{type:Number,default:1},secondaryOpacity:{type:Number,default:1},uniqueKey:{type:String},animate:{type:Boolean,default:!0}},render:function(t,e){var r=e.props,n=e.data,a=e.children,u=r.uniqueKey?r.uniqueKey+"-idClip":o(),s=r.uniqueKey?r.uniqueKey+"-idGradient":o();return t("svg",i()([n,{attrs:{viewBox:"0 0 "+r.width+" "+r.height,version:"1.1",preserveAspectRatio:r.preserveAspectRatio}}]),[t("rect",{style:{fill:"url("+r.baseUrl+"#"+s+")"},attrs:{"clip-path":"url("+r.baseUrl+"#"+u+")",x:"0",y:"0",width:r.width,height:r.height}}),t("defs",[t("clipPath",{attrs:{id:u}},[a||t("rect",{attrs:{x:"0",y:"0",rx:"5",ry:"5",width:r.width,height:r.height}})]),t("linearGradient",{attrs:{id:s}},[t("stop",{attrs:{offset:"0%","stop-color":r.primaryColor,"stop-opacity":r.primaryOpacity}},[r.animate?t("animate",{attrs:{attributeName:"offset",values:"-2; 1",dur:r.speed+"s",repeatCount:"indefinite"}}):null]),t("stop",{attrs:{offset:"50%","stop-color":r.secondaryColor,"stop-opacity":r.secondaryOpacity}},[r.animate?t("animate",{attrs:{attributeName:"offset",values:"-1.5; 1.5",dur:r.speed+"s",repeatCount:"indefinite"}}):null]),t("stop",{attrs:{offset:"100%","stop-color":r.primaryColor,"stop-opacity":r.primaryOpacity}},[r.animate?t("animate",{attrs:{attributeName:"offset",values:"-1; 2",dur:r.speed+"s",repeatCount:"indefinite"}}):null])])])])}},u={name:"BulletListLoader",functional:!0,render:function(t,e){var r=e.data;return t(a,r,[t("circle",{attrs:{cx:"10",cy:"20",r:"8"}}),t("rect",{attrs:{x:"25",y:"15",rx:"5",ry:"5",width:"220",height:"10"}}),t("circle",{attrs:{cx:"10",cy:"50",r:"8"}}),t("rect",{attrs:{x:"25",y:"45",rx:"5",ry:"5",width:"220",height:"10"}}),t("circle",{attrs:{cx:"10",cy:"80",r:"8"}}),t("rect",{attrs:{x:"25",y:"75",rx:"5",ry:"5",width:"220",height:"10"}}),t("circle",{attrs:{cx:"10",cy:"110",r:"8"}}),t("rect",{attrs:{x:"25",y:"105",rx:"5",ry:"5",width:"220",height:"10"}})])}},s={name:"CodeLoader",functional:!0,render:function(t,e){var r=e.data;return t(a,r,[t("rect",{attrs:{x:"0",y:"0",rx:"3",ry:"3",width:"70",height:"10"}}),t("rect",{attrs:{x:"80",y:"0",rx:"3",ry:"3",width:"100",height:"10"}}),t("rect",{attrs:{x:"190",y:"0",rx:"3",ry:"3",width:"10",height:"10"}}),t("rect",{attrs:{x:"15",y:"20",rx:"3",ry:"3",width:"130",height:"10"}}),t("rect",{attrs:{x:"155",y:"20",rx:"3",ry:"3",width:"130",height:"10"}}),t("rect",{attrs:{x:"15",y:"40",rx:"3",ry:"3",width:"90",height:"10"}}),t("rect",{attrs:{x:"115",y:"40",rx:"3",ry:"3",width:"60",height:"10"}}),t("rect",{attrs:{x:"185",y:"40",rx:"3",ry:"3",width:"60",height:"10"}}),t("rect",{attrs:{x:"0",y:"60",rx:"3",ry:"3",width:"30",height:"10"}})])}},c={name:"FacebookLoader",functional:!0,render:function(t,e){var r=e.data;return t(a,r,[t("rect",{attrs:{x:"70",y:"15",rx:"4",ry:"4",width:"117",height:"6.4"}}),t("rect",{attrs:{x:"70",y:"35",rx:"3",ry:"3",width:"85",height:"6.4"}}),t("rect",{attrs:{x:"0",y:"80",rx:"3",ry:"3",width:"350",height:"6.4"}}),t("rect",{attrs:{x:"0",y:"100",rx:"3",ry:"3",width:"380",height:"6.4"}}),t("rect",{attrs:{x:"0",y:"120",rx:"3",ry:"3",width:"201",height:"6.4"}}),t("circle",{attrs:{cx:"30",cy:"30",r:"30"}})])}},l={name:"ListLoader",functional:!0,render:function(t,e){var r=e.data;return t(a,r,[t("rect",{attrs:{x:"0",y:"0",rx:"3",ry:"3",width:"250",height:"10"}}),t("rect",{attrs:{x:"20",y:"20",rx:"3",ry:"3",width:"220",height:"10"}}),t("rect",{attrs:{x:"20",y:"40",rx:"3",ry:"3",width:"170",height:"10"}}),t("rect",{attrs:{x:"0",y:"60",rx:"3",ry:"3",width:"250",height:"10"}}),t("rect",{attrs:{x:"20",y:"80",rx:"3",ry:"3",width:"200",height:"10"}}),t("rect",{attrs:{x:"20",y:"100",rx:"3",ry:"3",width:"80",height:"10"}})])}},d={name:"InstagramLoader",functional:!0,render:function(t,e){var r=e.data;return t(a,i()([r,{attrs:{height:480}}]),[t("circle",{attrs:{cx:"30",cy:"30",r:"30"}}),t("rect",{attrs:{x:"75",y:"13",rx:"4",ry:"4",width:"100",height:"13"}}),t("rect",{attrs:{x:"75",y:"37",rx:"4",ry:"4",width:"50",height:"8"}}),t("rect",{attrs:{x:"0",y:"70",rx:"5",ry:"5",width:"400",height:"400"}})])}}},105:function(t,e,r){"use strict";r.d(e,"a",(function(){return n})),r.d(e,"b",(function(){return i}));var n=function(){var t=this.$createElement,e=this._self._c||t;return e("button",{staticClass:"wishlist-button-add",class:{"wishlist-button-product":this.isProduct},on:{click:this.addToWishlist}},[this.isChecked?e("i",{staticClass:"material-icons"},[this._v("favorite")]):e("i",{staticClass:"material-icons"},[this._v("favorite_border")])])},i=[];n._withStripped=!0},106:function(t,e,r){"use strict";r.d(e,"a",(function(){return n})),r.d(e,"b",(function(){return i}));var n=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"wishlist-chooselist"},[r("ul",{staticClass:"wishlist-list"},t._l(t.lists,(function(e){return r("li",{key:e.id_wishlist,staticClass:"wishlist-list-item",on:{click:function(r){return t.select(e.id_wishlist)}}},[r("p",[t._v("\n "+t._s(e.name)+"\n ")])])})),0),t._v(" "),t.$apollo.queries.lists.loading?r("ContentLoader",{staticClass:"wishlist-list-loader",attrs:{height:"105"}},[r("rect",{attrs:{x:"0",y:"12",rx:"3",ry:"0",width:"100%",height:"11"}}),t._v(" "),r("rect",{attrs:{x:"0",y:"36",rx:"3",ry:"0",width:"100%",height:"11"}}),t._v(" "),r("rect",{attrs:{x:"0",y:"60",rx:"3",ry:"0",width:"100%",height:"11"}}),t._v(" "),r("rect",{attrs:{x:"0",y:"84",rx:"3",ry:"0",width:"100%",height:"11"}})]):t._e(),t._v(" "),t.lists&&t.lists.length<=0&&!t.$apollo.queries.lists.loading?r("p",{staticClass:"wishlist-list-empty"},[t._v("\n "+t._s(t.emptyText)+"\n ")]):t._e()],1)},i=[];n._withStripped=!0},12:function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},131:function(t,e,r){var n=r(208);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,r(17).default)("0e4dc420",n,!1,{})},132:function(t,e,r){"use strict";var n=o(r(19)),i=o(r(133));function o(t){return t&&t.__esModule?t:{default:t}} 39391/** 39392 * 2007-2020 PrestaShop and Contributors 39393 * 39394 * NOTICE OF LICENSE 39395 * 39396 * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
39397 * that is bundled with this package in the file LICENSE.txt. 39398 * It is also available through the world-wide-web at this URL: 39399 * https://opensource.org/licenses/AFL-3.0 39400 * If you did not receive a copy of the license and are unable to 39401 * obtain it through the world-wide-web, please send an email 39402 * to [email protected] so we can send you a copy immediately. 39403 * 39404 * @author PrestaShop SA <[email protected]> 39405 * @copyright 2007-2020 PrestaShop SA and Contributors 39406 * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) 39407 * International Registered Trademark & Property of PrestaShop SA 39408 */var a=[{name:"url",type:String},{name:"title",type:String},{name:"label",type:String},{name:"productId",type:Number},{name:"placeholder",type:String},{name:"cancelText",type:String},{name:"lengthText",type:String},{name:"createText",type:String}];(0,n.default)(i.default,".wishlist-create",a)},133:function(t,e,r){"use strict";r.r(e);var n=r(37);for(var i in n)["default"].indexOf(i)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(i);r(135);var o=r(4),a=Object(o.a)(n.default,void 0,void 0,!1,null,null,null);a.options.__file="_dev/front/js/components/Create/Create.vue",e.default=a.exports},134:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=(0,o(r(21)).default)(["\n mutation createList($name: String!, $url: String!) {\n createList(name: $name, url: $url) {\n message\n datas {\n name\n id_wishlist\n }\n success\n }\n }\n"],["\n mutation createList($name: String!, $url: String!) {\n createList(name: $name, url: $url) {\n message\n datas {\n name\n id_wishlist\n }\n success\n }\n }\n"]),i=o(r(23));function o(t){return t&&t.__esModule?t:{default:t}}e.default=(0,i.default)(n)},135:function(t,e,r){"use strict";r(83)},136:function(t,e,r){(e=r(16)(!1)).push([t.i,".wishlist-create .wishlist-modal{opacity:0;pointer-events:none;z-index:0}.wishlist-create .wishlist-modal.show{opacity:1;pointer-events:all;z-index:1053}\n",""]),t.exports=e},138:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=(0,o(r(21)).default)(["\n query lists($url: String!) {\n lists(url: $url) {\n id_wishlist\n name\n listUrl\n shareUrl\n nbProducts\n default\n }\n }\n"],["\n query lists($url: String!) {\n lists(url: $url) {\n id_wishlist\n name\n listUrl\n shareUrl\n nbProducts\n default\n }\n }\n"]),i=o(r(23));function o(t){return t&&t.__esModule?t:{default:t}}e.default=(0,i.default)(n)},139:function(t,e,r){var n=r(219);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,r(17).default)("74f2cc0d",n,!1,{})},14:function(t,e,r){t.exports=r(31)},140:function(t,e,r){var n=r(221);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,r(17).default)("42165746",n,!1,{})},141:function(t,e,r){"use strict";var n=o(r(19)),i=o(r(142));function o(t){return t&&t.__esModule?t:{default:t}} 39409/** 39410 * 2007-2020 PrestaShop and Contributors 39411 * 39412 * NOTICE OF LICENSE 39413 * 39414 * This source file is subject to the Academic Free License 3.0 (AFL-3.0) 39415 * that is bundled with this package in the file LICENSE.txt. 39416 * It is also available through the world-wide-web at this URL: 39417 * https://opensource.org/licenses/AFL-3.0 39418 * If you did not receive a copy of the license and are unable to 39419 * obtain it through the world-wide-web, please send an email 39420 * to [email protected] so we can send you a copy immediately. 39421 * 39422 * @author PrestaShop SA <[email protected]> 39423 * @copyright 2007-2020 PrestaShop SA and Contributors 39424 * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) 39425 * International Registered Trademark & Property of PrestaShop SA 39426 */var a=[{name:"renameWishlistText",type:String},{name:"createWishlistText",type:String},{name:"addedWishlistText",type:String},{name:"shareText",type:String},{name:"deleteWishlistText",type:String},{name:"deleteProductText",type:String},{name:"copyText",type:String}];(0,n.default)(i.default,".wishlist-toast",a)},142:function(t,e,r){"use strict";r.r(e);var n=r(62),i=r(39);for(var o in i)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return i[t]}))}(o);r(143);var a=r(4),u=Object(a.a)(i.default,n.a,n.b,!1,null,null,null);u.options.__file="_dev/front/js/components/Toast/Toast.vue",e.default=u.exp
39426orts},143:function(t,e,r){"use strict";r(84)},144:function(t,e,r){(e=r(16)(!1)).push([t.i,".wishlist-toast{padding:0.875rem 1.25rem;box-sizing:border-box;width:auto;border:1px solid #e5e5e5;border-radius:4px;background-color:#ffffff;box-shadow:0.125rem 0.125rem 0.625rem 0 rgba(0,0,0,0.2);position:fixed;right:1.25rem;z-index:9999;top:4.375rem;transition:0.2s ease-out;transform:translateY(-10px);pointer-events:none;opacity:0}.wishlist-toast.success{background-color:#69b92d;border-color:#69b92d}.wishlist-toast.success .wishlist-toast-text{color:white}.wishlist-toast.error{background-color:#b9312d;border-color:#b9312d}.wishlist-toast.error .wishlist-toast-text{color:white}.wishlist-toast.isActive{transform:translateY(0);pointer-events:all;opacity:1}.wishlist-toast-text{color:#232323;font-size:0.875rem;letter-spacing:0;line-height:1.1875rem;margin-bottom:0}\n",""]),t.exports=e},146:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=o(r(19)),i=o(r(206));function o(t){return t&&t.__esModule?t:{default:t}} 39427/** 39428 * 2007-2020 PrestaShop and Contributors 39429 * 39430 * NOTICE OF LICENSE 39431 * 39432 * This source file is subject to the Academic Free License 3.0 (AFL-3.0) 39433 * that is bundled with this package in the file LICENSE.txt. 39434 * It is also available through the world-wide-web at this URL: 39435 * https://opensource.org/licenses/AFL-3.0 39436 * If you did not receive a copy of the license and are unable to 39437 * obtain it through the world-wide-web, please send an email 39438 * to [email protected] so we can send you a copy immediately. 39439 * 39440 * @author PrestaShop SA <[email protected]> 39441 * @copyright 2007-2020 PrestaShop SA and Contributors 39442 * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) 39443 * International Registered Trademark & Property of PrestaShop SA 39444 */var a=function(){var t=[{name:"url",type:String},{name:"checked",type:Boolean},{name:"productId",type:Number},{name:"productAttributeId",type:Number},{name:"isProduct",type:Boolean}];(0,n.default)(i.default,".wishlist-button",t)};a(),e.default=a},15:function(t,e,r){"use strict";e.__esModule=!0;var n,i=r(33),o=(n=i)&&n.__esModule?n:{default:n};e.default=function(t){return function(){var e=t.apply(this,arguments);return new o.default((function(t,r){return function n(i,a){try{var u=e[i](a),s=u.value}catch(t){return void r(t)}if(!u.done)return o.default.resolve(s).then((function(t){n("next",t)}),(function(t){n("throw",t)}));t(s)}("next")}))}}},16:function(t,e,r){"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r=function(t,e){var r=t[1]||"",n=t[3];if(!n)return r;if(e&&"function"==typeof btoa){var i=(a=n,u=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),s="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(u),"/*# ".concat(s," */")),o=n.sources.map((function(t){return"/*# sourceURL=".concat(n.sourceRoot||"").concat(t," */")}));return[r].concat(o).concat([i]).join("\n")}var a,u,s;return[r].join("\n")}(e,t);return e[2]?"@media ".concat(e[2]," {").concat(r,"}"):r})).join("")},e.i=function(t,r,n){"string"==typeof t&&(t=[[null,t,""]]);var i={};if(n)for(var o=0;o<this.length;o++){var a=this[o][0];null!=a&&(i[a]=!0)}for(var u=0;u<t.length;u++){var s=[].concat(t[u]);n&&i[s[0]]||(r&&(s[2]?s[2]="".concat(r," and ").concat(s[2]):s[2]=r),e.push(s))}},e}},17:function(t,e,r){"use strict";function n(t,e){for(var r=[],n={},i=0;i<e.length;i++){var o=e[i],a=o[0],u={id:t+":"+i,css:o[1],media:o[2],sourceMap:o[3]};n[a]?n[a].parts.push(u):r.push(n[a]={id:a,parts:[u]})}return r}r.r(e),r.d(e,"default",(function(){return p}));var i="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!i)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var o={},a=i&&(document.head||document.getElementsByTagName("head")[0]),u=null,s=0,c=!1,l=function(){},d=null,f="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function p(t,e,r,i){c=r,d=i||{};var a=n(t,e);return h(a),function(e){for(var r=[],i=0;i<a.length;i++){var u=a[i];
39444(s=o[u.id]).refs--,r.push(s)}e?h(a=n(t,e)):a=[];for(i=0;i<r.length;i++){var s;if(0===(s=r[i]).refs){for(var c=0;c<s.parts.length;c++)s.parts[c]();delete o[s.id]}}}}function h(t){for(var e=0;e<t.length;e++){var r=t[e],n=o[r.id];if(n){n.refs++;for(var i=0;i<n.parts.length;i++)n.parts[i](r.parts[i]);for(;i<r.parts.length;i++)n.parts.push(v(r.parts[i]));n.parts.length>r.parts.length&&(n.parts.length=r.parts.length)}else{var a=[];for(i=0;i<r.parts.length;i++)a.push(v(r.parts[i]));o[r.id]={id:r.id,refs:1,parts:a}}}}function y(){var t=document.createElement("style");return t.type="text/css",a.appendChild(t),t}function v(t){var e,r,n=document.querySelector('style[data-vue-ssr-id~="'+t.id+'"]');if(n){if(c)return l;n.parentNode.removeChild(n)}if(f){var i=s++;n=u||(u=y()),e=b.bind(null,n,i,!1),r=b.bind(null,n,i,!0)}else n=y(),e=w.bind(null,n),r=function(){n.parentNode.removeChild(n)};return e(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;e(t=n)}else r()}}var m,g=(m=[],function(t,e){return m[t]=e,m.filter(Boolean).join("\n")});function b(t,e,r,n){var i=r?"":n.css;if(t.styleSheet)t.styleSheet.cssText=g(e,i);else{var o=document.createTextNode(i),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(o,a[e]):t.appendChild(o)}}function w(t,e){var r=e.css,n=e.media,i=e.sourceMap;if(n&&t.setAttribute("media",n),d.ssrId&&t.setAttribute("data-vue-ssr-id",e.id),i&&(r+="\n/*# sourceURL="+i.sources[0]+" */",r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),t.styleSheet)t.styleSheet.cssText=r;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(r))}}},174:function(t,e,r){"use strict";r.r(e);var n=r(175),i=r.n(n);for(var o in n)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(o);e.default=i.a},175:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=o(r(10)),i=o(r(30));function o(t){return t&&t.__esModule?t:{default:t}}e.default={name:"Login",props:{cancelText:{type:String,required:!0,default:"Cancel"},loginText:{type:String,required:!0,default:"Login"}},data:function(){return{value:"",isHidden:!0,listId:null,prestashop:i.default}},methods:{toggleModal:function(){this.isHidden=!this.isHidden}},mounted:function(){var t=this;n.default.$on("showLogin",(function(){t.toggleModal()}))}}},19:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=u(r(42));e.default=function(t,e,r){i.default.use(o.default);var u=new o.default({defaultClient:a.default}),s=document.querySelectorAll(e),c=i.default.extend(t),l={};s.forEach((function(t){var e=!0,i=!1,o=void 0;try{for(var a,s=(0,n.default)(r);!(e=(a=s.next()).done);e=!0){var d=a.value;t.dataset[d.name]&&(d.type===Number?l[d.name]=parseInt(t.dataset[d.name],10):d.type===Boolean?l[d.name]="true"===t.dataset[d.name]:l[d.name]=t.dataset[d.name])}}catch(t){i=!0,o=t}finally{try{!e&&s.return&&s.return()}finally{if(i)throw o}}new c({el:t,delimiters:["((","))"],apolloProvider:u,propsData:l})}))} 39445/** 39446 * 2007-2020 PrestaShop and Contributors 39447 * 39448 * NOTICE OF LICENSE 39449 * 39450 * This source file is subject to the Academic Free License 3.0 (AFL-3.0) 39451 * that is bundled with this package in the file LICENSE.txt. 39452 * It is also available through the world-wide-web at this URL: 39453 * https://opensource.org/licenses/AFL-3.0 39454 * If you did not receive a copy of the license and are unable to 39455 * obtain it through the world-wide-web, please send an email 39456 * to [email protected] so we can send you a copy immediately. 39457 * 39458 * @author PrestaShop SA <[email protected]> 39459 * @copyright 2007-2020 PrestaShop SA and Contributors 39460 * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) 39461 * International Registered Trademark & Property of PrestaShop SA 39462 */;var i=u(r(35)),o=u(r(91)),a=u(r(44));function u(t){return t&&t.__esModule?t:{default:t}}},20:function(t,e,r){"use strict";var n=r(27),i=r.n(n).a;e.a=i},206:function(t,e,r){"use strict";r.r(e);var n=r(105),i=r(69);for(var o in i)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return i[t]}))}(o);r(207);var a=r(4),u=Object(a.a)(i.default,n.a,n.b,!1,null,null,null);u.options.__file="_dev/front/js/components/Button/Button.vue",e.default=u.exp
39462orts},207:function(t,e,r){"use strict";r(131)},208:function(t,e,r){(e=r(16)(!1)).push([t.i,".wishlist-button-product{margin-left:1.25rem}.wishlist-button-add{display:flex;align-items:center;justify-content:center;height:2.5rem;width:2.5rem;min-width:2.5rem;padding-top:0.1875rem;background-color:#ffffff;box-shadow:0.125rem -0.125rem 0.25rem 0 rgba(0,0,0,0.2);border-radius:50%;cursor:pointer;transition:0.2s ease-out;border:none}.wishlist-button-add:hover{opacity:0.7}.wishlist-button-add:focus{outline:0}.wishlist-button-add:active{transform:scale(1.2)}.wishlist-button-add i{color:#7a7a7a}\n",""]),t.exports=e},21:function(t,e,r){"use strict";e.__esModule=!0;var n=o(r(56)),i=o(r(57));function o(t){return t&&t.__esModule?t:{default:t}}e.default=function(t,e){return(0,i.default)((0,n.default)(t,{raw:{value:(0,i.default)(e)}}))}},214:function(t,e,r){"use strict";var n=o(r(19)),i=o(r(215));function o(t){return t&&t.__esModule?t:{default:t}} 39463/** 39464 * 2007-2020 PrestaShop and Contributors 39465 * 39466 * NOTICE OF LICENSE 39467 * 39468 * This source file is subject to the Academic Free License 3.0 (AFL-3.0) 39469 * that is bundled with this package in the file LICENSE.txt. 39470 * It is also available through the world-wide-web at this URL: 39471 * https://opensource.org/licenses/AFL-3.0 39472 * If you did not receive a copy of the license and are unable to 39473 * obtain it through the world-wide-web, please send an email 39474 * to [email protected] so we can send you a copy immediately. 39475 * 39476 * @author PrestaShop SA <[email protected]> 39477 * @copyright 2007-2020 PrestaShop SA and Contributors 39478 * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) 39479 * International Registered Trademark & Property of PrestaShop SA 39480 */var a=[{name:"url",type:String}];(0,n.default)(i.default,".wishlist-add-to",a)},215:function(t,e,r){"use strict";r.r(e);var n=r(73);for(var i in n)["default"].indexOf(i)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(i);r(220);var o=r(4),a=Object(o.a)(n.default,void 0,void 0,!1,null,null,null);a.options.__file="_dev/front/js/components/AddToWishlist/AddToWishlist.vue",e.default=a.exports},216:function(t,e,r){"use strict";r.r(e);var n=r(106),i=r(75);for(var o in i)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return i[t]}))}(o);r(218);var a=r(4),u=Object(a.a)(i.default,n.a,n.b,!1,null,null,null);u.options.__file="_dev/front/js/components/ChooseList/ChooseList.vue",e.default=u.exports},217:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=(0,o(r(21)).default)(["\n mutation addToList($listId: Int!, $productId: Int!, $quantity: Int!, $productAttributeId: Int!, $url: String!) {\n addToList(\n listId: $listId\n productId: $productId\n quantity: $quantity\n productAttributeId: $productAttributeId\n url: $url\n ) {\n success\n message\n }\n }\n"],["\n mutation addToList($listId: Int!, $productId: Int!, $quantity: Int!, $productAttributeId: Int!, $url: String!) {\n addToList(\n listId: $listId\n productId: $productId\n quantity: $quantity\n productAttributeId: $productAttributeId\n url: $url\n ) {\n success\n message\n }\n }\n"]),i=o(r(23));function o(t){return t&&t.__esModule?t:{default:t}}e.default=(0,i.default)(n)},218:function(t,e,r){"use strict";r(139)},219:function(t,e,r){(e=r(16)(!1)).push([t.i,".wishlist-list{max-height:55vh;overflow-y:auto;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;margin:0}.wishlist-list-empty{font-size:30;text-align:center;padding:30px;padding-bottom:1.25rem;font-weight:bold;color:#000}.wishlist-list .wishlist-list-item{padding:0.875rem 0;transition:0.25s ease-out;cursor:pointer;margin-bottom:0}.wishlist-list .wishlist-list-item:hover{background:#ecf8fb}.wishlist-list .wishlist-list-item p{font-size:0.875rem;letter-spacing:0;color:#232323;margin-bottom:0;line-height:1rem;padding:0 2.5rem}\n",""]),t.exports=e},22:function(t,e){var r,n,i=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function u(t){if(r===setTimeout)return setTimeout(t,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(t,0);try{return r(t,0)}catch(e){try{return r.call(null,t,0)}catch(e){return r.call(this,t,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:o}catch(t){r=o}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(t){n=a}}();var s,c=[],l=!1,d=-1;function f(){l&&s&&(l=!1,s.length?c=s.concat(c):d=-1,c.length&&p())}function p(){if(!l){var t=u(f);l=!0;for(var e=c.length;e;){for(s=c,c=[];++d<e;)s&&s[d].run();d=-1,e=c.length}s=null,l=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function h(t,e){this.fun=t,this.array=e}function y(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];c.push(new h(t,e)),1!==c.length||l||u(p)},h.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=y,i.addListener=y,i.once=y,i.off=y,i.removeListener=y,i.removeAllListeners=y,i.emit=y,i.prependListener=y,i.prependOnceListener=y,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},220:function(t,e,r){"use strict";r(140)},221:function(t,e,r){(e=r(16)(!1)).push([t.i,".wishlist-add-to-new{cursor:pointer;transition:0.2s ease-out;font-size:0.875rem;letter-spacing:0;line-height:1rem}.wishlist-add-to-new:hover{opacity:0.7}.wishlist-add-to-new i{margin-right:0.3125rem;vertical-align:middle;color:#2fb5d2;margin-top:-0.125rem;font-size:1.25rem}.wishlist-add-to .modal-body{padding:0}.wishlist-add-to .modal-footer{text-align:left;padding:0.75rem 1.25rem}\n",""]),t.exports=e},24:function(t,e){var r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(r){var n=new Uint8Array(16);t.exports=function(){return r(n),n}}else{var i=new Array(16);t.exports=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),i[e]=t>>>((3&e)<<3)&255;return i}}},25:function(t,e){for(var r=[],n=0;n<256;++n)r[n]=(n+256).toString(16).substr(1);t.exports=function(t,e){var n=e||0,i=r;return[i[t[n++]],i[t[n++]],i[t[n++]],i[t[n++]],"-",i[t[n++]],i[t[n++]],"-",i[t[n++]],i[t[n++]],"-",i[t[n++]],i[t[n++]],"-",i[t[n++]],i[t[n++]],i[t[n++]],i[t[n++]],i[t[n++]],i[t[n++]]].join("")}},26:function(t,e,r){"use strict";function n(t){var e,r=t.Symbol;return"function"==typeof r?r.observable?e=r.observable:(e=r("observable"),r.observable=e):e="@@observable",e}r.d(e,"a",(function(){return n}))},27:function(t,e,r){t.exports=r(46).Observable},29:function(t,e,r){"use strict";r.d(e,"a",(function(){return u}));var n=Object.prototype,i=n.toString,o=n.hasOwnProperty,a=new Map;function u(t,e){try{return function t(e,r){if(e===r)return!0;var n=i.call(e),a=i.call(r);if(n!==a)return!1;switch(n){case"[object Array]":if(e.length!==r.length)return!1;case"[object Object]":if(s(e,r))return!0;var u=Object.keys(e),c=Object.keys(r),l=u.length;if(l!==c.length)return!1;for(var d=0;d<l;++d)if(!o.call(r,u[d]))return!1;for(d=0;d<l;++d){var f=u[d];if(!t(e[f],r[f]))return!1}return!0;case"[object Error]":return e.name===r.name&&e.message===r.message;case"[object Number]":if(e!=e)return r!=r;case"[object Boolean]":case"[object Date]":return+e==+r;case"[object RegExp]":case"[object String]":return e==""+r;case"[object Map]":case"[object Set]":if(e.size!==r.size)return!1;if(s(e,r))return!0;for(var p=e.entries(),h="[object Map]"===n;;){var y=p.next();if(y.done)break;var v=y.value,m=v[0],g=v[1];if(!r.has(m))return!1;if(h&&!t(g,r.get(m)))return!1}return!0}return!1}(t,e)}finally{a.clear()}}function s(t,e){var r=a.get(t);if(r){if(r.has(e))return!0}else a.set(t,r=new Set);return r.add(e),!1}},3:function(t,e,r){"use strict";(function(t){r.d(e,"a",(function(){return a})),r.d(e,"b",(function(){return u}));
39480var n=r(0),i=Object.setPrototypeOf,o=void 0===i?function(t,e){return t.__proto__=e,t}:i,a=function(t){function e(r){void 0===r&&(r="Invariant Violation");var n=t.call(this,"number"==typeof r?"Invariant Violation: "+r+" (see https://github.com/apollographql/invariant-packages)":r)||this;return n.framesToPop=1,n.name="Invariant Violation",o(n,e.prototype),n}return Object(n.c)(e,t),e}(Error);function u(t,e){if(!t)throw new a(e)}function s(t){return function(){return console[t].apply(console,arguments)}}!function(t){t.warn=s("warn"),t.error=s("error")}(u||(u={}));var c={env:{}};if("object"==typeof t)c=t;else try{Function("stub","process = stub")(c)}catch(t){}}).call(this,r(22))},30:function(t,e){t.exports=window.prestashop},308:function(t,e,r){var n=r(438);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,r(17).default)("24c92fe5",n,!1,{})},31:function(t,e,r){var n=function(){return this}()||Function("return this")(),i=n.regeneratorRuntime&&Object.getOwnPropertyNames(n).indexOf("regeneratorRuntime")>=0,o=i&&n.regeneratorRuntime;if(n.regeneratorRuntime=void 0,t.exports=r(32),i)n.regeneratorRuntime=o;else try{delete n.regeneratorRuntime}catch(t){n.regeneratorRuntime=void 0}},32:function(t,e){!function(e){"use strict";var r=Object.prototype,n=r.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag",s="object"==typeof t,c=e.regeneratorRuntime;if(c)s&&(t.exports=c);else{(c=e.regeneratorRuntime=s?t.exports:{}).wrap=y;var l={},d={};d[o]=function(){return this};var f=Object.getPrototypeOf,p=f&&f(f(k([])));p&&p!==r&&n.call(p,o)&&(d=p);var h=b.prototype=m.prototype=Object.create(d);g.prototype=h.constructor=b,b.constructor=g,b[u]=g.displayName="GeneratorFunction",c.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},c.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,u in t||(t[u]="GeneratorFunction")),t.prototype=Object.create(h),t},c.awrap=function(t){return{__await:t}},w(_.prototype),_.prototype[a]=function(){return this},c.AsyncIterator=_,c.async=function(t,e,r,n){var i=new _(y(t,e,r,n));return c.isGeneratorFunction(e)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},w(h),h[u]="Generator",h[o]=function(){return this},h.toString=function(){return"[object Generator]"},c.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},c.values=k,O.prototype={constructor:O,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var u=n.call(o,"catchLoc"),s=n.call(o,"finallyLoc");if(u&&s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(u){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,l):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),l},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),S(r),l}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;S(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:k(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),l}}}function y(t,e,r,n){var i=e&&e.prototype instanceof m?e:m,o=Object.create(i.prototype),a=new O(n||[]);return o._invoke=function(t,e,r){var n="suspendedStart";return function(i,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw o;return T()}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var u=x(a,r);if(u){if(u===l)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var s=v(t,e,r);
39480if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===l)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}(t,r,a),o}function v(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}function m(){}function g(){}function b(){}function w(t){["next","throw","return"].forEach((function(e){t[e]=function(t){return this._invoke(e,t)}}))}function _(t){var e;this._invoke=function(r,i){function o(){return new Promise((function(e,o){!function e(r,i,o,a){var u=v(t[r],t,i);if("throw"!==u.type){var s=u.arg,c=s.value;return c&&"object"==typeof c&&n.call(c,"__await")?Promise.resolve(c.__await).then((function(t){e("next",t,o,a)}),(function(t){e("throw",t,o,a)})):Promise.resolve(c).then((function(t){s.value=t,o(s)}),a)}a(u.arg)}(r,i,e,o)}))}return e=e?e.then(o,o):o()}}function x(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method))return l;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var n=v(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,l;var i=n.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,l):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,l)}function I(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(I,this),this.reset(!0)}function k(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:T}}function T(){return{value:void 0,done:!0}}}(function(){return this}()||Function("return this")())},33:function(t,e,r){t.exports={default:r(82),__esModule:!0}},34:function(t,e){var r=/^(attrs|props|on|nativeOn|class|style|hook)$/;function n(t,e){return function(){t&&t.apply(this,arguments),e&&e.apply(this,arguments)}}t.exports=function(t){return t.reduce((function(t,e){var i,o,a,u,s;for(a in e)if(i=t[a],o=e[a],i&&r.test(a))if("class"===a&&("string"==typeof i&&(s=i,t[a]=i={},i[s]=!0),"string"==typeof o&&(s=o,e[a]=o={},o[s]=!0)),"on"===a||"nativeOn"===a||"hook"===a)for(u in o)i[u]=n(i[u],o[u]);else if(Array.isArray(i))t[a]=i.concat(o);else if(Array.isArray(o))t[a]=[i].concat(o);else for(u in o)i[u]=o[u];else t[a]=e[a];return t}),{})}},36:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={addToCart:{Accept:"application/json, text/javascript"},products:{"Content-Type":"application/json",Accept:"application/json, text/javascript, */*; q=0.01"}}},37:function(t,e,r){"use strict";r.r(e);var n=r(38),i=r.n(n);for(var o in n)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(o);e.default=i.a},38:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,i=s(r(14)),o=s(r(15)),a=s(r(134)),u=s(r(10));function s(t){return t&&t.__esModule?t:{default:t}}e.default={name:"Create",props:{url:{type:String,required:!0,default:"#"},title:{type:String,required:!0,default:"New wishlist"},label:{type:String,required:!0,default:"Wishlist name"},placeholder:{type:String,required:!0,default:"Add name"},cancelText:{type:String,required:!0,default:"Cancel"},lengthText:{type:String,required:!0,default:"List title is too short"},createText:{type:String,required:!0,default:"Create"}},data:function(){return{value:"",isHidden:!0}},methods:{toggleModal:function(){this.isHidden=!this.isHidden},createWishlist:(n=(0,o.default)(i.default.mark((function t(){var e,r;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(this.value.replace(/ /g,"")<1)){t.next=4;break}return u.default.$emit("showToast",{detail:{type:"error",message:this.lengthText}}),t.abrupt("return",!1);case 4:return t.next=6,this.$apollo.mutate({mutation:a.default,variables:{name:this.value,url:this.url}});case 6:return e=t.sent,r=e.data,u.default.$emit("showToast",{detail:{type:r.createList.success?"success":"error",message:r.createList.message}}),u.default.$emit("refetchList"),this.toggleModal(),u.default.$emit("showAddToWishList",{detail:{forceOpen:!0}}),t.abrupt("return",!0);case 13:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},mounted:function(){var t=this;u.default.$on("showCreateWishlist",(function(){t.value="",t.toggleModal()}))}}},39:function(t,e,r){"use strict";r.r(e);var n=r(40),i=r.n(n);for(var o in n)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(o);e.default=i.a},4:function(t,e,r){"use strict";function n(t,e,r,n,i,o,a,u){var s,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=r,c._compiled=!0),n&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),a?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=s):i&&(s=u?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(c.functional){c._injectStyles=s;var l=c.render;c.render=function(t,e){return s.call(e),l(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,s):[s]}return{exports:t,options:c}}r.d(e,"a",(function(){return n}))},40:function(t,e,r){"use strict";
39480Object.defineProperty(e,"__esModule",{value:!0});var n,i=r(10),o=(n=i)&&n.__esModule?n:{default:n};e.default={name:"Button",props:{renameWishlistText:{type:String,required:!0},addedWishlistText:{type:String,required:!0},deleteWishlistText:{type:String,required:!0},createWishlistText:{type:String,required:!0},deleteProductText:{type:String,required:!0},copyText:{type:String,required:!0}},data:function(){return{text:"",active:!1,timeout:null,type:"basic"}},mounted:function(){var t=this;o.default.$on("showToast",(function(e){e.detail.message&&(t[e.detail.message]?t.text=t[e.detail.message]:t.text=e.detail.message),t.active=!0,t.timeout&&clearTimeout(t.timeout),t.timeout=setTimeout((function(){t.active=!1,t.timeout=null}),2500),t.type=e.detail.type?e.detail.type:"basic"}))}}},41:function(t,e,r){"use strict";r.d(e,"a",(function(){return T})),r.d(e,"b",(function(){return M}));var n=null,i={},o=1,a=Array,u=a["@wry/context:Slot"]||function(){var t=function(){function t(){this.id=["slot",o++,Date.now(),Math.random().toString(36).slice(2)].join(":")}return t.prototype.hasValue=function(){for(var t=n;t;t=t.parent)if(this.id in t.slots){var e=t.slots[this.id];if(e===i)break;return t!==n&&(n.slots[this.id]=e),!0}return n&&(n.slots[this.id]=i),!1},t.prototype.getValue=function(){if(this.hasValue())return n.slots[this.id]},t.prototype.withValue=function(t,e,r,i){var o,a=((o={__proto__:null})[this.id]=t,o),u=n;n={parent:u,slots:a};try{return e.apply(i,r)}finally{n=u}},t.bind=function(t){var e=n;return function(){var r=n;try{return n=e,t.apply(this,arguments)}finally{n=r}}},t.noContext=function(t,e,r){if(!n)return t.apply(r,e);var i=n;try{return n=null,t.apply(r,e)}finally{n=i}},t}();try{Object.defineProperty(a,"@wry/context:Slot",{value:a["@wry/context:Slot"]=t,enumerable:!1,writable:!1,configurable:!1})}finally{return t}}();u.bind,u.noContext;function s(){}var c=function(){function t(t,e){void 0===t&&(t=1/0),void 0===e&&(e=s),this.max=t,this.dispose=e,this.map=new Map,this.newest=null,this.oldest=null}return t.prototype.has=function(t){return this.map.has(t)},t.prototype.get=function(t){var e=this.getEntry(t);return e&&e.value},t.prototype.getEntry=function(t){var e=this.map.get(t);if(e&&e!==this.newest){var r=e.older,n=e.newer;n&&(n.older=r),r&&(r.newer=n),e.older=this.newest,e.older.newer=e,e.newer=null,this.newest=e,e===this.oldest&&(this.oldest=n)}return e},t.prototype.set=function(t,e){var r=this.getEntry(t);return r?r.value=e:(r={key:t,value:e,newer:null,older:this.newest},this.newest&&(this.newest.newer=r),this.newest=r,this.oldest=this.oldest||r,this.map.set(t,r),r.value)},t.prototype.clean=function(){for(;this.oldest&&this.map.size>this.max;)this.delete(this.oldest.key)},t.prototype.delete=function(t){var e=this.map.get(t);return!!e&&(e===this.newest&&(this.newest=e.older),e===this.oldest&&(this.oldest=e.newer),e.newer&&(e.newer.older=e.older),e.older&&(e.older.newer=e.newer),this.map.delete(t),this.dispose(e.value,t),!0)},t}(),l=new u,d=[],f=[];function p(t,e){if(!t)throw new Error(e||"assertion failure")}function h(t){switch(t.length){case 0:throw new Error("unknown value");case 1:return t[0];case 2:throw t[1]}}var y=function(){function t(e,r){this.fn=e,this.args=r,this.parents=new Set,this.childValues=new Map,this.dirtyChildren=null,this.dirty=!0,this.recomputing=!1,this.value=[],++t.count}return t.prototype.recompute=function(){if(p(!this.recomputing,"already recomputing"),function(t){var e=l.getValue();if(e)return t.parents.add(e),e.childValues.has(t)||e.childValues.set(t,[]),m(t)?w(e,t):_(e,t),e}(this)||!I(this))return m(this)?function(t){var e=S(t);l.withValue(t,v,[t]),function(t){if("function"==typeof t.subscribe)try{k(t),t.unsubscribe=t.subscribe.apply(null,t.args)}catch(e){return t.setDirty(),!1}return!0}(t)&&function(t){if(t.dirty=!1,m(t))return;b(t)}(t);return e.forEach(I),h(t.value)}(this):h(this.value)},t.prototype.setDirty=function(){this.dirty||(this.dirty=!0,this.value.length=0,g(this),k(this))},t.prototype.dispose=function(){var t=this;S(this).forEach(I),k(this),this.parents.forEach((function(e){e.setDirty(),O(e,t)}))},t.count=0,t}();function v(t){t.recomputing=!0,t.value.length=0;try{t.value[0]=t.fn.apply(null,t.args)}catch(e){t.value[1]=e}t.recomputing=!1}function m(t){return t.dirty||!(!t.dirtyChildren||!t.dirtyChildren.size)}
39480function g(t){t.parents.forEach((function(e){return w(e,t)}))}function b(t){t.parents.forEach((function(e){return _(e,t)}))}function w(t,e){if(p(t.childValues.has(e)),p(m(e)),t.dirtyChildren){if(t.dirtyChildren.has(e))return}else t.dirtyChildren=f.pop()||new Set;t.dirtyChildren.add(e),g(t)}function _(t,e){p(t.childValues.has(e)),p(!m(e));var r,n,i,o=t.childValues.get(e);0===o.length?t.childValues.set(e,e.value.slice(0)):(r=o,n=e.value,(i=r.length)>0&&i===n.length&&r[i-1]===n[i-1]||t.setDirty()),x(t,e),m(t)||b(t)}function x(t,e){var r=t.dirtyChildren;r&&(r.delete(e),0===r.size&&(f.length<100&&f.push(r),t.dirtyChildren=null))}function I(t){return 0===t.parents.size&&"function"==typeof t.reportOrphan&&!0===t.reportOrphan()}function S(t){var e=d;return t.childValues.size>0&&(e=[],t.childValues.forEach((function(r,n){O(t,n),e.push(n)}))),p(null===t.dirtyChildren),e}function O(t,e){e.parents.delete(t),t.childValues.delete(e),x(t,e)}function k(t){var e=t.unsubscribe;"function"==typeof e&&(t.unsubscribe=void 0,e())}var T=function(){function t(t){this.weakness=t}return t.prototype.lookup=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return this.lookupArray(t)},t.prototype.lookupArray=function(t){var e=this;return t.forEach((function(t){return e=e.getChildTrie(t)})),e.data||(e.data=Object.create(null))},t.prototype.getChildTrie=function(e){var r=this.weakness&&function(t){switch(typeof t){case"object":if(null===t)break;case"function":return!0}return!1}(e)?this.weak||(this.weak=new WeakMap):this.strong||(this.strong=new Map),n=r.get(e);return n||r.set(e,n=new t(this.weakness)),n},t}();var j=new T("function"==typeof WeakMap);function L(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return j.lookupArray(t)}var C=new Set;function M(t,e){void 0===e&&(e=Object.create(null));var r=new c(e.max||Math.pow(2,16),(function(t){return t.dispose()})),n=!!e.disposable,i=e.makeCacheKey||L;function o(){if(!n||l.hasValue()){var o=i.apply(null,arguments);if(void 0===o)return t.apply(null,arguments);var a=Array.prototype.slice.call(arguments),u=r.get(o);u?u.args=a:(u=new y(t,a),r.set(o,u),u.subscribe=e.subscribe,n&&(u.reportOrphan=function(){return r.delete(o)}));var s=u.recompute();return r.set(o,u),C.add(r),l.hasValue()||(C.forEach((function(t){return t.clean()})),C.clear()),n?void 0:s}}return o.dirty=function(){var t=i.apply(null,arguments),e=void 0!==t&&r.get(t);e&&e.setDirty()},o}},42:function(t,e,r){t.exports={default:r(88),__esModule:!0}},43:function(t,e,r){(function(t,e){!function(t,r){"use strict";if(!t.setImmediate){var n,i,o,a,u,s=1,c={},l=!1,d=t.document,f=Object.getPrototypeOf&&Object.getPrototypeOf(t);f=f&&f.setTimeout?f:t,"[object process]"==={}.toString.call(t.process)?n=function(t){e.nextTick((function(){h(t)}))}:!function(){if(t.postMessage&&!t.importScripts){var e=!0,r=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=r,e}}()?t.MessageChannel?((o=new MessageChannel).port1.onmessage=function(t){h(t.data)},n=function(t){o.port2.postMessage(t)}):d&&"onreadystatechange"in d.createElement("script")?(i=d.documentElement,n=function(t){var e=d.createElement("script");e.onreadystatechange=function(){h(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):n=function(t){setTimeout(h,0,t)}:(a="setImmediate$"+Math.random()+"$",u=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(a)&&h(+e.data.slice(a.length))},t.addEventListener?t.addEventListener("message",u,!1):t.attachEvent("onmessage",u),n=function(e){t.postMessage(a+e,"*")}),f.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),r=0;r<e.length;r++)e[r]=arguments[r+1];var i={callback:t,args:e};return c[s]=i,n(s),s++},f.clearImmediate=p}function p(t){delete c[t]}function h(t){if(l)setTimeout(h,0,t);else{var e=c[t];if(e){l=!0;try{!function(t){var e=t.callback,r=t.args;switch(r.length){case 0:e();break;case 1:e(r[0]);break;case 2:e(r[0],r[1]);break;case 3:e(r[0],r[1],r[2]);break;default:e.apply(void 0,r)}}(e)}finally{p(t),l=!1}}}}}("undefined"==typeof self?void 0===t?this:t:self)}).call(this,r(12),r(22))},432:function(t,e,r){r(433),r(146),r(141),r(435),r(132),t.exports=r(214)},433:function(t,e,r){"use strict";var n=o(r(146)),i=o(r(434));function o(t){return t&&t.__esModule?t:{default:t}} 39481/** 39482 * 2007-2020 PrestaShop and Contributors 39483 * 39484 * NOTICE OF LICENSE 39485 * 39486 * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
39487 * that is bundled with this package in the file LICENSE.txt. 39488 * It is also available through the world-wide-web at this URL: 39489 * https://opensource.org/licenses/AFL-3.0 39490 * If you did not receive a copy of the license and are unable to 39491 * obtain it through the world-wide-web, please send an email 39492 * to [email protected] so we can send you a copy immediately. 39493 * 39494 * @author PrestaShop SA <[email protected]> 39495 * @copyright 2007-2020 PrestaShop SA and Contributors 39496 * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) 39497 * International Registered Trademark & Property of PrestaShop SA 39498 */var a=function(){document.querySelectorAll(".js-product-miniature").forEach((function(t){var e=document.createElement("div");e.classList.add("wishlist-button"),e.dataset.productId=t.dataset.idProduct,e.dataset.url=i.default,e.dataset.productAttributeId=t.dataset.idProductAttribute,e.dataset.checked=!1,t.querySelector(".thumbnail-container").append(e)}))};a(),(0,n.default)();var u=document.querySelectorAll("#products, .featured-products"),s={attributes:!1,childList:!0};u.forEach((function(t){new MutationObserver((function(){a(),(0,n.default)()})).observe(t,s)}))},434:function(t,e){t.exports=window.removeFromWishlistUrl},435:function(t,e,r){"use strict";var n=o(r(19)),i=o(r(436));function o(t){return t&&t.__esModule?t:{default:t}} 39499/** 39500 * 2007-2020 PrestaShop and Contributors 39501 * 39502 * NOTICE OF LICENSE 39503 * 39504 * This source file is subject to the Academic Free License 3.0 (AFL-3.0) 39505 * that is bundled with this package in the file LICENSE.txt. 39506 * It is also available through the world-wide-web at this URL: 39507 * https://opensource.org/licenses/AFL-3.0 39508 * If you did not receive a copy of the license and are unable to 39509 * obtain it through the world-wide-web, please send an email 39510 * to [email protected] so we can send you a copy immediately. 39511 * 39512 * @author PrestaShop SA <[email protected]> 39513 * @copyright 2007-2020 PrestaShop SA and Contributors 39514 * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) 39515 * International Registered Trademark & Property of PrestaShop SA 39516 */var a=[{name:"loginText",type:String},{name:"cancelText",type:String}];(0,n.default)(i.default,".wishlist-login",a)},436:function(t,e,r){"use strict";r.r(e);var n=r(174);for(var i in n)["default"].indexOf(i)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(i);r(437);var o=r(4),a=Object(o.a)(n.default,void 0,void 0,!1,null,null,null);a.options.__file="_dev/front/js/components/Login/Login.vue",e.default=a.exports},437:function(t,e,r){"use strict";r(308)},438:function(t,e,r){(e=r(16)(!1)).push([t.i,".wishlist-login .wishlist-modal{z-index:0}.wishlist-login .wishlist-modal.show{z-index:1053}\n",""]),t.exports=e},44:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,i=r(92),o=r(93),a=r(96),u=r(51),s=(n=u)&&n.__esModule?n:{default:n}; 39517/** 39518 * 2007-2020 PrestaShop and Contributors 39519 * 39520 * NOTICE OF LICENSE 39521 * 39522 * This source file is subject to the Academic Free License 3.0 (AFL-3.0) 39523 * that is bundled with this package in the file LICENSE.txt. 39524 * It is also available through the world-wide-web at this URL: 39525 * https://opensource.org/licenses/AFL-3.0 39526 * If you did not receive a copy of the license and are unable to 39527 * obtain it through the world-wide-web, please send an email 39528 * to [email protected] so we can send you a copy immediately. 39529 * 39530 * @author PrestaShop SA <[email protected]> 39531 * @copyright 2007-2020 PrestaShop SA and Contributors 39532 * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) 39533 * International Registered Trademark & Property of PrestaShop SA 39534 */ 39535var c=new a.InMemoryCache;e.default=new i.ApolloClient({link:new o.SchemaLink({schema:s.default}),cache:c})},45:function(t,e){t.exports=function(t){if(!t.webpackPolyfill){var e=Object.create(t);e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),Object.defineProperty(e,"exports",{enumerable:!0}),e.webpackPolyfill=1}return e}},46:function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function o(t,e,r){return e&&i(t.prototype,e),r&&i(t,r),t}
vendor: 4,425 bytes, line 39535
39535Object.defineProperty(e,"__esModule",{value:!0}),e.Observable=void 0;var a=function(){return"function"==typeof Symbol},u=function(t){return a()&&Boolean(Symbol[t])},s=function(t){return u(t)?Symbol[t]:"@@"+t};a()&&!u("observable")&&(Symbol.observable=Symbol("observable"));var c=s("iterator"),l=s("observable"),d=s("species");function f(t,e){var r=t[e];if(null!=r){if("function"!=typeof r)throw new TypeError(r+" is not a function");return r}}function p(t){var e=t.constructor;return void 0!==e&&null===(e=e[d])&&(e=void 0),void 0!==e?e:I}function h(t){return t instanceof I}function y(t){y.log?y.log(t):setTimeout((function(){throw t}))}function v(t){Promise.resolve().then((function(){try{t()}catch(t){y(t)}}))}function m(t){var e=t._cleanup;if(void 0!==e&&(t._cleanup=void 0,e))try{if("function"==typeof e)e();else{var r=f(e,"unsubscribe");r&&r.call(e)}}catch(t){y(t)}}function g(t){t._observer=void 0,t._queue=void 0,t._state="closed"}function b(t,e,r){t._state="running";var n=t._observer;try{var i=f(n,e);switch(e){case"next":i&&i.call(n,r);break;case"error":if(g(t),!i)throw r;i.call(n,r);break;case"complete":g(t),i&&i.call(n)}}catch(t){y(t)}"closed"===t._state?m(t):"running"===t._state&&(t._state="ready")}function w(t,e,r){if("closed"!==t._state){if("buffering"!==t._state)return"ready"!==t._state?(t._state="buffering",t._queue=[{type:e,value:r}],void v((function(){return function(t){var e=t._queue;if(e){t._queue=void 0,t._state="ready";for(var r=0;r<e.length&&(b(t,e[r].type,e[r].value),"closed"!==t._state);++r);}}(t)}))):void b(t,e,r);t._queue.push({type:e,value:r})}}var _=function(){function t(e,r){n(this,t),this._cleanup=void 0,this._observer=e,this._queue=void 0,this._state="initializing";var i=new x(this);try{this._cleanup=r.call(void 0,i)}catch(t){i.error(t)}"initializing"===this._state&&(this._state="ready")}return o(t,[{key:"unsubscribe",value:function(){"closed"!==this._state&&(g(this),m(this))}},{key:"closed",get:function(){return"closed"===this._state}}]),t}(),x=function(){function t(e){n(this,t),this._subscription=e}return o(t,[{key:"next",value:function(t){w(this._subscription,"next",t)}},{key:"error",value:function(t){w(this._subscription,"error",t)}},{key:"complete",value:function(){w(this._subscription,"complete")}},{key:"closed",get:function(){return"closed"===this._subscription._state}}]),t}(),I=function(){function t(e){if(n(this,t),!(this instanceof t))throw new TypeError("Observable cannot be called as a function");if("function"!=typeof e)throw new TypeError("Observable initializer must be a function");this._subscriber=e}return o(t,[{key:"subscribe",value:function(t){return"object"==typeof t&&null!==t||(t={next:t,error:arguments[1],complete:arguments[2]}),new _(t,this._subscriber)}},{key:"forEach",value:function(t){var e=this;return new Promise((function(r,n){if("function"==typeof t)var i=e.subscribe({next:function(e){try{t(e,o)}catch(t){n(t),i.unsubscribe()}},error:n,complete:r});else n(new TypeError(t+" is not a function"));function o(){i.unsubscribe(),r()}}))}},{key:"map",value:function(t){var e=this;if("function"!=typeof t)throw new TypeError(t+" is not a function");return new(p(this))((function(r){return e.subscribe({next:function(e){try{e=t(e)}catch(t){return r.error(t)}r.next(e)},error:function(t){r.error(t)},complete:function(){r.complete()}})}))}},{key:"filter",value:function(t){var e=this;if("function"!=typeof t)throw new TypeError(t+" is not a function");return new(p(this))((function(r){return e.subscribe({next:function(e){try{if(!t(e))return}catch(t){return r.error(t)}r.next(e)},error:function(t){r.error(t)},complete:function(){r.complete()}})}))}},{key:"reduce",value:function(t){var e=this;if("function"!=typeof t)throw new TypeError(t+" is not a function");var r=p(this),n=arguments.length>1,i=!1,o=arguments[1],a=o;return new r((function(r){return e.subscribe({next:function(e){var o=!i;if(i=!0,!o||n)try{a=t(a,e)}catch(t){return r.error(t)}else a=e},error:function(t){r.error(t)},complete:function(){if(!i&&!n)return r.error(new TypeError("Cannot reduce an empty sequence"));r.next(a),r.complete()}})}))}},{key:"concat",value:function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var i=p(this);return new i((function(e){var n,o=0;return function t(a){n=a.subscribe({next:function(t){e.next(t)},error:function(t){e.error(t)},complete:function(){o===r.length?(n=void 0,e.complete()):t(i.from(r[o++]
39535))}})}(t),function(){n&&(n.unsubscribe(),n=void 0)}}))}},{key:"flatMap",value:function(t){var e=this;if("function"!=typeof t)throw new TypeError(t+" is not a function");var r=p(this);return new r((function(n){var i=[],o=e.subscribe({next:function(e){if(t)try{e=t(e)}catch(t){return n.error(t)}var o=r.from(e).subscribe({next:function(t){n.next(t)},error:function(t){n.error(t)},complete:function(){var t=i.indexOf(o);t>=0&&i.splice(t,1),a()}});i.push(o)},error:function(t){n.error(t)},complete:function(){a()}});function a(){o.closed&&0===i.length&&n.complete()}return function(){i.forEach((function(t){return t.unsubscribe()})),o.unsubscribe()}}))}},{key:l,value:function(){return this}}],[{key:"from",value:function(e){var r="function"==typeof this?this:t;if(null==e)throw new TypeError(e+" is not an object");var n=f(e,l);if(n){var i=n.call(e);if(Object(i)!==i)throw new TypeError(i+" is not an object");return h(i)&&i.constructor===r?i:new r((function(t){return i.subscribe(t)}))}if(u("iterator")&&(n=f(e,c)))return new r((function(t){v((function(){if(!t.closed){var r=!0,i=!1,o=void 0;try{for(var a,u=n.call(e)[Symbol.iterator]();!(r=(a=u.next()).done);r=!0){var s=a.value;if(t.next(s),t.closed)return}}catch(t){i=!0,o=t}finally{try{r||null==u.return||u.return()}finally{if(i)throw o}}t.complete()}}))}));if(Array.isArray(e))return new r((function(t){v((function(){if(!t.closed){for(var r=0;r<e.length;++r)if(t.next(e[r]),t.closed)return;t.complete()}}))}));throw new TypeError(e+" is not observable")}},{key:"of",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var i="function"==typeof this?this:t;return new i((function(t){v((function(){if(!t.closed){for(var e=0;e<r.length;++e)if(t.next(r[e]),t.closed)return;t.complete()}}))}))}},{key:d,get:function(){return this}}]),t}();e.Observable=I,a()&&Object.defineProperty(I,Symbol("extensions"),{value:{symbol:l,hostReportError:y},configurable:!0})},47:function(t,e,r){"use strict";r.r(e),r.d(e,"$$iterator",(function(){return o})),r.d(e,"isIterable",(function(){return a})),r.d(e,"isArrayLike",(function(){return u})),r.d(e,"isCollection",(function(){return s})),r.d(e,"getIterator",(function(){return c})),r.d(e,"getIteratorMethod",(function(){return l})),r.d(e,"createIterator",(function(){return d})),r.d(e,"forEach",(function(){return p})),r.d(e,"$$asyncIterator",(function(){return y})),r.d(e,"isAsyncIterable",(function(){return v})),r.d(e,"getAsyncIterator",(function(){return m})),r.d(e,"getAsyncIteratorMethod",(function(){return g})),r.d(e,"createAsyncIterator",(function(){return b})),r.d(e,"forAwaitEach",(function(){return x}));var n="function"==typeof Symbol?Symbol:void 0,i=n&&n.iterator,o=i||"@@iterator";function a(t){return!!l(t)}function u(t){var e=null!=t&&t.length;return"number"==typeof e&&e>=0&&e%1==0}function s(t){return Object(t)===t&&(u(t)||a(t))}function c(t){var e=l(t);if(e)return e.call(t)}function l(t){if(null!=t){var e=i&&t[i]||t["@@iterator"];if("function"==typeof e)return e}}function d(t){if(null!=t){var e=c(t);if(e)return e;if(u(t))return new f(t)}}function f(t){this._o=t,this._i=0}function p(t,e,r){if(null!=t){if("function"==typeof t.forEach)return t.forEach(e,r);var n=0,i=c(t);if(i){for(var o;!(o=i.next()).done;)if(e.call(r,o.value,n++,t),n>9999999)throw new TypeError("Near-infinite iteration.")}else if(u(t))for(;n<t.length;n++)t.hasOwnProperty(n)&&e.call(r,t[n],n,t)}}f.prototype[o]=function(){return this},f.prototype.next=function(){return void 0===this._o||this._i>=this._o.length?(this._o=void 0,{value:void 0,done:!0}):{value:this._o[this._i++],done:!1}};var h=n&&n.asyncIterator,y=h||"@@asyncIterator";function v(t){return!!g(t)}function m(t){var e=g(t);if(e)return e.call(t)}function g(t){if(null!=t){var e=h&&t[h]||t["@@asyncIterator"];if("function"==typeof e)return e}}function b(t){if(null!=t){var e=m(t);if(e)return e;var r=d(t);if(r)return new w(r)}}function w(t){this._i=t}function _(t,e,r){var n;return new Promise((function(i){i((n=t[e](r)).value)})).then((function(t){return{value:t,done:n.done}}))}function x(t,e,r){var n=b(t);if(n){var i=0;return new Promise((function(o,a){!function u(){return n.next().then((function(n){return n.done?o():Promise.resolve(e.call(r,n.value,i++,t)).then(u).catch(a),null})).catch(a),null}()}))}}w.prototype[y]=function(){return this},w.prototype.next=function(t){return _(this._i,"next",t)},w.prototype.return=function(t){return this._i.return?_(this._i,"return",t):Promise.resolve({value:t,done:!0})},w.prototype.throw=function(t){return this._i.throw?_(this._i,"throw",t):Promise.reject(t)}},51:function(t,e,r){"use strict";
39535Object.defineProperty(e,"__esModule",{value:!0});var n=r(97),i=a(r(54)),o=a(r(55));function a(t){return t&&t.__esModule?t:{default:t}}e.default=(0,n.makeExecutableSchema)({typeDefs:o.default,resolvers:i.default})},52:function(t,e,r){var n,i,o=r(24),a=r(25),u=0,s=0;t.exports=function(t,e,r){var c=e&&r||0,l=e||[],d=(t=t||{}).node||n,f=void 0!==t.clockseq?t.clockseq:i;if(null==d||null==f){var p=o();null==d&&(d=n=[1|p[0],p[1],p[2],p[3],p[4],p[5]]),null==f&&(f=i=16383&(p[6]<<8|p[7]))}var h=void 0!==t.msecs?t.msecs:(new Date).getTime(),y=void 0!==t.nsecs?t.nsecs:s+1,v=h-u+(y-s)/1e4;if(v<0&&void 0===t.clockseq&&(f=f+1&16383),(v<0||h>u)&&void 0===t.nsecs&&(y=0),y>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");u=h,s=y,i=f;var m=(1e4*(268435455&(h+=122192928e5))+y)%4294967296;l[c++]=m>>>24&255,l[c++]=m>>>16&255,l[c++]=m>>>8&255,l[c++]=255&m;var g=h/4294967296*1e4&268435455;l[c++]=g>>>8&255,l[c++]=255&g,l[c++]=g>>>24&15|16,l[c++]=g>>>16&255,l[c++]=f>>>8|128,l[c++]=255&f;for(var b=0;b<6;++b)l[c+b]=d[b];return e||a(l)}},53:function(t,e,r){var n=r(24),i=r(25);t.exports=function(t,e,r){var o=e&&r||0;"string"==typeof t&&(e="binary"===t?new Array(16):null,t=null);var a=(t=t||{}).random||(t.rng||n)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,e)for(var u=0;u<16;++u)e[o+u]=a[u];return e||i(a)}},54:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,i,o,a,u,s,c,l=v(r(14)),d=v(r(15)),f=v(r(10)),p=v(r(36)),h=r(100),y=v(h);function v(t){return t&&t.__esModule?t:{default:t}}e.default={JSON:y.default,JSONObject:h.GraphQLJSONObject,Query:{products:(c=(0,d.default)(l.default.mark((function t(e,r){var n,i,o=r.url;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(o+"&from-xhr",{headers:p.default.products});case 2:return n=t.sent,t.next=5,n.json();case 5:return i=t.sent,f.default.$emit("paginate",{detail:{total:i.pagination.total_items,minShown:i.pagination.items_shown_from,maxShown:i.pagination.items_shown_to,pageNumber:i.pagination.pages_count,pages:i.pagination.pages,display:i.pagination.should_be_displayed,currentPage:i.pagination.current_page}}),window.history.pushState(i,document.title,i.current_url),window.scrollTo(0,0),t.abrupt("return",{datas:{products:i.products,pagination:i.pagination,current_url:i.current_url,sort_orders:i.sort_orders,sort_selected:i.sort_selected}});case 10:case"end":return t.stop()}}),t,void 0)}))),function(t,e){return c.apply(this,arguments)}),lists:(s=(0,d.default)(l.default.mark((function t(e,r){var n,i,o=r.url;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(o);case 2:return n=t.sent,t.next=5,n.json();case 5:return i=t.sent,t.abrupt("return",i.wishlists);case 7:case"end":return t.stop()}}),t,void 0)}))),function(t,e){return s.apply(this,arguments)})},Mutation:{createList:(u=(0,d.default)(l.default.mark((function t(e,r){var n,i,o,a=r.name,u=r.url;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=encodeURIComponent(a),t.next=3,fetch(u+"¶ms[name]="+n,{method:"POST"});case 3:return i=t.sent,t.next=6,i.json();case 6:return o=t.sent,t.abrupt("return",o);case 8:case"end":return t.stop()}}),t,void 0)}))),function(t,e){return u.apply(this,arguments)}),renameList:(a=(0,d.default)(l.default.mark((function t(e,r){var n,i,o=r.name,a=r.listId,u=r.url;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(u+"¶ms[name]="+o+"¶ms[idWishList]="+a,{method:"POST"});case 2:return n=t.sent,t.next=5,n.json();case 5:return i=t.sent,t.abrupt("return",i);case 7:case"end":return t.stop()}}),t,void 0)}))),function(t,e){return a.apply(this,arguments)}),addToList:(o=(0,d.default)(l.default.mark((function t(e,r){var n,i,o=r.listId,a=r.url,u=r.productId,s=r.quantity,c=r.productAttributeId;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(a+"¶ms[id_product]="+u+"¶ms[idWishList]="+o+"¶ms[quantity]="+s+"¶ms[id_product_attribute]="+c,{method:"POST"});case 2:return n=t.sent,t.next=5,n.json();case 5:return(i=t.sent).success&&productsAlreadyTagged.push({id_product:u.toString(),id_wishlist:o.toString(),quantity:s.toString(),id_product_attribute:c.toString()}),t.abrupt("return",i);case 8:case"end":return t.stop()}}),t,void 0)}))),function(t,e){return o.apply(this,arguments)}),removeFromList:(i=(0,d.default)(l.default.mark((function t(e,r){var n,i,o=r.listId,a=r.productId,u=r.url,s=r.productAttributeId;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(u+"¶ms[id_product]="
39535+a+"¶ms[idWishList]="+o+"¶ms[id_product_attribute]="+s,{method:"POST"});case 2:return n=t.sent,t.next=5,n.json();case 5:return(i=t.sent).success&&(productsAlreadyTagged=productsAlreadyTagged.filter((function(t){return t.id_product!==a.toString()||t.id_product_attribute!==s.toString()&&t.id_product===a.toString()||t.id_wishlist!==o.toString()}))),t.abrupt("return",i);case 8:case"end":return t.stop()}}),t,void 0)}))),function(t,e){return i.apply(this,arguments)}),deleteList:(n=(0,d.default)(l.default.mark((function t(e,r){var n,i,o=r.listId,a=r.url;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(a+"¶ms[idWishList]="+o,{method:"POST"});case 2:return n=t.sent,t.next=5,n.json();case 5:return i=t.sent,t.abrupt("return",i);case 7:case"end":return t.stop()}}),t,void 0)}))),function(t,e){return n.apply(this,arguments)})}}},55:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}), 39536/** 39537 * 2007-2020 PrestaShop and Contributors 39538 * 39539 * NOTICE OF LICENSE 39540 * 39541 * This source file is subject to the Academic Free License 3.0 (AFL-3.0) 39542 * that is bundled with this package in the file LICENSE.txt. 39543 * It is also available through the world-wide-web at this URL: 39544 * https://opensource.org/licenses/AFL-3.0 39545 * If you did not receive a copy of the license and are unable to 39546 * obtain it through the world-wide-web, please send an email 39547 * to [email protected] so we can send you a copy immediately. 39548 * 39549 * @author PrestaShop SA <[email protected]> 39550 * @copyright 2007-2020 PrestaShop SA and Contributors 39551 * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) 39552 * International Registered Trademark & Property of PrestaShop SA 39553 */ 39554e.default="\n scalar JSON\n scalar JSONObject\n\n type List {\n id_wishlist: Int\n name: String\n listUrl: String\n shareUrl: String\n default: Int\n nbProducts: Int\n }\n\n type ShareUrl {\n url: String\n }\n\n type CreateResponse {\n datas: List\n success: Boolean!\n message: String!\n }\n\n type ProductListResponse {\n datas: JSONObject\n }\n\n type Response {\n success: Boolean!\n message: String!\n }\n\n type Query {\n products(listId: Int!, url: String!): ProductListResponse\n lists(url: String!): [List]\n }\n\n type Mutation {\n createList(name: String!, url: String!): CreateResponse\n shareList(listId: String!, userId: Int!): ShareUrl\n renameList(name: String!, url: String!, listId: Int!): Response\n addToList(listId: Int!, productId: Int!, quantity: Int!, productAttributeId: Int!, url: String!): Response\n removeFromList(listId: Int!, productId: Int!, productAttributeId: Int!, url: String!): Response\n deleteList(listId: Int!, url: String!): Response\n }\n"},56:function(t,e,r){t.exports={default:r(102),__esModule:!0}},57:function(t,e,r){t.exports={default:r(103),__esModule:!0}},62:function(t,e,r){"use strict";r.d(e,"a",(function(){return n})),r.d(e,"b",(function(){return i}));var n=function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"wishlist-toast",class:[{isActive:this.active},this.type]},[e("p",{staticClass:"wishlist-toast-text"},[this._v("\n "+this._s(this.text)+"\n ")])])},i=[];n._withStripped=!0},69:function(t,e,r){"use strict";r.r(e);var n=r(70),i=r.n(n);for(var o in n)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(o);e.default=i.a},70:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,i=c(r(14)),o=c(r(15)),a=c(r(101)),u=c(r(30)),s=c(r(10));function c(t){return t&&t.__esModule?t:{default:t}}e.default={name:"Button",props:{url:{type:String,required:!0,default:"#"},productId:{type:Number,required:!0,default:null},productAttributeId:{type:Number,required:!0,default:null},checked:{type:Boolean,required:!1,default:!1},isProduct:{type:Boolean,required:!1,default:!1}},data:function(){return{isChecked:"true"===this.checked,idList:this.listId}},methods:{toggleCheck:function(){this.isChecked=!this.isChecked},addToWishlist:(n=(0,o.default)(i.default.mark((function t(e){var r,n,o,c;return i.default.wrap((function(t){for(;;
39554)switch(t.prev=t.next){case 0:if(e.preventDefault(),r=document.querySelector(".product-quantity input#quantity_wanted"),u.default.customer.is_logged){t.next=5;break}return s.default.$emit("showLogin"),t.abrupt("return");case 5:if(this.isChecked){t.next=9;break}s.default.$emit("showAddToWishList",{detail:{productId:this.productId,productAttributeId:parseInt(this.productAttributeId,10),forceOpen:!0,quantity:r?parseInt(r.value,10):0}}),t.next=16;break;case 9:return t.next=11,this.$apollo.mutate({mutation:a.default,variables:{productId:this.productId,url:this.url,productAttributeId:this.productAttributeId,listId:this.idList?this.idList:this.listId}});case 11:n=t.sent,o=n.data,c=o.removeFromList,s.default.$emit("showToast",{detail:{type:c.success?"success":"error",message:c.message}}),c.error||this.toggleCheck();case 16:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},mounted:function(){var t=this;s.default.$on("addedToWishlist",(function(e){e.detail.productId===t.productId&&parseInt(e.detail.productAttributeId,10)===t.productAttributeId&&(t.isChecked=!0,t.idList=e.detail.listId)}));var e=productsAlreadyTagged.filter((function(e){return parseInt(e.id_product,10)===t.productId&&parseInt(e.id_product_attribute,10)===t.productAttributeId}));e.length>0&&(this.isChecked=!0,this.idList=parseInt(e[0].id_wishlist,10)),this.isProduct&&(u.default.on("updateProduct",(function(e){"updatedProductQuantity"===e.eventType&&(t.isChecked=!1)})),u.default.on("updatedProduct",(function(e){var r=document.querySelector(".product-quantity input#quantity_wanted");t.productAttributeId=parseInt(e.id_product_attribute,10);var n=productsAlreadyTagged.filter((function(e){return parseInt(e.id_product,10)===t.productId&&e.quantity.toString()===r.value&&parseInt(e.id_product_attribute,10)===t.productAttributeId}));n.length>0?(t.isChecked=!0,t.idList=parseInt(n[0].id_wishlist,10)):t.isChecked=!1})))}}},73:function(t,e,r){"use strict";r.r(e);var n=r(74),i=r.n(n);for(var o in n)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(o);e.default=i.a},74:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=o(r(10)),i=o(r(216));function o(t){return t&&t.__esModule?t:{default:t}}e.default={name:"AddToWishlist",components:{ChooseList:i.default},props:{url:{type:String,required:!0,default:"#"}},data:function(){return{value:"",isHidden:!0,productAttributeId:0,productId:0,quantity:0}},methods:{toggleModal:function(t){this.isHidden=!0!==t&&!this.isHidden},openNewWishlistModal:function(){this.toggleModal(),n.default.$emit("showCreateWishlist")}},mounted:function(){var t=this;n.default.$on("showAddToWishList",(function(e){t.toggleModal(e.detail.forceOpen?e.detail.forceOpen:null),e.detail.productId&&(t.productId=e.detail.productId),"number"==typeof e.detail.productAttributeId&&(t.productAttributeId=e.detail.productAttributeId),e.detail.quantity&&(t.quantity=e.detail.quantity)}))}}},75:function(t,e,r){"use strict";r.r(e);var n=r(76),i=r.n(n);for(var o in n)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(o);e.default=i.a},76:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,i=l(r(14)),o=l(r(15)),a=l(r(138)),u=l(r(217)),s=l(r(10)),c=r(104);function l(t){return t&&t.__esModule?t:{default:t}}e.default={name:"ChooseList",components:{ContentLoader:c.ContentLoader},apollo:{lists:{query:a.default,variables:function(){return{url:this.url}}}},props:{productId:{type:Number,required:!0,default:0},quantity:{type:Number,required:!0,default:0},productAttributeId:{type:Number,required:!0,default:0},url:{type:String,required:!0,default:""},emptyText:{type:String,required:!0,default:"No list found"},addUrl:{type:String,required:!0,default:""}},methods:{select:(n=(0,o.default)(i.default.mark((function t(e){var r,n,o;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.$apollo.mutate({mutation:u.default,variables:{listId:e,url:this.addUrl,productId:this.productId,quantity:this.quantity,productAttributeId:this.productAttributeId}});case 2:r=t.sent,n=r.data,o=n.addToList,this.$emit("hide"),s.default.$emit("showToast",{detail:{type:o.success?"success":"error",message:o.message}}),s.default.$emit("addedToWishlist",{detail:{productId:this.productId,listId:e,productAttributeId:this.productAttributeId}});case 8:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},mounted:function(){var t=this;s.default.$on("refetchList",(function(){t.$apollo.queries.lists.refetch()}))}}},83:function(t,e,r){var n=r(136);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,r(17).default)("79d679a6",n,!1,{})},84:function(t,e,r){var n=r(144);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,r(17).default)("0174a4e3",n,!1,{})},85:function(t,e,r){"use strict";(function(t,n){var i,o=r(26);i="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==t?t:n;var a=Object(o.a)(i);e.a=a}).call(this,r(12),r(45)(t))},86:function(t,e,r){"use strict";
39554t.exports=function(t,e){e||(e={}),"function"==typeof e&&(e={cmp:e});var r,n="boolean"==typeof e.cycles&&e.cycles,i=e.cmp&&(r=e.cmp,function(t){return function(e,n){var i={key:e,value:t[e]},o={key:n,value:t[n]};return r(i,o)}}),o=[];return function t(e){if(e&&e.toJSON&&"function"==typeof e.toJSON&&(e=e.toJSON()),void 0!==e){if("number"==typeof e)return isFinite(e)?""+e:"null";if("object"!=typeof e)return JSON.stringify(e);var r,a;if(Array.isArray(e)){for(a="[",r=0;r<e.length;r++)r&&(a+=","),a+=t(e[r])||"null";return a+"]"}if(null===e)return"null";if(-1!==o.indexOf(e)){if(n)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var u=o.push(e)-1,s=Object.keys(e).sort(i&&i(e));for(a="",r=0;r<s.length;r++){var c=s[r],l=t(e[c]);l&&(a&&(a+=","),a+=JSON.stringify(c)+":"+l)}return o.splice(u,1),"{"+a+"}"}}(t)}},87:function(t,e,r){"use strict";r.d(e,"a",(function(){return s}));var n=r(1);function i(t){return{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"GeneratedClientQuery"},selectionSet:o(t)}]}}function o(t){if("number"==typeof t||"boolean"==typeof t||"string"==typeof t||null==t)return null;if(Array.isArray(t))return o(t[0]);var e=[];return Object.keys(t).forEach((function(r){var n={kind:"Field",name:{kind:"Name",value:r},selectionSet:o(t[r])||void 0};e.push(n)})),{kind:"SelectionSet",selections:e}}var a,u={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:null,variableDefinitions:null,directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",alias:null,name:{kind:"Name",value:"__typename"},arguments:[],directives:[],selectionSet:null}]}}]},s=function(){function t(){}return t.prototype.transformDocument=function(t){return t},t.prototype.transformForLink=function(t){return t},t.prototype.readQuery=function(t,e){return void 0===e&&(e=!1),this.read({query:t.query,variables:t.variables,optimistic:e})},t.prototype.readFragment=function(t,e){return void 0===e&&(e=!1),this.read({query:Object(n.k)(t.fragment,t.fragmentName),variables:t.variables,rootId:t.id,optimistic:e})},t.prototype.writeQuery=function(t){this.write({dataId:"ROOT_QUERY",result:t.data,query:t.query,variables:t.variables})},t.prototype.writeFragment=function(t){this.write({dataId:t.id,result:t.data,variables:t.variables,query:Object(n.k)(t.fragment,t.fragmentName)})},t.prototype.writeData=function(t){var e,r,n=t.id,a=t.data;if(void 0!==n){var s=null;try{s=this.read({rootId:n,optimistic:!1,query:u})}catch(t){}var c=s&&s.__typename||"__ClientData",l=Object.assign({__typename:c},a);this.writeFragment({id:n,fragment:(e=l,r=c,{kind:"Document",definitions:[{kind:"FragmentDefinition",typeCondition:{kind:"NamedType",name:{kind:"Name",value:r||"__FakeType"}},name:{kind:"Name",value:"GeneratedClientQuery"},selectionSet:o(e)}]}),data:l})}else this.writeQuery({query:i(a),data:a})},t}();a||(a={})},90:function(t,e,r){(function(t){var n=void 0!==t&&t||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function o(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new o(i.call(setTimeout,n,arguments),clearTimeout)},e.setInterval=function(){return new o(i.call(setInterval,n,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(n,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},r(43),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,r(12))},98:function(t,e,r){"use strict";function n(t,e,r,n,i){var o={};return function(){var a=(((new Error).stack||"").match(/(?:\s+at\s.+){2}\s+at\s(.+)/)||[void 0,""])[1];if(!((a=/\)$/.test(a)?a.match(/[^(]+(?=\)$)/)[0]:a.trim())in o)){var u;switch(o[a]=!0,t){case"class":u="Class";break;case"property":u="Property";break;case"method":u="Method";break;case"function":u="Function"}u+=" `"+e+"` has been deprecated",n&&(u+=" since version "+n),r&&(u+=", use `"+r+"` instead"),u+=".",a&&(u+="\
vendor: 21,096 bytes, lines 39554-39555
39554n at "+a),i&&(u+="\nCheck out "+i+" for more information."),console.warn(u)}}}function i(t,r,i,o,a,u){var s=(e.options.getWarner||n)(t,r,o,a,u),c={enumerable:(i=i||{writable:!0,enumerable:!1,configurable:!0}).enumerable,configurable:i.configurable};if(i.get||i.set)i.get&&(c.get=function(){return s(),i.get.call(this)}),i.set&&(c.set=function(t){return s(),i.set.call(this,t)});else{var l=i.value;c.get=function(){return s(),l},i.writable&&(c.set=function(t){s(),l=t})}return c}function o(t,r,i,o,a){for(var u=r.name,s=(e.options.getWarner||n)(t,u,i,o,a),c=function(){return s(),r.apply(this,arguments)},l=0,d=Object.getOwnPropertyNames(r);l<d.length;l++){var f=d[l],p=Object.getOwnPropertyDescriptor(r,f);p.writable?c[f]=r[f]:p.configurable&&Object.defineProperty(c,f,p)}return c}function a(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];var r=t[t.length-1];r="function"==typeof r?t.pop():void 0;var n,a,u,s=t[0];return"string"==typeof s?(n=s,a=t[1],u=t[2]):s&&(n=s.alternative,a=s.version,u=s.url),r?o("function",r,n,a,u):function(t,e,r){if("string"==typeof e)return i(r&&"function"==typeof r.value?"method":"property",e,r,n,a,u);if("function"==typeof t){for(var s=o("class",t,n,a,u),c=t.name,l=0,d=Object.getOwnPropertyNames(s);l<d.length;l++){var f=d[l],p=Object.getOwnPropertyDescriptor(s,f);(p=i("class",c,p,n,a,u)).writable?s[f]=t[f]:p.configurable&&Object.defineProperty(s,f,p)}return s}}}e.options={getWarner:void 0},e.deprecated=a,Object.defineProperty(e,"__esModule",{value:!0}),e.default=a},99:function(t,e,r){var n=r(52),i=r(53),o=i;o.v1=n,o.v4=i,t.exports=o}});/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */ 39555(function(r,G,f,v){var J=f("html"),n=f(r),p=f(G),b=f.fancybox=function(){b.open.apply(this,arguments)},I=navigator.userAgent.match(/msie/i),B=null,s=G.createTouch!==v,t=function(a){return a&&a.hasOwnProperty&&a instanceof f},q=function(a){return a&&"string"===f.type(a)},E=function(a){return q(a)&&0<a.indexOf("%")},l=function(a,d){var e=parseInt(a,10)||0;d&&E(a)&&(e*=b.getViewport()[d]/100);return Math.ceil(e)},w=function(a,b){return l(a,b)+"px"};f.extend(b,{version:"2.1.5",defaults:{padding:15,margin:20,width:800,height:600,minWidth:100,minHeight:100,maxWidth:9999,maxHeight:9999,pixelRatio:1,autoSize:!0,autoHeight:!1,autoWidth:!1,autoResize:!0,autoCenter:!s,fitToView:!0,aspectRatio:!1,topRatio:0.5,leftRatio:0.5,scrolling:"auto",wrapCSS:"",arrows:!0,closeBtn:!0,closeClick:!1,nextClick:!1,mouseWheel:!0,autoPlay:!1,playSpeed:3E3,preload:3,modal:!1,loop:!0,ajax:{dataType:"html",headers:{"X-fancyBox":!0}},iframe:{scrolling:"auto",preload:!0},swf:{wmode:"transparent",allowfullscreen:"true",allowscriptaccess:"always"},keys:{next:{13:"left",34:"up",39:"left",40:"up"},prev:{8:"right",33:"down",37:"right",38:"down"},close:[27],play:[32],toggle:[70]},direction:{next:"left",prev:"right"},scrollOutside:!0,index:0,type:null,href:null,content:null,title:null,tpl:{wrap:'<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',image:'<img class="fancybox-image" src="{href}" alt="" />',iframe:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen'+(I?' allowtransparency="true"':"")+"></iframe>",error:'<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',closeBtn:'<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',next:'<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',prev:'<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'},openEffect:"fade",openSpeed:250,openEasing:"swing",openOpacity:!0,openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",nextEffect:"elastic",nextSpeed:250,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:250,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:!0,title:!0},onCancel:f.noop,beforeLoad:f.noop,afterLoad:f.noop,beforeShow:f.noop,afterShow:f.noop,beforeChange:f.noop,beforeClose:f.noop,afterClose:f.noop},group:{},opts:{},previous:null,coming:null,current:null,isActive:!1,isOpen:!1,isOpened:!1,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(a,d){if(a&&(f.isPlainObject(d)||(d={}),!1!==b.close(!0)))return f.isArray(a)||(a=t(a)?f(a).get():[a]),f.each(a,function(e,c){var k={},g,h,j,m,l;"object"===f.type(c)&&(c.nodeType&&(c=f(c)),t(c)?(k={href:c.data("fancybox-href")||c.attr("href"),title:c.data("fancybox-title")||c.attr("title"),isDom:!0,element:c},f.metadata&&f.extend(!0,k,c.metadata())):k=c);g=d.href||k.href||(q(c)?c:null);h=d.title!==v?d.title:k.title||"";m=(j=d.content||k.content)?"html":d.type||k.type;!m&&k.isDom&&(m=c.data("fancybox-type"),m||(m=(m=c.prop("class").match(/fancybox\.(\w+)/))?m[1]:null));q(g)&&(m||(b.isImage(g)?m="image":b.isSWF(g)?m="swf":"#"===g.charAt(0)?m="inline":q(c)&&(m="html",j=c)),"ajax"===m&&(l=g.split(/\s+/,2),g=l.shift(),l=l.shift()));j||("inline"===m?g?j=f(q(g)?g.replace(/.*(?=#[^\s]+$)/,""):g):k.isDom&&(j=c):"html"===m?j=g:!m&&(!g&&k.isDom)&&(m="inline",j=c));f.extend(k,{href:g,type:m,content:j,title:h,selector:l});a[e]=k}),b.opts=f.extend(!0,{},b.defaults,d),d.keys!==v&&(b.opts.keys=d.keys?f.extend({},b.defaults.keys,d.keys):!1),b.group=a,b._start(b.opts.index)},cancel:function(){var a=b.coming;a&&!1!==b.trigger("onCancel")&&(b.hideLoading(),b.ajaxLoad&&b.ajaxLoad.abort(),b.ajaxLoad=null,b.imgPreload&&(b.imgPreload.onload=b.imgPreload.onerror=null),a.wrap&&a.wrap.stop(!0,!0).trigger("onReset").remove(),b.coming=null,b.current||b._afterZoomOut(a))},close:function(a){b.cancel();!1!==b.trigger("beforeClose")&&(b.unbindEvents(),b.isActive&&(!b.isOpen||!0===a?(f(".fancybox-wrap").stop(!0).trigger("onReset").remove(),b._afterZoomOut()):(b.isOpen=b.isOpened=!1,b.isClosing=!0,f(".fancybox-item, .fancybox-nav").remove(),b.wrap.stop(!0,!0).removeClass("fancybox-opened"),b.transitions[b.current.closeMethod]())))},play:function(a){var d=function(){clearTimeout(b.player.timer)},e=function(){d();b.current&&b.player.isActive&&(b.player.timer=setTimeout(b.next,b.current.playSpeed))},c=function(){d();p.unbind(".player");b.player.isActive=!1;b.trigger("onPlayEnd")};if(!0===a||!b.player.isActive&&!1!==a){if(b.current&&(b.current.loop||b.current.index<b.group.length-1))b.player.isActive=!0,p.bind({"onCancel.player beforeClose.player":c,"onUpdate.player":e,"beforeLoad.player":d}),e(),b.trigger("onPlayStart")}else c()},next:function(a){var d=b.current;d&&(q(a)||(a=d.direction.next),b.jumpto(d.index+1,a,"next"))},prev:function(a){var d=b.current;d&&(q(a)||(a=d.direction.prev),b.jumpto(d.index-1,a,"prev"))},jumpto:function(a,d,e){var c=b.current;c&&(a=l(a),b.direction=d||c.direction[a>=c.index?"next":"prev"],b.router=e||"jumpto",c.loop&&(0>a&&(a=c.group.length+a%c.group.length),a%=c.group.length),c.group[a]!==v&&(b.cancel(),b._start(a)))},reposition:function(a,d){var e=b.current,c=e?e.wrap:null,k;c&&(k=b._getPosition(d),a&&"scroll"===a.type?(delete k.position,c.stop(!0,!0).animate(k,200)):(c.css(k),e.pos=f.extend({},e.dim,k)))},update:function(a){var d=a&&a.type,e=!d||"orientationchange"===d;e&&(clearTimeout(B),B=null);b.isOpen&&!B&&(B=setTimeout(function(){var c=b.current;c&&!b.isClosing&&(b.wrap.removeClass("fancybox-tmp"),(e||"load"===d||"resize"===d&&c.autoResize)&&b._setDimension(),"scroll"===d&&c.canShrink||b.reposition(a),b.trigger("onUpdate"),B=null)},e&&!s?0:300))},toggle:function(a){b.isOpen&&(b.current.fitToView="boolean"===f.type(a)?a:!b.current.fitToView,s&&(b.wrap.removeAttr("style").addClass("fancybox-tmp"),b.trigger("onUpdate")),b.update())},hideLoading:function(){p.unbind(".loading");f("#fancybox-loading").remove()},showLoading:function(){var a,d;b.hideLoading();a=f('<div id="fancybox-loading"><div></div></div>').click(b.cancel).appendTo("body");p.bind("keydown.loading",function(a){if(27===(a.which||a.keyCode))a.preventDefault(),b.cancel()});b.defaults.fixed||(d=b.getViewport(),a.css({position:"absolute",top:0.5*d.h+d.y,left:0.5*d.w+d.x}))},getViewport:function(){var a=b.current&&b.current.locked||!1,d={x:n.scrollLeft(),y:n.scrollTop()};a?(d.w=a[0].clientWidth,d.h=a[0].clientHeight):(d.w=s&&r.innerWidth?r.innerWidth:n.width(),d.h=s&&r.innerHeight?r.innerHeight:n.height());return d},unbindEvents:function(){b.wrap&&t(b.wrap)&&b.wrap.unbind(".fb");p.unbind(".fb");n.unbind(".fb")},bindEvents:function(){var a=b.current,d;a&&(n.bind("orientationchange.fb"+(s?"":" resize.fb")+(a.autoCenter&&!a.locked?" scroll.fb":""),b.update),(d=a.keys)&&p.bind("keydown.fb",function(e){var c=e.which||e.keyCode,k=e.target||e.srcElement;if(27===c&&b.coming)return!1;!e.ctrlKey&&(!e.altKey&&!e.shiftKey&&!e.metaKey&&(!k||!k.type&&!f(k).is("[contenteditable]")))&&f.each(d,function(d,k){if(1<a.group.length&&k[c]!==v)return b[d](k[c]),e.preventDefault(),!1;if(-1<f.inArray(c,k))return b[d](),e.preventDefault(),!1})}),f.fn.mousewheel&&a.mouseWheel&&b.wrap.bind("mousewheel.fb",function(d,c,k,g){for(var h=f(d.target||null),j=!1;h.length&&!j&&!h.is(".fancybox-skin")&&!h.is(".fancybox-wrap");)j=h[0]&&!(h[0].style.overflow&&"hidden"===h[0].style.overflow)&&(h[0].clientWidth&&h[0].scrollWidth>h[0].clientWidth||h[0].clientHeight&&h[0].scrollHeight>h[0].clientHeight),h=f(h).parent();if(0!==c&&!j&&1<b.group.length&&!a.canShrink){if(0<g||0<k)b.prev(0<g?"down":"left");else if(0>g||0>k)b.next(0>g?"up":"right");d.preventDefault()}}))},trigger:function(a,d){var e,c=d||b.coming||b.current;if(c){f.isFunction(c[a])&&(e=c[a].apply(c,Array.prototype.slice.call(arguments,1)));if(!1===e)return!1;c.helpers&&f.each(c.helpers,function(d,e){if(e&&b.helpers[d]&&f.isFunction(b.helpers[d][a]))b.helpers[d][a](f.extend(!0,{},b.helpers[d].defaults,e),c)});p.trigger(a)}},isImage:function(a){return q(a)&&a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSWF:function(a){return q(a)&&a.match(/\.(swf)((\?|#).*)?$/i)},_start:function(a){var d={},e,c;a=l(a);e=b.group[a]||null;if(!e)return!1;d=f.extend(!0,{},b.opts,e);e=d.margin;c=d.padding;"number"===f.type(e)&&(d.margin=[e,e,e,e]);"number"===f.type(c)&&(d.padding=[c,c,c,c]);d.modal&&f.extend(!0,d,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1,mouseWheel:!1,keys:null,helpers:{overlay:{closeClick:!1}}});d.autoSize&&(d.autoWidth=d.autoHeight=!0);"auto"===d.width&&(d.autoWidth=!0);"auto"===d.height&&(d.autoHeight=!0);d.group=b.group;d.index=a;b.coming=d;if(!1===b.trigger("beforeLoad"))b.coming=null;else{c=d.type;e=d.href;if(!c)return b.coming=null,b.current&&b.router&&"jumpto"!==b.router?(b.current.index=a,b[b.router](b.direction)):!1;b.isActive=!0;if("image"===c||"swf"===c)d.autoHeight=d.autoWidth=!1,d.scrolling="visible";"image"===c&&(d.aspectRatio=!0);"iframe"===c&&s&&(d.scrolling="scroll");d.wrap=f(d.tpl.wrap).addClass("fancybox-"+(s?"mobile":"desktop")+" fancybox-type-"+c+" fancybox-tmp "+d.wrapCSS).appendTo(d.parent||"body");f.extend(d,{skin:f(".fancybox-skin",d.wrap),outer:f(".fancybox-outer",d.wrap),inner:f(".fancybox-inner",d.wrap)});f.each(["Top","Right","Bottom","Left"],function(a,b){d.skin.css("padding"+b,w(d.padding[a]))});b.trigger("onReady");if("inline"===c||"html"===c){if(!d.content||!d.content.length)return b._error("content")}else if(!e)return b._error("href");"image"===c?b._loadImage():"ajax"===c?b._loadAjax():"iframe"===c?b._loadIframe():b._afterLoad()}},_error:function(a){f.extend(b.coming,{type:"html",autoWidth:!0,autoHeight:!0,minWidth:0,minHeight:0,scrolling:"no",hasError:a,content:b.coming.tpl.error});b._afterLoad()},_loadImage:function(){var a=b.imgPreload=new Image;a.onload=function(){this.onload=this.onerror=null;b.coming.width=this.width/b.opts.pixelRatio;b.coming.height=this.height/b.opts.pixelRatio;b._afterLoad()};a.onerror=function(){this.onload=this.onerror=null;b._error("image")};a.src=b.coming.href;!0!==a.complete&&b.showLoading()},_loadAjax:function(){var a=b.coming;b.showLoading();b.ajaxLoad=f.ajax(f.extend({},a.ajax,{url:a.href,error:function(a,e){b.coming&&"abort"!==e?b._error("ajax",a):b.hideLoading()},success:function(d,e){"success"===e&&(a.content=d,b._afterLoad())}}))},_loadIframe:function(){var a=b.coming,d=f(a.tpl.iframe.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",s?"auto":a.iframe.scrolling).attr("src",a.href);f(a.wrap).bind("onReset",function(){try{f(this).find("iframe").hide().attr("src","//about:blank").end().empty()}catch(a){}});a.iframe.preload&&(b.showLoading(),d.one("load",function(){f(this).data("ready",1);s||f(this).bind("load.fb",b.update);f(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show();b._afterLoad()}));a.content=d.appendTo(a.inner);a.iframe.preload||b._afterLoad()},_preloadImages:function(){var a=b.group,d=b.current,e=a.length,c=d.preload?Math.min(d.preload,e-1):0,f,g;for(g=1;g<=c;g+=1)f=a[(d.index+g)%e],"image"===f.type&&f.href&&((new Image).src=f.href)},_afterLoad:function(){var a=b.coming,d=b.current,e,c,k,g,h;b.hideLoading();if(a&&!1!==b.isActive)if(!1===b.trigger("afterLoad",a,d))a.wrap.stop(!0).trigger("onReset").remove(),b.coming=null;else{d&&(b.trigger("beforeChange",d),d.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove());b.unbindEvents();e=a.content;c=a.type;k=a.scrolling;f.extend(b,{wrap:a.wrap,skin:a.skin,outer:a.outer,inner:a.inner,current:a,previous:d});g=a.href;switch(c){case "inline":case "ajax":case "html":a.selector?e=f("<div>").html(e).find(a.selector):t(e)&&(e.data("fancybox-placeholder")||e.data("fancybox-placeholder",f('<div class="fancybox-placeholder"></div>').insertAfter(e).hide()),e=e.show().detach(),a.wrap.bind("onReset",function(){f(this).find(e).length&&e.hide().replaceAll(e.data("fancybox-placeholder")).data("fancybox-placeholder",!1)}));break;case "image":e=a.tpl.image.replace("{href}",g);break;case "swf":e='<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="'+g+'"></param>',h="",f.each(a.swf,function(a,b){e+='<param name="'+a+'" value="'+b+'"></param>';h+=" "+a+'="'+b+'"'}),e+='<embed src="'+g+'" type="application/x-shockwave-flash" width="100%" height="100%"'+h+"></embed></object>"}(!t(e)||!e.parent().is(a.inner))&&a.inner.append(e);b.trigger("beforeShow");a.inner.css("overflow","yes"===k?"scroll":"no"===k?"hidden":k);b._setDimension();b.reposition();b.isOpen=!1;b.coming=null;b.bindEvents();if(b.isOpened){if(d.prevMethod)b.transitions[d.prevMethod]()}else f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove();b.transitions[b.isOpened?a.nextMethod:a.openMethod]();b._preloadImages()}},_setDimension:function(){var a=b.getViewport(),d=0,e=!1,c=!1,e=b.wrap,k=b.skin,g=b.inner,h=b.current,c=h.width,j=h.height,m=h.minWidth,u=h.minHeight,n=h.maxWidth,p=h.maxHeight,s=h.scrolling,q=h.scrollOutside?h.scrollbarWidth:0,x=h.margin,y=l(x[1]+x[3]),r=l(x[0]+x[2]),v,z,t,C,A,F,B,D,H;e.add(k).add(g).width("auto").height("auto").removeClass("fancybox-tmp");x=l(k.outerWidth(!0)-k.width());v=l(k.outerHeight(!0)-k.height());z=y+x;t=r+v;C=E(c)?(a.w-z)*l(c)/100:c;A=E(j)?(a.h-t)*l(j)/100:j;if("iframe"===h.type){if(H=h.content,h.autoHeight&&1===H.data("ready"))try{H[0].contentWindow.document.location&&(g.width(C).height(9999),F=H.contents().find("body"),q&&F.css("overflow-x","hidden"),A=F.outerHeight(!0))}catch(G){}}else if(h.autoWidth||h.autoHeight)g.addClass("fancybox-tmp"),h.autoWidth||g.width(C),h.autoHeight||g.height(A),h.autoWidth&&(C=g.width()),h.autoHeight&&(A=g.height()),g.removeClass("fancybox-tmp");c=l(C);j=l(A);D=C/A;m=l(E(m)?l(m,"w")-z:m);n=l(E(n)?l(n,"w")-z:n);u=l(E(u)?l(u,"h")-t:u);p=l(E(p)?l(p,"h")-t:p);F=n;B=p;h.fitToView&&(n=Math.min(a.w-z,n),p=Math.min(a.h-t,p));z=a.w-y;r=a.h-r;h.aspectRatio?(c>n&&(c=n,j=l(c/D)),j>p&&(j=p,c=l(j*D)),c<m&&(c=m,j=l(c/D)),j<u&&(j=u,c=l(j*D))):(c=Math.max(m,Math.min(c,n)),h.autoHeight&&"iframe"!==h.type&&(g.width(c),j=g.height()),j=Math.max(u,Math.min(j,p)));if(h.fitToView)if(g.width(c).height(j),e.width(c+x),a=e.width(),y=e.height(),h.aspectRatio)for(;(a>z||y>r)&&(c>m&&j>u)&&!(19<d++);)j=Math.max(u,Math.min(p,j-10)),c=l(j*D),c<m&&(c=m,j=l(c/D)),c>n&&(c=n,j=l(c/D)),g.width(c).height(j),e.width(c+x),a=e.width(),y=e.height();else c=Math.max(m,Math.min(c,c-(a-z))),j=Math.max(u,Math.min(j,j-(y-r)));q&&("auto"===s&&j<A&&c+x+q<z)&&(c+=q);g.width(c).height(j);e.width(c+x);a=e.width();y=e.height();e=(a>z||y>r)&&c>m&&j>u;c=h.aspectRatio?c<F&&j<B&&c<C&&j<A:(c<F||j<B)&&(c<C||j<A);f.extend(h,{dim:{width:w(a),height:w(y)},origWidth:C,origHeight:A,canShrink:e,canExpand:c,wPadding:x,hPadding:v,wrapSpace:y-k.outerHeight(!0),skinSpace:k.height()-j});!H&&(h.autoHeight&&j>u&&j<p&&!c)&&g.height("auto")},_getPosition:function(a){var d=b.current,e=b.getViewport(),c=d.margin,f=b.wrap.width()+c[1]+c[3],g=b.wrap.height()+c[0]+c[2],c={position:"absolute",top:c[0],left:c[3]};d.autoCenter&&d.fixed&&!a&&g<=e.h&&f<=e.w?c.position="fixed":d.locked||(c.top+=e.y,c.left+=e.x);c.top=w(Math.max(c.top,c.top+(e.h-g)*d.topRatio));c.left=w(Math.max(c.left,c.left+(e.w-f)*d.leftRatio));return c},_afterZoomIn:function(){var a=b.current;a&&(b.isOpen=b.isOpened=!0,b.wrap.css("overflow","visible").addClass("fancybox-opened"),b.update(),(a.closeClick||a.nextClick&&1<b.group.length)&&b.inner.css("cursor","pointer").bind("click.fb",function(d){!f(d.target).is("a")&&!f(d.target).parent().is("a")&&(d.preventDefault(),b[a.closeClick?"close":"next"]())}),a.closeBtn&&f(a.tpl.closeBtn).appendTo(b.skin).bind("click.fb",function(a){a.preventDefault();b.close()}),a.arrows&&1<b.group.length&&((a.loop||0<a.index)&&f(a.tpl.prev).appendTo(b.outer).bind("click.fb",b.prev),(a.loop||a.index<b.group.length-1)&&f(a.tpl.next).appendTo(b.outer).bind("click.fb",b.next)),b.trigger("afterShow"),!a.loop&&a.index===a.group.length-1?b.play(!1):b.opts.autoPlay&&!b.player.isActive&&(b.opts.autoPlay=!1,b.play()))},_afterZoomOut:function(a){a=a||b.current;f(".fancybox-wrap").trigger("onReset").remove();f.extend(b,{group:{},opts:{},router:!1,current:null,isActive:!1,isOpened:!1,isOpen:!1,isClosing:!1,wrap:null,skin:null,outer:null,inner:null});b.trigger("afterClose",a)}});b.transitions={getOrigPosition:function(){var a=b.current,d=a.element,e=a.orig,c={},f=50,g=50,h=a.hPadding,j=a.wPadding,m=b.getViewport();!e&&(a.isDom&&d.is(":visible"))&&(e=d.find("img:first"),e.length||(e=d));t(e)?(c=e.offset(),e.is("img")&&(f=e.outerWidth(),g=e.outerHeight())):(c.top=m.y+(m.h-g)*a.topRatio,c.left=m.x+(m.w-f)*a.leftRatio);if("fixed"===b.wrap.css("position")||a.locked)c.top-=m.y,c.left-=m.x;return c={top:w(c.top-h*a.topRatio),left:w(c.left-j*a.leftRatio),width:w(f+j),height:w(g+h)}},step:function(a,d){var e,c,f=d.prop;c=b.current;var g=c.wrapSpace,h=c.skinSpace;if("width"===f||"height"===f)e=d.end===d.start?1:(a-d.start)/(d.end-d.start),b.isClosing&&(e=1-e),c="width"===f?c.wPadding:c.hPadding,c=a-c,b.skin[f](l("width"===f?c:c-g*e)),b.inner[f](l("width"===f?c:c-g*e-h*e))},zoomIn:function(){var a=b.current,d=a.pos,e=a.openEffect,c="elastic"===e,k=f.extend({opacity:1},d);delete k.position;c?(d=this.getOrigPosition(),a.openOpacity&&(d.opacity=0.1)):"fade"===e&&(d.opacity=0.1);b.wrap.css(d).animate(k,{duration:"none"===e?0:a.openSpeed,easing:a.openEasing,step:c?this.step:null,complete:b._afterZoomIn})},zoomOut:function(){var a=b.current,d=a.closeEffect,e="elastic"===d,c={opacity:0.1};e&&(c=this.getOrigPosition(),a.closeOpacity&&(c.opacity=0.1));b.wrap.animate(c,{duration:"none"===d?0:a.closeSpeed,easing:a.closeEasing,step:e?this.step:null,complete:b._afterZoomOut})},changeIn:function(){var a=b.current,d=a.nextEffect,e=a.pos,c={opacity:1},f=b.direction,g;e.opacity=0.1;"elastic"===d&&(g="down"===f||"up"===f?"top":"left","down"===f||"right"===f?(e[g]=w(l(e[g])-200),c[g]="+=200px"):(e[g]=w(l(e[g])+200),c[g]="-=200px"));"none"===d?b._afterZoomIn():b.wrap.css(e).animate(c,{duration:a.nextSpeed,easing:a.nextEasing,complete:b._afterZoomIn})},changeOut:function(){var a=b.previous,d=a.prevEffect,e={opacity:0.1},c=b.direction;"elastic"===d&&(e["down"===c||"up"===c?"top":"left"]=("up"===c||"left"===c?"-":"+")+"=200px");a.wrap.animate(e,{duration:"none"===d?0:a.prevSpeed,easing:a.prevEasing,complete:function(){f(this).trigger("onReset").remove()}})}};b.helpers.overlay={defaults:{closeClick:!0,speedOut:200,showEarly:!0,css:{},locked:!s,fixed:!0},overlay:null,fixed:!1,el:f("html"),create:function(a){a=f.extend({},this.defaults,a);this.overlay&&this.close();this.overlay=f('<div class="fancybox-overlay"></div>').appendTo(b.coming?b.coming.parent:a.parent);this.fixed=!1;a.fixed&&b.defaults.fixed&&(this.overlay.addClass("fancybox-overlay-fixed"),this.fixed=!0)},open:function(a){var d=this;a=f.extend({},this.defaults,a);this.overlay?this.overlay.unbind(".overlay").width("auto").height("auto"):this.create(a);this.fixed||(n.bind("resize.overlay",f.proxy(this.update,this)),this.update());
39555a.closeClick&&this.overlay.bind("click.overlay",function(a){if(f(a.target).hasClass("fancybox-overlay"))return b.isActive?b.close():d.close(),!1});this.overlay.css(a.css).show()},close:function(){var a,b;n.unbind("resize.overlay");this.el.hasClass("fancybox-lock")&&(f(".fancybox-margin").removeClass("fancybox-margin"),a=n.scrollTop(),b=n.scrollLeft(),this.el.removeClass("fancybox-lock"),n.scrollTop(a).scrollLeft(b));f(".fancybox-overlay").remove().hide();f.extend(this,{overlay:null,fixed:!1})},update:function(){var a="100%",b;this.overlay.width(a).height("100%");I?(b=Math.max(G.documentElement.offsetWidth,G.body.offsetWidth),p.width()>b&&(a=p.width())):p.width()>n.width()&&(a=p.width());this.overlay.width(a).height(p.height())},onReady:function(a,b){var e=this.overlay;f(".fancybox-overlay").stop(!0,!0);e||this.create(a);a.locked&&(this.fixed&&b.fixed)&&(e||(this.margin=p.height()>n.height()?f("html").css("margin-right").replace("px",""):!1),b.locked=this.overlay.append(b.wrap),b.fixed=!1);!0===a.showEarly&&this.beforeShow.apply(this,arguments)},beforeShow:function(a,b){var e,c;b.locked&&(!1!==this.margin&&(f("*").filter(function(){return"fixed"===f(this).css("position")&&!f(this).hasClass("fancybox-overlay")&&!f(this).hasClass("fancybox-wrap")}).addClass("fancybox-margin"),this.el.addClass("fancybox-margin")),e=n.scrollTop(),c=n.scrollLeft(),this.el.addClass("fancybox-lock"),n.scrollTop(e).scrollLeft(c));this.open(a)},onUpdate:function(){this.fixed||this.update()},afterClose:function(a){this.overlay&&!b.coming&&this.overlay.fadeOut(a.speedOut,f.proxy(this.close,this))}};b.helpers.title={defaults:{type:"float",position:"bottom"},beforeShow:function(a){var d=b.current,e=d.title,c=a.type;f.isFunction(e)&&(e=e.call(d.element,d));if(q(e)&&""!==f.trim(e)){d=f('<div class="fancybox-title fancybox-title-'+c+'-wrap">'+e+"</div>");switch(c){case "inside":c=b.skin;break;case "outside":c=b.wrap;break;case "over":c=b.inner;break;default:c=b.skin,d.appendTo("body"),I&&d.width(d.width()),d.wrapInner('<span class="child"></span>'),b.current.margin[2]+=Math.abs(l(d.css("margin-bottom")))}d["top"===a.position?"prependTo":"appendTo"](c)}}};f.fn.fancybox=function(a){var d,e=f(this),c=this.selector||"",k=function(g){var h=f(this).blur(),j=d,k,l;!g.ctrlKey&&(!g.altKey&&!g.shiftKey&&!g.metaKey)&&!h.is(".fancybox-wrap")&&(k=a.groupAttr||"data-fancybox-group",l=h.attr(k),l||(k="rel",l=h.get(0)[k]),l&&(""!==l&&"nofollow"!==l)&&(h=c.length?f(c):e,h=h.filter("["+k+'="'+l+'"]'),j=h.index(this)),a.index=j,!1!==b.o
39555pen(h,a)&&g.preventDefault())};a=a||{};d=a.index||0;!c||!1===a.live?e.unbind("click.fb-start").bind("click.fb-start",k):p.undelegate(c,"click.fb-start").delegate(c+":not('.fancybox-item, .fancybox-nav')","click.fb-start",k);this.filter("[data-fancybox-start=1]").trigger("click");return this};p.ready(function(){var a,d;f.scrollbarWidth===v&&(f.scrollbarWidth=function(){var a=f('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body"),b=a.children(),b=b.innerWidth()-b.height(99).innerWidth();a.remove();return b});if(f.support.fixedPosition===v){a=f.support;d=f('<div style="position:fixed;top:20px;"></div>').appendTo("body");var e=20===d[0].offsetTop||15===d[0].offsetTop;d.remove();a.fixedPosition=e}f.extend(b.defaults,{scrollbarWidth:f.scrollbarWidth(),fixed:f.support.fixedPosition,parent:f("body")});a=f(r).width();J.addClass("fancybox-lock-test");d=f(r).width();J.removeClass("fancybox-lock-test");f("<style type='text/css'>.fancybox-margin{margin-right:"+(d-a)+"px;}</style>").appendTo("head")})})(window,document,jQuery);!function(){"use strict";var e=()=>{const e={merchantClientId:"",basketBindingApiKey:void 0,unboundWidgetClicked:void 0,handleBasketEvent:()=>!1,apiBaseUrl:void 0,webView:!1,language:"pl"};return{setMerchantClientId:t=>{e.merchantClientId=t},setBasketBindingApiKey:t=>{e.basketBindingApiKey=t},setUnboundWidgetClicked:t=>{e.unboundWidgetClicked=t},setHandleBasketEvent:t=>{e.handleBasketEvent=t},setApiBaseUrl:t=>{e.apiBaseUrl=t},setWebView:t=>{e.webView=t},setLanguage:t=>{e.language=t},build:()=>{const t={};for(const n in e)"undefined"!==e[n]&&(t[n]=e[n]);return t}}};var t={orderConfirmationUrl:"inpost/v2/izi/merchant/order/confirmation-url",bindingKey:"inpost/v2/izi/merchant/basket/binding-key"};var n=e=>{const t=new URL(e),n=(e,n)=>{t.searchParams.set(e,n)};return{getURL:()=>t.toString(),addParam:n,addParams:e=>{Object.keys(e).forEach((t=>{n(t,e[t])}))}}};var r=(e,t,r=null,i={})=>{const{addParam:o,addParams:a,getURL:s}=n(e),d={method:t,headers:{"Content-Type":"application/json",...i}};null!==r&&(d.body=JSON.stringify(r));return{getResponse:()=>{const e=d,t=s();return fetch(t,e)},setParams:e=>{a(e)},setParam:(e,t)=>{o(e,t)}}};const i=window.inpostizi_backend_ajax_url;var o=(e,t,o=null,a={})=>{const{addParam:s,getURL:d}=n(i);return s("path",e),r(d(),t,o,a)};var a=async()=>{const{bindingKey:e}=t,{getResponse:n}=o(e,"GET"),r=await n();if(!r.ok&&404!==r.status)throw new Error("Error while fetching binding key");if(404!==r.status)return r.json()};var s=(e=!1)=>!1===e&&null!==window.inpostizi_binding_api_key?window.inpostizi_binding_api_key:!1!==e||window.inpostizi_fetch_binding_key?new Promise(((e,t)=>{a().then((t=>{e(t)})).catch((()=>{t(void 0)}))})):void 0;const d={productPageForm:"#add-to-cart-or-refresh",inpostIziButton:"inpost-izi-button",inpostIziProductButtonWrapper:".js-inpost-izi-product-btn-wrapper",inpostIziAddToCartAlert:".js-inpost-izi-add-to-cart-alert"};var c=()=>void 0!==window.inpost_izi_selectors_map?{...d,...window.inpost_izi_selectors_map}:d;var p=(e,t="success",n="")=>{const r=document.createElement("div");return r.classList.add("alert",`alert-${t}`,"w-100"),"string"==typeof n?r.classList.add(n):Array.isArray(n)&&n.forEach((e=>{r.classList.add(e)})),r.textContent=e,r};var u=e=>{const{inpostIziProductButtonWrapper:t,inpostIziAddToCartAlert:n}=c(),r=p(e.message,"danger",n.replace(".","")),i=document.querySelector(t);if(i){const e=i.querySelector(n);e&&e.remove(),i.prepend(r)}};var w=async e=>{const{getResponse:t,setParams:n}=r(prestashop.urls.pages.cart,"POST",null,{"X-Requested-With":"XMLHttpRequest","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"});n(e);const i=await t(),o=await i.json();if(o?.hasError&&o?.errors&&Array.isArray(o.errors)){const e=new Error(o.errors.join("\n"));throw setTimeout((()=>{u(e)})),Error("UNDELIVERABLE_PRODUCT")}return prestashop.emit("updateCart",{reason:{idProduct:o.id_product,idProductAttribute:o.id_product_attribute},resp:o}),s()};const l=(e=!1)=>new Promise(((t,n)=>{const r=s(e);r instanceof Promise?r.then((e=>{t(e)})).catch((()=>{n(void 0)})):t(r)}));var h=e=>new Promise(((t,n)=>{if(!e)return void l(!0).then((e=>{t(e)})).catch((e=>{n(e)}));const{productPageForm:r}=c(),i=document.querySelector(r);if(!i)return void n(new Error("Error while adding product to cart: product not found."));const{group:o,...a}=(e=>{const t=new FormData(e),n={},r=[];for(const[e,i]of t.entries())0===e.indexOf("group")?r.push({key:e,value:encodeURIComponent(i)}):n[e]=i;return n.group=r,n})(i),s={add:1,action:"update",ajax:1,...a};o.forEach((e=>{s[e.key]=e.value})),w(s).then((()=>
39555{l(!0).then((e=>{t(e)})).catch((e=>{n(e)}))})).catch((e=>{e instanceof Error&&"UNDELIVERABLE_PRODUCT"===e.message?n(e):n(void 0)}))}));var g=async()=>{const{orderConfirmationUrl:e}=t,{getResponse:n}=o(e,"GET"),r=await n();if(!r.ok)throw new Error("NOK");return r.json()};var f=async e=>{if("basketProductChanged"===e||"basketDeleted"===e)prestashop.emit("updateCart",{reason:{linkAction:"refresh"},resp:{}});else if("orderCreated"===e)try{window.location.href=await g()}catch(e){return!1}return!0};let m;var v=()=>({init:e=>{m=window.InPostPayWidget.init(e)},refresh:()=>{if(void 0===m)throw new Error("Widget is not initialized yet, use init() method first");"function"!=typeof m.rerender?m.refresh():m.rerender()}});var y=()=>({init:()=>{const{init:t,refresh:n}=v(),{setMerchantClientId:r,setBasketBindingApiKey:i,setUnboundWidgetClicked:o,setHandleBasketEvent:a,setLanguage:d,build:c}=e();void 0!==window.prestashop.language.iso_code&&d(window.prestashop.language.iso_code),r(window.inpostizi_merchant_client_id),i(s()),o(h),a(f),t(c()),window.prestashop.on("updatedCart",(()=>n())),window.prestashop.on("updatedProduct",(()=>n()))}});window.prestashop??={},window.prestashop.inpostizi??={},window.prestashop.inpostizi.widget??=v(),"function"!=typeof window.handleInpostIziButtons&&(window.handleInpostIziButtons=window.prestashop.inpostizi.widget.refresh),document.addEventListener("DOMContentLoaded",(()=>{const{init:e}=y();e()}))}();$(document).ready(function(){if(document.body.className.match('ps_172')){var $searchWidget=$('#search_widget');var $searchBox=$searchWidget.find('input[type=text]');var searchURL=$searchWidget.attr('data-search-controller-url');$.widget('prestashop.psBlockSearchAutocomplete',$.ui.autocomplete,{_renderItem:function(ul,product){return $("<li>").append($("<a>").append($("<span>").addClass("search_right").append($("<span>").html(product.manufacturer_name).addClass("search_brand")).append($("<span>").html(product.name).addClass("search_name")).append($("<span>").html(product.price).addClass("search_price"))).append($("<span>").addClass("clearfix"))).appendTo(ul)}});$searchBox.psBlockSearchAutocomplete({source:function(query,response){$.post(searchURL,{s:query.term,resultsPerPage:10},null,'json').then(function(resp){response(resp.products)}).fail(response)},select:function(event,ui){var url=ui.item.url;window.location.href=url},})}else{var $searchWidget=$('#search_widget');var $searchBox=$searchWidget.find('input[type=text]');var searchURL=$searchWidget.attr('data-search-controller-url');var $clearButton=$searchWidget.find('i.clear');$.widget('prestashop.psBlockSearchAutocomplete',$.ui.autocomplete,{_renderItem:function(ul,product){var image=(product.cover)?product.cover:prestashop.urls.no_picture_image;var $img=$('<img class="autocomplete-thumbnail" src="'+image.bySize.small_default.url+'">');return $("<li>").append($("<a>").append($("<span>").addClass("search_left").append($img)).append($("<span>").addClass("search_right").append($("<span>").html(product.manufacturer_name).addClass("search_brand")).append($("<span>").html(product.name).addClass("search_name")).append($("<span>").html(product.price).addClass("search_price"))).append($("<span>").addClass("clearfix"))).appendTo(ul)}});$searchBox.psBlockSearchAutocomplete({source:function(query,response){$.post(searchURL,{s:query.term,resultsPerPage:10},null,'json').then(function(resp){response(resp.products)}).fail(response)},select:function(event,ui){var url=ui.item.url;window.location.href=url},})}});$(document).ready(function(){prestashop.blockcart=prestashop.blockcart||{};var showModal=prestashop.blockcart.showModal||function(modal){var $body=$('body');$body.append(modal);$body.one('click','#blockcart-modal',function(event){if(event.target.id==='blockcart-modal'){$(event.target).remove()}})};prestashop.on('updateCart',function(event){var refreshURL=$('.blockcart').data('refresh-url');var requestData={};if(event&&event.reason){requestData={id_customization:event.reason.idCustomization,id_product_attribute:event.reason.idProductAttribute,id_product:event.reason.idProduct,action:event.reason.linkAction};$.post(refreshURL,requestData).then(function(resp){$('.blockcart').replaceWith($(resp.preview).find('.blockcart'));if(resp.modal){showModal(resp.modal)}}).fail(function(resp){prestashop.emit('handleError',{eventType:'updateShoppingCart',resp:resp})})} 39556if(event&&event.resp&&event.resp.hasError){prestashop.emit('showErrorNextToAddtoCartButton',{errorMessage:event.resp.errors.join('<br/>')})}})});/** 39557* 2012-2017 Patryk Marek PrestaDev.pl 39558* 39559* Patryk Marek PrestaDev.pl - PD Invoice / bill module PrestaShop 1.5.x and 1.6.x Module © All rights reserved. 39560* 39561* DISCLAIMER 39562*
39563* Do not edit, modify or copy this file. 39564* If you wish to customize it, contact us at [email protected]. 39565* 39566* @author Patryk Marek <[email protected]> 39567* @copyright 2012-2017 Patryk Marek @ PrestaDev.pl 39568* @license Do not edit, modify or copy this file, if you wish to customize it, contact us at [email protected]. 39569* @link http://prestadev.pl 39570* @package PD Invoice / bill module PrestaShop 1.5.x and 1.6.x and 1.7.x Module 39571* @version 2.0.2 39572* @date 01-09-2015 39573*/ 39574document.addEventListener("DOMContentLoaded",function(){runPdInvoiceBillPro()});function runPdInvoiceBillPro(){if(parseInt(pdinvoicebillpro_checked)==1){$("#pd_fp_invoice").prop("checked",!0);$("#pd_fp_bill").prop("checked",!1);if(typeof $.uniform!=='undefined'&&typeof $.uniform.update==='function'){$.uniform.update('#pd_fp_invoice');$.uniform.update('#pd_fp_bill')} 39575$("input[name='company']").parent().parent().show();$("input[name='vat_number']").parent().parent().show();$("input[name='company']").parent().parent().find('.form-control-comment').hide();$("input[name='vat_number']").parent().parent().find('.form-control-comment').hide()}else{$("#pd_fp_bill").prop("checked",!0);$("#pd_fp_invoice").prop("checked",!1);if(typeof $.uniform!=='undefined'&&typeof $.uniform.update==='function'){$.uniform.update('#pd_fp_invoice');$.uniform.update('#pd_fp_bill')} 39576$("input[name='company']").parent().parent().hide();$("input[name='vat_number']").parent().parent().hide();$("input[name='company']").parent().parent().find('.form-control-comment').show();$("input[name='vat_number']").parent().parent().find('.form-control-comment').show()} 39577$(document).on('change','input.pd_ibp_radio',function(){var customer_response=this.value;$.ajax({url:pdinvoicebillpro_ajax_link,data:{'customer_response':customer_response,'secure_key':pdinvoicebillpro_secure_key,'ajax':!0},dataType:"json",success:function(data){if(data.status){$("#pd_ibp_saved_response").fadeIn(800);$("#pd_ibp_saved_response").html(pdinvoicebillpro_saved_response);$("#pd_ibp_saved_response").fadeOut(800);$("input[name='company']").parent().parent().show();$("input[name='vat_number']").parent().parent().show();$("input[name='company']").parent().parent().find('.form-control-comment').hide();$("input[name='vat_number']").parent().parent().find('.form-control-comment').hide()}else{$("#pd_ibp_saved_response").fadeIn(800);$("#pd_ibp_saved_response").html(pdinvoicebillpro_saved_response);$("#pd_ibp_saved_response").fadeOut(800);$("input[name='company']").parent().parent().hide();$("input[name='vat_number']").parent().parent().hide();$("input[name='company']").parent().parent().find('.form-control-comment').show();$("input[name='vat_number']").parent().parent().find('.form-control-comment').show()}}})})};function markAlreadyLikedPost(guest,id_simpleblog_post){if($.cookie('guest_'+guest+'_'+id_simpleblog_post)=="voted"){$('.simpleblog-like-button').addClass('voted')}};$(window).on('load',initProductPageGallery);$(window).on('load',initMasonryList);$(function(){if($('#module-ph_simpleblog-single').length>0){if(typeof fancybox!=='undefined'){$('.simpleblog__post a.fancybox').fancybox()} 39578$(".simpleblog__post").fitVids();markAlreadyLikedPost($('#module-ph_simpleblog-single .simpleblog-like-button').data('guest'),$('.simpleblog-single .simpleblog-like-button').data('post'));$(document).on('click','.simpleblog__share .btn',function(){type=$(this).attr('data-type');if(type.length){switch(type){case 'twitter':window.open('https://twitter.com/intent/tweet?text='+ph_sharing_name+' '+encodeURIComponent(ph_sharing_url),'sharertwt','toolbar=0,status=0,width=640,height=445');break;case 'facebook':window.open('http://www.facebook.com/sharer.php?u='+ph_sharing_url,'sharer','toolbar=0,status=0,width=660,height=445');break;case 'pinterest':window.open('http://www.pinterest.com/pin/create/button/?media='+ph_sharing_img+'&url='+ph_sharing_url,'sharerpinterest','toolbar=0,status=0,width=660,height=445');break}}});$(document).on('click','.simpleblog-like-button',function(e){e.preventDefault();var id_simpleblog_post=$(this).data('post');var id_guest=$(this).data('guest');var element=$(this);if($.cookie('guest_'+id_guest+'_'+id_simpleblog_post)=="voted"){$.cookie('guest_'+id_guest+'_'+id_simpleblog_post,'');var request=$.ajax({type:"POST",url:ph_simpleblog_ajax,data:{action:'removeRating',id_simpleblog_post:id_simpleblog_post,secure_key:ph_simpleblog_token,ajax:!0},success:function(result){var data=$.parseJSON(result);if(data.status=='success'){element.removeClass('voted').find('span.likes-count').text(data.message)}else{alert(data.message)}}})}else{$.cookie('guest_'+id_guest+'_'+id_simpleblog_post,'voted');var request=$.ajax({type:"POST",url:ph_simpleblog_ajax,data:{action:'addRating',id_simpleblog_post:id_simpleblog_post,secure_key:ph_simpleblog_token,ajax:!0},success:function(result){var data=$.parseJSON(result);if(data.status=='success'){element.addClass('voted').find('span.likes-count').text(data.message)}else{alert(data.message)}}})}})} 39579$('.simpleblog__listing__post__wrapper').fitVids();if(typeof fancybox!=='undefined'){$('.simpleblog-post-item a.post-gallery-link').fancybox();$("a.simpleblog__post-featured").fancybox({maxWidth:1440,fitToView:!1,autoSize:!1,
39579closeClick:!1,width:640,height:385,openEffect:'none',closeEffect:'none',iframe:{preload:!1},helpers:{overlay:{css:{'background':'rgba(0, 0, 0, 0.90)'}}}})} 39580$(document).on('click','.reply-simpleblog-button',function(){$([document.documentElement,document.body]).animate({scrollTop:$('.simpleblog__addComment').offset().top},1000);$('.simpleblog_answer_info').addClass('d-block');$('.simpleblog__cancelReplay').addClass('d-block');$('input[name="id_parent"]').val($(this).data('id-comment'))});$(document).on('click','.simpleblog__cancelReplay',function(e){e.preventDefault();$('.simpleblog_answer_info').removeClass('d-block');$('.simpleblog__cancelReplay').removeClass('d-block');$('.simpleblog_answer_info').addClass('simpleblog_answer_info_active');$('input[name="id_parent"]').val(0)})});function initProductPageGallery(){$(".blog-fancybox").fancybox({helpers:{overlay:{locked:!1}}});var $gallery=$('.post-gallery__gallery-js');$gallery.one('layoutComplete',function(){$gallery.addClass('initialized')});$gallery.masonry({itemSelector:'.gallery-js__elem'})} 39581function initMasonryList(){var $list=$('.blog-masonry-list');$list.one('layoutComplete',function(){$list.addClass('initialized')});$list.masonry({itemSelector:'.simpleblog__listing__post'})};/*! 39582 * Masonry PACKAGED v4.2.2 39583 * Cascading grid layout library 39584 * https://masonry.desandro.com 39585 * MIT License 39586 * by David DeSandro 39587 */
vendor: 23,967 bytes, lines 39587-39588
39587 39588!function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,r,a){function h(t,e,n){var o,r="$()."+i+'("'+e+'")';return t.each(function(t,h){var u=a.data(h,i);if(!u)return void s(i+" not initialized. Cannot call methods, i.e. "+r);var d=u[e];if(!d||"_"==e.charAt(0))return void s(r+" is not a valid method");var l=d.apply(u,n);o=void 0===o?l:o}),void 0!==o?o:t}function u(t,e){t.each(function(t,n){var o=a.data(n,i);o?(o.option(e),o._init()):(o=new r(n,e),a.data(n,i,o))})}a=a||e||t.jQuery,a&&(r.prototype.option||(r.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=o.call(arguments,1);return h(this,t,e)}return u(this,t),this},n(a))}function n(t){!t||t&&t.bridget||(t.bridget=i)}var o=Array.prototype.slice,r=t.console,s="undefined"==typeof r?function(){}:function(t){r.error(t)};return n(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var n=this._onceEvents&&this._onceEvents[t],o=0;o<i.length;o++){var r=i[o],s=n&&n[r];s&&(this.off(t,r),delete n[r]),r.apply(this,e)}return this}},e.allOff=function(){delete this._events,delete this._onceEvents},t}),function(t,e){"function"==typeof define&&define.amd?define("get-size/get-size",e):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function t(t){var e=parseFloat(t),i=-1==t.indexOf("%")&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;u>e;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}function o(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);s=200==Math.round(t(o.width)),r.isBoxSizeOuter=s,i.removeChild(e)}}function r(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var r=n(e);if("none"==r.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==r.boxSizing,l=0;u>l;l++){var c=h[l],f=r[c],m=parseFloat(f);a[c]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,g=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,z=a.borderTopWidth+a.borderBottomWidth,E=d&&s,b=t(r.width);b!==!1&&(a.width=b+(E?0:p+_));var x=t(r.height);return x!==!1&&(a.height=x+(E?0:g+z)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(g+z),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var s,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,d=!1;return r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=window.Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var n=e[i],o=n+"MatchesSelector";if(t[o])return o}}();return function(e,i){return e[t](i)}}),function(t,e){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.matchesSelector)}(window,function(t,e){var i={};i.extend=function(t,e){for(var i in e)t[i]=e[i];return t},i.modulo=function(t,e){return(t%e+e)%e};var n=Array.prototype.slice;i.makeArray=function(t){if(Array.isArray(t))return t;if(null===t||void 0===t)return[];var e="object"==typeof t&&"number"==typeof t.length;return e?n.call(t):[t]},i.removeFrom=function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1)},i.getParent=function(t,i){for(;t.parentNode&&t!=document.body;)if(t=t.parentNode,e(t,i))return t},i.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},i.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},i.filterFindElements=function(t,n){t=i.makeArray(t);var o=[];return t.forEach(function(t){if(t instanceof HTMLElement){if(!n)return void o.push(t);e(t,n)&&o.push(t);for(var i=t.querySelectorAll(n),r=0;r<i.length;r++)o.push(i[r])}}),o},i.debounceMethod=function(t,e,i){i=i||100;var n=t.prototype[e],o=e+"Timeout";t.prototype[e]=function(){var t=this[o];clearTimeout(t);var e=arguments,r=this;this[o]=setTimeout(function(){n.apply(r,e),delete r[o]},i)}},i.docReady=function(t){var e=document.readyState;"complete"==e||"interactive"==e?setTimeout(t):document.addEventListener("DOMContentLoaded",t)},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var o=t.console;return i.htmlInit=function(e,n){i.docReady(function(){var r=i.toDashed(n),s="data-"+r,a=document.querySelectorAll("["+s+"]"),h=document.querySelectorAll(".js-"+r),u=i.makeArray(a).concat(i.makeArray(h)),d=s+"-options",l=t.jQuery;u.forEach(function(t){var i,r=t.getAttribute(s)||t.getAttribute(d);try{i=r&&JSON.parse(r)}catch(a){return void(o&&o.error("Error parsing "+s+" on "+t.className+": "+a))}var h=new e(t,i);l&&l.data(t,n,h)})})},i}),function(t,e){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("ev-emitter"),require("get-size")):(t.Outlayer={},t.Outlayer.Item=e(t.EvEmitter,t.getSize))}(window,function(t,e){"use strict";function i(t){for(var e in t)return!1;return e=null,!0}function n(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}function o(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}var r=document.documentElement.style,s="string"==typeof r.transition?"transition":"WebkitTransition",a="string"==typeof r.transform?"transform":"WebkitTransform",h={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[s],u={transform:a,transition:s,transitionDuration:s+"Duration",transitionProperty:s+"Property",transitionDelay:s+"Delay"},d=n.prototype=Object.create(t.prototype);d.constructor=n,d._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},d.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},d.getSize=function(){this.size=e(this.element)},d.css=function(t){var e=this.element.style;for(var i in t){var n=u[i]||i;e[n]=t[i]}},d.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption("originLeft"),i=this.layout._getOption("originTop"),n=t[e?"left":"right"],o=t[i?"top":"bottom"],r=parseFloat(n),s=parseFloat(o),a=this.layout.size;-1!=n.indexOf("%")&&(r=r/100*a.width),-1!=o.indexOf("%")&&(s=s/100*a.height),r=isNaN(r)?0:r,s=isNaN(s)?0:s,r-=e?a.paddingLeft:a.paddingRight,s-=i?a.paddingTop:a.paddingBottom,this.position.x=r,this.position.y=s},d.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop"),o=i?"paddingLeft":"paddingRight",r=i?"left":"right",s=i?"right":"left",a=this.position.x+t[o];e[r]=this.getXValue(a),e[s]="";var h=n?"paddingTop":"paddingBottom",u=n?"top":"bottom",d=n?"bottom":"top",l=this.position.y+t[h];e[u]=this.getYValue(l),e[d]="",this.css(e),this.emitEvent("layout",[this])},d.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},d.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},d._transitionTo=function(t,e){this.getPosition();var i=this.position.x,n=this.position.y,o=t==this.position.x&&e==this.position.y;if(this.setPosition(t,e),o&&!this.isTransitioning)return void this.layoutPosition();var r=t-i,s=e-n,a={};a.transform=this.getTranslate(r,s),this.transition({to:a,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},d.getTranslate=function(t,e){var i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop");return t=i?t:-t,e=n?e:-e,"translate3d("+t+"px, "+e+"px, 0)"},d.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},d.moveTo=d._transitionTo,d.setPosition=function(t,e){this.position.x=parseFloat(t),this.position.y=parseFloat(e)},d._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},d.transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(t);var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var n=this.element.offsetHeight;n=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var l="opacity,"+o(a);d.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:l,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(h,this,!1)}},d.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},d.onotransitionend=function(t){this.ontransitionend(t)};var c={"-webkit-transform":"transform"};d.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,n=c[t.propertyName]||t.propertyName;if(delete e.ingProperties[n],i(e.ingProperties)&&this.disableTransition(),n in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[n]),n in e.onEnd){var o=e.onEnd[n];o.call(this),delete e.onEnd[n]}this.emitEvent("transitionEnd",[this])}},d.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(h,this,!1),this.isTransitioning=!1},d._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var f={transitionProperty:"",transitionDuration:"",transitionDelay:""};return d.removeTransitionStyles=function(){this.css(f)},d.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},d.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},d.remove=function(){return s&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},d.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("visibleStyle");e[i]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},d.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},d.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},d.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("hiddenStyle");e[i]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},d.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},d.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},n}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(i,n,o,r){return e(t,i,n,o,r)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):t.Outlayer=e(t,t.EvEmitter,t.getSize,t.fizzyUIUtils,t.Outlayer.Item)}(window,function(t,e,i,n,o){"use strict";function r(t,e){var i=n.getQueryElement(t);if(!i)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(i||t)));this.element=i,u&&(this.$element=u(this.element)),this.options=n.extend({},this.constructor.defaults),this.option(e);var o=++l;this.element.outlayerGUID=o,c[o]=this,this._create();var r=this._getOption("initLayout");r&&this.layout()}function s(t){function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e}function a(t){if("number"==typeof t)return t;var e=t.match(/(^\d*\.?\d*)(\w*)/),i=e&&e[1],n=e&&e[2];if(!i.length)return 0;i=parseFloat(i);var o=m[n]||1;return i*o}var h=t.console,u=t.jQuery,d=function(){},l=0,c={};r.namespace="outlayer",r.Item=o,r.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var f=r.prototype;n.extend(f,e.prototype),f.option=function(t){n.extend(this.options,t)},f._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},r.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},f._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),n.extend(this.element.style,this.options.containerStyle);var t=this._getOption("resize");t&&this.bindResize()},f.reloadItems=function(){this.items=this._itemize(this.element.children)},f._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,n=[],o=0;o<e.length;o++){var r=e[o],s=new i(r,this);n.push(s)}return n},f._filterFindItemElements=function(t){return n.filterFindElements(t,this.options.itemSelector)},f.getItemElements=function(){return this.items.map(function(t){return t.element})},f.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0},f._init=f.layout,f._resetLayout=function(){this.getSize()},f.getSize=function(){this.size=i(this.element)},f._getMeasurement=function(t,e){var n,o=this.options[t];o?("string"==typeof o?n=this.element.querySelector(o):o instanceof HTMLElement&&(n=o),this[t]=n?i(n)[e]:o):this[t]=0},f.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},f._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},f._layoutItems=function(t,e){if(this._emitCompleteOnItems("layout",t),t&&t.length){var i=[];t.forEach(function(t){var n=this._getItemLayoutPosition(t);n.item=t,n.isInstant=e||t.isLayoutInstant,i.push(n)},this),this._processLayoutQueue(i)}},f._getItemLayoutPosition=function(){return{x:0,y:0}},f._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},f.updateStagger=function(){var t=this.options.stagger;return null===t||void 0===t?void(this.stagger=0):(this.stagger=a(t),this.stagger)},f._positionItem=function(t,e,i,n,o){n?t.goTo(e,i):(t.stagger(o*this.stagger),t.moveTo(e,i))},f._postLayout=function(){this.resizeContainer()},f.resizeContainer=function(){var t=this._getOption("resizeContainer");if(t){var e=this._getContainerSize();e&&(this._setContainerMeasure(e.width,!0),this._setContainerMeasure(e.height,!1))}},f._getContainerSize=d,f._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},f._emitCompleteOnItems=function(t,e){function i(){o.dispatchEvent(t+"Complete",null,[e])}function n(){s++,s==r&&i()}var o=this,r=e.length;if(!e||!r)return void i();var s=0;e.forEach(function(e){e.once(t,n)})},f.dispatchEvent=function(t,e,i){var n=e?[e].concat(i):i;if(this.emitEvent(t,n),u)if(this.$element=this.$element||u(this.element),e){var o=u.Event(e);o.type=t,this.$element.trigger(o,i)}else this.$element.trigger(t,i)},f.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},f.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},f.stamp=function(t){t=this._find(t),t&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},f.unstamp=function(t){t=this._find(t),t&&t.forEach(function(t){n.removeFrom(this.stamps,t),this.unignore(t)},this)},f._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=n.makeArray(t)):void 0},f._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},f._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},f._manageStamp=d,f._getElementOffset=function(t){var e=t.getBoundingClientRect(),n=this._boundingRect,o=i(t),r={left:e.left-n.left-o.marginLeft,top:e.top-n.top-o.marginTop,right:n.right-e.right-o.marginRight,bottom:n.bottom-e.bottom-o.marginBottom};return r},f.handleEvent=n.handleEvent,f.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},f.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},f.onresize=function(){this.resize()},n.debounceMethod(r,"onresize",100),f.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},f.needsResizeLayout=function(){var t=i(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},f.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},f.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},f.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},f.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.reveal()})}},f.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.hide()})}},f.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},f.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},f.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},f.getItems=function(t){t=n.makeArray(t);var e=[];return t.forEach(function(t){var i=this.getItem(t);i&&e.push(i)},this),e},f.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),n.removeFrom(this.items,t)},this)},f.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="",this.items.forEach(function(t){t.destroy()}),this.unbindResize();var e=this.element.outlayerGUID;delete c[e],delete this.element.outlayerGUID,u&&u.removeData(this.element,this.constructor.namespace)},r.data=function(t){t=n.getQueryElement(t);var e=t&&t.outlayerGUID;return e&&c[e]},r.create=function(t,e){var i=s(r);return i.defaults=n.extend({},r.defaults),n.extend(i.defaults,e),i.compatOptions=n.extend({},r.compatOptions),i.namespace=t,i.data=r.data,i.Item=s(o),n.htmlInit(i,t),u&&u.bridget&&u.bridget(t,i),i};var m={ms:1,s:1e3};return r.Item=o,r}),function(t,e){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("get-size")):t.Masonry=e(t.Outlayer,t.getSize)}(window,function(t,e){var i=t.create("masonry");i.compatOptions.fitWidth="isFitWidth";var n=i.prototype;return n._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var t=0;t<this.cols;t++)this.colYs.push(0);this.maxY=0,this.horizontalColIndex=0},n.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}var n=this.columnWidth+=this.gutter,o=this.containerWidth+this.gutter,r=o/n,s=n-o%n,a=s&&1>s?"round":"floor";r=Math[a](r),this.cols=Math.max(r,1)},n.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,n=e(i);this.containerWidth=n&&n.innerWidth},n._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?"round":"ceil",n=Math[i](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var o=this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition",r=this[o](n,t),s={x:this.columnWidth*r.col,y:r.y},a=r.y+t.size.outerHeight,h=n+r.col,u=r.col;h>u;u++)this.colYs[u]=a;return s},n._getTopColPosition=function(t){var e=this._getTopColGroup(t),i=Math.min.apply(Math,e);return{col:e.indexOf(i),y:i}},n._getTopColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++)e[n]=this._getColGroupY(n,t);return e},n._getColGroupY=function(t,e){if(2>e)return this.colYs[t];var i=this.colYs.slice(t,t+e);return Math.max.apply(Math,i)},n._getHorizontalColPosition=function(t,e){var i=this.horizontalColIndex%this.cols,n=t>1&&i+t>this.cols;i=n?0:i;var o=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=o?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},n._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption("originLeft"),r=o?n.left:n.right,s=r+i.outerWidth,a=Math.floor(r/this.columnWidth);a=Math.max(0,a);var h=Math.floor(s/this.columnWidth);h-=s%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var u=this._getOption("originTop"),d=(u?n.top:n.bottom)+i.outerHeight,l=a;h>=l;l++)this.colYs[l]=Math.max(d,this.colYs[l])},n._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},n._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},n.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i});
vendor: 19,741 bytes, line 39588
39588(window.webpackJsonp_name_=window.webpackJsonp_name_||[]).push([[1],[,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"isSchema",{enumerable:!0,get:function(){return r.isSchema}}),Object.defineProperty(n,"assertSchema",{enumerable:!0,get:function(){return r.assertSchema}}),Object.defineProperty(n,"GraphQLSchema",{enumerable:!0,get:function(){return r.GraphQLSchema}}),Object.defineProperty(n,"isType",{enumerable:!0,get:function(){return i.isType}}),Object.defineProperty(n,"isScalarType",{enumerable:!0,get:function(){return i.isScalarType}}),Object.defineProperty(n,"isObjectType",{enumerable:!0,get:function(){return i.isObjectType}}),Object.defineProperty(n,"isInterfaceType",{enumerable:!0,get:function(){return i.isInterfaceType}}),Object.defineProperty(n,"isUnionType",{enumerable:!0,get:function(){return i.isUnionType}}),Object.defineProperty(n,"isEnumType",{enumerable:!0,get:function(){return i.isEnumType}}),Object.defineProperty(n,"isInputObjectType",{enumerable:!0,get:function(){return i.isInputObjectType}}),Object.defineProperty(n,"isListType",{enumerable:!0,get:function(){return i.isListType}}),Object.defineProperty(n,"isNonNullType",{enumerable:!0,get:function(){return i.isNonNullType}}),Object.defineProperty(n,"isInputType",{enumerable:!0,get:function(){return i.isInputType}}),Object.defineProperty(n,"isOutputType",{enumerable:!0,get:function(){return i.isOutputType}}),Object.defineProperty(n,"isLeafType",{enumerable:!0,get:function(){return i.isLeafType}}),Object.defineProperty(n,"isCompositeType",{enumerable:!0,get:function(){return i.isCompositeType}}),Object.defineProperty(n,"isAbstractType",{enumerable:!0,get:function(){return i.isAbstractType}}),Object.defineProperty(n,"isWrappingType",{enumerable:!0,get:function(){return i.isWrappingType}}),Object.defineProperty(n,"isNullableType",{enumerable:!0,get:function(){return i.isNullableType}}),Object.defineProperty(n,"isNamedType",{enumerable:!0,get:function(){return i.isNamedType}}),Object.defineProperty(n,"isRequiredArgument",{enumerable:!0,get:function(){return i.isRequiredArgument}}),Object.defineProperty(n,"isRequiredInputField",{enumerable:!0,get:function(){return i.isRequiredInputField}}),Object.defineProperty(n,"assertType",{enumerable:!0,get:function(){return i.assertType}}),Object.defineProperty(n,"assertScalarType",{enumerable:!0,get:function(){return i.assertScalarType}}),Object.defineProperty(n,"assertObjectType",{enumerable:!0,get:function(){return i.assertObjectType}}),Object.defineProperty(n,"assertInterfaceType",{enumerable:!0,get:function(){return i.assertInterfaceType}}),Object.defineProperty(n,"assertUnionType",{enumerable:!0,get:function(){return i.assertUnionType}}),Object.defineProperty(n,"assertEnumType",{enumerable:!0,get:function(){return i.assertEnumType}}),Object.defineProperty(n,"assertInputObjectType",{enumerable:!0,get:function(){return i.assertInputObjectType}}),Object.defineProperty(n,"assertListType",{enumerable:!0,get:function(){return i.assertListType}}),Object.defineProperty(n,"assertNonNullType",{enumerable:!0,get:function(){return i.assertNonNullType}}),Object.defineProperty(n,"assertInputType",{enumerable:!0,get:function(){return i.assertInputType}}),Object.defineProperty(n,"assertOutputType",{enumerable:!0,get:function(){return i.assertOutputType}}),Object.defineProperty(n,"assertLeafType",{enumerable:!0,get:function(){return i.assertLeafType}}),Object.defineProperty(n,"assertCompositeType",{enumerable:!0,get:function(){return i.assertCompositeType}}),Object.defineProperty(n,"assertAbstractType",{enumerable:!0,get:function(){return i.assertAbstractType}}),Object.defineProperty(n,"assertWrappingType",{enumerable:!0,get:function(){return i.assertWrappingType}}),Object.defineProperty(n,"assertNullableType",{enumerable:!0,get:function(){return i.assertNullableType}}),Object.defineProperty(n,"assertNamedType",{enumerable:!0,get:function(){return i.assertNamedType}}),Object.defineProperty(n,"getNullableType",{enumerable:!0,get:function(){return i.getNullableType}}),Object.defineProperty(n,"getNamedType",{enumerable:!0,get:function(){return i.getNamedType}}),Object.defineProperty(n,"GraphQLScalarType",{enumerable:!0,get:function(){return i.GraphQLScalarType}}),Object.defineProperty(n,"GraphQLObjectType",{enumerable:!0,get:function(){return i.GraphQLObjectType}}),Object.defineProperty(n,"GraphQLInterfaceType",{enumerable:!0,get:function(){return i.GraphQLInterfaceType}}),Object.defineProperty(n,"GraphQLUnionType",{enumerable:!0,get:function(){return i.GraphQLUnionType}}),Object.defineProperty(n,"GraphQLEnumType",{enumerable:!0,get:function(){return i.GraphQLEnumType}}),Object.defineProperty(n,"GraphQLInputObjectType",{enumerable:!0,get:function(){return i.GraphQLInputObjectType}}),Object.defineProperty(n,"GraphQLList",{enumerable:!0,get:function(){return i.GraphQLList}}),Object.defineProperty(n,"GraphQLNonNull",{enumerable:!0,get:function(){return i.GraphQLNonNull}}),Object.defineProperty(n,"isDirective",{enumerable:!0,get:function(){return a.isDirective}}),Object.defineProperty(n,"assertDirective",{enumerable:!0,get:function(){return a.assertDirective}}),Object.defineProperty(n,"GraphQLDirective",{enumerable:!0,get:function(){return a.GraphQLDirective}}),Object.defineProperty(n,"isSpecifiedDirective",{enumerable:!0,get:function(){return a.isSpecifiedDirective}}),Object.defineProperty(n,"specifiedDirectives",{enumerable:!0,get:function(){return a.specifiedDirectives}}),Object.defineProperty(n,"GraphQLIncludeDirective",{enumerable:!0,get:function(){return a.GraphQLIncludeDirective}}),Object.defineProperty(n,"GraphQLSkipDirective",{enumerable:!0,get:function(){return a.GraphQLSkipDirective}}),Object.defineProperty(n,"GraphQLDeprecatedDirective",{enumerable:!0,get:function(){return a.GraphQLDeprecatedDirective}}),Object.defineProperty(n,"DEFAULT_DEPRECATION_REASON",{enumerable:!0,get:function(){return a.DEFAULT_DEPRECATION_REASON}}),Object.defineProperty(n,"isSpecifiedScalarType",{enumerable:!0,get:function(){return o.isSpecifiedScalarType}}),Object.defineProperty(n,"specifiedScalarTypes",{enumerable:!0,get:function(){return o.specifiedScalarTypes}}),Object.defineProperty(n,"GraphQLInt",{enumerable:!0,get:function(){return o.GraphQLInt}}),Object.defineProperty(n,"GraphQLFloat",{enumerable:!0,get:function(){return o.GraphQLFloat}}),Object.defineProperty(n,"GraphQLString",{enumerable:!0,get:function(){return o.GraphQLString}}),Object.defineProperty(n,"GraphQLBoolean",{enumerable:!0,get:function(){return o.GraphQLBoolean}}),Object.defineProperty(n,"GraphQLID",{enumerable:!0,get:function(){return o.GraphQLID}}),Object.defineProperty(n,"isIntrospectionType",{enumerable:!0,get:function(){return u.isIntrospectionType}}),Object.defineProperty(n,"introspectionTypes",{enumerable:!0,get:function(){return u.introspectionTypes}}),Object.defineProperty(n,"__Schema",{enumerable:!0,get:function(){return u.__Schema}}),Object.defineProperty(n,"__Directive",{enumerable:!0,get:function(){return u.__Directive}}),Object.defineProperty(n,"__DirectiveLocation",{enumerable:!0,get:function(){return u.__DirectiveLocation}}),Object.defineProperty(n,"__Type",{enumerable:!0,get:function(){return u.__Type}}),Object.defineProperty(n,"__Field",{enumerable:!0,get:function(){return u.__Field}}),Object.defineProperty(n,"__InputValue",{enumerable:!0,get:function(){return u.__InputValue}}),Object.defineProperty(n,"__EnumValue",{enumerable:!0,get:function(){return u.__EnumValue}}),Object.defineProperty(n,"__TypeKind",{enumerable:!0,get:function(){return u.__TypeKind}}),Object.defineProperty(n,"TypeKind",{enumerable:!0,get:function(){return u.TypeKind}}),Object.defineProperty(n,"SchemaMetaFieldDef",{enumerable:!0,get:function(){return u.SchemaMetaFieldDef}}),Object.defineProperty(n,"TypeMetaFieldDef",{enumerable:!0,get:function(){return u.TypeMetaFieldDef}}),Object.defineProperty(n,"TypeNameMetaFieldDef",{enumerable:!0,get:function(){return u.TypeNameMetaFieldDef}}),Object.defineProperty(n,"validateSchema",{enumerable:!0,get:function(){return c.validateSchema}}),Object.defineProperty(n,"assertValidSchema",{enumerable:!0,get:function(){return c.assertValidSchema}});var r=t(95),i=t(11),a=t(50),o=t(66),u=t(64),c=t(154)},,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.GraphQLError=u,n.printError=c;var r,i=(r=t(65))&&r.__esModule?r:{default:r},a=t(185),o=t(243);function u(e,n,t,r,o,c,s){var l=Array.isArray(n)?0!==n.length?n:void 0:n?[n]:void 0,f=t;if(!f&&l){var p=l[0];f=p&&p.loc&&p.loc.source}var d,v=r;!v&&l&&(v=l.reduce((function(e,n){return n.loc&&e.push(n.loc.start),e}),[])),v&&0===v.length&&(v=void 0),r&&t?d=r.map((function(e){return(0,a.getLocation)(t,e)})):l&&(d=l.reduce((function(e,n){return n.loc&&e.push((0,a.getLocation)(n.loc.source,n.loc.start)),e}),[]));var y=s;if(null==y&&null!=c){var h=c.extensions;(0,i.default)(h)&&(y=h)}Object.defineProperties(this,{message:{value:e,enumerable:!0,writable:!0},locations:{value:d||void 0,enumerable:Boolean(d)},path:{value:o||void 0,enumerable:Boolean(o)},nodes:{value:l||void 0},source:{value:f||void 0},positions:{value:v||void 0},originalError:{value:c},extensions:{value:y||void 0,enumerable:Boolean(y)}}),c&&c.stack?Object.defineProperty(this,"stack",{value:c.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,u):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}function c(e){var n=e.message;if(e.nodes)for(var t=0,r=e.nodes;t<r.length;t++){var i=r[t];i.loc&&(n+="\n\n"+(0,o.printLocation)(i.loc))}else if(e.source&&e.locations)for(var a=0,u=e.locations;a<u.length;a++){var c=u[a];n+="\n\n"+(0,o.printSourceLocation)(e.source,c)}return n}u.prototype=Object.create(Error.prototype,{constructor:{value:u},name:{value:"GraphQLError"},toString:{value:function(){return c(this)}}})},function(e,n,t){"use strict";t.r(n);var r=t(194);t.d(n,"version",(function(){return r.version})),t.d(n,"versionInfo",(function(){return r.versionInfo}));var i=t(195);t.d(n,"graphql",(function(){return i.graphql})),t.d(n,"graphqlSync",(function(){return i.graphqlSync}));var a=t(2);t.d(n,"GraphQLSchema",(function(){return a.GraphQLSchema})),t.d(n,"GraphQLDirective",(function(){return a.GraphQLDirective})),t.d(n,"GraphQLScalarType",(function(){return a.GraphQLScalarType})),t.d(n,"GraphQLObjectType",(function(){return a.GraphQLObjectType})),t.d(n,"GraphQLInterfaceType",(function(){return a.GraphQLInterfaceType})),t.d(n,"GraphQLUnionType",(function(){return a.GraphQLUnionType})),t.d(n,"GraphQLEnumType",(function(){return a.GraphQLEnumType})),t.d(n,"GraphQLInputObjectType",(function(){return a.GraphQLInputObjectType})),t.d(n,"GraphQLList",(function(){return a.GraphQLList})),t.d(n,"GraphQLNonNull",(function(){return a.GraphQLNonNull})),t.d(n,"specifiedScalarTypes",(function(){return a.specifiedScalarTypes})),t.d(n,"GraphQLInt",(function(){return a.GraphQLInt})),t.d(n,"GraphQLFloat",(function(){return a.GraphQLFloat})),t.d(n,"GraphQLString",(function(){return a.GraphQLString})),t.d(n,"GraphQLBoolean",(function(){return a.GraphQLBoolean})),t.d(n,"GraphQLID",(function(){return a.GraphQLID})),t.d(n,"specifiedDirectives",(function(){return a.specifiedDirectives})),t.d(n,"GraphQLIncludeDirective",(function(){return a.GraphQLIncludeDirective})),t.d(n,"GraphQLSkipDirective",(function(){return a.GraphQLSkipDirective})),t.d(n,"GraphQLDeprecatedDirective",(function(){return a.GraphQLDeprecatedDirective})),t.d(n,"TypeKind",(function(){return a.TypeKind})),t.d(n,"DEFAULT_DEPRECATION_REASON",(function(){return a.DEFAULT_DEPRECATION_REASON})),t.d(n,"introspectionTypes",(function(){return a.introspectionTypes})),t.d(n,"__Schema",(function(){return a.__Schema})),t.d(n,"__Directive",(function(){return a.__Directive})),t.d(n,"__DirectiveLocation",(function(){return a.__DirectiveLocation})),t.d(n,"__Type",(function(){return a.__Type})),t.d(n,"__Field",(function(){return a.__Field})),t.d(n,"__InputValue",(function(){return a.__InputValue})),t.d(n,"__EnumValue",(function(){return a.__EnumValue})),t.d(n,"__TypeKind",(function(){return a.__TypeKind})),t.d(n,"SchemaMetaFieldDef",(function(){return a.SchemaMetaFieldDef})),t.d(n,"TypeMetaFieldDef",(function(){return a.TypeMetaFieldDef})),t.d(n,"TypeNameMetaFieldDef",(function(){return a.TypeNameMetaFieldDef})),t.d(n,"isSchema",(function(){return a.isSchema})),t.d(n,"isDirective",(function(){return a.isDirective})),t.d(n,"isType",(function(){return a.isType})),t.d(n,"isScalarType",(function(){return a.isScalarType})),t.d(n,"isObjectType",(function(){return a.isObjectType})),t.d(n,"isInterfaceType",(function(){return a.isInterfaceType})),t.d(n,"isUnionType",(function(){return a.isUnionType})),t.d(n,"isEnumType",(function(){return a.isEnumType})),t.d(n,"isInputObjectType",(function(){return a.isInputObjectType})),t.d(n,"isListType",(function(){return a.isListType})),t.d(n,"isNonNullType",(function(){return a.isNonNullType})),t.d(n,"isInputType",(function(){return a.isInputType})),t.d(n,"isOutputType",(function(){return a.isOutputType})),t.d(n,"isLeafType",(function(){return a.isLeafType})),t.d(n,"isCompositeType",(function(){return a.isCompositeType})),t.d(n,"isAbstractType",(function(){return a.isAbstractType})),t.d(n,"isWrappingType",(function(){return a.isWrappingType})),t.d(n,"isNullableType",(function(){return a.isNullableType})),t.d(n,"isNamedType",(function(){return a.isNamedType})),t.d(n,"isRequiredArgument",(function(){return a.isRequiredArgument})),t.d(n,"isRequiredInputField",(function(){return a.isRequiredInputField})),t.d(n,"isSpecifiedScalarType",(function(){return a.isSpecifiedScalarType})),t.d(n,"isIntrospectionType",(function(){return a.isIntrospectionType})),t.d(n,"isSpecifiedDirective",(function(){return a.isSpecifiedDirective})),t.d(n,"assertSchema",(function(){return a.assertSchema})),t.d(n,"assertDirective",(function(){return a.assertDirective})),t.d(n,"assertType",(function(){return a.assertType})),t.d(n,"assertScalarType",(function(){return a.assertScalarType})),t.d(n,"assertObjectType",(function(){return a.assertObjectType})),t.d(n,"assertInterfaceType",(function(){return a.assertInterfaceType})),t.d(n,"assertUnionType",(function(){return a.assertUnionType})),t.d(n,"assertEnumType",(function(){return a.assertEnumType})),t.d(n,"assertInputObjectType",(function(){return a.assertInputObjectType})),t.d(n,"assertListType",(function(){return a.assertListType})),t.d(n,"assertNonNullType",(function(){return a.assertNonNullType})),t.d(n,"assertInputType",(function(){return a.assertInputType})),t.d(n,"assertOutputType",(function(){return a.assertOutputType})),t.d(n,"assertLeafType",(function(){return a.assertLeafType})),t.d(n,"assertCompositeType",(function(){return a.assertCompositeType})),t.d(n,"assertAbstractType",(function(){return a.assertAbstractType})),t.d(n,"assertWrappingType",(function(){return a.assertWrappingType})),t.d(n,"assertNullableType",(function(){return a.assertNullableType})),t.d(n,"assertNamedType",(function(){return a.assertNamedType})),t.d(n,"getNullableType",(function(){return a.getNullableType})),t.d(n,"getNamedType",(function(){return a.getNamedType})),t.d(n,"validateSchema",(function(){return a.validateSchema})),t.d(n,"assertValidSchema",(function(){return a.assertValidSchema}));var o=t(7);t.d(n,"Source",(function(){return o.Source})),t.d(n,"getLocation",(function(){return o.getLocation})),t.d(n,"printLocation",(function(){return o.printLocation})),t.d(n,"printSourceLocation",(function(){return o.printSourceLocation})),t.d(n,"createLexer",(function(){return o.createLexer})),t.d(n,"TokenKind",(function(){return o.TokenKind})),t.d(n,"parse",(function(){return o.parse})),t.d(n,"parseValue",(function(){return o.parseValue})),t.d(n,"parseType",(function(){return o.parseType})),t.d(n,"print",(function(){return o.print})),t.d(n,"visit",(function(){return o.visit})),t.d(n,"visitInParallel",(function(){return o.visitInParallel})),t.d(n,"visitWithTypeInfo",(function(){return o.visitWithTypeInfo})),t.d(n,"getVisitFn",(function(){return o.getVisitFn})),t.d(n,"BREAK",(function(){return o.BREAK})),t.d(n,"Kind",(function(){return o.Kind})),t.d(n,"DirectiveLocation",(function(){return o.DirectiveLocation})),t.d(n,"isDefinitionNode",(function(){return o.isDefinitionNode})),t.d(n,"isExecutableDefinitionNode",(function(){return o.isExecutableDefinitionNode})),t.d(n,"isSelectionNode",(function(){return o.isSelectionNode})),t.d(n,"isValueNode",(function(){return o.isValueNode})),t.d(n,"isTypeNode",(function(){return o.isTypeNode})),t.d(n,"isTypeSystemDefinitionNode",(function(){return o.isTypeSystemDefinitionNode})),t.d(n,"isTypeDefinitionNode",(function(){return o.isTypeDefinitionNode})),t.d(n,"isTypeSystemExtensionNode",(function(){return o.isTypeSystemExtensionNode})),t.d(n,"isTypeExtensionNode",(function(){return o.isTypeExtensionNode}));var u=t(115);t.d(n,"execute",(function(){return u.execute})),t.d(n,"defaultFieldResolver",(function(){return u.defaultFieldResolver})),t.d(n,"defaultTypeResolver",(function(){return u.defaultTypeResolver})),t.d(n,"responsePathAsArray",(function(){return u.responsePathAsArray})),t.d(n,"getDirectiveValues",(function(){return u.getDirectiveValues}));var c=t(198);t.d(n,"subscribe",(function(){return c.subscribe})),t.d(n,"createSourceEventStream",(function(){return c.createSourceEventStream}));var s=t(9);t.d(n,"validate",(function(){return s.validate})),t.d(n,"ValidationContext",(function(){return s.ValidationContext})),t.d(n,"specifiedRules",(function(){return s.specifiedRules})),t.d(n,"ExecutableDefinitionsRule",(function(){return s.ExecutableDefinitionsRule})),t.d(n,"FieldsOnCorrectTypeRule",(function(){return s.FieldsOnCorrectTypeRule})),t.d(n,"FragmentsOnCompositeTypesRule",(function(){return s.FragmentsOnCompositeTypesRule})),t.d(n,"KnownArgumentNamesRule",(function(){return s.KnownArgumentNamesRule})),t.d(n,"KnownDirectivesRule",(function(){return s.KnownDirectivesRule})),t.d(n,"KnownFragmentNamesRule",(function(){return s.KnownFragmentNamesRule})),t.d(n,"KnownTypeNamesRule",(function(){return s.KnownTypeNamesRule})),t.d(n,"LoneAnonymousOperationRule",(function(){return s.LoneAnonymousOperationRule})),t.d(n,"NoFragmentCyclesRule",(function(){return s.NoFragmentCyclesRule})),t.d(n,"NoUndefinedVariablesRule",(function(){return s.NoUndefinedVariablesRule})),t.d(n,"NoUnusedFragmentsRule",(function(){return s.NoUnusedFragmentsRule})),t.d(n,"NoUnusedVariablesRule",(function(){return s.NoUnusedVariablesRule})),t.d(n,"OverlappingFieldsCanBeMergedRule",(function(){return s.OverlappingFieldsCanBeMergedRule})),t.d(n,"PossibleFragmentSpreadsRule",(function(){return s.PossibleFragmentSpreadsRule})),t.d(n,"ProvidedRequiredArgumentsRule",(function(){return s.ProvidedRequiredArgumentsRule})),t.d(n,"ScalarLeafsRule",(function(){return s.ScalarLeafsRule})),t.d(n,"SingleFieldSubscriptionsRule",(function(){return s.SingleFieldSubscriptionsRule})),t.d(n,"UniqueArgumentNamesRule",(function(){return s.UniqueArgumentNamesRule})),t.d(n,"UniqueDirectivesPerLocationRule",(function(){return s.UniqueDirectivesPerLocationRule})),t.d(n,"UniqueFragmentNamesRule",(function(){return s.UniqueFragmentNamesRule})),t.d(n,"UniqueInputFieldNamesRule",(function(){return s.UniqueInputFieldNamesRule})),t.d(n,"UniqueOperationNamesRule",(function(){return s.UniqueOperationNamesRule})),t.d(n,"UniqueVariableNamesRule",(function(){return s.UniqueVariableNamesRule})),t.d(n,"ValuesOfCorrectTypeRule",(function(){return s.ValuesOfCorrectTypeRule})),t.d(n,"VariablesAreInputTypesRule",(function(){return s.VariablesAreInputTypesRule})),t.d(n,"VariablesInAllowedPositionRule",(function(){return s.VariablesInAllowedPositionRule}
39588)),t.d(n,"LoneSchemaDefinitionRule",(function(){return s.LoneSchemaDefinitionRule})),t.d(n,"UniqueOperationTypesRule",(function(){return s.UniqueOperationTypesRule})),t.d(n,"UniqueTypeNamesRule",(function(){return s.UniqueTypeNamesRule})),t.d(n,"UniqueEnumValueNamesRule",(function(){return s.UniqueEnumValueNamesRule})),t.d(n,"UniqueFieldDefinitionNamesRule",(function(){return s.UniqueFieldDefinitionNamesRule})),t.d(n,"UniqueDirectiveNamesRule",(function(){return s.UniqueDirectiveNamesRule})),t.d(n,"PossibleTypeExtensionsRule",(function(){return s.PossibleTypeExtensionsRule}));var l=t(81);t.d(n,"GraphQLError",(function(){return l.GraphQLError})),t.d(n,"syntaxError",(function(){return l.syntaxError})),t.d(n,"locatedError",(function(){return l.locatedError})),t.d(n,"printError",(function(){return l.printError})),t.d(n,"formatError",(function(){return l.formatError}));var f=t(8);t.d(n,"getIntrospectionQuery",(function(){return f.getIntrospectionQuery})),t.d(n,"introspectionQuery",(function(){return f.introspectionQuery})),t.d(n,"getOperationAST",(function(){return f.getOperationAST})),t.d(n,"getOperationRootType",(function(){return f.getOperationRootType})),t.d(n,"introspectionFromSchema",(function(){return f.introspectionFromSchema})),t.d(n,"buildClientSchema",(function(){return f.buildClientSchema})),t.d(n,"buildASTSchema",(function(){return f.buildASTSchema})),t.d(n,"buildSchema",(function(){return f.buildSchema})),t.d(n,"getDescription",(function(){return f.getDescription})),t.d(n,"extendSchema",(function(){return f.extendSchema})),t.d(n,"lexicographicSortSchema",(function(){return f.lexicographicSortSchema})),t.d(n,"printSchema",(function(){return f.printSchema})),t.d(n,"printType",(function(){return f.printType})),t.d(n,"printIntrospectionSchema",(function(){return f.printIntrospectionSchema})),t.d(n,"typeFromAST",(function(){return f.typeFromAST})),t.d(n,"valueFromAST",(function(){return f.valueFromAST})),t.d(n,"valueFromASTUntyped",(function(){return f.valueFromASTUntyped})),t.d(n,"astFromValue",(function(){return f.astFromValue})),t.d(n,"TypeInfo",(function(){return f.TypeInfo})),t.d(n,"coerceInputValue",(function(){return f.coerceInputValue})),t.d(n,"coerceValue",(function(){return f.coerceValue})),t.d(n,"isValidJSValue",(function(){return f.isValidJSValue})),t.d(n,"isValidLiteralValue",(function(){return f.isValidLiteralValue})),t.d(n,"concatAST",(function(){return f.concatAST})),t.d(n,"separateOperations",(function(){return f.separateOperations})),t.d(n,"stripIgnoredCharacters",(function(){return f.stripIgnoredCharacters})),t.d(n,"isEqualType",(function(){return f.isEqualType})),t.d(n,"isTypeSubTypeOf",(function(){return f.isTypeSubTypeOf})),t.d(n,"doTypesOverlap",(function(){return f.doTypesOverlap})),t.d(n,"assertValidName",(function(){return f.assertValidName})),t.d(n,"isValidNameError",(function(){return f.isValidNameError})),t.d(n,"BreakingChangeType",(function(){return f.BreakingChangeType})),t.d(n,"DangerousChangeType",(function(){return f.DangerousChangeType})),t.d(n,"findBreakingChanges",(function(){return f.findBreakingChanges})),t.d(n,"findDangerousChanges",(function(){return f.findDangerousChanges})),t.d(n,"findDeprecatedUsages",(function(){return f.findDeprecatedUsages}))},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"Source",{enumerable:!0,get:function(){return r.Source}}),Object.defineProperty(n,"getLocation",{enumerable:!0,get:function(){return i.getLocation}}),Object.defineProperty(n,"printLocation",{enumerable:!0,get:function(){return a.printLocation}}),Object.defineProperty(n,"printSourceLocation",{enumerable:!0,get:function(){return a.printSourceLocation}}),Object.defineProperty(n,"Kind",{enumerable:!0,get:function(){return o.Kind}}),Object.defineProperty(n,"TokenKind",{enumerable:!0,get:function(){return u.TokenKind}}),Object.defineProperty(n,"createLexer",{enumerable:!0,get:function(){return c.createLexer}}),Object.defineProperty(n,"parse",{enumerable:!0,get:function(){return s.parse}}),Object.defineProperty(n,"parseValue",{enumerable:!0,get:function(){return s.parseValue}}),Object.defineProperty(n,"parseType",{enumerable:!0,get:function(){return s.parseType}}),Object.defineProperty(n,"print",{enumerable:!0,get:function(){return l.print}}),Object.defineProperty(n,"visit",{enumerable:!0,get:function(){return f.visit}}),Object.defineProperty(n,"visitInParallel",{enumerable:!0,get:function(){return f.visitInParallel}}
39588),Object.defineProperty(n,"visitWithTypeInfo",{enumerable:!0,get:function(){return f.visitWithTypeInfo}}),Object.defineProperty(n,"getVisitFn",{enumerable:!0,get:function(){return f.getVisitFn}}),Object.defineProperty(n,"BREAK",{enumerable:!0,get:function(){return f.BREAK}}),Object.defineProperty(n,"isDefinitionNode",{enumerable:!0,get:function(){return p.isDefinitionNode}}),Object.defineProperty(n,"isExecutableDefinitionNode",{enumerable:!0,get:function(){return p.isExecutableDefinitionNode}}),Object.defineProperty(n,"isSelectionNode",{enumerable:!0,get:function(){return p.isSelectionNode}}),Object.defineProperty(n,"isValueNode",{enumerable:!0,get:function(){return p.isValueNode}}),Object.defineProperty(n,"isTypeNode",{enumerable:!0,get:function(){return p.isTypeNode}}),Object.defineProperty(n,"isTypeSystemDefinitionNode",{enumerable:!0,get:function(){return p.isTypeSystemDefinitionNode}}),Object.defineProperty(n,"isTypeDefinitionNode",{enumerable:!0,get:function(){return p.isTypeDefinitionNode}}),Object.defineProperty(n,"isTypeSystemExtensionNode",{enumerable:!0,get:function(){return p.isTypeSystemExtensionNode}}),Object.defineProperty(n,"isTypeExtensionNode",{enumerable:!0,get:function(){return p.isTypeExtensionNode}}),Object.defineProperty(n,"DirectiveLocation",{enumerable:!0,get:function(){return d.DirectiveLocation}});var r=t(184),i=t(185),a=t(243),o=t(18),u=t(120),c=t(186),s=t(122),l=t(63),f=t(28),p=t(110),d=t(123)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"getIntrospectionQuery",{enumerable:!0,get:function(){return r.getIntrospectionQuery}}),Object.defineProperty(n,"introspectionQuery",{enumerable:!0,get:function(){return r.introspectionQuery}}),Object.defineProperty(n,"getOperationAST",{enumerable:!0,get:function(){return i.getOperationAST}}),Object.defineProperty(n,"getOperationRootType",{enumerable:!0,get:function(){return a.getOperationRootType}}),Object.defineProperty(n,"introspectionFromSchema",{enumerable:!0,get:function(){return o.introspectionFromSchema}}),Object.defineProperty(n,"buildClientSchema",{enumerable:!0,get:function(){return u.buildClientSchema}}),Object.defineProperty(n,"buildASTSchema",{enumerable:!0,get:function(){return c.buildASTSchema}}),Object.defineProperty(n,"buildSchema",{enumerable:!0,get:function(){return c.buildSchema}}),Object.defineProperty(n,"getDescription",{enumerable:!0,get:function(){return c.getDescription}}),Object.defineProperty(n,"extendSchema",{enumerable:!0,get:function(){return s.extendSchema}}),Object.defineProperty(n,"lexicographicSortSchema",{enumerable:!0,get:function(){return l.lexicographicSortSchema}}),Object.defineProperty(n,"printSchema",{enumerable:!0,get:function(){return f.printSchema}}),Object.defineProperty(n,"printType",{enumerable:!0,get:function(){return f.printType}}),Object.defineProperty(n,"printIntrospectionSchema",{enumerable:!0,get:function(){return f.printIntrospectionSchema}}),Object.defineProperty(n,"typeFromAST",{enumerable:!0,get:function(){return p.typeFromAST}}),Object.defineProperty(n,"valueFromAST",{enumerable:!0,get:function(){return d.valueFromAST}}),Object.defineProperty(n,"valueFromASTUntyped",{enumerable:!0,get:function(){return v.valueFromASTUntyped}}),Object.defineProperty(n,"astFromValue",{enumerable:!0,get:function(){return y.astFromValue}}),Object.defineProperty(n,"TypeInfo",{enumerable:!0,get:function(){return h.TypeInfo}}),Object.defineProperty(n,"coerceInputValue",{enumerable:!0,get:function(){return m.coerceInputValue}}),Object.defineProperty(n,"coerceValue",{enumerable:!0,get:function(){return T.coerceValue}}),Object.defineProperty(n,"isValidJSValue",{enumerable:!0,get:function(){return g.isValidJSValue}}),Object.defineProperty(n,"isValidLiteralValue",{enumerable:!0,get:function(){return b.isValidLiteralValue}}),Object.defineProperty(n,"concatAST",{enumerable:!0,get:function(){return E.concatAST}}),Object.defineProperty(n,"separateOperations",{enumerable:!0,get:function(){return O.separateOperations}}),Object.defineProperty(n,"stripIgnoredCharacters",{enumerable:!0,get:function(){return _.stripIgnoredCharacters}}),Object.defineProperty(n,"isEqualType",{enumerable:!0,get:function(){return N.isEqualType}}),Object.defineProperty(n,"isTypeSubTypeOf",{enumerable:!0,get:function(){return N.isTypeSubTypeOf}}),Object.defineProperty(n,"doTypesOverlap",{enumerable:!0,get:function(){return N.doTypesOverlap}}),Object.defineProperty(n,"assertValidName",{enumerable:!0,get:function(){return I.assertValidName}}),Object.defineProperty(n,"isValidNameError",{enumerable:!0,get:function(){return I.isValidNameError}}),Object.defineProperty(n,"BreakingChangeType",{enumerable:!0,get:function(){return S.BreakingChangeType}}),Object.defineProperty(n,"DangerousChangeType",{enumerable:!0,get:function(){return S.DangerousChangeType}}),Object.defineProperty(n,"findBreakingChanges",{enumerable:!0,get:function(){return S.findBreakingChanges}}),Object.defineProperty(n,"findDangerousChanges",{enumerable:!0,get:function(){return S.findDangerousChanges}}),Object.defineProperty(n,"findDeprecatedUsages",{enumerable:!0,get:function(){return D.findDeprecatedUsages}});var r=t(282),i=t(337),a=t(191),o=t(338),u=t(339),c=t(283),s=t(340),l=t(341),f=t(342),p=t(67),d=t(159),v=t(248),y=t(157),h=t(128),m=t(193),T=t(284),g=t(343),b=t(344),E=t(345),O
39588=t(346),_=t(347),N=t(156),I=t(246),S=t(348),D=t(349)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"validate",{enumerable:!0,get:function(){return r.validate}}),Object.defineProperty(n,"ValidationContext",{enumerable:!0,get:function(){return i.ValidationContext}}),Object.defineProperty(n,"specifiedRules",{enumerable:!0,get:function(){return a.specifiedRules}}),Object.defineProperty(n,"ExecutableDefinitionsRule",{enumerable:!0,get:function(){return o.ExecutableDefinitions}}),Object.defineProperty(n,"FieldsOnCorrectTypeRule",{enumerable:!0,get:function(){return u.FieldsOnCorrectType}}),Object.defineProperty(n,"FragmentsOnCompositeTypesRule",{enumerable:!0,get:function(){return c.FragmentsOnCompositeTypes}}),Object.defineProperty(n,"KnownArgumentNamesRule",{enumerable:!0,get:function(){return s.KnownArgumentNames}}),Object.defineProperty(n,"KnownDirectivesRule",{enumerable:!0,get:function(){return l.KnownDirectives}}),Object.defineProperty(n,"KnownFragmentNamesRule",{enumerable:!0,get:function(){return f.KnownFragmentNames}}),Object.defineProperty(n,"KnownTypeNamesRule",{enumerable:!0,get:function(){return p.KnownTypeNames}}),Object.defineProperty(n,"LoneAnonymousOperationRule",{enumerable:!0,get:function(){return d.LoneAnonymousOperation}}),Object.defineProperty(n,"NoFragmentCyclesRule",{enumerable:!0,get:function(){return v.NoFragmentCycles}}),Object.defineProperty(n,"NoUndefinedVariablesRule",{enumerable:!0,get:function(){return y.NoUndefinedVariables}}),Object.defineProperty(n,"NoUnusedFragmentsRule",{enumerable:!0,get:function(){return h.NoUnusedFragments}}),Object.defineProperty(n,"NoUnusedVariablesRule",{enumerable:!0,get:function(){return m.NoUnusedVariables}}),Object.defineProperty(n,"OverlappingFieldsCanBeMergedRule",{enumerable:!0,get:function(){return T.OverlappingFieldsCanBeMerged}}),Object.defineProperty(n,"PossibleFragmentSpreadsRule",{enumerable:!0,get:function(){return g.PossibleFragmentSpreads}}),Object.defineProperty(n,"ProvidedRequiredArgumentsRule",{enumerable:!0,get:function(){return b.ProvidedRequiredArguments}}),Object.defineProperty(n,"ScalarLeafsRule",{enumerable:!0,get:function(){return E.ScalarLeafs}}),Object.defineProperty(n,"SingleFieldSubscriptionsRule",{enumerable:!0,get:function(){return O.SingleFieldSubscriptions}}),Object.defineProperty(n,"UniqueArgumentNamesRule",{enumerable:!0,get:function(){return _.UniqueArgumentNames}}),Object.defineProperty(n,"UniqueDirectivesPerLocationRule",{enumerable:!0,get:function(){return N.UniqueDirectivesPerLocation}}),Object.defineProperty(n,"UniqueFragmentNamesRule",{enumerable:!0,get:function(){return I.UniqueFragmentNames}}),Object.defineProperty(n,"UniqueInputFieldNamesRule",{enumerable:!0,get:function(){return S.UniqueInputFieldNames}}),Object.defineProperty(n,"UniqueOperationNamesRule",{enumerable:!0,get:function(){return D.UniqueOperationNames}}),Object.defineProperty(n,"UniqueVariableNamesRule",{enumerable:!0,get:function(){return L.UniqueVariableNames}}),Object.defineProperty(n,"ValuesOfCorrectTypeRule",{enumerable:!0,get:function(){return A.ValuesOfCorrectType}}),Object.defineProperty(n,"VariablesAreInputTypesRule",{enumerable:!0,get:function(){return j.VariablesAreInputTypes}}),Object.defineProperty(n,"VariablesInAllowedPositionRule",{enumerable:!0,get:function(){return w.VariablesInAllowedPosition}}),Object.defineProperty(n,"LoneSchemaDefinitionRule",{enumerable:!0,get:function(){return P.LoneSchemaDefinition}}),Object.defineProperty(n,"UniqueOperationTypesRule",{enumerable:!0,get:function(){return k.UniqueOperationTypes}}),Object.defineProperty(n,"UniqueTypeNamesRule",{enumerable:!0,get:function(){return F.UniqueTypeNames}}),Object.defineProperty(n,"UniqueEnumValueNamesRule",{enumerable:!0,get:function(){return R.UniqueEnumValueNames}}),Object.defineProperty(n,"UniqueFieldDefinitionNamesRule",{enumerable:!0,get:function(){return M.UniqueFieldDefinitionNames}}),Object.defineProperty(n,"UniqueDirectiveNamesRule",{enumerable:!0,get:function(){return x.UniqueDirectiveNames}}),Object.defineProperty(n,"PossibleTypeExtensionsRule",{enumerable:!0,get:function(){return G.PossibleTypeExtensions}});var r=t(160),i=t(197),a=t(249),o=t(250),u=t(258),c=t(255),s=t(269),l=t(267),f=t(260),p=t(254),d=t(252),v=t(263),y=t(265),h=t(261),m=t(266),T=t(273),g=t(262),b=t(271),E=t(257),O=t(253),_=t(270),N=t(268),I=t(259),S=t(274),D=t(251),L=t(264),A=t(196),j=t(256),w=t(272),P=t(275),k=t(276),F=t(277),R=t(278),M=t(279),x=t(280),G=t(281)},,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}
39588),n.isType=E,n.assertType=O,n.isScalarType=_,n.assertScalarType=function(e){if(!_(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL Scalar type."));return e},n.isObjectType=N,n.assertObjectType=function(e){if(!N(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL Object type."));return e},n.isInterfaceType=I,n.assertInterfaceType=function(e){if(!I(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL Interface type."));return e},n.isUnionType=S,n.assertUnionType=function(e){if(!S(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL Union type."));return e},n.isEnumType=D,n.assertEnumType=function(e){if(!D(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL Enum type."));return e},n.isInputObjectType=L,n.assertInputObjectType=function(e){if(!L(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL Input Object type."));return e},n.isListType=A,n.assertListType=function(e){if(!A(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL List type."));return e},n.isNonNullType=j,n.assertNonNullType=function(e){if(!j(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL Non-Null type."));return e},n.isInputType=w,n.assertInputType=function(e){if(!w(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL input type."));return e},n.isOutputType=P,n.assertOutputType=function(e){if(!P(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL output type."));return e},n.isLeafType=k,n.assertLeafType=function(e){if(!k(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL leaf type."));return e},n.isCompositeType=F,n.assertCompositeType=function(e){if(!F(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL composite type."));return e},n.isAbstractType=R,n.assertAbstractType=function(e){if(!R(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL abstract type."));return e},n.GraphQLList=M,n.GraphQLNonNull=x,n.isWrappingType=G,n.assertWrappingType=function(e){if(!G(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL wrapping type."));return e},n.isNullableType=V,n.assertNullableType=K,n.getNullableType=function(e){if(e)return j(e)?e.ofType:e},n.isNamedType=C,n.assertNamedType=function(e){if(!C(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL named type."));return e},n.getNamedType=function(e){if(e){for(var n=e;G(n);)n=n.ofType;return n}},n.argsToArgsConfig=H,n.isRequiredArgument=function(e){return j(e.type)&&void 0===e.defaultValue},n.isRequiredInputField=function(e){return j(e.type)&&void 0===e.defaultValue},n.GraphQLInputObjectType=n.GraphQLEnumType=n.GraphQLUnionType=n.GraphQLInterfaceType=n.GraphQLObjectType=n.GraphQLScalarType=void 0;var r=m(t(111)),i=m(t(13)),a=m(t(94)),o=m(t(247)),u=m(t(189)),c=m(t(59)),s=m(t(112)),l=m(t(190)),f=m(t(65)),p=m(t(331)),d=m(t(152)),v=m(t(151)),y=t(18),h=t(248);function m(e){return e&&e.__esModule?e:{default:e}}function T(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function g(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?T(t,!0).forEach((function(n){b(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):T(t).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function b(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function E(e){return _(e)||N(e)||I(e)||S(e)||D(e)||L(e)||A(e)||j(e)}function O(e){if(!E(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL type."));return e}function _(e){return(0,l.default)(e,B)}function N(e){return(0,l.default)(e,q)}function I(e){return(0,l.default)(e,z)}function S(e){return(0,l.default)(e,$)}function D(e){return(0,l.default)(e,ee)}function L(e){return(0,l.default)(e,ne)}function A(e){return(0,l.default)(e,M)}function j(e){return(0,l.default)(e,x)}function w(e){return _(e)||D(e)||L(e)||G(e)&&w(e.ofType)}function P(e){return _(e)||N(e)||I(e)||S(e)||D(e)||G(e)&&P(e.ofType)}function k(e){return _(e)||D(e)}function F(e){return N(e)||I(e)||S(e)}function R(e){return I(e)||S(e)}function M(e){if(!(this instanceof M))return new M(e);this.ofType=O(e)}function x(e){if(!(this instanceof x))return new x(e);this.ofType=K(e)}function G(e){return A(e)||j(e)}function V(e){return E(e)&&!j(e)}function K(e){if(!V(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL nullable type."));return e}function C(e){return _(e)||N(e)||I(e)||S(e)||D(e)||L(e)}function Q(e){return"function"==typeof e?e():e}function U(e){return e&&e.length>0?e:void 0}M.prototype.toString=function(){return"["+String(this.ofType)+"]"},(0,v.default)(M),(0,d.default)(M),x.prototype.toString=function(){return String(this.ofType)+"!"},(0,v.default)(x),(0,d.default)(x);var B=function(){function e(e){var n=e.parseValue||p.default;this.name=e.name,this.description=e.description,this.serialize=e.serialize||p.default,this.parseValue=n,this.parseLiteral=e.parseLiteral||function(e){return n((0,h.valueFromASTUntyped)(e))},this.extensions=e.extensions&&(0,u.default)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),"string"==typeof e.name||(0,c.default)(0,"Must provide name."),null==e.serialize||"function"==typeof e.serialize||(0,c.default)(0,"".concat(this.name,' must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.')),e.parseLiteral&&("function"==typeof e.parseValue&&"function"==typeof e.parseLiteral||(0,c.default)(0,"".concat(this.name,' must provide both "parseValue" and "parseLiteral" functions.')))}var n=e.prototype;return n.toConfig=function(){return{name:this.name,description:this.description,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},n.toString=function(){return this.name},e}();n.GraphQLScalarType=B,(0,v.default)(B),(0,d.default)(B);var q=function(){function e(e){this.name=e.name,this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=e.extensions&&(0,u.default)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),this._fields=J.bind(void 0,e),this._interfaces=Y.bind(void 0,e),"string"==typeof e.name||(0,c.default)(0,"Must provide name."),null==e.isTypeOf||"function"==typeof e.isTypeOf||(0,c.default)(0,"".concat(this.name,' must provide "isTypeOf" as a function, ')+"but got: ".concat((0,i.default)(e.isTypeOf),"."))}var n=e.prototype;return n.getFields=function(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields},n.getInterfaces=function(){return"function"==typeof this._interfaces&&
39588(this._interfaces=this._interfaces()),this._interfaces},n.toConfig=function(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:X(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},n.toString=function(){return this.name},e}();function Y(e){var n=Q(e.interfaces)||[];return Array.isArray(n)||(0,c.default)(0,"".concat(e.name," interfaces must be an Array or a function which returns an Array.")),n}function J(e){var n=Q(e.fields)||{};return W(n)||(0,c.default)(0,"".concat(e.name," fields must be an object with field names as keys or a function which returns such an object.")),(0,o.default)(n,(function(n,t){W(n)||(0,c.default)(0,"".concat(e.name,".").concat(t," field config must be an object")),!("isDeprecated"in n)||(0,c.default)(0,"".concat(e.name,".").concat(t,' should provide "deprecationReason" instead of "isDeprecated".')),null==n.resolve||"function"==typeof n.resolve||(0,c.default)(0,"".concat(e.name,".").concat(t," field resolver must be a function if ")+"provided, but got: ".concat((0,i.default)(n.resolve),"."));var a=n.args||{};W(a)||(0,c.default)(0,"".concat(e.name,".").concat(t," args must be an object with argument names as keys."));var o=(0,r.default)(a).map((function(e){var n=e[0],t=e[1];return{name:n,description:void 0===t.description?null:t.description,type:t.type,defaultValue:t.defaultValue,extensions:t.extensions&&(0,u.default)(t.extensions),astNode:t.astNode}}));return g({},n,{name:t,description:n.description,type:n.type,args:o,resolve:n.resolve,subscribe:n.subscribe,isDeprecated:Boolean(n.deprecationReason),deprecationReason:n.deprecationReason,extensions:n.extensions&&(0,u.default)(n.extensions),astNode:n.astNode})}))}function W(e){return(0,f.default)(e)&&!Array.isArray(e)}function X(e){return(0,o.default)(e,(function(e){return{description:e.description,type:e.type,args:H(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}}))}function H(e){return(0,s.default)(e,(function(e){return e.name}),(function(e){return{description:e.description,type:e.type,defaultValue:e.defaultValue,extensions:e.extensions,astNode:e.astNode}}))}n.GraphQLObjectType=q,(0,v.default)(q),(0,d.default)(q);var z=function(){function e(e){this.name=e.name,this.description=e.description,this.resolveType=e.resolveType,this.extensions=e.extensions&&(0,u.default)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),this._fields=J.bind(void 0,e),"string"==typeof e.name||(0,c.default)(0,"Must provide name."),null==e.resolveType||"function"==typeof e.resolveType||(0,c.default)(0,"".concat(this.name,' must provide "resolveType" as a function, ')+"but got: ".concat((0,i.default)(e.resolveType),"."))}var n=e.prototype;return n.getFields=function(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields},n.toConfig=function(){return{name:this.name,description:this.description,fields:X(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},n.toString=function(){return this.name},e}();n.GraphQLInterfaceType=z,(0,v.default)(z),(0,d.default)(z);var $=function(){function e(e){this.name=e.name,this.description=e.description,this.resolveType=e.resolveType,this.extensions=e.extensions&&(0,u.default)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),this._types=Z.bind(void 0,e),"string"==typeof e.name||(0,c.default)(0,"Must provide name."),null==e.resolveType||"function"==typeof e.resolveType||(0,c.default)(0,"".concat(this.name,' must provide "resolveType" as a function, ')+"but got: ".concat((0,i.default)(e.resolveType),"."))}var n=e.prototype;return n.getTypes=function(){return"function"==typeof this._types&&(this._types=this._types()),this._types},n.toConfig=function(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},n.toString=function(){return this.name},e}();function Z(e){var n=Q(e.types)||[];return Array.isArray(n)||(0,c.default)(0,"Must provide Array of types or a function which returns such an array for Union ".concat(e.name,".")),n}n.GraphQLUnionType=$,(0,v.default)($),(0,d.default)($);var ee=function(){function e(e){var n,t;this.name=e.name,this.description=e.description,this.extensions=e.extensions&&(0,u.default)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),this._values=(n=this.name,W(t=e.values)||(0,c.default)(0,"".concat(n," values must be an object with value names as keys.")),(0,r.default)(t).map((function(e){var t=e[0],r=e[1];return W(r)||(0,c.default)(0,"".concat(n,".").concat(t,' must refer to an object with a "value" key ')+"representing an internal value but got: ".concat((0,i.default)(r),".")),!("isDeprecated"in r)||(0,c.default)(0,"".concat(n,".").concat(t,' should provide "deprecationReason" instead of "isDeprecated".')),{name:t,description:r.description,value:"value"in r?r.value:t,isDeprecated:Boolean(r.deprecationReason),deprecationReason:r.deprecationReason,extensions:r.extensions&&(0,u.default)(r.extensions),astNode:r.astNode}}))),this._valueLookup=new Map(this._values.map((function(e){return[e.value,e]}))),this._nameLookup=(0,a.default)(this._values,(function(e){return e.name})),"string"==typeof e.name||(0,c.default)(0,"Must provide name.")}var n=e.prototype;return n.getValues=function(){return this._values},n.getValue=function(e){return this._nameLookup[e]},n.serialize=function(e){var n=this._valueLookup.get(e);if(n)return n.name},n.parseValue=function(e){if("string"==typeof e){var n=this.getValue(e);if(n)return n.value}},n.parseLiteral=function(e,n){if(e.kind===y.Kind.ENUM){var t=this.getValue(e.value);if(t)return t.value}},n.toConfig=function(){var e=(0,s.default)(this.getValues(),(function(e){return e.name}),(function(e){return{description:e.description,value:e.value,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}}));return{name:this.name,description:this.description,values:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},n.toString=function(){return this.name},e}();n.GraphQLEnumType=ee,(0,v.default)(ee),(0,d.default)(ee);var ne=function(){function e(e){this.name=e.name,this.description=e.description,this.extensions=e.extensions&&(0,u.default)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),this._fields=te.bind(void 0,e),"string"==typeof e.name||(0,c.default)(0,"Must provide name.")}var n=e.prototype;return n.getFields=function(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields},n.toConfig=function(){var e=(0,o.default)(this.getFields(),(function(e){return{description:e.description,type:e.type,defaultValue:e.defaultValue,extensions:e.extensions,astNode:e.astNode}}));return{name:this.name,description:this.description,fields:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},n.toString=function(){return this.name},e}();function te(e){var n=Q(e.fields)||{};return W(n)||(0,c.default)(0,"".concat(e.name," fields must be an object with field names as keys or a function which returns such an object.")),(0,o.default)(n,(function(n,t){return!("resolve"in n)||(0,c.default)(0,"".concat(e.name,".").concat(t," field has a resolve property, but Input Types cannot define resolvers.")),g({},n,{name:t,description:n.description,type:n.type,defaultValue:n.defaultValue,extensions:n.extensions&&(0,u.default)(n.extensions),astNode:n.astNode})}))}n.GraphQLInputObjectType=ne,(0,v.default)(ne),(0,d.default)(ne)},,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return o(e,[])};var r,i=(r=t(244))&&r.__esModule?r:{default:r};function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,n){switch(a(e)){case"string":return JSON.stringify(e);case"function":return e.name?"[function ".concat(e.name,"]"):"[function]";case"object":return null===e?"null":function(e,n){if(-1!==n.indexOf(e))return"[Circular]";var t=[].concat(n,[e]),r=function(e){var n=e[String(i.default)];if("function"==typeof n)return n;if("function"==typeof e.inspect)return e.inspect}(e);if(void 0!==r){var a=r.call(e);
39588if(a!==e)return"string"==typeof a?a:o(a,t)}else if(Array.isArray(e))return function(e,n){if(0===e.length)return"[]";if(n.length>2)return"[Array]";for(var t=Math.min(10,e.length),r=e.length-t,i=[],a=0;a<t;++a)i.push(o(e[a],n));1===r?i.push("... 1 more item"):r>1&&i.push("... ".concat(r," more items"));return"["+i.join(", ")+"]"}(e,t);return function(e,n){var t=Object.keys(e);if(0===t.length)return"{}";if(n.length>2)return"["+function(e){var n=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===n&&"function"==typeof e.constructor){var t=e.constructor.name;if("string"==typeof t&&""!==t)return t}return n}(e)+"]";return"{ "+t.map((function(t){return t+": "+o(e[t],n)})).join(", ")+" }"}(e,t)}(e,n);default:return String(e)}}},,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Kind=void 0;var r=Object.freeze({NAME:"Name",DOCUMENT:"Document",OPERATION_DEFINITION:"OperationDefinition",VARIABLE_DEFINITION:"VariableDefinition",SELECTION_SET:"SelectionSet",FIELD:"Field",ARGUMENT:"Argument",FRAGMENT_SPREAD:"FragmentSpread",INLINE_FRAGMENT:"InlineFragment",FRAGMENT_DEFINITION:"FragmentDefinition",VARIABLE:"Variable",INT:"IntValue",FLOAT:"FloatValue",STRING:"StringValue",BOOLEAN:"BooleanValue",NULL:"NullValue",ENUM:"EnumValue",LIST:"ListValue",OBJECT:"ObjectValue",OBJECT_FIELD:"ObjectField",DIRECTIVE:"Directive",NAMED_TYPE:"NamedType",LIST_TYPE:"ListType",NON_NULL_TYPE:"NonNullType",SCHEMA_DEFINITION:"SchemaDefinition",OPERATION_TYPE_DEFINITION:"OperationTypeDefinition",SCALAR_TYPE_DEFINITION:"ScalarTypeDefinition",OBJECT_TYPE_DEFINITION:"ObjectTypeDefinition",FIELD_DEFINITION:"FieldDefinition",INPUT_VALUE_DEFINITION:"InputValueDefinition",INTERFACE_TYPE_DEFINITION:"InterfaceTypeDefinition",UNION_TYPE_DEFINITION:"UnionTypeDefinition",ENUM_TYPE_DEFINITION:"EnumTypeDefinition",ENUM_VALUE_DEFINITION:"EnumValueDefinition",INPUT_OBJECT_TYPE_DEFINITION:"InputObjectTypeDefinition",DIRECTIVE_DEFINITION:"DirectiveDefinition",SCHEMA_EXTENSION:"SchemaExtension",SCALAR_TYPE_EXTENSION:"ScalarTypeExtension",OBJECT_TYPE_EXTENSION:"ObjectTypeExtension",INTERFACE_TYPE_EXTENSION:"InterfaceTypeExtension",UNION_TYPE_EXTENSION:"UnionTypeExtension",ENUM_TYPE_EXTENSION:"EnumTypeExtension",INPUT_OBJECT_TYPE_EXTENSION:"InputObjectTypeExtension"});n.Kind=r},,,,,function(e,n,t){"use strict";t.r(n),t.d(n,"gql",(function(){return p})),t.d(n,"resetCaches",(function(){return d})),t.d(n,"disableFragmentWarnings",(function(){return v})),t.d(n,"enableExperimentalFragmentVariables",(function(){return y})),t.d(n,"disableExperimentalFragmentVariables",(function(){return h}));var r=function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};Object.create;Object.create;var i=t(7),a=new Map,o=new Map,u=!0,c=!1;function s(e){return e.replace(/[\s,]+/g," ").trim()}function l(e){var n=new Set,t=[];return e.definitions.forEach((function(e){if("FragmentDefinition"===e.kind){var r=e.name.value,i=s((c=e.loc).source.body.substring(c.start,c.end)),a=o.get(r);a&&!a.has(i)?u&&console.warn("Warning: fragment with name "+r+" already exists.\ngraphql-tag enforces all fragment names across your application to be unique; read more about\nthis in the docs: http://dev.apollodata.com/core/fragments.html#unique-names"):a||o.set(r,a=new Set),a.add(i),n.has(i)||(n.add(i),t.push(e))}else t.push(e);var c})),r(r({},e),{definitions:t})}function f(e){var n=s(e);if(!a.has(n)){var t=Object(i.parse)(e,{experimentalFragmentVariables:c});if(!t||"Document"!==t.kind)throw new Error("Not a valid GraphQL document.");a.set(n,function(e){var n=new Set(e.definitions);n.forEach((function(e){e.loc&&delete e.loc,Object.keys(e).forEach((function(t){var r=e[t];r&&"object"==typeof r&&n.add(r)}))}));var t=e.loc;return t&&(delete t.startToken,delete t.endToken),e}(l(t)))}return a.get(n)}function p(e){for(var n=[],t=1;t<arguments.length;t++)n[t-1]=arguments[t];"string"==typeof e&&(e=[e]);var r=e[0];
39588return n.forEach((function(n,t){n&&"Document"===n.kind?r+=n.loc.source.body:r+=n,r+=e[t+1]})),f(r)}function d(){a.clear(),o.clear()}function v(){u=!1}function y(){c=!0}function h(){c=!1}var m,T={gql:p,resetCaches:d,disableFragmentWarnings:v,enableExperimentalFragmentVariables:y,disableExperimentalFragmentVariables:h};(m=p||(p={})).gql=T.gql,m.resetCaches=T.resetCaches,m.disableFragmentWarnings=T.disableFragmentWarnings,m.enableExperimentalFragmentVariables=T.enableExperimentalFragmentVariables,m.disableExperimentalFragmentVariables=T.disableExperimentalFragmentVariables,p.default=p;n.default=p},,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.visit=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a,r=void 0,s=Array.isArray(e),l=[e],f=-1,p=[],d=void 0,v=void 0,y=void 0,h=[],m=[],T=e;do{var g=++f===l.length,b=g&&0!==p.length;if(g){if(v=0===m.length?void 0:h[h.length-1],d=y,y=m.pop(),b){if(s)d=d.slice();else{for(var E={},O=0,_=Object.keys(d);O<_.length;O++){var N=_[O];E[N]=d[N]}d=E}for(var I=0,S=0;S<p.length;S++){var D=p[S][0],L=p[S][1];s&&(D-=I),s&&null===L?(d.splice(D,1),I++):d[D]=L}}f=r.index,l=r.keys,p=r.edits,s=r.inArray,r=r.prev}else{if(v=y?s?f:l[f]:void 0,null==(d=y?y[v]:T))continue;y&&h.push(v)}var A=void 0;if(!Array.isArray(d)){if(!u(d))throw new Error("Invalid AST Node: "+(0,i.default)(d));var j=c(n,d.kind,g);if(j){if((A=j.call(n,d,v,y,h,m))===o)break;if(!1===A){if(!g){h.pop();continue}}else if(void 0!==A&&(p.push([v,A]),!g)){if(!u(A)){h.pop();continue}d=A}}}void 0===A&&b&&p.push([v,d]),g?h.pop():(r={inArray:s,index:f,keys:l,edits:p,prev:r},s=Array.isArray(d),l=s?d:t[d.kind]||[],f=-1,p=[],y&&m.push(y),y=d)}while(void 0!==r);0!==p.length&&(T=p[p.length-1][1]);return T},n.visitInParallel=function(e){var n=new Array(e.length);return{enter:function(t){for(var r=0;r<e.length;r++)if(!n[r]){var i=c(e[r],t.kind,!1);if(i){var a=i.apply(e[r],arguments);if(!1===a)n[r]=t;else if(a===o)n[r]=o;else if(void 0!==a)return a}}},leave:function(t){for(var r=0;r<e.length;r++)if(n[r])n[r]===t&&(n[r]=null);else{var i=c(e[r],t.kind,!0);if(i){var a=i.apply(e[r],arguments);if(a===o)n[r]=o;else if(void 0!==a&&!1!==a)return a}}}}},n.visitWithTypeInfo=function(e,n){return{enter:function(t){e.enter(t);var r=c(n,t.kind,!1);if(r){var i=r.apply(n,arguments);return void 0!==i&&(e.leave(t),u(i)&&e.enter(i)),i}},leave:function(t){var r,i=c(n,t.kind,!0);return i&&(r=i.apply(n,arguments)),e.leave(t),r}}},n.getVisitFn=c,n.BREAK=n.QueryDocumentKeys=void 0;var r,i=(r=t(13))&&r.__esModule?r:{default:r};var a={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]};n.QueryDocumentKeys=a;var o=Object.freeze({});function u(e){return Boolean(e&&"string"==typeof e.kind)}function c(e,n,t){var r=e[n];if(r){if(!t&&"function"==typeof r)return r;var i=t?r.leave:r.enter;if("function"==typeof i)return i}else{var a=t?e.leave:e.enter;if(a){if("function"==typeof a)return a;var o=a[n];if("function"==typeof o)return o}}}n.BREAK=o},,,,,,,,,,,,,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n){if(!Boolean(e))throw new Error(n||"Unexpected invariant triggered")}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=Object.values||function(e){return Object.keys(e).map((function(n){return e[n]}))};n.default=r},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isDirective=y,n.assertDirective=function(e){if(!y(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL directive."));return e},n.isSpecifiedDirective=function(e){return y(e)&&b.some((function(n){return n.name===e.name}))},n.specifiedDirectives=n.GraphQLDeprecatedDirective=n.DEFAULT_DEPRECATION_REASON=n.GraphQLSkipDirective=n.GraphQLIncludeDirective=n.GraphQLDirective=void 0;var r=v(t(111)),i=v(t(13)),a=v(t(189)),o=v(t(59)),u=v(t(190)),c=v(t(152)),s=v(t(65)),l=v(t(151)),f=t(123),p=t(66),d=t(11);
39588function v(e){return e&&e.__esModule?e:{default:e}}function y(e){return(0,u.default)(e,h)}var h=function(){function e(e){this.name=e.name,this.description=e.description,this.locations=e.locations,this.isRepeatable=null!=e.isRepeatable&&e.isRepeatable,this.extensions=e.extensions&&(0,a.default)(e.extensions),this.astNode=e.astNode,e.name||(0,o.default)(0,"Directive must be named."),Array.isArray(e.locations)||(0,o.default)(0,"@".concat(e.name," locations must be an Array."));var n=e.args||{};(0,s.default)(n)&&!Array.isArray(n)||(0,o.default)(0,"@".concat(e.name," args must be an object with argument names as keys.")),this.args=(0,r.default)(n).map((function(e){var n=e[0],t=e[1];return{name:n,description:void 0===t.description?null:t.description,type:t.type,defaultValue:t.defaultValue,extensions:t.extensions&&(0,a.default)(t.extensions),astNode:t.astNode}}))}var n=e.prototype;return n.toString=function(){return"@"+this.name},n.toConfig=function(){return{name:this.name,description:this.description,locations:this.locations,args:(0,d.argsToArgsConfig)(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}},e}();n.GraphQLDirective=h,(0,l.default)(h),(0,c.default)(h);var m=new h({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[f.DirectiveLocation.FIELD,f.DirectiveLocation.FRAGMENT_SPREAD,f.DirectiveLocation.INLINE_FRAGMENT],args:{if:{type:(0,d.GraphQLNonNull)(p.GraphQLBoolean),description:"Included when true."}}});n.GraphQLIncludeDirective=m;var T=new h({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[f.DirectiveLocation.FIELD,f.DirectiveLocation.FRAGMENT_SPREAD,f.DirectiveLocation.INLINE_FRAGMENT],args:{if:{type:(0,d.GraphQLNonNull)(p.GraphQLBoolean),description:"Skipped when true."}}});n.GraphQLSkipDirective=T;n.DEFAULT_DEPRECATION_REASON="No longer supported";var g=new h({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[f.DirectiveLocation.FIELD_DEFINITION,f.DirectiveLocation.ENUM_VALUE],args:{reason:{type:p.GraphQLString,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax (as specified by [CommonMark](https://commonmark.org/).",defaultValue:"No longer supported"}}});n.GraphQLDeprecatedDirective=g;var b=Object.freeze([m,T,g]);n.specifiedDirectives=b},,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n){if(!Boolean(e))throw new Error(n)}},,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.print=function(e){return(0,r.visit)(e,{leave:a})};var r=t(28),i=t(121);var a={Name:function(e){return e.value},Variable:function(e){return"$"+e.name},Document:function(e){return u(e.definitions,"\n\n")+"\n"},OperationDefinition:function(e){var n=e.operation,t=e.name,r=s("(",u(e.variableDefinitions,", "),")"),i=u(e.directives," "),a=e.selectionSet;return t||i||r||"query"!==n?u([n,u([t,r]),i,a]," "):a},VariableDefinition:function(e){var n=e.variable,t=e.type,r=e.defaultValue,i=e.directives;return n+": "+t+s(" = ",r)+s(" ",u(i," "))},SelectionSet:function(e){return c(e.selections)},Field:function(e){var n=e.alias,t=e.name,r=e.arguments,i=e.directives,a=e.selectionSet;return u([s("",n,": ")+t+s("(",u(r,", "),")"),u(i," "),a]," ")},Argument:function(e){return e.name+": "+e.value},FragmentSpread:function(e){return"..."+e.name+s(" ",u(e.directives," "))},InlineFragment:function(e){var n=e.typeCondition,t=e.directives,r=e.selectionSet;return u(["...",s("on ",n),u(t," "),r]," ")},FragmentDefinition:function(e){var n=e.name,t=e.typeCondition,r=e.variableDefinitions,i=e.directives,a=e.selectionSet;return"fragment ".concat(n).concat(s("(",u(r,", "),")")," ")+"on ".concat(t," ").concat(s("",u(i," ")," "))+a},IntValue:function(e){return e.value},FloatValue:function(e){return e.value},StringValue:function(e,n){var t=e.value;return e.block?(0,i.printBlockString)(t,"description"===n?"":" "):JSON.stringify(t)},BooleanValue:function(e){return e.value?"true":"false"},NullValue:function(){return"null"},EnumValue:function(e){return e.value},ListValue:function(e){return"["+u(e.values,", ")+"]"},ObjectValue:function(e){return"{"+u(e.fields,", ")+"}"},ObjectField:function(e){return e.name+": "+e.value}
vendor: 4,586 bytes, line 39588
39588,Directive:function(e){return"@"+e.name+s("(",u(e.arguments,", "),")")},NamedType:function(e){return e.name},ListType:function(e){return"["+e.type+"]"},NonNullType:function(e){return e.type+"!"},SchemaDefinition:function(e){var n=e.directives,t=e.operationTypes;return u(["schema",u(n," "),c(t)]," ")},OperationTypeDefinition:function(e){return e.operation+": "+e.type},ScalarTypeDefinition:o((function(e){return u(["scalar",e.name,u(e.directives," ")]," ")})),ObjectTypeDefinition:o((function(e){var n=e.name,t=e.interfaces,r=e.directives,i=e.fields;return u(["type",n,s("implements ",u(t," & ")),u(r," "),c(i)]," ")})),FieldDefinition:o((function(e){var n=e.name,t=e.arguments,r=e.type,i=e.directives;return n+(p(t)?s("(\n",l(u(t,"\n")),"\n)"):s("(",u(t,", "),")"))+": "+r+s(" ",u(i," "))})),InputValueDefinition:o((function(e){var n=e.name,t=e.type,r=e.defaultValue,i=e.directives;return u([n+": "+t,s("= ",r),u(i," ")]," ")})),InterfaceTypeDefinition:o((function(e){var n=e.name,t=e.directives,r=e.fields;return u(["interface",n,u(t," "),c(r)]," ")})),UnionTypeDefinition:o((function(e){var n=e.name,t=e.directives,r=e.types;return u(["union",n,u(t," "),r&&0!==r.length?"= "+u(r," | "):""]," ")})),EnumTypeDefinition:o((function(e){var n=e.name,t=e.directives,r=e.values;return u(["enum",n,u(t," "),c(r)]," ")})),EnumValueDefinition:o((function(e){return u([e.name,u(e.directives," ")]," ")})),InputObjectTypeDefinition:o((function(e){var n=e.name,t=e.directives,r=e.fields;return u(["input",n,u(t," "),c(r)]," ")})),DirectiveDefinition:o((function(e){var n=e.name,t=e.arguments,r=e.repeatable,i=e.locations;return"directive @"+n+(p(t)?s("(\n",l(u(t,"\n")),"\n)"):s("(",u(t,", "),")"))+(r?" repeatable":"")+" on "+u(i," | ")})),SchemaExtension:function(e){var n=e.directives,t=e.operationTypes;return u(["extend schema",u(n," "),c(t)]," ")},ScalarTypeExtension:function(e){return u(["extend scalar",e.name,u(e.directives," ")]," ")},ObjectTypeExtension:function(e){var n=e.name,t=e.interfaces,r=e.directives,i=e.fields;return u(["extend type",n,s("implements ",u(t," & ")),u(r," "),c(i)]," ")},InterfaceTypeExtension:function(e){var n=e.name,t=e.directives,r=e.fields;return u(["extend interface",n,u(t," "),c(r)]," ")},UnionTypeExtension:function(e){var n=e.name,t=e.directives,r=e.types;return u(["extend union",n,u(t," "),r&&0!==r.length?"= "+u(r," | "):""]," ")},EnumTypeExtension:function(e){var n=e.name,t=e.directives,r=e.values;return u(["extend enum",n,u(t," "),c(r)]," ")},InputObjectTypeExtension:function(e){var n=e.name,t=e.directives,r=e.fields;return u(["extend input",n,u(t," "),c(r)]," ")}};function o(e){return function(n){return u([n.description,e(n)],"\n")}}function u(e,n){return e?e.filter((function(e){return e})).join(n||""):""}function c(e){return e&&0!==e.length?"{\n"+l(u(e,"\n"))+"\n}":""}function s(e,n,t){return n?e+n+(t||""):""}function l(e){return e&&" "+e.replace(/\n/g,"\n ")}function f(e){return-1!==e.indexOf("\n")}function p(e){return e&&e.some(f)}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isIntrospectionType=function(e){return(0,l.isNamedType)(e)&&N.some((function(n){var t=n.name;return e.name===t}))},n.introspectionTypes=n.TypeNameMetaFieldDef=n.TypeMetaFieldDef=n.SchemaMetaFieldDef=n.__TypeKind=n.TypeKind=n.__EnumValue=n.__InputValue=n.__Field=n.__Type=n.__DirectiveLocation=n.__Directive=n.__Schema=void 0;var r=f(t(49)),i=f(t(13)),a=f(t(48)),o=t(63),u=t(123),c=t(157),s=t(66),l=t(11);function f(e){return e&&e.__esModule?e:{default:e}}var p=new l.GraphQLObjectType({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:function(){return{types:{description:"A list of all types supported by this server.",type:(0,l.GraphQLNonNull)((0,l.GraphQLList)((0,l.GraphQLNonNull)(y))),resolve:function(e){return(0,r.default)(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:(0,l.GraphQLNonNull)(y),resolve:function(e){return e.getQueryType()}},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:y,resolve:function(e){return e.getMutationType()}},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:y,resolve:function(e){return e.getSubscriptionType()}},directives:{description:"A list of all directives supported by this
39588server.",type:(0,l.GraphQLNonNull)((0,l.GraphQLList)((0,l.GraphQLNonNull)(d))),resolve:function(e){return e.getDirectives()}}}}});n.__Schema=p;var d=new l.GraphQLObjectType({name:"__Directive",description:"A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.",fields:function(){return{name:{type:(0,l.GraphQLNonNull)(s.GraphQLString),resolve:function(e){return e.name}},description:{type:s.GraphQLString,resolve:function(e){return e.description}},locations:{type:(0,l.GraphQLNonNull)((0,l.GraphQLList)((0,l.GraphQLNonNull)(v))),resolve:function(e){return e.locations}},args:{type:(0,l.GraphQLNonNull)((0,l.GraphQLList)((0,l.GraphQLNonNull)(m))),resolve:function(e){return e.args}}}}});n.__Directive=d;var v=new l.GraphQLEnumType({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:u.DirectiveLocation.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:u.DirectiveLocation.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:u.DirectiveLocation.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:u.DirectiveLocation.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:u.DirectiveLocation.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:u.DirectiveLocation.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:u.DirectiveLocation.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:u.DirectiveLocation.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:u.DirectiveLocation.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:u.DirectiveLocation.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:u.DirectiveLocation.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:u.DirectiveLocation.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:u.DirectiveLocation.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:u.DirectiveLocation.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:u.DirectiveLocation.UNION,description:"Location adjacent to a union definition."},ENUM:{value:u.DirectiveLocation.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:u.DirectiveLocation.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:u.DirectiveLocation.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:u.DirectiveLocation.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}});n.__DirectiveLocation=v;var y=new l.GraphQLObjectType({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:function(){return{kind:{type:(0,l.GraphQLNonNull)(b),resolve:function(e){return(0,l.isScalarType)(e)?g.SCALAR:(0,l.isObjectType)(e)?g.OBJECT:(0,l.isInterfaceType)(e)?g.INTERFACE:(0,l.isUnionType)(e)?g.UNION:(0,l.isEnumType)(e)?g.ENUM:(0,l.isInputObjectType)(e)?g.INPUT_OBJECT:(0,l.isListType)(e)?g.LIST:(0,l.isNonNullType)(e)?g.NON_NULL:void(0,a.default)(!1,'Unexpected type: "'.concat((0,i.default)(e),'".'))}},name:{type:s.GraphQLString,resolve:function(e){return void 0!==e.name?e.name:void 0}},description:{type:s.GraphQLString,resolve:function(e){return void 0!==e.description?e.description:void 0}},fields:{type:(0,l.GraphQLList)((0,l.GraphQLNonNull)(h)),args:{includeDeprecated:{type:s.GraphQLBoolean,defaultValue:!1}},resolve:function(e,n){var t=n.includeDeprecated;if((0,l.isObjectType)(e)||(0,l.isInterfaceType)(e)){var i=(0,r.default)(e.getFields());return t||(i=i.filter((function(e){return!e.deprecationReason}))),i}return null}},interfaces:{type:(0,l.GraphQLList)((0,l.GraphQLNonNull)(y)),resolve:function(e){if((0,l.isObjectType)(e))return e.getInterfaces()}},possibleTypes:{type:(0,l.GraphQLList)((0,l.GraphQLNonNull)(y)),resolve:function(e,n,t,r){var i=r.schema;if((0,l.isAbstractType)(e))return i.getPossibleTypes(e)}},enumValues:{type:(0,l.GraphQLList)((0,l.GraphQLNonNull)(T)),args:{includeDeprecated:{type:s.GraphQLBoolean,defaultValue:!1}},resolve:function(e,n){var t=n.includeDeprecated;if((0,l.isEnumType)(e)){var r=e.getValues();return t||(r=r.filter((function(e){return!e.deprecationReason}))),r}}},inputFields:{type:(0,l.GraphQLList)((0,l.GraphQLNonNull)(m)),resolve:function(e){if((0,l.isInputObjectType)(e))return(0,r.default)(e.getFields())}},ofType:{type:y,resolve:function(e){return void 0!==e.ofType?e.ofType:void 0}}}}});n.__Type=y;
39588var h=new l.GraphQLObjectType({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:function(){return{name:{type:(0,l.GraphQLNonNull)(s.GraphQLString),resolve:function(e){return e.name}},description:{type:s.GraphQLString,resolve:function(e){return e.description}},args:{type:(0,l.GraphQLNonNull)((0,l.GraphQLList)((0,l.GraphQLNonNull)(m))),resolve:function(e){return e.args}},type:{type:(0,l.GraphQLNonNull)(y),resolve:function(e){return e.type}},isDeprecated:{type:(0,l.GraphQLNonNull)(s.GraphQLBoolean),resolve:function(e){return e.isDeprecated}},deprecationReason:{type:s.GraphQLString,resolve:function(e){return e.deprecationReason}}}}});n.__Field=h;var m=new l.GraphQLObjectType({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:function(){return{name:{type:(0,l.GraphQLNonNull)(s.GraphQLString),resolve:function(e){return e.name}},description:{type:s.GraphQLString,resolve:function(e){return e.description}},type:{type:(0,l.GraphQLNonNull)(y),resolve:function(e){return e.type}},defaultValue:{type:s.GraphQLString,description:"A GraphQL-formatted string representing the default value for this input value.",resolve:function(e){var n=(0,c.astFromValue)(e.defaultValue,e.type);return n?(0,o.print)(n):null}}}}});n.__InputValue=m;var T=new l.GraphQLObjectType({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:function(){return{name:{type:(0,l.GraphQLNonNull)(s.GraphQLString),resolve:function(e){return e.name}},description:{type:s.GraphQLString,resolve:function(e){return e.description}},isDeprecated:{type:(0,l.GraphQLNonNull)(s.GraphQLBoolean),resolve:function(e){return e.isDeprecated}},deprecationReason:{type:s.GraphQLString,resolve:function(e){return e.deprecationReason}}}}});n.__EnumValue=T;var g=Object.freeze({SCALAR:"SCALAR",OBJECT:"OBJECT",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",INPUT_OBJECT:"INPUT_OBJECT",LIST:"LIST",NON_NULL:"NON_NULL"});n.TypeKind=g;var b=new l.GraphQLEnumType({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:g.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:g.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:g.INTERFACE,description:"Indicates this type is an interface. `fields` and `possibleTypes` are valid fields."},UNION:{value:g.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:g.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:g.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:g.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:g.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}});n.__TypeKind=b;var E={name:"__schema",type:(0,l.GraphQLNonNull)(p),description:"Access the current type schema of this server.",args:[],resolve:function(e,n,t,r){return r.schema},deprecationReason:void 0,extensions:void 0,astNode:void 0};n.SchemaMetaFieldDef=E;var O={name:"__type",type:y,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:(0,l.GraphQLNonNull)(s.GraphQLString),defaultValue:void 0,extensions:void 0,astNode:void 0}],resolve:function(e,n,t,r){var i=n.name;return r.schema.getType(i)},deprecationReason:void 0,extensions:void 0,astNode:void 0};n.TypeMetaFieldDef=O;var _={name:"__typename",type:(0,l.GraphQLNonNull)(s.GraphQLString),description:"The name of the current Object type at runtime.",args:[],resolve:function(e,n,t,r){return r.parentType.name},deprecationReason:void 0,extensions:void 0,astNode:void 0};n.TypeNameMetaFieldDef=_;var N=Object.freeze([p,d,v,y,h,m,T,b]);n.introspectionTypes=N},function(e,n,t){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return"object"==r(e)&&null!==e}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isSpecifiedScalarType=function(e){return(0,c.isScalarType)(e)&&h.some((function(n){var t=n.name;return e.name===t}))},n.specifiedScalarTypes=n.GraphQLID=n.GraphQLBoolean=n.GraphQLString=n.GraphQLFloat=n.GraphQLInt=void 0;var r=s(t(332)),i=s(t(333)),a=s(t(13)),o=s(t(65)),u=t(18),c=t(11);
39588function s(e){return e&&e.__esModule?e:{default:e}}var l=new c.GraphQLScalarType({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize:function(e){if("boolean"==typeof e)return e?1:0;var n=e;if("string"==typeof e&&""!==e&&(n=Number(e)),!(0,i.default)(n))throw new TypeError("Int cannot represent non-integer value: ".concat((0,a.default)(e)));if(n>2147483647||n<-2147483648)throw new TypeError("Int cannot represent non 32-bit signed integer value: ".concat((0,a.default)(e)));return n},parseValue:function(e){if(!(0,i.default)(e))throw new TypeError("Int cannot represent non-integer value: ".concat((0,a.default)(e)));if(e>2147483647||e<-2147483648)throw new TypeError("Int cannot represent non 32-bit signed integer value: ".concat((0,a.default)(e)));return e},parseLiteral:function(e){if(e.kind===u.Kind.INT){var n=parseInt(e.value,10);if(n<=2147483647&&n>=-2147483648)return n}}});n.GraphQLInt=l;var f=new c.GraphQLScalarType({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize:function(e){if("boolean"==typeof e)return e?1:0;var n=e;if("string"==typeof e&&""!==e&&(n=Number(e)),!(0,r.default)(n))throw new TypeError("Float cannot represent non numeric value: ".concat((0,a.default)(e)));return n},parseValue:function(e){if(!(0,r.default)(e))throw new TypeError("Float cannot represent non numeric value: ".concat((0,a.default)(e)));return e},parseLiteral:function(e){return e.kind===u.Kind.FLOAT||e.kind===u.Kind.INT?parseFloat(e.value):void 0}});function p(e){if((0,o.default)(e)){if("function"==typeof e.valueOf){var n=e.valueOf();if(!(0,o.default)(n))return n}if("function"==typeof e.toJSON)return e.toJSON()}return e}n.GraphQLFloat=f;var d=new c.GraphQLScalarType({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize:function(e){var n=p(e);if("string"==typeof n)return n;if("boolean"==typeof n)return n?"true":"false";if((0,r.default)(n))return n.toString();throw new TypeError("String cannot represent value: ".concat((0,a.default)(e)))},parseValue:function(e){if("string"!=typeof e)throw new TypeError("String cannot represent a non string value: ".concat((0,a.default)(e)));return e},parseLiteral:function(e){return e.kind===u.Kind.STRING?e.value:void 0}});n.GraphQLString=d;var v=new c.GraphQLScalarType({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize:function(e){if("boolean"==typeof e)return e;if((0,r.default)(e))return 0!==e;throw new TypeError("Boolean cannot represent a non boolean value: ".concat((0,a.default)(e)))},parseValue:function(e){if("boolean"!=typeof e)throw new TypeError("Boolean cannot represent a non boolean value: ".concat((0,a.default)(e)));return e},parseLiteral:function(e){return e.kind===u.Kind.BOOLEAN?e.value:void 0}});n.GraphQLBoolean=v;var y=new c.GraphQLScalarType({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize:function(e){var n=p(e);if("string"==typeof n)return n;if((0,i.default)(n))return String(n);throw new TypeError("ID cannot represent value: ".concat((0,a.default)(e)))},parseValue:function(e){if("string"==typeof e)return e;if((0,i.default)(e))return e.toString();throw new TypeError("ID cannot represent value: ".concat((0,a.default)(e)))},parseLiteral:function(e){return e.kind===u.Kind.STRING||e.kind===u.Kind.INT?e.value:void 0}});n.GraphQLID=y;var h=Object.freeze([d,l,f,v,y]);n.specifiedScalarTypes=h},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.typeFromAST=function e(n,t){var u;if(t.kind===a.Kind.LIST_TYPE)return(u=e(n,t.type))&&(0,o.GraphQLList)(u);if(t.kind===a.Kind.NON_NULL_TYPE)return(u=e(n,t.type))&&(0,o.GraphQLNonNull)(u);if(t.kind===a.Kind.NAMED_TYPE)return n.getType(t.name.value);(0,i.default)(!1,"Unexpected type node: "+(0,r.default)(t))};var r=u(t(13)),i=u(t(48)),a=t(18),o=t(11);
39588function u(e){return e&&e.__esModule?e:{default:e}}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(350);n.addResolveFunctionsToSchema=r.default;var i=t(352);n.addSchemaLevelResolveFunction=i.default;var a=t(353);n.assertResolveFunctionsPresent=a.default;var o=t(354);n.attachDirectiveResolvers=o.default;var u=t(355);n.attachConnectorsToContext=u.default;var c=t(356);n.buildSchemaFromTypeDefinitions=c.default;var s=t(358);n.chainResolvers=s.chainResolvers;var l=t(359);n.checkForResolveTypeResolver=l.default;var f=t(360);n.concatenateTypeDefs=f.default;var p=t(361);n.decorateWithLogger=p.default;var d=t(362);n.extendResolversFromInterfaces=d.default;var v=t(363);n.extractExtensionDefinitions=v.default;var y=t(364);n.forEachField=y.default;var h=t(365);n.SchemaError=h.default},,,,,,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"GraphQLError",{enumerable:!0,get:function(){return r.GraphQLError}}),Object.defineProperty(n,"printError",{enumerable:!0,get:function(){return r.printError}}),Object.defineProperty(n,"syntaxError",{enumerable:!0,get:function(){return i.syntaxError}}),Object.defineProperty(n,"locatedError",{enumerable:!0,get:function(){return a.locatedError}}),Object.defineProperty(n,"formatError",{enumerable:!0,get:function(){return o.formatError}});var r=t(5),i=t(187),a=t(188),o=t(336)},,,,,,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n){return e.reduce((function(e,t){return e[n(t)]=t,e}),Object.create(null))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isSchema=y,n.assertSchema=function(e){if(!y(e))throw new Error("Expected ".concat((0,a.default)(e)," to be a GraphQL schema."));return e},n.GraphQLSchema=void 0;var r=v(t(126)),i=v(t(49)),a=v(t(13)),o=v(t(189)),u=v(t(59)),c=v(t(190)),s=v(t(65)),l=v(t(151)),f=t(64),p=t(50),d=t(11);function v(e){return e&&e.__esModule?e:{default:e}}function y(e){return(0,c.default)(e,h)}var h=function(){function e(e){e&&e.assumeValid?this.__validationErrors=[]:(this.__validationErrors=void 0,(0,s.default)(e)||(0,u.default)(0,"Must provide configuration object."),!e.types||Array.isArray(e.types)||(0,u.default)(0,'"types" must be Array if provided but got: '.concat((0,a.default)(e.types),".")),!e.directives||Array.isArray(e.directives)||(0,u.default)(0,'"directives" must be Array if provided but got: '+"".concat((0,a.default)(e.directives),".")),!e.allowedLegacyNames||Array.isArray(e.allowedLegacyNames)||(0,u.default)(0,'"allowedLegacyNames" must be Array if provided but got: '+"".concat((0,a.default)(e.allowedLegacyNames),"."))),this.extensions=e.extensions&&(0,o.default)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes,this.__allowedLegacyNames=e.allowedLegacyNames||[],this._queryType=e.query,this._mutationType=e.mutation,this._subscriptionType=e.subscription,this._directives=e.directives||p.specifiedDirectives;var n=[this._queryType,this._mutationType,this._subscriptionType,f.__Schema].concat(e.types),t=Object.create(null);t=n.reduce(m,t),t=this._directives.reduce(T,t),this._typeMap=t,this._possibleTypeMap=Object.create(null),this._implementations=Object.create(null);for(var r=0,c=(0,i.default)(this._typeMap);r<c.length;r++){var l=c[r];if((0,d.isObjectType)(l))for(var v=0,y=l.getInterfaces();v<y.length;v++){var h=y[v];if((0,d.isInterfaceType)(h)){var g=this._implementations[h.name];g?g.push(l):this._implementations[h.name]=[l]}}}}var n=e.prototype;return n.getQueryType=function(){return this._queryType},n.getMutationType=function(){return this._mutationType},n.getSubscriptionType=function(){return this._subscriptionType},n.getTypeMap=function(){return this._typeMap},n.getType=function(e){return this.getTypeMap()[e]},n.getPossibleTypes=function(e){return(0,d.isUnionType)(e)?e.getTypes():this._implementations[e.name]||[]},n.isPossibleType=function(e,n){if(null==this._possibleTypeMap[e.name]){for(var t=Object.create(null),r=0,i=this.getPossibleTypes(e);r<i.length;r++){t[i[r].name]=!0}this._possibleTypeMap[e.name]=t}return Boolean(this._possibleTypeMap[e.name][n.name])},n.getDirectives=function(){return this._directives},n.getDirective=function(e){return(0,r.default)(this.getDirectives(),(function(n){return n.name===e}))},n.toConfig=function(){return{query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:(0,i.default)(this.getTypeMap()),directives:this.getDirectives().slice(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[],assumeValid:void 0!==this.__validationErrors,allowedLegacyNames:this.__allowedLegacyNames}},e}();function m(e,n){if(!n)return e;var t=(0,d.getNamedType)(n),r=e[t.name];if(r){if(r!==t)throw new Error('Schema must contain uniquely named types but contains multiple types named "'.concat(t.name,'".'));return e}e[t.name]=t;var a=e;if((0,d.isUnionType)(t)&&(a=t.getTypes().reduce(m,a)),(0,d.isObjectType)(t)&&(a=t.getInterfaces().reduce(m,a)),(0,d.isObjectType)(t)||(0,d.isInterfaceType)(t))for(var o=0,u=(0,i.default)(t.getFields());o<u.length;o++){var c=u[o];a=m(a=c.args.map((function(e){return e.type})).reduce(m,a),c.type)}if((0,d.isInputObjectType)(t))for(var s=0,l=(0,i.default)(t.getFields());s<l.length;s++){a=m(a,l[s].type)}return a}function T(e,n){return(0,p.isDirective)(n)?n.args.reduce((function(e,n){return m(e,n.type)}),e):e}n.GraphQLSchema=h,(0,l.default)(h)},,function(e,n,t){function r(e){for(var t in e)n.hasOwnProperty(t)||(n[t]=e[t])}Object.defineProperty(n,"__esModule",{value:!0}),r(t(127)),r(t(366)),r(t(367)),r(t(297));var i=t(161);n.SchemaDirectiveVisitor=i.SchemaDirectiveVisitor},,,function(e,n,t){"use strict";t.r(n),t.d(n,"GraphQLJSON",(function(){return s})),t.d(n,"GraphQLJSONObject",(function(){return l}));var r=t(2),i=t(7);function a(e){return e}function o(e){if("object"!=typeof e||null===e||Array.isArray(e))throw new TypeError("JSONObject cannot represent non-object value: "+e);return e}function u(e,n,t){var r=Object.create(null);return n.fields.forEach((function(n){r[n.name.value]=c(e,n.value,t)})),r}function c(e,n,t){switch(n.kind){case i.Kind.STRING:case i.Kind.BOOLEAN:return n.value;case i.Kind.INT:case i.Kind.FLOAT:return parseFloat(n.value);case i.Kind.OBJECT:return u(e,n,t);
39588case i.Kind.LIST:return n.values.map((function(n){return c(e,n,t)}));case i.Kind.NULL:return null;case i.Kind.VARIABLE:return t?t[n.name.value]:void 0;default:throw new TypeError(e+" cannot represent value: "+Object(i.print)(n))}}var s=new r.GraphQLScalarType({name:"JSON",description:"The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).",specifiedByUrl:"http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf",serialize:a,parseValue:a,parseLiteral:function(e,n){return c("JSON",e,n)}});n.default=s;var l=new r.GraphQLScalarType({name:"JSONObject",description:"The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).",specifiedByUrl:"http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf",serialize:o,parseValue:o,parseLiteral:function(e,n){if(e.kind!==i.Kind.OBJECT)throw new TypeError("JSONObject cannot represent non-object value: "+Object(i.print)(e));return u("JSONObject",e,n)}})},,,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isDefinitionNode=function(e){return i(e)||a(e)||u(e)},n.isExecutableDefinitionNode=i,n.isSelectionNode=function(e){return e.kind===r.Kind.FIELD||e.kind===r.Kind.FRAGMENT_SPREAD||e.kind===r.Kind.INLINE_FRAGMENT},n.isValueNode=function(e){return e.kind===r.Kind.VARIABLE||e.kind===r.Kind.INT||e.kind===r.Kind.FLOAT||e.kind===r.Kind.STRING||e.kind===r.Kind.BOOLEAN||e.kind===r.Kind.NULL||e.kind===r.Kind.ENUM||e.kind===r.Kind.LIST||e.kind===r.Kind.OBJECT},n.isTypeNode=function(e){return e.kind===r.Kind.NAMED_TYPE||e.kind===r.Kind.LIST_TYPE||e.kind===r.Kind.NON_NULL_TYPE},n.isTypeSystemDefinitionNode=a,n.isTypeDefinitionNode=o,n.isTypeSystemExtensionNode=u,n.isTypeExtensionNode=c;var r=t(18);function i(e){return e.kind===r.Kind.OPERATION_DEFINITION||e.kind===r.Kind.FRAGMENT_DEFINITION}function a(e){return e.kind===r.Kind.SCHEMA_DEFINITION||o(e)||e.kind===r.Kind.DIRECTIVE_DEFINITION}function o(e){return e.kind===r.Kind.SCALAR_TYPE_DEFINITION||e.kind===r.Kind.OBJECT_TYPE_DEFINITION||e.kind===r.Kind.INTERFACE_TYPE_DEFINITION||e.kind===r.Kind.UNION_TYPE_DEFINITION||e.kind===r.Kind.ENUM_TYPE_DEFINITION||e.kind===r.Kind.INPUT_OBJECT_TYPE_DEFINITION}function u(e){return e.kind===r.Kind.SCHEMA_EXTENSION||c(e)}function c(e){return e.kind===r.Kind.SCALAR_TYPE_EXTENSION||e.kind===r.Kind.OBJECT_TYPE_EXTENSION||e.kind===r.Kind.INTERFACE_TYPE_EXTENSION||e.kind===r.Kind.UNION_TYPE_EXTENSION||e.kind===r.Kind.ENUM_TYPE_EXTENSION||e.kind===r.Kind.INPUT_OBJECT_TYPE_EXTENSION}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=Object.entries||function(e){return Object.keys(e).map((function(n){return[n,e[n]]}))};n.default=r},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n,t){return e.reduce((function(e,r){return e[n(r)]=t(r),e}),Object.create(null))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n){var t="string"==typeof e?[e,n]:[void 0,e],r=t[0],i=t[1],a=" Did you mean ";r&&(a+=r+" ");switch(i.length){case 0:return"";case 1:return a+i[0]+"?";case 2:return a+i[0]+" or "+i[1]+"?"}var o=i.slice(0,5),u=o.pop();return a+o.join(", ")+", or "+u+"?"}},function(e,n,t){"use strict";function r(e,n){if(e===n)return 0;var t=[],r=e.toLowerCase(),i=n.toLowerCase(),a=r.length,o=i.length;if(r===i)return 1;for(var u=0;u<=a;u++)t[u]=[u];for(var c=1;c<=o;c++)t[0][c]=c;for(var s=1;s<=a;s++)for(var l=1;l<=o;l++){var f=r[s-1]===i[l-1]?0:1;t[s][l]=Math.min(t[s-1][l]+1,t[s][l-1]+1,t[s-1][l-1]+f),s>1&&l>1&&r[s-1]===i[l-2]&&r[s-2]===i[l-1]&&(t[s][l]=Math.min(t[s][l],t[s-2][l-2]+f))}return t[a][o]}Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n){for(var t=Object.create(null),i=e.length/2,a=0;a<n.length;a++){var o=n[a],u=r(e,o),c=Math.max(i,o.length/2,1);u<=c&&(t[o]=u)}return Object.keys(t).sort((function(e,n){return t[e]-t[n]}))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"responsePathAsArray",{enumerable:!0,get:function(){return r.pathToArray}}),Object.defineProperty(n,"execute",{enumerable:!0,get:function(){return i.execute}}),Object.defineProperty(n,"defaultFieldResolver",{enumerable:!0,get:function(){return i.defaultFieldResolver}}),Object.defineProperty(n,"defaultTypeResolver",{enumerable:!0,get:function(){return i.defaultTypeResolver}}),Object.defineProperty(n,"getDirectiveValues",{enumerable:!0,get:function(){return a.getDirectiveValues}});var r=t(125),i=t(116),a=t(158)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.execute=function(e,n,t,r,i,a,o,u){return S(1===arguments.length?e:{schema:e,document:n,rootValue:t,contextValue:r,variableValues:i,operationName:a,fieldResolver:o,typeResolver:u})},n.assertValidExecutionArguments=D,n.buildExecutionContext=L,n.collectFields=j,n.buildRes
39588olveInfo=F,n.resolveFieldValueOrError=R,n.getFieldDef=J,n.defaultFieldResolver=n.defaultTypeResolver=void 0;var r=t(47),i=I(t(13)),a=I(t(328)),o=I(t(48)),u=I(t(59)),c=I(t(124)),s=I(t(245)),l=I(t(153)),f=I(t(65)),p=I(t(329)),d=I(t(330)),v=t(125),y=t(5),h=t(188),m=t(18),T=t(154),g=t(64),b=t(50),E=t(11),O=t(67),_=t(191),N=t(158);function I(e){return e&&e.__esModule?e:{default:e}}function S(e){var n=e.schema,t=e.document,r=e.rootValue,i=e.contextValue,a=e.variableValues,o=e.operationName,u=e.fieldResolver,c=e.typeResolver;D(n,t,a);var s=L(n,t,r,i,a,o,u,c);if(Array.isArray(s))return{errors:s};var f=function(e,n,t){var r=(0,_.getOperationRootType)(e.schema,n),i=j(e,r,n.selectionSet,Object.create(null),Object.create(null));try{var a="mutation"===n.operation?function(e,n,t,r,i){return(0,p.default)(Object.keys(i),(function(a,o){var u=i[o],c=(0,v.addPath)(r,o),s=k(e,n,t,u,c);return void 0===s?a:(0,l.default)(s)?s.then((function(e){return a[o]=e,a})):(a[o]=s,a)}),Object.create(null))}(e,r,t,void 0,i):A(e,r,t,void 0,i);return(0,l.default)(a)?a.then(void 0,(function(n){return e.errors.push(n),Promise.resolve(null)})):a}catch(n){return e.errors.push(n),null}}(s,s.operation,r);return function e(n,t){if((0,l.default)(t))return t.then((function(t){return e(n,t)}));return 0===n.errors.length?{data:t}:{errors:n.errors,data:t}}(s,f)}function D(e,n,t){n||(0,u.default)(0,"Must provide document"),(0,T.assertValidSchema)(e),null==t||(0,f.default)(t)||(0,u.default)(0,"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided.")}function L(e,n,t,r,i,a,o,u){for(var c,s=!1,l=Object.create(null),f=0,p=n.definitions;f<p.length;f++){var d=p[f];switch(d.kind){case m.Kind.OPERATION_DEFINITION:!a&&c?s=!0:(!a||d.name&&d.name.value===a)&&(c=d);break;case m.Kind.FRAGMENT_DEFINITION:l[d.name.value]=d}}if(!c)return a?[new y.GraphQLError('Unknown operation named "'.concat(a,'".'))]:[new y.GraphQLError("Must provide an operation.")];if(s)return[new y.GraphQLError("Must provide operation name if query contains multiple operations.")];var v=(0,N.getVariableValues)(e,c.variableDefinitions||[],i||{},{maxErrors:50});return v.errors?v.errors:{schema:e,fragments:l,rootValue:t,contextValue:r,operation:c,variableValues:v.coerced,fieldResolver:o||Y,typeResolver:u||q,errors:[]}}function A(e,n,t,r,i){for(var a=Object.create(null),o=!1,u=0,c=Object.keys(i);u<c.length;u++){var s=c[u],f=k(e,n,t,i[s],(0,v.addPath)(r,s));void 0!==f&&(a[s]=f,!o&&(0,l.default)(f)&&(o=!0))}return o?(0,d.default)(a):a}function j(e,n,t,r,i){for(var a=0,o=t.selections;a<o.length;a++){var u=o[a];switch(u.kind){case m.Kind.FIELD:if(!w(e,u))continue;var c=(f=u).alias?f.alias.value:f.name.value;r[c]||(r[c]=[]),r[c].push(u);break;case m.Kind.INLINE_FRAGMENT:if(!w(e,u)||!P(e,u,n))continue;j(e,n,u.selectionSet,r,i);break;case m.Kind.FRAGMENT_SPREAD:var s=u.name.value;if(i[s]||!w(e,u))continue;i[s]=!0;var l=e.fragments[s];if(!l||!P(e,l,n))continue;j(e,n,l.selectionSet,r,i)}}var f;return r}function w(e,n){var t=(0,N.getDirectiveValues)(b.GraphQLSkipDirective,n,e.variableValues);if(t&&!0===t.if)return!1;var r=(0,N.getDirectiveValues)(b.GraphQLIncludeDirective,n,e.variableValues);return!r||!1!==r.if}function P(e,n,t){var r=n.typeCondition;if(!r)return!0;var i=(0,O.typeFromAST)(e.schema,r);return i===t||!!(0,E.isAbstractType)(i)&&e.schema.isPossibleType(i,t)}function k(e,n,t,r,i){var a=r[0].name.value,o=J(e.schema,n,a);if(o){var u=o.resolve||e.fieldResolver,c=F(e,o,r,n,i),s=R(e,o,r,u,t,c);return x(e,o.type,r,c,i,s)}}function F(e,n,t,r,i){return{fieldName:n.name,fieldNodes:t,returnType:n.type,parentType:r,path:i,schema:e.schema,fragments:e.fragments,rootValue:e.rootValue,operation:e.operation,variableValues:e.variableValues}}function R(e,n,t,r,i,a){try{var o=r(i,(0,N.getArgumentValues)(n,t[0],e.variableValues),e.contextValue,a);return(0,l.default)(o)?o.then(void 0,M):o}catch(e){return M(e)}}function M(e){return e instanceof Error?e:new Error("Unexpected error value: "+(0,i.default)(e))}function x(e,n,t,r,i,a){try{var o;return o=(0,l.default)(a)?a.then((function(a){return V(e,n,t,r,i,a)})):V(e,n,t,r,i,a),(0,l.default)(o)?o.then(void 0,(function(r){return G(r,t,i,n,e)})):o}catch(r){return G(r,t,i,n,e)}}function G(e,n,t,r,i){var a=(0,h.locatedError)(M(e),n,(0,v.pathToArray)(t));if((0,E.isNonNullType)(r))throw a;return i.errors.push(a),null}function V(e,n,t,a,u,f){if(f instanceof Error)throw f;if((0,E.isNonNullType)(n)){var p=V(e,n.ofType,t,a,u,f);if(null===p)throw new Error("Cannot return null for non-nullable field ".concat(a.parentType.name,".").concat(a.fieldName,"."));return p}return(0,s.default)(f)?null:(0,E.isListType)(n)?function(e,n,t,i,a,o){if(!(0,r.isCollection)(o)
39588)throw new y.GraphQLError("Expected Iterable, but did not find one for field ".concat(i.parentType.name,".").concat(i.fieldName,"."));var u=n.ofType,c=!1,s=[];return(0,r.forEach)(o,(function(n,r){var o=(0,v.addPath)(a,r),f=x(e,u,t,i,o,n);!c&&(0,l.default)(f)&&(c=!0),s.push(f)})),c?Promise.all(s):s}(e,n,t,a,u,f):(0,E.isLeafType)(n)?function(e,n){var t=e.serialize(n);if((0,c.default)(t))throw new Error('Expected a value of type "'.concat((0,i.default)(e),'" but ')+"received: ".concat((0,i.default)(n)));return t}(n,f):(0,E.isAbstractType)(n)?function(e,n,t,r,i,a){var o=n.resolveType||e.typeResolver,u=e.contextValue,c=o(a,u,r,n);if((0,l.default)(c))return c.then((function(o){return C(e,K(o,e,n,t,r,a),t,r,i,a)}));return C(e,K(c,e,n,t,r,a),t,r,i,a)}(e,n,t,a,u,f):(0,E.isObjectType)(n)?C(e,n,t,a,u,f):void(0,o.default)(!1,"Cannot complete value of unexpected output type: "+(0,i.default)(n))}function K(e,n,t,r,a,o){var u="string"==typeof e?n.schema.getType(e):e;if(!(0,E.isObjectType)(u))throw new y.GraphQLError("Abstract type ".concat(t.name," must resolve to an Object type at runtime for field ").concat(a.parentType.name,".").concat(a.fieldName," with ")+"value ".concat((0,i.default)(o),', received "').concat((0,i.default)(u),'". ')+"Either the ".concat(t.name,' type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.'),r);if(!n.schema.isPossibleType(t,u))throw new y.GraphQLError('Runtime Object type "'.concat(u.name,'" is not a possible type for "').concat(t.name,'".'),r);return u}function C(e,n,t,r,i,a){if(n.isTypeOf){var o=n.isTypeOf(a,e.contextValue,r);if((0,l.default)(o))return o.then((function(r){if(!r)throw Q(n,a,t);return U(e,n,t,i,a)}));if(!o)throw Q(n,a,t)}return U(e,n,t,i,a)}function Q(e,n,t){return new y.GraphQLError('Expected value of type "'.concat(e.name,'" but got: ').concat((0,i.default)(n),"."),t)}function U(e,n,t,r,i){return A(e,n,i,r,B(e,n,t))}var B=(0,a.default)((function(e,n,t){for(var r=Object.create(null),i=Object.create(null),a=0;a<t.length;a++){var o=t[a];o.selectionSet&&(r=j(e,n,o.selectionSet,r,i))}return r}));var q=function(e,n,t,r){if((0,f.default)(e)&&"string"==typeof e.__typename)return e.__typename;for(var i=t.schema.getPossibleTypes(r),a=[],o=0;o<i.length;o++){var u=i[o];if(u.isTypeOf){var c=u.isTypeOf(e,n,t);if((0,l.default)(c))a[o]=c;else if(c)return u}}return a.length?Promise.all(a).then((function(e){for(var n=0;n<e.length;n++)if(e[n])return i[n]})):void 0};n.defaultTypeResolver=q;var Y=function(e,n,t,r){if((0,f.default)(e)||"function"==typeof e){var i=e[r.fieldName];return"function"==typeof i?e[r.fieldName](n,t,r):i}};function J(e,n,t){return t===g.SchemaMetaFieldDef.name&&e.getQueryType()===n?g.SchemaMetaFieldDef:t===g.TypeMetaFieldDef.name&&e.getQueryType()===n?g.TypeMetaFieldDef:t===g.TypeNameMetaFieldDef.name?g.TypeNameMetaFieldDef:n.getFields()[t]}n.defaultFieldResolver=Y},,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.TokenKind=void 0;var r=Object.freeze({SOF:"<SOF>",EOF:"<EOF>",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"});n.TokenKind=r},function(e,n,t){"use strict";function r(e){for(var n=null,t=1;t<e.length;t++){var r=e[t],a=i(r);if(a!==r.length&&((null===n||a<n)&&0===(n=a)))break}return null===n?0:n}function i(e){for(var n=0;n<e.length&&(" "===e[n]||"\t"===e[n]);)n++;return n}function a(e){return i(e)===e.length}Object.defineProperty(n,"__esModule",{value:!0}),n.dedentBlockStringValue=function(e){var n=e.split(/\r\n|[\n\r]/g),t=r(n);if(0!==t)for(var i=1;i<n.length;i++)n[i]=n[i].slice(t);for(;n.length>0&&a(n[0]);)n.shift();for(;n.length>0&&a(n[n.length-1]);)n.pop();return n.join("\n")},n.getBlockStringIndentation=r,n.printBlockString=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=-1===e.indexOf("\n"),i=" "===e[0]||"\t"
vendor: 20,304 bytes, line 39588
39588===e[0],a='"'===e[e.length-1],o=!r||a||t,u="";!o||r&&i||(u+="\n"+n);u+=n?e.replace(/\n/g,"\n"+n):e,o&&(u+="\n");return'"""'+u.replace(/"""/g,'\\"""')+'"""'}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.parse=function(e,n){return new d(e,n).parseDocument()},n.parseValue=function(e,n){var t=new d(e,n);t.expectToken(f.TokenKind.SOF);var r=t.parseValueLiteral(!1);return t.expectToken(f.TokenKind.EOF),r},n.parseType=function(e,n){var t=new d(e,n);t.expectToken(f.TokenKind.SOF);var r=t.parseTypeReference();return t.expectToken(f.TokenKind.EOF),r};var r=p(t(13)),i=p(t(59)),a=p(t(152)),o=t(187),u=t(18),c=t(184),s=t(186),l=t(123),f=t(120);function p(e){return e&&e.__esModule?e:{default:e}}var d=function(){function e(e,n){var t="string"==typeof e?new c.Source(e):e;t instanceof c.Source||(0,i.default)(0,"Must provide Source. Received: ".concat((0,r.default)(t))),this._lexer=(0,s.createLexer)(t),this._options=n||{}}var n=e.prototype;return n.parseName=function(){var e=this.expectToken(f.TokenKind.NAME);return{kind:u.Kind.NAME,value:e.value,loc:this.loc(e)}},n.parseDocument=function(){var e=this._lexer.token;return{kind:u.Kind.DOCUMENT,definitions:this.many(f.TokenKind.SOF,this.parseDefinition,f.TokenKind.EOF),loc:this.loc(e)}},n.parseDefinition=function(){if(this.peek(f.TokenKind.NAME))switch(this._lexer.token.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return this.parseTypeSystemDefinition();case"extend":return this.parseTypeSystemExtension()}else{if(this.peek(f.TokenKind.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},n.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(f.TokenKind.BRACE_L))return{kind:u.Kind.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var n,t=this.parseOperationType();return this.peek(f.TokenKind.NAME)&&(n=this.parseName()),{kind:u.Kind.OPERATION_DEFINITION,operation:t,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},n.parseOperationType=function(){var e=this.expectToken(f.TokenKind.NAME);switch(e.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw this.unexpected(e)},n.parseVariableDefinitions=function(){return this.optionalMany(f.TokenKind.PAREN_L,this.parseVariableDefinition,f.TokenKind.PAREN_R)},n.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:u.Kind.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(f.TokenKind.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(f.TokenKind.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},n.parseVariable=function(){var e=this._lexer.token;return this.expectToken(f.TokenKind.DOLLAR),{kind:u.Kind.VARIABLE,name:this.parseName(),loc:this.loc(e)}},n.parseSelectionSet=function(){var e=this._lexer.token;return{kind:u.Kind.SELECTION_SET,selections:this.many(f.TokenKind.BRACE_L,this.parseSelection,f.TokenKind.BRACE_R),loc:this.loc(e)}},n.parseSelection=function(){return this.peek(f.TokenKind.SPREAD)?this.parseFragment():this.parseField()},n.parseField=function(){var e,n,t=this._lexer.token,r=this.parseName();return this.expectOptionalToken(f.TokenKind.COLON)?(e=r,n=this.parseName()):n=r,{kind:u.Kind.FIELD,alias:e,name:n,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(f.TokenKind.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(t)}},n.parseArguments=function(e){var n=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(f.TokenKind.PAREN_L,n,f.TokenKind.PAREN_R)},n.parseArgument=function(){var e=this._lexer.token,n=this.parseName();return this.expectToken(f.TokenKind.COLON),{kind:u.Kind.ARGUMENT,name:n,value:this.parseValueLiteral(!1),loc:this.loc(e)}},n.parseConstArgument=function(){var e=this._lexer.token;return{kind:u.Kind.ARGUMENT,name:this.parseName(),value:(this.expectToken(f.TokenKind.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},n.parseFragment=function(){var e=this._lexer.token;this.expectToken(f.TokenKind.SPREAD);var n=this.expectOptionalKeyword("on");return!n&&this.peek(f.TokenKind.NAME)?{kind:u.Kind.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:u.Kind.INLINE_FRAGMENT,typeCondition:n?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},n.parseFragmentDefinition=function(){var e=this._lexer.token;return this.expectKeyword("fragment"),this._options.experimentalFragmentVariables?{kind:u.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}:{kind:u.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},n.parseFragmentName=function(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()},n.parseValueLiteral=function(e){var n=this._lexer.token;switch(n.kind){case f.TokenKind.BRACKET_L:return this.parseList(e);case f.TokenKind.BRACE_L:return this.parseObject(e);case f.TokenKind.INT:return this._lexer.advance(),{kind:u.Kind.INT,value:n.value,loc:this.loc(n)};case f.TokenKind.FLOAT:return this._lexer.advance(),{kind:u.Kind.FLOAT,value:n.value,loc:this.loc(n)};case f.TokenKind.STRING:case f.TokenKind.BLOCK_STRING:return this.parseStringLiteral();case f.TokenKind.NAME:return"true"===n.value||"false"===n.value?(this._lexer.advance(),{kind:u.Kind.BOOLEAN,value:"true"===n.value,loc:this.loc(n)}):"null"===n.value?(this._lexer.advance(),{kind:u.Kind.NULL,loc:this.loc(n)}):(this._lexer.advance(),{kind:u.Kind.ENUM,value:n.value,loc:this.loc(n)});case f.TokenKind.DOLLAR:if(!e)return this.parseVariable()}throw this.unexpected()},n.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:u.Kind.STRING,value:e.value,block:e.kind===f.TokenKind.BLOCK_STRING,loc:this.loc(e)}},n.parseList=function(e){var n=this,t=this._lexer.token;return{kind:u.Kind.LIST,values:this.any(f.TokenKind.BRACKET_L,(function(){return n.parseValueLiteral(e)}),f.TokenKind.BRACKET_R),loc:this.loc(t)}},n.parseObject=function(e){var n=this,t=this._lexer.token;return{kind:u.Kind.OBJECT,fields:this.any(f.TokenKind.BRACE_L,(function(){return n.parseObjectField(e)}),f.TokenKind.BRACE_R),loc:this.loc(t)}},n.parseObjectField=function(e){var n=this._lexer.token,t=this.parseName();return this.expectToken(f.TokenKind.COLON),{kind:u.Kind.OBJECT_FIELD,name:t,value:this.parseValueLiteral(e),loc:this.loc(n)}},n.parseDirectives=function(e){for(var n=[];this.peek(f.TokenKind.AT);)n.push(this.parseDirective(e));return n},n.parseDirective=function(e){var n=this._lexer.token;return this.expectToken(f.TokenKind.AT),{kind:u.Kind.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(n)}},n.parseTypeReference=function(){var e,n=this._lexer.token;return this.expectOptionalToken(f.TokenKind.BRACKET_L)?(e=this.parseTypeReference(),this.expectToken(f.TokenKind.BRACKET_R),e={kind:u.Kind.LIST_TYPE,type:e,loc:this.loc(n)}):e=this.parseNamedType(),this.expectOptionalToken(f.TokenKind.BANG)?{kind:u.Kind.NON_NULL_TYPE,type:e,loc:this.loc(n)}:e},n.parseNamedType=function(){var e=this._lexer.token;return{kind:u.Kind.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},n.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===f.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}throw this.unexpected(e)},n.peekDescription=function(){return this.peek(f.TokenKind.STRING)||this.peek(f.TokenKind.BLOCK_STRING)},n.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},n.parseSchemaDefinition=function(){var e=this._lexer.token;this.expectKeyword("schema");var n=this.parseDirectives(!0),t=this.many(f.TokenKind.BRACE_L,this.parseOperationTypeDefinition,f.TokenKind.BRACE_R);return{kind:u.Kind.SCHEMA_DEFINITION,directives:n,operationTypes:t,loc:this.loc(e)}},n.parseOperationTypeDefinition=function(){var e=this._lexer.token,n=this.parseOperationType();this.expectToken(f.TokenKind.COLON);var t=this.parseNamedType();return{kind:u.Kind.OPERATION_TYPE_DEFINITION,operation:n,type:t,loc:this.loc(e)}},n.parseScalarTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("scalar");var t=this.parseName(),r=this.parseDirectives(!0);return{kind:u.Kind.SCALAR_TYPE_DEFINITION,description:n,name:t,directives:r,loc:this.loc(e)}},n.parseObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("type");var t=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),a=this.parseFieldsDefinition();return{kind:u.Kind.OBJECT_TYPE_DEFINITION,description:n,name:t,interfaces:r,directives:i,fields:a,loc:this.loc(e)}},n.parseImplementsInterfaces=function(){var e=[];if(this.expectOptionalKeyword("implements")){this.expectOptionalToken(f.TokenKind.AMP);do{e.push(this.parseNamedType())}while(this.expectOptionalToken(f.TokenKind.AMP)||this._options.allowLegacySDLImplementsInterfaces&&this.peek(f.TokenKind.NAME))}return e},n.parseFieldsDefinition=function(){return this._options.allowLegacySDLEmptyFields&&this.peek(f.TokenKind.BRACE_L)&&this._lexer.lookahead().kind===f.TokenKind.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(f.TokenKind.BRACE_L,this.parseFieldDefinition,f.TokenKind.BRACE_R)},n.parseFieldDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),r=this.parseArgumentDefs();this.expectToken(f.TokenKind.COLON);var i=this.parseTypeReference(),a=this.parseDirectives(!0);return{kind:u.Kind.FIELD_DEFINITION,description:n,name:t,arguments:r,type:i,directives:a,loc:this.loc(e)}},n.parseArgumentDefs=function(){return this.optionalMany(f.TokenKind.PAREN_L,this.parseInputValueDef,f.TokenKind.PAREN_R)},n.parseInputValueDef=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName();this.expectToken(f.TokenKind.COLON);var r,i=this.parseTypeReference();this.expectOptionalToken(f.TokenKind.EQUALS)&&(r=this.parseValueLiteral(!0));var a=this.parseDirectives(!0);return{kind:u.Kind.INPUT_VALUE_DEFINITION,description:n,name:t,type:i,defaultValue:r,directives:a,loc:this.loc(e)}},n.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("interface");var t=this.parseName(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();return{kind:u.Kind.INTERFACE_TYPE_DEFINITION,description:n,name:t,directives:r,fields:i,loc:this.loc(e)}},n.parseUnionTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("union");var t=this.parseName(),r=this.parseDirectives(!0),i=this.parseUnionMemberTypes();return{kind:u.Kind.UNION_TYPE_DEFINITION,description:n,name:t,directives:r,types:i,loc:this.loc(e)}},n.parseUnionMemberTypes=function(){var e=[];if(this.expectOptionalToken(f.TokenKind.EQUALS)){this.expectOptionalToken(f.TokenKind.PIPE);do{e.push(this.parseNamedType())}while(this.expectOptionalToken(f.TokenKind.PIPE))}return e},n.parseEnumTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("enum");var t=this.parseName(),r=this.parseDirectives(!0),i=this.parseEnumValuesDefinition();return{kind:u.Kind.ENUM_TYPE_DEFINITION,description:n,name:t,directives:r,values:i,loc:this.loc(e)}},n.parseEnumValuesDefinition=function(){return this.optionalMany(f.TokenKind.BRACE_L,this.parseEnumValueDefinition,f.TokenKind.BRACE_R)},n.parseEnumValueDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),r=this.parseDirectives(!0);return{kind:u.Kind.ENUM_VALUE_DEFINITION,description:n,name:t,directives:r,loc:this.loc(e)}},n.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("input");var t=this.parseName(),r=this.parseDirectives(!0),i=this.parseInputFieldsDefinition();return{kind:u.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:t,directives:r,fields:i,loc:this.loc(e)}},n.parseInputFieldsDefinition=function(){return this.optionalMany(f.TokenKind.BRACE_L,this.parseInputValueDef,f.TokenKind.BRACE_R)},n.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===f.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},n.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");var n=this.parseDirectives(!0),t=this.optionalMany(f.TokenKind.BRACE_L,this.parseOperationTypeDefinition,f.TokenKind.BRACE_R);if(0===n.length&&0===t.length)throw this.unexpected();return{kind:u.Kind.SCHEMA_EXTENSION,directives:n,operationTypes:t,loc:this.loc(e)}},n.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");var n=this.parseName(),t=this.parseDirectives(!0);if(0===t.length)throw this.unexpected();return{kind:u.Kind.SCALAR_TYPE_EXTENSION,name:n,directives:t,loc:this.loc(e)}},n.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");var n=this.parseName(),t=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();if(0===t.length&&0===r.length&&0===i.length)throw this.unexpected();return{kind:u.Kind.OBJECT_TYPE_EXTENSION,name:n,interfaces:t,directives:r,fields:i,loc:this.loc(e)}},n.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");var n=this.parseName(),t=this.parseDirectives(!0),r=this.parseFieldsDefinition();if(0===t.length&&0===r.length)throw this.unexpected();return{kind:u.Kind.INTERFACE_TYPE_EXTENSION,name:n,directives:t,fields:r,loc:this.loc(e)}},n.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");var n=this.parseName(),t=this.parseDirectives(!0),r=this.parseUnionMemberTypes();if(0===t.length&&0===r.length)throw this.unexpected();return{kind:u.Kind.UNION_TYPE_EXTENSION,name:n,directives:t,types:r,loc:this.loc(e)}},n.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");var n=this.parseName(),t=this.parseDirectives(!0),r=this.parseEnumValuesDefinition();if(0===t.length&&0===r.length)throw this.unexpected();return{kind:u.Kind.ENUM_TYPE_EXTENSION,name:n,directives:t,values:r,loc:this.loc(e)}},n.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");var n=this.parseName(),t=this.parseDirectives(!0),r=this.parseInputFieldsDefinition();if(0===t.length&&0===r.length)throw this.unexpected();return{kind:u.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:t,fields:r,loc:this.loc(e)}},n.parseDirectiveDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("directive"),this.expectToken(f.TokenKind.AT);var t=this.parseName(),r=this.parseArgumentDefs(),i=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");var a=this.parseDirectiveLocations();return{kind:u.Kind.DIRECTIVE_DEFINITION,description:n,name:t,arguments:r,repeatable:i,locations:a,loc:this.loc(e)}},n.parseDirectiveLocations=function(){this.expectOptionalToken(f.TokenKind.PIPE);var e=[];do{e.push(this.parseDirectiveLocation())}while(this.expectOptionalToken(f.TokenKind.PIPE));return e},n.parseDirectiveLocation=function(){var e=this._lexer.token,n=this.parseName();if(void 0!==l.DirectiveLocation[n.value])return n;throw this.unexpected(e)},n.loc=function(e){if(!this._options.noLocation)return new v(e,this._lexer.lastToken,this._lexer.source)},n.peek=function(e){return this._lexer.token.kind===e},n.expectToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n;throw(0,o.syntaxError)(this._lexer.source,n.start,"Expected ".concat(e,", found ").concat(y(n)))},n.expectOptionalToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n},n.expectKeyword=function(e){var n=this._lexer.token;if(n.kind!==f.TokenKind.NAME||n.value!==e)throw(0,o.syntaxError)(this._lexer.source,n.start,'Expected "'.concat(e,'", found ').concat(y(n)));this._lexer.advance()},n.expectOptionalKeyword=function(e){var n=this._lexer.token;return n.kind===f.TokenKind.NAME&&n.value===e&&(this._lexer.advance(),!0)},n.unexpected=function(e){var n=e||this._lexer.token;return(0,o.syntaxError)(this._lexer.source,n.start,"Unexpected ".concat(y(n)))},n.any=function(e,n,t){this.expectToken(e);for(var r=[];!this.expectOptionalToken(t);)r.push(n.call(this));return r},n.optionalMany=function(e,n,t){if(this.expectOptionalToken(e)){var r=[];do{r.push(n.call(this))}while(!this.expectOptionalToken(t));return r}return[]},n.many=function(e,n,t){this.expectToken(e);var r=[];do{r.push(n.call(this))}while(!this.expectOptionalToken(t));return r},e}();function v(e,n,t){this.start=e.start,this.end=n.end,this.startToken=e,this.endToken=n,this.source=t}function y(e){var n=e.value;return n?"".concat(e.kind,' "').concat(n,'"'):e.kind}(0,a.default)(v,(function(){return{start:this.start,end:this.end}}))},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DirectiveLocation=void 0;var r=Object.freeze({QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION"});n.DirectiveLocation=r},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return void 0===e||e!=e}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.addPath=function(e,n){return{prev:e,key:n}},n.pathToArray=function(e){var n=[],t=e;for(;t;)n.push(t.key),t=t.prev;return n.reverse()}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=Array.prototype.find?function(e,n){return Array.prototype.find.call(e,n)}:function(e,n){for(var t=0;t<e.length;t++){var r=e[t];if(n(r))return r}};n.default=r},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(161),a=t(285),o=t(68);function u(e){o.forEachField(e,(function(e,n,t){var i,a,o=n+"."+t;e.resolve=(i=e.resolve,a=o,void 0===i&&(i=r.defaultFieldResolver),function(e,n,t,r){var o=i(e,n,t,r);if(void 0===o)throw new Error('Resolve function for "'+a+'" returned undefined');return o})}))}
39588function c(e,n){if(!n)throw new Error("Must provide a logger");if("function"!=typeof n.log)throw new Error("Logger.log must be a function");o.forEachField(e,(function(e,t,r){var i=t+"."+r;e.resolve=o.decorateWithLogger(e.resolve,n,i)}))}n.makeExecutableSchema=function(e){var n=e.typeDefs,t=e.resolvers,r=void 0===t?{}:t,s=e.connectors,l=e.logger,f=e.allowUndefinedInResolve,p=void 0===f||f,d=e.resolverValidationOptions,v=void 0===d?{}:d,y=e.directiveResolvers,h=void 0===y?null:y,m=e.schemaDirectives,T=void 0===m?null:m,g=e.parseOptions,b=void 0===g?{}:g,E=e.inheritResolversFromInterfaces,O=void 0!==E&&E;if("object"!=typeof v)throw new o.SchemaError("Expected `resolverValidationOptions` to be an object");if(!n)throw new o.SchemaError("Must provide typeDefs");if(!r)throw new o.SchemaError("Must provide resolvers");var _=Array.isArray(r)?r.filter((function(e){return"object"==typeof e})).reduce(a.default,{}):r,N=o.buildSchemaFromTypeDefinitions(n,b);return N=o.addResolveFunctionsToSchema({schema:N,resolvers:_,resolverValidationOptions:v,inheritResolversFromInterfaces:O}),o.assertResolveFunctionsPresent(N,v),p||u(N),l&&c(N,l),"function"==typeof r.__schema&&o.addSchemaLevelResolveFunction(N,r.__schema),s&&o.attachConnectorsToContext(N,s),h&&o.attachDirectiveResolvers(N,h),T&&i.SchemaDirectiveVisitor.visitSchemaDirectives(N,T),N},n.addCatchUndefinedToSchema=u,n.addErrorLoggingToSchema=c,function(e){for(var t in e)n.hasOwnProperty(t)||(n[t]=e[t])}(t(68))},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.TypeInfo=void 0;var r,i=(r=t(126))&&r.__esModule?r:{default:r},a=t(18),o=t(11),u=t(64),c=t(67);var s=function(){function e(e,n,t){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n||l,t&&((0,o.isInputType)(t)&&this._inputTypeStack.push(t),(0,o.isCompositeType)(t)&&this._parentTypeStack.push(t),(0,o.isOutputType)(t)&&this._typeStack.push(t))}var n=e.prototype;return n.getType=function(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]},n.getParentType=function(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]},n.getInputType=function(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]},n.getParentInputType=function(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]},n.getFieldDef=function(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]},n.getDefaultValue=function(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]},n.getDirective=function(){return this._directive},n.getArgument=function(){return this._argument},n.getEnumValue=function(){return this._enumValue},n.enter=function(e){var n=this._schema;switch(e.kind){case a.Kind.SELECTION_SET:var t=(0,o.getNamedType)(this.getType());this._parentTypeStack.push((0,o.isCompositeType)(t)?t:void 0);break;case a.Kind.FIELD:var r,u,s=this.getParentType();s&&(r=this._getFieldDef(n,s,e))&&(u=r.type),this._fieldDefStack.push(r),this._typeStack.push((0,o.isOutputType)(u)?u:void 0);break;case a.Kind.DIRECTIVE:this._directive=n.getDirective(e.name.value);break;case a.Kind.OPERATION_DEFINITION:var l;"query"===e.operation?l=n.getQueryType():"mutation"===e.operation?l=n.getMutationType():"subscription"===e.operation&&(l=n.getSubscriptionType()),this._typeStack.push((0,o.isObjectType)(l)?l:void 0);break;case a.Kind.INLINE_FRAGMENT:case a.Kind.FRAGMENT_DEFINITION:var f=e.typeCondition,p=f?(0,c.typeFromAST)(n,f):(0,o.getNamedType)(this.getType());this._typeStack.push((0,o.isOutputType)(p)?p:void 0);break;case a.Kind.VARIABLE_DEFINITION:var d=(0,c.typeFromAST)(n,e.type);this._inputTypeStack.push((0,o.isInputType)(d)?d:void 0);break;case a.Kind.ARGUMENT:var v,y,h=this.getDirective()||this.getFieldDef();h&&(v=(0,i.default)(h.args,(function(n){return n.name===e.name.value})))&&(y=v.type),this._argument=v,this._defaultValueStack.push(v?v.defaultValue:void 0),this._inputTypeStack.push((0,o.isInputType)(y)?y:void 0);break;
39588case a.Kind.LIST:var m=(0,o.getNullableType)(this.getInputType()),T=(0,o.isListType)(m)?m.ofType:m;this._defaultValueStack.push(void 0),this._inputTypeStack.push((0,o.isInputType)(T)?T:void 0);break;case a.Kind.OBJECT_FIELD:var g,b,E=(0,o.getNamedType)(this.getInputType());(0,o.isInputObjectType)(E)&&(b=E.getFields()[e.name.value])&&(g=b.type),this._defaultValueStack.push(b?b.defaultValue:void 0),this._inputTypeStack.push((0,o.isInputType)(g)?g:void 0);break;case a.Kind.ENUM:var O,_=(0,o.getNamedType)(this.getInputType());(0,o.isEnumType)(_)&&(O=_.getValue(e.value)),this._enumValue=O}},n.leave=function(e){switch(e.kind){case a.Kind.SELECTION_SET:this._parentTypeStack.pop();break;case a.Kind.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case a.Kind.DIRECTIVE:this._directive=null;break;case a.Kind.OPERATION_DEFINITION:case a.Kind.INLINE_FRAGMENT:case a.Kind.FRAGMENT_DEFINITION:this._typeStack.pop();break;case a.Kind.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case a.Kind.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case a.Kind.LIST:case a.Kind.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case a.Kind.ENUM:this._enumValue=null}},e}();function l(e,n,t){var r=t.name.value;return r===u.SchemaMetaFieldDef.name&&e.getQueryType()===n?u.SchemaMetaFieldDef:r===u.TypeMetaFieldDef.name&&e.getQueryType()===n?u.TypeMetaFieldDef:r===u.TypeNameMetaFieldDef.name&&(0,o.isCompositeType)(n)?u.TypeNameMetaFieldDef:(0,o.isObjectType)(n)||(0,o.isInterfaceType)(n)?n.getFields()[r]:void 0}n.TypeInfo=s},function(e,n,t){var r=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var i,a=t(6),o=t(130);!function(e){e.TYPE="VisitSchemaKind.TYPE",e.SCALAR_TYPE="VisitSchemaKind.SCALAR_TYPE",e.ENUM_TYPE="VisitSchemaKind.ENUM_TYPE",e.COMPOSITE_TYPE="VisitSchemaKind.COMPOSITE_TYPE",e.OBJECT_TYPE="VisitSchemaKind.OBJECT_TYPE",e.INPUT_OBJECT_TYPE="VisitSchemaKind.INPUT_OBJECT_TYPE",e.ABSTRACT_TYPE="VisitSchemaKind.ABSTRACT_TYPE",e.UNION_TYPE="VisitSchemaKind.UNION_TYPE",e.INTERFACE_TYPE="VisitSchemaKind.INTERFACE_TYPE",e.ROOT_OBJECT="VisitSchemaKind.ROOT_OBJECT",e.QUERY="VisitSchemaKind.QUERY",e.MUTATION="VisitSchemaKind.MUTATION",e.SUBSCRIPTION="VisitSchemaKind.SUBSCRIPTION"}(i=n.VisitSchemaKind||(n.VisitSchemaKind={})),n.visitSchema=function(e,n,t){var u={},c=o.createResolveType((function(e){if(void 0===u[e])throw new Error("Can't find type "+e+".");return u[e]})),s=e.getQueryType(),l=e.getMutationType(),f=e.getSubscriptionType(),p=e.getTypeMap();return Object.keys(p).map((function(s){var l=p[s];if(a.isNamedType(l)&&"__"!==a.getNamedType(l).name.slice(0,2)){var f=function(e,n){var t=[i.TYPE];if(e instanceof a.GraphQLObjectType){t.unshift(i.COMPOSITE_TYPE,i.OBJECT_TYPE);var r=n.getQueryType(),o=n.getMutationType(),u=n.getSubscriptionType();e===r?t.push(i.ROOT_OBJECT,i.QUERY):e===o?t.push(i.ROOT_OBJECT,i.MUTATION):e===u&&t.push(i.ROOT_OBJECT,i.SUBSCRIPTION)}else e instanceof a.GraphQLInputObjectType?t.push(i.INPUT_OBJECT_TYPE):e instanceof a.GraphQLInterfaceType?t.push(i.COMPOSITE_TYPE,i.ABSTRACT_TYPE,i.INTERFACE_TYPE):e instanceof a.GraphQLUnionType?t.push(i.COMPOSITE_TYPE,i.ABSTRACT_TYPE,i.UNION_TYPE):e instanceof a.GraphQLEnumType?t.push(i.ENUM_TYPE):e instanceof a.GraphQLScalarType&&t.push(i.SCALAR_TYPE);return t}(l,e),d=function(e,n){var t=null,i=r(n);for(;!t&&i.length>0;){var a=i.pop();t=e[a]}return t}(n,f);if(d){var v=d(l,e);u[s]=void 0===v?o.recreateType(l,c,!t):null===v?null:o.recreateType(v,c,!t)}else u[s]=o.recreateType(l,c,!t)}})),new a.GraphQLSchema({query:s?u[s.name]:null,mutation:l?u[l.name]:null,subscription:f?u[f.name]:null,types:Object.keys(u).map((function(e){return u[e]}))})}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(286),a=t(200),o=t(201);function u(e){switch(e.kind){case r.Kind.STRING:case r.Kind.BOOLEAN:return e.value;case r.Kind.INT:case r.Kind.FLOAT:return parseFloat(e.value);case r.Kind.OBJECT:var n=Object.create(null);return e.fields.forEach((function(e){n[e.name.value]=u(e.value)})),n;
39588case r.Kind.LIST:return e.values.map(u);default:return null}}function c(e,n,t){var r={};return Object.keys(e).forEach((function(i){var a=e[i];null!==n(a.type)&&(r[i]=s(e[i],n,t))})),r}function s(e,n,t){return{type:n(e.type),args:l(e.args,n),resolve:t?e.resolve:o.default,subscribe:t?e.subscribe:null,description:e.description,deprecationReason:e.deprecationReason,astNode:e.astNode}}function l(e,n){var t={};return e.forEach((function(e){var r=f(e,n);r&&(t[r[0]]=r[1])})),t}function f(e,n){var t=n(e.type);return null===t?null:[e.name,{type:t,defaultValue:e.defaultValue,description:e.description}]}function p(e,n){var t={};return Object.keys(e).forEach((function(r){var i=e[r];null!==n(i.type)&&(t[r]=d(e[r],n))})),t}function d(e,n){return{type:n(e.type),defaultValue:e.defaultValue,description:e.description,astNode:e.astNode}}n.recreateType=function(e,n,t){if(e instanceof r.GraphQLObjectType){var o=e.getFields(),s=e.getInterfaces();return new r.GraphQLObjectType({name:e.name,description:e.description,astNode:e.astNode,isTypeOf:t?e.isTypeOf:void 0,fields:function(){return c(o,n,t)},interfaces:function(){return s.map((function(e){return n(e)}))}})}if(e instanceof r.GraphQLInterfaceType){var l=e.getFields();return new r.GraphQLInterfaceType({name:e.name,description:e.description,astNode:e.astNode,fields:function(){return c(l,n,t)},resolveType:t?e.resolveType:function(e,n,t){return a.default(e,t.schema)}})}if(e instanceof r.GraphQLUnionType)return new r.GraphQLUnionType({name:e.name,description:e.description,astNode:e.astNode,types:function(){return e.getTypes().map((function(e){return n(e)}))},resolveType:t?e.resolveType:function(e,n,t){return a.default(e,t.schema)}});if(e instanceof r.GraphQLInputObjectType)return new r.GraphQLInputObjectType({name:e.name,description:e.description,astNode:e.astNode,fields:function(){return p(e.getFields(),n)}});if(e instanceof r.GraphQLEnumType){var f=e.getValues(),d={};return f.forEach((function(e){d[e.name]={value:e.value,deprecationReason:e.deprecationReason,description:e.description,astNode:e.astNode}})),new r.GraphQLEnumType({name:e.name,description:e.description,astNode:e.astNode,values:d})}if(e instanceof r.GraphQLScalarType)return t||i.default(e)?e:new r.GraphQLScalarType({name:e.name,description:e.description,astNode:e.astNode,serialize:function(e){return e},parseValue:function(e){return e},parseLiteral:function(e){return u(e)}});throw new Error("Invalid type "+e)},n.recreateDirective=function(e,n){return new r.GraphQLDirective({name:e.name,description:e.description,locations:e.locations,args:l(e.args,n),astNode:e.astNode})},n.fieldMapToFieldConfigMap=c,n.createResolveType=function(e){var n=function(t){var i;if(t instanceof r.GraphQLList)return null===(i=n(t.ofType))?null:new r.GraphQLList(i);if(t instanceof r.GraphQLNonNull)return null===(i=n(t.ofType))?null:new r.GraphQLNonNull(i);if(!r.isNamedType(t))return t;var a=r.getNamedType(t).name;switch(a){case r.GraphQLInt.name:return r.GraphQLInt;case r.GraphQLFloat.name:return r.GraphQLFloat;case r.GraphQLString.name:return r.GraphQLString;case r.GraphQLBoolean.name:return r.GraphQLBoolean;case r.GraphQLID.name:return r.GraphQLID;default:return e(a,t)}};return n},n.fieldToFieldConfig=s,n.argsToFieldConfigArgumentMap=l,n.argumentToArgumentConfig=f,n.inputFieldMapToFieldConfigMap=p,n.inputFieldToFieldConfig=d},,,,,,,,,,,,,,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){"function"==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function(){return this.constructor.name}})}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.prototype.toString;e.prototype.toJSON=n,e.prototype.inspect=n,i.default&&(e.prototype[i.default]=n)};var r,i=(r=t(244))&&r.__esModule?r:{default:r}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return Boolean(e&&"function"==typeof e.then)}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}
39588),n.validateSchema=h,n.assertValidSchema=function(e){var n=h(e);if(0!==n.length)throw new Error(n.map((function(e){return e.message})).join("\n\n"))};var r=y(t(126)),i=y(t(155)),a=y(t(49)),o=y(t(111)),u=y(t(13)),c=t(5),s=t(246),l=t(156),f=t(50),p=t(64),d=t(95),v=t(11);function y(e){return e&&e.__esModule?e:{default:e}}function h(e){if((0,d.assertSchema)(e),e.__validationErrors)return e.__validationErrors;var n=new m(e);!function(e){var n=e.schema,t=n.getQueryType();t?(0,v.isObjectType)(t)||e.reportError("Query root type must be Object type, it cannot be ".concat((0,u.default)(t),"."),T(n,t,"query")):e.reportError("Query root type must be provided.",n.astNode);var r=n.getMutationType();r&&!(0,v.isObjectType)(r)&&e.reportError("Mutation root type must be Object type if provided, it cannot be "+"".concat((0,u.default)(r),"."),T(n,r,"mutation"));var i=n.getSubscriptionType();i&&!(0,v.isObjectType)(i)&&e.reportError("Subscription root type must be Object type if provided, it cannot be "+"".concat((0,u.default)(i),"."),T(n,i,"subscription"))}(n),function(e){for(var n=0,t=e.schema.getDirectives();n<t.length;n++){var r=t[n];if((0,f.isDirective)(r)){g(e,r);for(var i=Object.create(null),a=function(n,t){var a=t[n],o=a.name;if(g(e,a),i[o])return e.reportError("Argument @".concat(r.name,"(").concat(o,":) can only be defined once."),r.astNode&&r.args.filter((function(e){return e.name===o})).map((function(e){return e.astNode}))),"continue";i[o]=!0,(0,v.isInputType)(a.type)||e.reportError("The type of @".concat(r.name,"(").concat(o,":) must be Input Type ")+"but got: ".concat((0,u.default)(a.type),"."),a.astNode)},o=0,c=r.args;o<c.length;o++)a(o,c)}else e.reportError("Expected directive but got: ".concat((0,u.default)(r),"."),r&&r.astNode)}}(n),function(e){for(var n=function(e){var n=Object.create(null),t=[],r=Object.create(null);return function i(o){if(n[o.name])return;n[o.name]=!0,r[o.name]=t.length;for(var u=(0,a.default)(o.getFields()),c=0;c<u.length;c++){var s=u[c];if((0,v.isNonNullType)(s.type)&&(0,v.isInputObjectType)(s.type.ofType)){var l=s.type.ofType,f=r[l.name];if(t.push(s),void 0===f)i(l);else{var p=t.slice(f),d=p.map((function(e){return e.name})).join(".");e.reportError('Cannot reference Input Object "'.concat(l.name,'" within itself through a series of non-null fields: "').concat(d,'".'),p.map((function(e){return e.astNode})))}t.pop()}}r[o.name]=void 0}}(e),t=e.schema.getTypeMap(),r=0,i=(0,a.default)(t);r<i.length;r++){var o=i[r];(0,v.isNamedType)(o)?((0,p.isIntrospectionType)(o)||g(e,o),(0,v.isObjectType)(o)?(b(e,o),E(e,o)):(0,v.isInterfaceType)(o)?b(e,o):(0,v.isUnionType)(o)?_(e,o):(0,v.isEnumType)(o)?N(e,o):(0,v.isInputObjectType)(o)&&(I(e,o),n(o))):e.reportError("Expected GraphQL named type but got: ".concat((0,u.default)(o),"."),o&&o.astNode)}}(n);var t=n.getErrors();return e.__validationErrors=t,t}var m=function(){function e(e){this._errors=[],this.schema=e}var n=e.prototype;return n.reportError=function(e,n){var t=Array.isArray(n)?n.filter(Boolean):n;this.addError(new c.GraphQLError(e,t))},n.addError=function(e){this._errors.push(e)},n.getErrors=function(){return this._errors},e}();function T(e,n,t){for(var r=D(e,(function(e){return e.operationTypes})),i=0;i<r.length;i++){var a=r[i];if(a.operation===t)return a.type}return n.astNode}function g(e,n){if(-1===e.schema.__allowedLegacyNames.indexOf(n.name)){var t=(0,s.isValidNameError)(n.name,n.astNode||void 0);t&&e.addError(t)}}function b(e,n){var t=(0,a.default)(n.getFields());0===t.length&&e.reportError("Type ".concat(n.name," must define one or more fields."),S(n));for(var r=0;r<t.length;r++){var i=t[r];g(e,i),(0,v.isOutputType)(i.type)||e.reportError("The type of ".concat(n.name,".").concat(i.name," must be Output Type ")+"but got: ".concat((0,u.default)(i.type),"."),i.astNode&&i.astNode.type);for(var o=Object.create(null),c=function(t,r){var a=r[t],c=a.name;g(e,a),o[c]&&e.reportError("Field argument ".concat(n.name,".").concat(i.name,"(").concat(c,":) can only be defined once."),i.args.filter((function(e){return e.name===c})).map((function(e){return e.astNode}))),o[c]=!0,(0,v.isInputType)(a.type)||e.reportError("The type of ".concat(n.name,".").concat(i.name,"(").concat(c,":) must be Input ")+"Type but got: ".concat((0,u.default)(a.type),"."),a.astNode&&a.astNode.type)},s=0,l=i.args;s<l.length;s++)c(s,l)}}function E(e,n){for(var t=Object.create(null),r=0,i=n.getInterfaces();r<i.length;r++){var a=i[r];(0,v.isInterfaceType)(a)?t[a.name]?e.reportError("Type ".concat(n.name," can only implement ").concat(a.name," once."),L(n,a)):(t[a.name]=!0,O(e,n,a)):e.reportError("Type ".concat((0,u.default)(n)," must only implement Interface types, ")+"it cannot implement ".concat((0,u.default)(a),"."),L(n,a))}}function O(e,n,t){for(var i=n.getFields(),a=t.getFields(),c=0,s=(0,o.default)(a);c<s.length;c++){var f=s[c],p=f[0],d=f[1],y=i[p];if(y){(0,l.isTypeSubTypeOf)(e.schema,y.type,d.type)||e.reportError("Interface field ".concat(t.name,".").concat(p," expects type ")+"".concat((0,u.default)(d.type)," but ").concat(n.name,".").concat(p," ")+"is type ".concat((0,u.default)(y.type),"."),[d.astNode&&d.astNode.type,y.astNode&&y.astNode.type]);for(var h=function(i,a){var o=a[i],c=o.name,s=(0,r.default)(y.args,(function(e){return e.name===c}));if(!s)return e.reportError("Interface field argument ".concat(t.name,".").concat(p,"(").concat(c,":) expected but ").concat(n.name,".").concat(p," does not provide it."),[o.astNode,y.astNode]),"continue";(0,l.isEqualType)(o.type,s.type)||e.reportError("Interface field argument ".concat(t.name,".").concat(p,"(").concat(c,":) ")+"expects type ".concat((0,u.default)(o.type)," but ")+"".concat(n.name,".").concat(p,"(").concat(c,":) is type ")+"".concat((0,u.default)(s.type),"."),[o.astNode&&o.astNode.type,s.astNode&&s.astNode.type])},m=0,T=d.args;m<T.length;m++)h(m,T);for(var g=function(i,a){var o=a[i],u=o.name;!(0,r.default)(d.args,(function(e){return e.name===u}))&&(0,v.isRequiredArgument)(o)&&e.reportError("Object field ".concat(n.name,".").concat(p," includes required argument ").concat(u," that is missing from the Interface field ").concat(t.name,".").concat(p,"."),[o.astNode,d.astNode])},b=0,E=y.args;b<E.length;b++)g(b,E)}else e.reportError("Interface field ".concat(t.name,".").concat(p," expected but ").concat(n.name," does not provide it."),[d.astNode].concat(S(n)))}}function _(e,n){var t=n.getTypes();0===t.length&&e.reportError("Union type ".concat(n.name," must define one or more member types."),S(n));for(var r=Object.create(null),i=0;i<t.length;i++){var a=t[i];r[a.name]?e.reportError("Union type ".concat(n.name," can only include type ").concat(a.name," once."),A(n,a.name)):(r[a.name]=!0,(0,v.isObjectType)(a)||e.reportError("Union type ".concat(n.name," can only include Object types, ")+"it cannot include ".concat((0,u.default)(a),"."),A(n,String(a))))}}function N(e,n){var t=n.getValues();0===t.length&&e.reportError("Enum type ".concat(n.name," must define one or more values."),S(n));for(var r=0;r<t.length;r++){var i=t[r],a=i.name;g(e,i),"true"!==a&&"false"!==a&&"null"!==a||e.reportError("Enum type ".concat(n.name," cannot include value: ").concat(a,"."),i.astNode)}}function I(e,n){var t=(0,a.default)(n.getFields());0===t.length&&e.reportError("Input Object type ".concat(n.name," must define one or more fields."),S(n));for(var r=0;r<t.length;r++){var i=t[r];g(e,i),(0,v.isInputType)(i.type)||e.reportError("The type of ".concat(n.name,".").concat(i.name," must be Input Type ")+"but got: ".concat((0,u.default)(i.type),"."),i.astNode&&i.astNode.type)}}function S(e){var n=e.astNode,t=e.extensionASTNodes;return n?t?[n].concat(t):[n]:t||[]}function D(e,n){return(0,i.default)(S(e),(function(e){return n(e)||[]}))}function L(e,n){return D(e,(function(e){return e.interfaces})).filter((function(e){return e.name.value===n.name}))}function A(e,n){return D(e,(function(e){return e.types})).filter((function(e){return e.name.value===n}))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=Array.prototype.flatMap,i=r?function(e,n){return r.call(e,n)}:function(e,n){for(var t=[],r=0;r<e.length;r++){var i=n(e[r]);Array.isArray(i)?t=t.concat(i):t.push(i)}return t};n.default=i},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isEqualType=function e(n,t){if(n===t)return!0;
39588if((0,r.isNonNullType)(n)&&(0,r.isNonNullType)(t))return e(n.ofType,t.ofType);if((0,r.isListType)(n)&&(0,r.isListType)(t))return e(n.ofType,t.ofType);return!1},n.isTypeSubTypeOf=function e(n,t,i){if(t===i)return!0;if((0,r.isNonNullType)(i))return!!(0,r.isNonNullType)(t)&&e(n,t.ofType,i.ofType);if((0,r.isNonNullType)(t))return e(n,t.ofType,i);if((0,r.isListType)(i))return!!(0,r.isListType)(t)&&e(n,t.ofType,i.ofType);if((0,r.isListType)(t))return!1;if((0,r.isAbstractType)(i)&&(0,r.isObjectType)(t)&&n.isPossibleType(i,t))return!0;return!1},n.doTypesOverlap=function(e,n,t){if(n===t)return!0;if((0,r.isAbstractType)(n))return(0,r.isAbstractType)(t)?e.getPossibleTypes(n).some((function(n){return e.isPossibleType(t,n)})):e.isPossibleType(n,t);if((0,r.isAbstractType)(t))return e.isPossibleType(t,n);return!1};var r=t(11)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.astFromValue=function e(n,t){if((0,p.isNonNullType)(t)){var d=e(n,t.ofType);return d&&d.kind===l.Kind.NULL?null:d}if(null===n)return{kind:l.Kind.NULL};if((0,c.default)(n))return null;if((0,p.isListType)(t)){var y=t.ofType;if((0,r.isCollection)(n)){var h=[];return(0,r.forEach)(n,(function(n){var t=e(n,y);t&&h.push(t)})),{kind:l.Kind.LIST,values:h}}return e(n,y)}if((0,p.isInputObjectType)(t)){if(!(0,s.default)(n))return null;for(var m=[],T=0,g=(0,i.default)(t.getFields());T<g.length;T++){var b=g[T],E=e(n[b.name],b.type);E&&m.push({kind:l.Kind.OBJECT_FIELD,name:{kind:l.Kind.NAME,value:b.name},value:E})}return{kind:l.Kind.OBJECT,fields:m}}if((0,p.isLeafType)(t)){var O=t.serialize(n);if((0,u.default)(O))return null;if("boolean"==typeof O)return{kind:l.Kind.BOOLEAN,value:O};if("number"==typeof O){var _=String(O);return v.test(_)?{kind:l.Kind.INT,value:_}:{kind:l.Kind.FLOAT,value:_}}if("string"==typeof O)return(0,p.isEnumType)(t)?{kind:l.Kind.ENUM,value:O}:t===f.GraphQLID&&v.test(O)?{kind:l.Kind.INT,value:O}:{kind:l.Kind.STRING,value:O};throw new TypeError("Cannot convert value to AST: ".concat((0,a.default)(O)))}(0,o.default)(!1,"Unexpected input type: "+(0,a.default)(t))};var r=t(47),i=d(t(49)),a=d(t(13)),o=d(t(48)),u=d(t(245)),c=d(t(124)),s=d(t(65)),l=t(18),f=t(66),p=t(11);function d(e){return e&&e.__esModule?e:{default:e}}var v=/^-?(?:0|[1-9][0-9]*)$/},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.getVariableValues=function(e,n,t,r){var i=r&&r.maxErrors,c=[];try{var v=function(e,n,t,r){for(var i={},c=function(c){var v=n[c],y=v.variable.name.value,m=(0,f.typeFromAST)(e,v.type);if(!(0,l.isInputType)(m)){var T=(0,s.print)(v.type);return r(new u.GraphQLError('Variable "$'.concat(y,'" expected value of type "').concat(T,'" which cannot be used as an input type.'),v.type)),"continue"}if(!h(t,y)){if(v.defaultValue)i[y]=(0,p.valueFromAST)(v.defaultValue,m);else if((0,l.isNonNullType)(m)){var g=(0,a.default)(m);r(new u.GraphQLError('Variable "$'.concat(y,'" of required type "').concat(g,'" was not provided.'),v))}return"continue"}var b=t[y];if(null===b&&(0,l.isNonNullType)(m)){var E=(0,a.default)(m);return r(new u.GraphQLError('Variable "$'.concat(y,'" of non-null type "').concat(E,'" must not be null.'),v)),"continue"}i[y]=(0,d.coerceInputValue)(b,m,(function(e,n,t){var i='Variable "$'.concat(y,'" got invalid value ')+(0,a.default)(n);e.length>0&&(i+=' at "'.concat(y).concat((0,o.default)(e),'"')),r(new u.GraphQLError(i+"; "+t.message,v,void 0,void 0,void 0,t.originalError))}))},v=0;v<n.length;v++)c(v);return i}(e,n,t,(function(e){if(null!=i&&c.length>=i)throw new u.GraphQLError("Too many errors processing variables, error limit reached. Execution aborted.");c.push(e)}));if(0===c.length)return{coerced:v}}catch(e){c.push(e)}return{errors:c}},n.getArgumentValues=y,n.getDirectiveValues=function(e,n,t){var i=n.directives&&(0,r.default)(n.directives,(function(n){return n.name.value===e.name}));if(i)return y(e,i,t)};var r=v(t(126)),i=v(t(94)),a=v(t(13)),o=v(t(192)),u=t(5),c=t(18),s=t(63),l=t(11),f=t(67),p=t(159),d=t(193);function v(e){return e&&e.__esModule?e:{default:e}}function y(e,n,t){for(var r={},o=(0,i.default)(n.arguments||[],(function(e){return e.name.value})),f=0,d=e.args;f<d.length;f++){var v=d[f],y=v.name,m=v.type,T=o[y];if(T){var g=T.value,b=g.kind===c.Kind.NULL;if(g.kind===c.Kind.VARIABLE){var E=g.name.value;if(null==t||!h(t,E)){if(void 0!==v.defaultValue)r[y]=v.defaultValue;else if((0,l.isNonNullType)(m))throw new u.GraphQLError('Argument "'.concat(y,'" of required type "').concat((0,a.default)(m),'" ')+'was provided the variable "$'.concat(E,'" which was not provided a runtime value.'),g);continue}b=null==t[E]}if(b&&(0,l.isNonNullType)(m))throw new u.GraphQLError('Argument "'.concat(y,'" of non-null type "').concat((0,a.default)(m),'" ')+"must not be null.",g);var O=(0,p.valueFromAST)(g,m,t);if(void 0===O)throw new u.GraphQLError('Argument "'.concat(y,'" has invali
39588d value ').concat((0,s.print)(g),"."),g);r[y]=O}else if(void 0!==v.defaultValue)r[y]=v.defaultValue;else if((0,l.isNonNullType)(m))throw new u.GraphQLError('Argument "'.concat(y,'" of required type "').concat((0,a.default)(m),'" ')+"was not provided.",n)}return r}function h(e,n){return Object.prototype.hasOwnProperty.call(e,n)}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.valueFromAST=function e(n,t,l){if(!n)return;if((0,s.isNonNullType)(t)){if(n.kind===c.Kind.NULL)return;return e(n,t.ofType,l)}if(n.kind===c.Kind.NULL)return null;if(n.kind===c.Kind.VARIABLE){var p=n.name.value;if(!l||(0,u.default)(l[p]))return;var d=l[p];if(null===d&&(0,s.isNonNullType)(t))return;return d}if((0,s.isListType)(t)){var v=t.ofType;if(n.kind===c.Kind.LIST){for(var y=[],h=0,m=n.values;h<m.length;h++){var T=m[h];if(f(T,l)){if((0,s.isNonNullType)(v))return;y.push(null)}else{var g=e(T,v,l);if((0,u.default)(g))return;y.push(g)}}return y}var b=e(n,v,l);if((0,u.default)(b))return;return[b]}if((0,s.isInputObjectType)(t)){if(n.kind!==c.Kind.OBJECT)return;for(var E=Object.create(null),O=(0,i.default)(n.fields,(function(e){return e.name.value})),_=0,N=(0,r.default)(t.getFields());_<N.length;_++){var I=N[_],S=O[I.name];if(S&&!f(S.value,l)){var D=e(S.value,I.type,l);if((0,u.default)(D))return;E[I.name]=D}else if(void 0!==I.defaultValue)E[I.name]=I.defaultValue;else if((0,s.isNonNullType)(I.type))return}return E}if((0,s.isEnumType)(t)){if(n.kind!==c.Kind.ENUM)return;var L=t.getValue(n.value);if(!L)return;return L.value}if((0,s.isScalarType)(t)){var A;try{A=t.parseLiteral(n,l)}catch(e){return}if((0,u.default)(A))return;return A}(0,o.default)(!1,"Unexpected input type: "+(0,a.default)(t))};var r=l(t(49)),i=l(t(94)),a=l(t(13)),o=l(t(48)),u=l(t(124)),c=t(18),s=t(11);function l(e){return e&&e.__esModule?e:{default:e}}function f(e,n){return e.kind===c.Kind.VARIABLE&&(!n||(0,u.default)(n[e.name.value]))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.validate=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.specifiedRules,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new c.TypeInfo(e),f=arguments.length>4?arguments[4]:void 0;n||(0,i.default)(0,"Must provide document"),(0,u.assertValidSchema)(e);var p=Object.freeze({}),d=[],v=f&&f.maxErrors,y=new l.ValidationContext(e,n,r,(function(e){if(null!=v&&d.length>=v)throw d.push(new a.GraphQLError("Too many validation errors, error limit reached. Validation aborted.")),p;d.push(e)})),h=(0,o.visitInParallel)(t.map((function(e){return e(y)})));try{(0,o.visit)(n,(0,o.visitWithTypeInfo)(r,h))}catch(e){if(e!==p)throw e}return d},n.validateSDL=p,n.assertValidSDL=function(e){var n=p(e);if(0!==n.length)throw new Error(n.map((function(e){return e.message})).join("\n\n"))},n.assertValidSDLExtension=function(e,n){var t=p(e,n);if(0!==t.length)throw new Error(t.map((function(e){return e.message})).join("\n\n"))},n.ABORT_VALIDATION=void 0;var r,i=(r=t(59))&&r.__esModule?r:{default:r},a=t(5),o=t(28),u=t(154),c=t(128),s=t(249),l=t(197);var f=Object.freeze({});function p(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.specifiedSDLRules,r=[],i=new l.SDLValidationContext(e,n,(function(e){r.push(e)})),a=t.map((function(e){return e(i)}));return(0,o.visit)(e,(0,o.visitInParallel)(a)),r}n.ABORT_VALIDATION=f},function(e,n,t){var r,i=this&&this.__extends||(r=function(e,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)n.hasOwnProperty(t)&&(e[t]=n[t])})(e,n)},function(e,n){function t(){this.constructor=e}r(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}),a=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var o=t(6),u=t(158),c=Object.prototype.hasOwnProperty,s=function(){function e(){}return e.implementsVisitorMethod=function(n){if(!n.startsWith("visit"))return!1;var t=this.prototype[n];return"function"==typeof t&&(this===e||t!==e.prototype[n])},e.prototype.visitSchema=function(e){},e.prototype.visitScalar=function(e){},e.prototype.visitObject=function(e){},e.prototype.visitFieldDefinition=function(e,n){},e.prototype.visitArgumentDefinition=function(e,n){},e.prototype.visitInterface=function(e){},e.prototype.visitUnion=function(e){},e.prototype.visitEnum=function(e){},e.prototype.visitEnumValue=function(e,n){},e.prototype.visitInputObject=function(e){},e.prototype.visitInputFieldDefinition=function(e,n){},e}();function l(e,n){function t(e,t){for(var r=[],i=2;i<arguments.length;i++)r[i-2]=arguments[i];return n(t,e).every((function(n){var i=n[e].apply(n,a([t],r));if(void 0===i)return!0;
39588if("visitSchema"===e||t instanceof o.GraphQLSchema)throw new Error("Method "+e+" cannot replace schema with "+i);return null===i?(t=null,!1):(t=i,!0)})),t}function r(e){v(e.getFields(),(function(n){var r=t("visitFieldDefinition",n,{objectType:e});return r&&r.args&&v(r.args,(function(n){return t("visitArgumentDefinition",n,{field:r,objectType:e})})),r}))}return function e(n){if(n instanceof o.GraphQLSchema)return t("visitSchema",n),v(n.getTypeMap(),(function(n,t){if(!t.startsWith("__"))return e(n)})),n;if(n instanceof o.GraphQLObjectType){var i=t("visitObject",n);return i&&r(i),i}if(n instanceof o.GraphQLInterfaceType){var a=t("visitInterface",n);return a&&r(a),a}if(n instanceof o.GraphQLInputObjectType){var u=t("visitInputObject",n);return u&&v(u.getFields(),(function(e){return t("visitInputFieldDefinition",e,{objectType:u})})),u}if(n instanceof o.GraphQLScalarType)return t("visitScalar",n);if(n instanceof o.GraphQLUnionType)return t("visitUnion",n);if(n instanceof o.GraphQLEnumType){var c=t("visitEnum",n);return c&&v(c.getValues(),(function(e){return t("visitEnumValue",e,{enumType:c})})),c}throw new Error("Unexpected schema type: "+n)}(e),e}function f(e){return function e(r){if(r instanceof o.GraphQLSchema){var i=r.getTypeMap(),a=Object.create(null);d(i,(function(e,n){if(!n.startsWith("__")){var t=e.name;if(!t.startsWith("__")){if(c.call(a,t))throw new Error("Duplicate schema type name "+t);a[t]=e}}})),d(a,(function(e,n){i[n]=e})),d(r.getDirectives(),(function(e){e.args&&d(e.args,(function(e){e.type=t(e.type)}))})),d(i,(function(n,t){t.startsWith("__")||e(n)})),v(i,(function(e,n){if(!n.startsWith("__")&&!c.call(a,n))return null}))}else if(r instanceof o.GraphQLObjectType)n(r),d(r.getInterfaces(),(function(n){return e(n)}));else if(r instanceof o.GraphQLInterfaceType)n(r);else if(r instanceof o.GraphQLInputObjectType)d(r.getFields(),(function(e){e.type=t(e.type)}));else if(r instanceof o.GraphQLScalarType);else if(r instanceof o.GraphQLUnionType)v(r.getTypes(),(function(e){return t(e)}));else if(!(r instanceof o.GraphQLEnumType))throw new Error("Unexpected schema type: "+r)}(e),e;function n(e){d(e.getFields(),(function(e){e.type=t(e.type),e.args&&d(e.args,(function(e){e.type=t(e.type)}))}))}function t(n){if(n instanceof o.GraphQLList)n=new o.GraphQLList(t(n.ofType));else if(n instanceof o.GraphQLNonNull)n=new o.GraphQLNonNull(t(n.ofType));else if(o.isNamedType(n)){var r=n,i=e.getType(r.name);if(i&&r!==i)return i}return n}}n.SchemaVisitor=s,n.visitSchema=l,n.healSchema=f;var p=function(e){function n(n){var t=e.call(this)||this;return t.name=n.name,t.args=n.args,t.visitedType=n.visitedType,t.schema=n.schema,t.context=n.context,t}return i(n,e),n.getDirectiveDeclaration=function(e,n){return n.getDirective(e)},n.visitSchemaDirectives=function(e,n,t){void 0===t&&(t=Object.create(null));var r=this.getDeclaredDirectives(e,n),i=Object.create(null);return Object.keys(n).forEach((function(e){i[e]=[]})),l(e,(function(a,o){var s=[],l=a.astNode&&a.astNode.directives;return l?(l.forEach((function(i){var l=i.name.value;if(c.call(n,l)){var f=n[l];if(f.implementsVisitorMethod(o)){var p,d=r[l];d?p=u.getArgumentValues(d,i):(p=Object.create(null),i.arguments.forEach((function(e){p[e.name.value]=y(e.value)}))),s.push(new f({name:l,args:p,visitedType:a,schema:e,context:t}))}}})),s.length>0&&s.forEach((function(e){i[e.name].push(e)})),s):s})),f(e),i},n.getDeclaredDirectives=function(e,n){var t=Object.create(null);return d(e.getDirectives(),(function(e){t[e.name]=e})),d(n,(function(n,r){var i=n.getDirectiveDeclaration(r,e);i&&(t[r]=i)})),d(t,(function(e,t){if(c.call(n,t)){var r=n[t];d(e.locations,(function(e){var n=function(e){return"visit"+e.replace(/([^_]*)_?/g,(function(e,n){return n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()}))}(e);if(s.implementsVisitorMethod(n)&&!r.implementsVisitorMethod(n))throw new Error("SchemaDirectiveVisitor for @"+t+" must implement "+n+" method")}))}})),t},n}(s);function d(e,n){Object.keys(e).forEach((function(t){n(e[t],t)}))}function v(e,n){var t=0;Object.keys(e).forEach((function(r){var i=n(e[r],r);if(void 0!==i)return null===i?(delete e[r],void t++):void(e[r]=i)})),t>
vendor: 3,879 bytes, line 39588
395880&&Array.isArray(e)&&e.splice(0).forEach((function(n){e.push(n)}))}function y(e){switch(e.kind){case o.Kind.NULL:return null;case o.Kind.INT:return parseInt(e.value,10);case o.Kind.FLOAT:return parseFloat(e.value);case o.Kind.STRING:case o.Kind.ENUM:case o.Kind.BOOLEAN:return e.value;case o.Kind.LIST:return e.values.map(y);case o.Kind.OBJECT:var n=Object.create(null);return e.fields.forEach((function(e){n[e.name.value]=y(e.value)})),n;default:throw new Error("Unexpected value kind: "+e.kind)}}n.SchemaDirectiveVisitor=p},,,,,,,,,,,,,,,,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Source=void 0;var r=a(t(59)),i=a(t(151));function a(e){return e&&e.__esModule?e:{default:e}}var o=function(e,n,t){this.body=e,this.name=n||"GraphQL request",this.locationOffset=t||{line:1,column:1},this.locationOffset.line>0||(0,r.default)(0,"line in locationOffset is 1-indexed and must be positive"),this.locationOffset.column>0||(0,r.default)(0,"column in locationOffset is 1-indexed and must be positive")};n.Source=o,(0,i.default)(o)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.getLocation=function(e,n){var t,r=/\r\n|[\n\r]/g,i=1,a=n+1;for(;(t=r.exec(e.body))&&t.index<n;)i+=1,a=n+1-(t.index+t[0].length);return{line:i,column:a}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.createLexer=function(e,n){var t=new l(u.TokenKind.SOF,0,0,0,0,null);return{source:e,options:n,lastToken:t,token:t,line:1,lineStart:0,advance:c,lookahead:s}},n.isPunctuatorToken=function(e){var n=e.kind;return n===u.TokenKind.BANG||n===u.TokenKind.DOLLAR||n===u.TokenKind.AMP||n===u.TokenKind.PAREN_L||n===u.TokenKind.PAREN_R||n===u.TokenKind.SPREAD||n===u.TokenKind.COLON||n===u.TokenKind.EQUALS||n===u.TokenKind.AT||n===u.TokenKind.BRACKET_L||n===u.TokenKind.BRACKET_R||n===u.TokenKind.BRACE_L||n===u.TokenKind.PIPE||n===u.TokenKind.BRACE_R};var r,i=(r=t(152))&&r.__esModule?r:{default:r},a=t(187),o=t(121),u=t(120);function c(){return this.lastToken=this.token,this.token=this.lookahead()}function s(){var e=this.token;if(e.kind!==u.TokenKind.EOF)do{e=e.next||(e.next=p(this,e))}while(e.kind===u.TokenKind.COMMENT);return e}function l(e,n,t,r,i,a,o){this.kind=e,this.start=n,this.end=t,this.line=r,this.column=i,this.value=o,this.prev=a,this.next=null}function f(e){return isNaN(e)?u.TokenKind.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'"\\u'.concat(("00"+e.toString(16).toUpperCase()).slice(-4),'"')}function p(e,n){var t=e.source,r=t.body,i=r.length,c=function(e,n,t){var r=e.length,i=n;for(;i<r;){var a=e.charCodeAt(i);if(9===a||32===a||44===a||65279===a)++i;else if(10===a)++i,++t.line,t.lineStart=i;else{if(13!==a)break;10===e.charCodeAt(i+1)?i+=2:++i,++t.line,t.lineStart=i}}return i}(r,n.end,e),s=e.line,p=1+c-e.lineStart;if(c>=i)return new l(u.TokenKind.EOF,i,i,s,p,n);var y=r.charCodeAt(c);switch(y){case 33:return new l(u.TokenKind.BANG,c,c+1,s,p,n);case 35:return function(e,n,t,r,i){var a,o=e.body,c=n;do{a=o.charCodeAt(++c)}while(!isNaN(a)&&(a>31||9===a));return new l(u.TokenKind.COMMENT,n,c,t,r,i,o.slice(n+1,c))}(t,c,s,p,n);case 36:return new l(u.TokenKind.DOLLAR,c,c+1,s,p,n);case 38:return new l(u.TokenKind.AMP,c,c+1,s,p,n);case 40:return new l(u.TokenKind.PAREN_L,c,c+1,s,p,n);case 41:return new l(u.TokenKind.PAREN_R,c,c+1,s,p,n);case 46:if(46===r.charCodeAt(c+1)&&46===r.charCodeAt(c+2))return new l(u.TokenKind.SPREAD,c,c+3,s,p,n);break;case 58:return new l(u.TokenKind.COLON,c,c+1,s,p,n);case 61:return new l(u.TokenKind.EQUALS,c,c+1,s,p,n);case 64:return new l(u.TokenKind.AT,c,c+1,s,p,n);case 91:return new l(u.TokenKind.BRACKET_L,c,c+1,s,p,n);case 93:return new l(u.TokenKind.BRACKET_R,c,c+1,s,p,n);case 123:return new l(u.TokenKind.BRACE_L,c,c+1,s,p,n);case 124:return new l(u.TokenKind.PIPE,c,c+1,s,p,n);case 125:return new l(u.TokenKind.BRACE_R,c,c+1,s,p,n);
vendor: 2,619 bytes, line 39588
39588case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 95:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:return function(e,n,t,r,i){var a=e.body,o=a.length,c=n+1,s=0;for(;c!==o&&!isNaN(s=a.charCodeAt(c))&&(95===s||s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122);)++c;return new l(u.TokenKind.NAME,n,c,t,r,i,a.slice(n,c))}(t,c,s,p,n);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return function(e,n,t,r,i,o){var c=e.body,s=t,p=n,v=!1;45===s&&(s=c.charCodeAt(++p));if(48===s){if((s=c.charCodeAt(++p))>=48&&s<=57)throw(0,a.syntaxError)(e,p,"Invalid number, unexpected digit after 0: ".concat(f(s),"."))}else p=d(e,p,s),s=c.charCodeAt(p);46===s&&(v=!0,s=c.charCodeAt(++p),p=d(e,p,s),s=c.charCodeAt(p));69!==s&&101!==s||(v=!0,43!==(s=c.charCodeAt(++p))&&45!==s||(s=c.charCodeAt(++p)),p=d(e,p,s),s=c.charCodeAt(p));if(46===s||69===s||101===s)throw(0,a.syntaxError)(e,p,"Invalid number, expected digit but got: ".concat(f(s),"."));return new l(v?u.TokenKind.FLOAT:u.TokenKind.INT,n,p,r,i,o,c.slice(n,p))}(t,c,y,s,p,n);case 34:return 34===r.charCodeAt(c+1)&&34===r.charCodeAt(c+2)?function(e,n,t,r,i,c){var s=e.body,p=n+3,d=p,v=0,y="";for(;p<s.length&&!isNaN(v=s.charCodeAt(p));){if(34===v&&34===s.charCodeAt(p+1)&&34===s.charCodeAt(p+2))return y+=s.slice(d,p),new l(u.TokenKind.BLOCK_STRING,n,p+3,t,r,i,(0,o.dedentBlockStringValue)(y));if(v<32&&9!==v&&10!==v&&13!==v)throw(0,a.syntaxError)(e,p,"Invalid character within String: ".concat(f(v),"."));10===v?(++p,++c.line,c.lineStart=p):13===v?(10===s.charCodeAt(p+1)?p+=2:++p,++c.line,c.lineStart=p):92===v&&34===s.charCodeAt(p+1)&&34===s.charCodeAt(p+2)&&34===s.charCodeAt(p+3)?(y+=s.slice(d,p)+'"""',d=p+=4):++p}throw(0,a.syntaxError)(e,p,"Unterminated string.")}(t,c,s,p,n,e):function(e,n,t,r,i){var o=e.body,c=n+1,s=c,p=0,d="";for(;c<o.length&&!isNaN(p=o.charCodeAt(c))&&10!==p&&13!==p;){if(34===p)return d+=o.slice(s,c),new l(u.TokenKind.STRING,n,c+1,t,r,i,d);if(p<32&&9!==p)throw(0,a.syntaxError)(e,c,"Invalid character within String: ".concat(f(p),"."));if(++c,92===p){switch(d+=o.slice(s,c-1),p=o.charCodeAt(c)){case 34:d+='"';break;case 47:d+="/";break;case 92:d+="\\";break;case 98:d+="\b";break;case 102:d+="\f";break;case 110:d+="\n";break;case 114:d+="\r";break;case 116:d+="\t";break;
39588case 117:var y=(m=o.charCodeAt(c+1),T=o.charCodeAt(c+2),g=o.charCodeAt(c+3),b=o.charCodeAt(c+4),v(m)<<12|v(T)<<8|v(g)<<4|v(b));if(y<0){var h=o.slice(c+1,c+5);throw(0,a.syntaxError)(e,c,"Invalid character escape sequence: \\u".concat(h,"."))}d+=String.fromCharCode(y),c+=4;break;default:throw(0,a.syntaxError)(e,c,"Invalid character escape sequence: \\".concat(String.fromCharCode(p),"."))}++c,s=c}}var m,T,g,b;throw(0,a.syntaxError)(e,c,"Unterminated string.")}(t,c,s,p,n)}throw(0,a.syntaxError)(t,c,function(e){if(e<32&&9!==e&&10!==e&&13!==e)return"Cannot contain the invalid character ".concat(f(e),".");if(39===e)return"Unexpected single quote character ('), did you mean to use a double quote (\")?";return"Cannot parse the unexpected character ".concat(f(e),".")}(y))}function d(e,n,t){var r=e.body,i=n,o=t;if(o>=48&&o<=57){do{o=r.charCodeAt(++i)}while(o>=48&&o<=57);return i}throw(0,a.syntaxError)(e,i,"Invalid number, expected digit but got: ".concat(f(o),"."))}function v(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}(0,i.default)(l,(function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}))},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.syntaxError=function(e,n,t){return new r.GraphQLError("Syntax Error: ".concat(t),void 0,e,[n])};var r=t(5)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.locatedError=function(e,n,t){if(e&&Array.isArray(e.path))return e;return new r.GraphQLError(e&&e.message,e&&e.nodes||n,e&&e.source,e&&e.positions,t,e)};var r=t(5)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){if(null===Object.getPrototypeOf(e))return e;for(var n=Object.create(null),t=0,r=(0,i.default)(e);t<r.length;t++){var a=r[t],o=a[0],u=a[1];n[o]=u}return n};var r,i=(r=t(111))&&r.__esModule?r:{default:r}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=function(e,n){return e instanceof n};n.default=r},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.getOperationRootType=function(e,n){if("query"===n.operation){var t=e.getQueryType();if(!t)throw new r.GraphQLError("Schema does not define the required query root type.",n);return t}if("mutation"===n.operation){var i=e.getMutationType();if(!i)throw new r.GraphQLError("Schema is not configured for mutations.",n);return i}if("subscription"===n.operation){var a=e.getSubscriptionType();if(!a)throw new r.GraphQLError("Schema is not configured for subscriptions.",n);return a}throw new r.GraphQLError("Can only have query, mutation and subscription operations.",n)};var r=t(5)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return e.map((function(e){return"number"==typeof e?"["+e.toString()+"]":"."+e})).join("")}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.coerceInputValue=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:y;return h(e,n,t)};var r=t(47),i=v(t(49)),a=v(t(13)),o=v(t(48)),u=v(t(113)),c=v(t(65)),s=v(t(114)),l=v(t(192)),f=t(125),p=t(5),d=t(11);function v(e){return e&&e.__esModule?e:{default:e}}function y(e,n,t){var r="Invalid value "+(0,a.default)(n);throw e.length>0&&(r+=' at "value'.concat((0,l.default)(e),'": ')),t.message=r+": "+t.message,t}function h(e,n,t,l){if((0,d.isNonNullType)(n))return null!=e?h(e,n.ofType,t,l):void t((0,f.pathToArray)(l),e,new p.GraphQLError("Expected non-nullable type ".concat((0,a.default)(n)," not to be null.")));if(null==e)return null;if((0,d.isListType)(n)){var v=n.ofType;if((0,r.isCollection)(e)){var y=[];return(0,r.forEach)(e,(function(e,n){y.push(h(e,v,t,(0,f.addPath)(l,n)))})),y}return[h(e,v,t,l)]}if((0,d.isInputObjectType)(n)){if(!(0,c.default)(e))return void t((0,f.pathToArray)(l),e,new p.GraphQLError("Expected type ".concat(n.name," to be an object.")));for(var m={},T=n.getFields(),g=0,b=(0,i.default)(T);g<b.length;g++){var E=b[g],O=e[E.name];if(void 0!==O)m[E.name]=h(O,E.type,t,(0,f.addPath)(l,E.name));else if(void 0!==E.defaultValue)m[E.name]=E.defaultValue;else if((0,d.isNonNullType)(E.type)){var _=(0,a.default)(E.type);t((0,f.pathToArray)(l),e,new p.GraphQLError("Field ".concat(E.name," of required type ").concat(_," was not provided.")))}}for(var N=0,I=Object.keys(e);N<I.length;N++){var S=I[N];if(!T[S]){var D=(0,s.default)(S,Object.keys(n.getFields()));t((0,f.pathToArray)(l),e,new p.GraphQLError('Field "'.concat(S,'" is not defined by type ').concat(n.name,".")+(0,u.default)(D)))}}return m}if((0,d.isScalarType)(n)){var L;try{L=n.parseValue(e)}catch(r){return void t((0,f.pathToArray)(l),e,new p.GraphQLError("Expected type ".concat(n.name,". ")+r.message,void 0,void 0,void 0,void 0,r))}return void 0===L&&t((0,f.pathToArray)(l),e,new p.GraphQLError("Expected type ".concat(n.name,"."))),L}if((0,d.isEnumType)(n)){if("string"==typeof e){var A=n.getValue(e);if(A)return A.value}var j=(0,s.default)(String(e),n.getValues().map((function(e){return e.name})));t((0,f.pathToArray)(l),e,new p.GraphQLError("Expected type ".concat(n.name,".")+(0,u.default)(j))
39588)}else(0,o.default)(!1,"Unexpected input type: "+(0,a.default)(n))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.versionInfo=n.version=void 0;n.version="14.7.0";var r=Object.freeze({major:14,minor:7,patch:0,preReleaseTag:null});n.versionInfo=r},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.graphql=function(e,n,t,r,i,a,o,u){var c=arguments;return new Promise((function(l){return l(1===c.length?s(e):s({schema:e,source:n,rootValue:t,contextValue:r,variableValues:i,operationName:a,fieldResolver:o,typeResolver:u}))}))},n.graphqlSync=function(e,n,t,r,a,o,u,c){var l=s(1===arguments.length?e:{schema:e,source:n,rootValue:t,contextValue:r,variableValues:a,operationName:o,fieldResolver:u,typeResolver:c});if((0,i.default)(l))throw new Error("GraphQL execution failed to complete synchronously.");return l};var r,i=(r=t(153))&&r.__esModule?r:{default:r},a=t(122),o=t(160),u=t(154),c=t(116);function s(e){var n,t=e.schema,r=e.source,i=e.rootValue,s=e.contextValue,l=e.variableValues,f=e.operationName,p=e.fieldResolver,d=e.typeResolver,v=(0,u.validateSchema)(t);if(v.length>0)return{errors:v};try{n=(0,a.parse)(r)}catch(e){return{errors:[e]}}var y=(0,o.validate)(t,n);return y.length>0?{errors:y}:(0,c.execute)({schema:t,document:n,rootValue:i,contextValue:s,variableValues:l,operationName:f,fieldResolver:p,typeResolver:d})}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.badValueMessage=d,n.badEnumValueMessage=v,n.requiredFieldMessage=y,n.unknownFieldMessage=h,n.ValuesOfCorrectType=function(e){return{NullValue:function(n){var t=e.getInputType();(0,f.isNonNullType)(t)&&e.reportError(new s.GraphQLError(d((0,a.default)(t),(0,l.print)(n)),n))},ListValue:function(n){var t=(0,f.getNullableType)(e.getParentInputType());if(!(0,f.isListType)(t))return m(e,n),!1},ObjectValue:function(n){var t=(0,f.getNamedType)(e.getInputType());if(!(0,f.isInputObjectType)(t))return m(e,n),!1;for(var o=(0,i.default)(n.fields,(function(e){return e.name.value})),u=0,c=(0,r.default)(t.getFields());u<c.length;u++){var l=c[u];if(!o[l.name]&&(0,f.isRequiredInputField)(l)){var p=(0,a.default)(l.type);e.reportError(new s.GraphQLError(y(t.name,l.name,p),n))}}},ObjectField:function(n){var t=(0,f.getNamedType)(e.getParentInputType());if(!e.getInputType()&&(0,f.isInputObjectType)(t)){var r=(0,c.default)(n.name.value,Object.keys(t.getFields()));e.reportError(new s.GraphQLError(h(t.name,n.name.value,r),n))}},EnumValue:function(n){var t=(0,f.getNamedType)(e.getInputType());(0,f.isEnumType)(t)?t.getValue(n.value)||e.reportError(new s.GraphQLError(v(t.name,(0,l.print)(n),T(t,n)),n)):m(e,n)},IntValue:function(n){return m(e,n)},FloatValue:function(n){return m(e,n)},StringValue:function(n){return m(e,n)},BooleanValue:function(n){return m(e,n)}}};var r=p(t(49)),i=p(t(94)),a=p(t(13)),o=p(t(124)),u=p(t(113)),c=p(t(114)),s=t(5),l=t(63),f=t(11);function p(e){return e&&e.__esModule?e:{default:e}}function d(e,n,t){return"Expected type ".concat(e,", found ").concat(n)+(t?"; ".concat(t):".")}function v(e,n,t){return"Expected type ".concat(e,", found ").concat(n,".")+(0,u.default)("the enum value",t)}function y(e,n,t){return"Field ".concat(e,".").concat(n," of required type ").concat(t," was not provided.")}function h(e,n,t){return'Field "'.concat(n,'" is not defined by type ').concat(e,".")+(0,u.default)(t)}function m(e,n){var t=e.getInputType();if(t){var r=(0,f.getNamedType)(t);if((0,f.isScalarType)(r))try{var i=r.parseLiteral(n,void 0);(0,o.default)(i)&&e.reportError(new s.GraphQLError(d((0,a.default)(t),(0,l.print)(n)),n))}catch(r){e.reportError(new s.GraphQLError(d((0,a.default)(t),(0,l.print)(n),r.message),n,void 0,void 0,void 0,r))}else{var u=(0,f.isEnumType)(r)?v((0,a.default)(t),(0,l.print)(n),T(r,n)):d((0,a.default)(t),(0,l.print)(n));e.reportError(new s.GraphQLError(u,n))}}}function T(e,n){var t=e.getValues().map((function(e){return e.name}));return(0,c.default)((0,l.print)(n),t)}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ValidationContext=n.SDLValidationContext=n.ASTValidationContext=void 0;var r=t(18),i=t(28),a=t(128);function o(e,n){e.prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n}var u=function(){function e(e,n){this._ast=e,this._errors=[],this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=n}var n=e.prototype;return n.reportError=function(e){this._errors.push(e),this._onError&&this._onError(e)},n.getErrors=function(){return this._errors},n.getDocument=function(){return this._ast},n.getFragment=function(e){var n=this._fragments;return n||(this._fragments=n=this.getDocument().definitions.reduce((function(e,n){return n.kind===r.Kind.FRAGMENT_DEFINITION&&(e[n.name.value]=n),e}),Object.create(null))),n[e]},n.getFragmentSpreads=function(e){var n=this._fragmentSpreads.get(e);if(!n){n=[];for(var t=[e];0!==t.length;)for(var i=0,a=t.pop().selections;i<a.length;i++){var o=a[i];o.kind===r.Kind.FRAGMENT_SPREAD?n.push(o):o.selectionSet&&t.push(o.selectionSet)}this._fragmentSpreads.set(e,n)}return n},n.getRecursivelyReferencedFragments=function(e){var n=this._recursivelyReferencedFragments.get(e);if(!n){n=[];for(var t=Object.create(null),r=[e.selectionSet];0!==r.length;)for(var i=r.pop(),a=0,o=this.getFragmentSpreads(i);a<o.length;a++){var u=o[a].name.value;if(!0!==t[u]){t[u]=!0;var c=this.getFragment(u);c&&(n.push(c),r.push(c.selectionSet))}}this._recursivelyReferencedFragments.set(e,n)}return n},e}();n.ASTValidationContext=u;var c=function(e){function n(n,t,r){var i;return(i=e.call(this,n,r)||this)._schema=t,i}return o(n,e),n.prototype.getSchema=function(){return this._schema},n}(u);n.SDLValidationContext=c;var s=function(e){function n(n,t,r,i){var a;return(a=e.call(this,t,i)||this)._schema=n,a._typeInfo=r,a._variableUsages=new Map,a._recursiveVariableUsages=new Map,a}o(n,e);var t=n.prototype;return t.getSchema=function(){return this._schema},t.getVariableUsages=function(e){var n=this._variableUsages.get(e);if(!n){var t=[],r=new a.TypeInfo(this._schema);(0,i.visit)(e,(0,i.visitWithTypeInfo)(r,{VariableDefinition:function(){return!1},Variable:function(e){t.push({node:e,type:r.getInputType(),defaultValue:r.getDefaultValue()})}})),n=t,this._variableUsages.set(e,n)}return n},t.getRecursiveVariableUsages=function(e){var n=this._recursiveVariableUsages.get(e);if(!n){n=this.getVariableUsages(e);for(var t=0,r=this.getRecursivelyReferencedFragments(e);t<r.length;t++){var i=r[t];n=n.concat(this.getVariableUsages(i))}this._recursiveVariableUsages.set(e,n)}return n},t.getType=function(){return this._typeInfo.getType()},t.getParentType=function(){return this._typeInfo.getParentType()},t.getInputType=function(){return this._typeInfo.getInputType()},t.getParentInputType=function(){return this._typeInfo.getParentInputType()},t.getFieldDef=function(){return this._typeInfo.getFieldDef()},t.getDirective=function(){return this._typeInfo.getDirective()},t.getArgument=function(){return this._typeInfo.getArgument()},n}(u);n.ValidationContext=s},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"subscribe",{enumerable:!0,get:function(){return r.subscribe}}),Object.defineProperty(n,"createSourceEventStream",{enumerable:!0,get:function(){return r.createSourceEventStream}});var r=t(334)},function(e,n){var t=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};function r(e,n){return n.reduce((function(e,n){return n.transformSchema?n.transformSchema(e):e}),e)}function i(e,n){return n.reduce((function(e,n){return n.transformRequest?n.transformRequest(e):e}),e)}function a(e,n){return n.reduce((function(e,n){return n.transformResult?n.transformResult(e):e}),e)}Object.defineProperty(n,"__esModule",{value:!0}),n.applySchemaTransforms=r,n.applyRequestTransforms=i,n.applyResultTransforms=a,n.composeTransforms=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var o=t(e).reverse();return{transformSchema:function(n){return r(n,e)},transformRequest:function(e){return i(e,o)},transformResult:function(e){return a(e,o)}}}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6);n.default=function(e,n){var t=e.__typename;
39588if(!t)throw new Error("Did not fetch typename for object, unable to resolve interface.");var i=n.getType(t);if(!(i instanceof r.GraphQLObjectType))throw new Error("__typename did not match an object type: "+t);return i}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(81),a=t(202),o=t(287);n.default=function(e,n,t,u){if(!e)return null;var c=o.getResponseKeyFromInfo(u),s=a.getErrorsFromParent(e,c);if("OWN"===s.kind)throw i.locatedError(new Error(s.error.message),u.fieldNodes,r.responsePathAsArray(u.path));var l=e[c];return null==l&&(l=e[u.fieldName]),!l&&e.data&&e.data[c]&&(l=e.data[c]),s.errors&&(l=a.annotateWithChildrenErrors(l,s.errors)),l}},function(e,n,t){(function(e){var r,i=this&&this.__extends||(r=function(e,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)n.hasOwnProperty(t)&&(e[t]=n[t])})(e,n)},function(e,n){function t(){this.constructor=e}r(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}),a=this&&this.__assign||function(){return(a=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};Object.defineProperty(n,"__esModule",{value:!0});var o=t(6),u=t(81),c=t(287);function s(e,t){var r;if(!t||0===t.length)return e;if(Array.isArray(e)){var i={};return t.forEach((function(e){if(e.path){var n=e.path[1],t=i[n]||[];t.push(a(a({},e),{path:e.path.slice(1)})),i[n]=t}})),e.map((function(e,n){return s(e,i[n])}))}return a(a({},e),((r={})[n.ERROR_SYMBOL]=t.map((function(e){return a(a({},e),e.path?{path:e.path.slice(1)}:{})})),r))}void 0!==e&&"Symbol"in e||"undefined"!=typeof window&&"Symbol"in window?n.ERROR_SYMBOL=Symbol("subSchemaErrors"):n.ERROR_SYMBOL="@@__subSchemaErrors",n.annotateWithChildrenErrors=s,n.getErrorsFromParent=function(e,t){for(var r=[],i=0,a=e&&e[n.ERROR_SYMBOL]||[];i<a.length;i++){var o=a[i];if(!o.path||1===o.path.length&&o.path[0]===t)return{kind:"OWN",error:o};o.path[0]===t&&r.push(o)}return{kind:"CHILDREN",errors:r}};var l=function(e){function n(n,t){var r=e.call(this,n)||this;return r.errors=t,r}return i(n,e),n}(Error);n.checkResultAndHandleErrors=function(e,n,t){if(t||(t=c.getResponseKeyFromInfo(n)),e.errors&&(!e.data||null==e.data[t])){var r=1===e.errors.length&&((i=e.errors[0]).result||i.extensions||i.originalError&&i.originalError.result)?e.errors[0]:new l(e.errors.map((function(e){return e.message})).join("\n"),e.errors);throw u.locatedError(r,n.fieldNodes,o.responsePathAsArray(n.path))}var i,a=e.data[t];return e.errors&&(a=s(a,e.errors)),a}}).call(this,t(12))},function(e,n,t){var r=this&&this.__awaiter||function(e,n,t,r){return new(t||(t=Promise))((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function u(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var n;e.done?i(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(o,u)}c((r=r.apply(e,n||[])).next())}))},i=this&&this.__generator||function(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(a){return function(u){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=n.call(e,o)}catch(e){a=[6,e],r=0}finally{t=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}},a=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});
39588var o=t(6),u=t(199),c=t(290),s=t(291),l=t(293),f=t(294),p=t(372),d=t(295),v=t(296),y=t(373);function h(e){return r(this,void 0,void 0,(function(){var n,t,r,h,m,T,g,b,E,O,_;return i(this,(function(i){switch(i.label){case 0:if(n=e.info,t=e.args,r=void 0===t?{}:t,h=e.operation||n.operation.operation,m=function(e,n,t,r,i,u){var c=[],s=[];t.forEach((function(e){var n=e.selectionSet?e.selectionSet.selections:[];c=c.concat(n),s=s.concat(e.arguments||[])}));var l=null;c.length>0&&(l={kind:o.Kind.SELECTION_SET,selections:c});var f={kind:o.Kind.FIELD,alias:null,arguments:s,selectionSet:l,name:{kind:o.Kind.NAME,value:e}},p={kind:o.Kind.SELECTION_SET,selections:[f]},d={kind:o.Kind.OPERATION_DEFINITION,operation:n,variableDefinitions:i,selectionSet:p,name:u};return{kind:o.Kind.DOCUMENT,definitions:a([d],r)}}(e.fieldName,h,n.fieldNodes,Object.keys(n.fragments).map((function(e){return n.fragments[e]})),n.operation.variableDefinitions,n.operation.name),T={document:m,variables:n.variableValues},g=a(e.transforms||[],[new d.default(n.schema,e.schema)]),n.mergeInfo&&n.mergeInfo.fragments&&g.push(new v.default(e.schema,n.mergeInfo.fragments)),g=g.concat([new c.default(e.schema,r),new s.default(e.schema),new l.default(e.schema),new f.default(n,e.fieldName)]),o.isEnumType(e.info.returnType)&&(g=g.concat(new y.default(e.info.returnType))),b=u.applyRequestTransforms(T,g),!e.skipValidation&&(E=o.validate(e.schema,b.document)).length>0)throw E;return"query"!==h&&"mutation"!==h?[3,2]:(O=u.applyResultTransforms,[4,o.execute(e.schema,b.document,n.rootValue,e.context,b.variables)]);case 1:return[2,O.apply(void 0,[i.sent(),g])];case 2:return"subscription"!==h?[3,4]:[4,o.subscribe(e.schema,b.document,n.rootValue,e.context,b.variables)];case 3:return _=i.sent(),[2,p.default(_,(function(e){var n,t=u.applyResultTransforms(e,g);return(n={})[Object.keys(e.data)[0]]=t,n}))];case 4:return[2]}}
39588))}))}n.default=function(e){for(var n=[],t=1;t<arguments.length;t++)n[t-1]=arguments[t];if(e instanceof o.GraphQLSchema)throw new Error("Passing positional arguments to delegateToSchema is a deprecated. Please pass named parameters instead.");return h(e)}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(289),a=t(129),o=t(130),u=function(){function e(e){this.transform=e}return e.prototype.transformSchema=function(e){var n,t=this;return a.visitSchema(e,((n={})[a.VisitSchemaKind.QUERY]=function(e){return c(e,(function(e,n){return t.transform("Query",e,n)}))},n[a.VisitSchemaKind.MUTATION]=function(e){return c(e,(function(e,n){return t.transform("Mutation",e,n)}))},n[a.VisitSchemaKind.SUBSCRIPTION]=function(e){return c(e,(function(e,n){return t.transform("Subscription",e,n)}))},n))},e}();function c(e,n){var t=o.createResolveType((function(e,n){return n})),a=e.getFields(),u={};return Object.keys(a).forEach((function(e){var r=a[e],i=n(e,r);void 0===i?u[e]=o.fieldToFieldConfig(r,t,!0):null!==i&&(i.name?u[i.name]=i.field:u[e]=i)})),i.default(u)?null:new r.GraphQLObjectType({name:e.name,description:e.description,astNode:e.astNode,fields:u})}n.default=u},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.printLocation=function(e){return i(e.source,(0,r.getLocation)(e.source,e.start))},n.printSourceLocation=i;var r=t(185);function i(e,n){var t=e.locationOffset.column-1,r=o(t)+e.body,i=n.line-1,u=e.locationOffset.line-1,c=n.line+u,s=1===n.line?t:0,l=n.column+s,f="".concat(e.name,":").concat(c,":").concat(l,"\n"),p=r.split(/\r\n|[\n\r]/g),d=p[i];if(d.length>120){for(var v=Math.floor(l/80),y=l%80,h=[],m=0;m<d.length;m+=80)h.push(d.slice(m,m+80));return f+a([["".concat(c),h[0]]].concat(h.slice(1,v+1).map((function(e){return["",e]})),[[" ",o(y-1)+"^"],["",h[v+1]]]))}return f+a([["".concat(c-1),p[i-1]],["".concat(c),d],["",o(l-1)+"^"],["".concat(c+1),p[i+1]]])}function a(e){var n=e.filter((function(e){e[0];return void 0!==e[1]})),t=Math.max.apply(Math,n.map((function(e){return e[0].length})));return n.map((function(e){var n,r=e[0],i=e[1];return o(t-(n=r).length)+n+(i?" | "+i:" |")})).join("\n")}function o(e){return Array(e+1).join(" ")}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):void 0;n.default=r},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return null==e||e!=e}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.assertValidName=function(e){var n=u(e);if(n)throw n;return e},n.isValidNameError=u;var r,i=(r=t(59))&&r.__esModule?r:{default:r},a=t(5);var o=/^[_a-zA-Z][_a-zA-Z0-9]*$/;function u(e,n){return"string"==typeof e||(0,i.default)(0,"Expected string"),e.length>1&&"_"===e[0]&&"_"===e[1]?new a.GraphQLError('Name "'.concat(e,'" must not begin with "__", which is reserved by GraphQL introspection.'),n):o.test(e)?void 0:new a.GraphQLError('Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but "'.concat(e,'" does not.'),n)}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n){for(var t=Object.create(null),r=0,a=(0,i.default)(e);r<a.length;r++){var o=a[r],u=o[0],c=o[1];t[u]=n(c,u)}return t};var r,i=(r=t(111))&&r.__esModule?r:{default:r}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.valueFromASTUntyped=function e(n,t){switch(n.kind){case u.Kind.NULL:return null;case u.Kind.INT:return parseInt(n.value,10);case u.Kind.FLOAT:return parseFloat(n.value);case u.Kind.STRING:case u.Kind.ENUM:case u.Kind.BOOLEAN:return n.value;case u.Kind.LIST:return n.values.map((function(n){return e(n,t)}));case u.Kind.OBJECT:return(0,a.default)(n.fields,(function(e){return e.name.value}),(function(n){return e(n.value,t)}));case u.Kind.VARIABLE:var c=n.name.value;return t&&!(0,o.default)(t[c])?t[c]:void 0}(0,i.default)(!1,"Unexpected value node: "+(0,r.default)(n))};var r=c(t(13)),i=c(t(48)),a=c(t(112)),o=c(t(124)),u=t(18);
39588function c(e){return e&&e.__esModule?e:{default:e}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.specifiedSDLRules=n.specifiedRules=void 0;var r=t(250),i=t(251),a=t(252),o=t(253),u=t(254),c=t(255),s=t(256),l=t(257),f=t(258),p=t(259),d=t(260),v=t(261),y=t(262),h=t(263),m=t(264),T=t(265),g=t(266),b=t(267),E=t(268),O=t(269),_=t(270),N=t(196),I=t(271),S=t(272),D=t(273),L=t(274),A=t(275),j=t(276),w=t(277),P=t(278),k=t(279),F=t(280),R=t(281),M=Object.freeze([r.ExecutableDefinitions,i.UniqueOperationNames,a.LoneAnonymousOperation,o.SingleFieldSubscriptions,u.KnownTypeNames,c.FragmentsOnCompositeTypes,s.VariablesAreInputTypes,l.ScalarLeafs,f.FieldsOnCorrectType,p.UniqueFragmentNames,d.KnownFragmentNames,v.NoUnusedFragments,y.PossibleFragmentSpreads,h.NoFragmentCycles,m.UniqueVariableNames,T.NoUndefinedVariables,g.NoUnusedVariables,b.KnownDirectives,E.UniqueDirectivesPerLocation,O.KnownArgumentNames,_.UniqueArgumentNames,N.ValuesOfCorrectType,I.ProvidedRequiredArguments,S.VariablesInAllowedPosition,D.OverlappingFieldsCanBeMerged,L.UniqueInputFieldNames]);n.specifiedRules=M;var x=Object.freeze([A.LoneSchemaDefinition,j.UniqueOperationTypes,w.UniqueTypeNames,P.UniqueEnumValueNames,k.UniqueFieldDefinitionNames,F.UniqueDirectiveNames,u.KnownTypeNames,b.KnownDirectives,E.UniqueDirectivesPerLocation,R.PossibleTypeExtensions,O.KnownArgumentNamesOnDirectives,_.UniqueArgumentNames,L.UniqueInputFieldNames,I.ProvidedRequiredArgumentsOnDirectives]);n.specifiedSDLRules=x},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.nonExecutableDefinitionMessage=o,n.ExecutableDefinitions=function(e){return{Document:function(n){for(var t=0,u=n.definitions;t<u.length;t++){var c=u[t];(0,a.isExecutableDefinitionNode)(c)||e.reportError(new r.GraphQLError(o(c.kind===i.Kind.SCHEMA_DEFINITION||c.kind===i.Kind.SCHEMA_EXTENSION?"schema":c.name.value),c))}return!1}}};var r=t(5),i=t(18),a=t(110);function o(e){return"The ".concat(e," definition is not executable.")}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateOperationNameMessage=i,n.UniqueOperationNames=function(e){var n=Object.create(null);return{OperationDefinition:function(t){var a=t.name;return a&&(n[a.value]?e.reportError(new r.GraphQLError(i(a.value),[n[a.value],a])):n[a.value]=a),!1},FragmentDefinition:function(){return!1}}};var r=t(5);function i(e){return'There can be only one operation named "'.concat(e,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.anonOperationNotAloneMessage=a,n.LoneAnonymousOperation=function(e){var n=0;return{Document:function(e){n=e.definitions.filter((function(e){return e.kind===i.Kind.OPERATION_DEFINITION})).length},OperationDefinition:function(t){!t.name&&n>1&&e.reportError(new r.GraphQLError("This anonymous operation must be the only defined operation.",t))}}};var r=t(5),i=t(18);function a(){return"This anonymous operation must be the only defined operation."}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.singleFieldOnlyMessage=i,n.SingleFieldSubscriptions=function(e){return{OperationDefinition:function(n){"subscription"===n.operation&&1!==n.selectionSet.selections.length&&e.reportError(new r.GraphQLError(i(n.name&&n.name.value),n.selectionSet.selections.slice(1)))}}};var r=t(5);function i(e){return e?'Subscription "'.concat(e,'" must select only one top level field.'):"Anonymous Subscription must select only one top level field."}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.unknownTypeMessage=c,n.KnownTypeNames=function(e){for(var n=e.getSchema(),t=n?n.getTypeMap():Object.create(null),r=Object.create(null),u=0,l=e.getDocument().definitions;u<l.length;u++){var f=l[u];(0,o.isTypeDefinitionNode)(f)&&(r[f.name.value]=!0)}var p=Object.keys(t).concat(Object.keys(r));return{NamedType:function(n,u,l,f,d){var v,y=n.name.value;if(!t[y]&&!r[y]){var h=d[2]||l,m=(v=h,Boolean(v&&!Array.isArray(v)&&((0,o.isTypeSystemDefinitionNode)(v)||(0,o.isTypeSystemExtensionNode)(v))));if(m&&function(e){return-1!==s.indexOf(e)}(y))return;var T=(0,i.default)(y,m?s.concat(p):p);e.reportError(new a.GraphQLError(c(y,T),n))}}}};var r=u(t(113)),i=u(t(114)),a=t(5),o=t(110);
39588function u(e){return e&&e.__esModule?e:{default:e}}function c(e,n){return'Unknown type "'.concat(e,'".')+(0,r.default)(n.map((function(e){return'"'.concat(e,'"')})))}var s=t(66).specifiedScalarTypes.map((function(e){return e.name}))},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.inlineFragmentOnNonCompositeErrorMessage=u,n.fragmentOnNonCompositeErrorMessage=c,n.FragmentsOnCompositeTypes=function(e){return{InlineFragment:function(n){var t=n.typeCondition;if(t){var c=(0,o.typeFromAST)(e.getSchema(),t);c&&!(0,a.isCompositeType)(c)&&e.reportError(new r.GraphQLError(u((0,i.print)(t)),t))}},FragmentDefinition:function(n){var t=(0,o.typeFromAST)(e.getSchema(),n.typeCondition);t&&!(0,a.isCompositeType)(t)&&e.reportError(new r.GraphQLError(c(n.name.value,(0,i.print)(n.typeCondition)),n.typeCondition))}}};var r=t(5),i=t(63),a=t(11),o=t(67);function u(e){return'Fragment cannot condition on non composite type "'.concat(e,'".')}function c(e,n){return'Fragment "'.concat(e,'" cannot condition on non composite type "').concat(n,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.nonInputTypeOnVarMessage=u,n.VariablesAreInputTypes=function(e){return{VariableDefinition:function(n){var t=(0,o.typeFromAST)(e.getSchema(),n.type);if(t&&!(0,a.isInputType)(t)){var c=n.variable.name.value;e.reportError(new r.GraphQLError(u(c,(0,i.print)(n.type)),n.type))}}}};var r=t(5),i=t(63),a=t(11),o=t(67);function u(e,n){return'Variable "$'.concat(e,'" cannot be non-input type "').concat(n,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.noSubselectionAllowedMessage=u,n.requiredSubselectionMessage=c,n.ScalarLeafs=function(e){return{Field:function(n){var t=e.getType(),r=n.selectionSet;t&&((0,o.isLeafType)((0,o.getNamedType)(t))?r&&e.reportError(new a.GraphQLError(u(n.name.value,(0,i.default)(t)),r)):r||e.reportError(new a.GraphQLError(c(n.name.value,(0,i.default)(t)),n)))}}};var r,i=(r=t(13))&&r.__esModule?r:{default:r},a=t(5),o=t(11);function u(e,n){return'Field "'.concat(e,'" must not have a selection since type "').concat(n,'" has no subfields.')}function c(e,n){return'Field "'.concat(e,'" of type "').concat(n,'" must have a selection of subfields. Did you mean "').concat(e,' { ... }"?')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.undefinedFieldMessage=c,n.FieldsOnCorrectType=function(e){return{Field:function(n){var t=e.getParentType();if(t&&!e.getFieldDef()){var r=e.getSchema(),u=n.name.value,s=function(e,n,t){if((0,o.isAbstractType)(n)){for(var r=[],i=Object.create(null),a=0,u=e.getPossibleTypes(n);a<u.length;a++){var c=u[a];if(c.getFields()[t]){r.push(c.name);for(var s=0,l=c.getInterfaces();s<l.length;s++){var f=l[s];f.getFields()[t]&&(i[f.name]=(i[f.name]||0)+1)}}}return Object.keys(i).sort((function(e,n){return i[n]-i[e]})).concat(r)}return[]}(r,t,u),l=0!==s.length?[]:function(e,n,t){if((0,o.isObjectType)(n)||(0,o.isInterfaceType)(n)){var r=Object.keys(n.getFields());return(0,i.default)(t,r)}return[]}(0,t,u);e.reportError(new a.GraphQLError(c(u,t.name,s,l),n))}}}};var r=u(t(113)),i=u(t(114)),a=t(5),o=t(11);function u(e){return e&&e.__esModule?e:{default:e}}function c(e,n,t,i){var a=t.map((function(e){return'"'.concat(e,'"')})),o=i.map((function(e){return'"'.concat(e,'"')}));return'Cannot query field "'.concat(e,'" on type "').concat(n,'".')+((0,r.default)("to use an inline fragment on",a)||(0,r.default)(o))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateFragmentNameMessage=i,n.UniqueFragmentNames=function(e){var n=Object.create(null);return{OperationDefinition:function(){return!1},FragmentDefinition:function(t){var a=t.name.value;return n[a]?e.reportError(new r.GraphQLError(i(a),[n[a],t.name])):n[a]=t.name,!1}}};var r=t(5);function i(e){return'There can be only one fragment named "'.concat(e,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.unknownFragmentMessage=i,n.KnownFragmentNames=function(e){return{FragmentSpread:function(n){var t=n.name.value;e.getFragment(t)||e.reportError(new r.GraphQLError(i(t),n.name))}}};var r=t(5);function i(e){return'Unknown fragment "'.concat(e,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.unusedFragMessage=i,n.NoUnusedFragments=function(e){var n=[],t=[];return{OperationDefinition:function(e){return n.push(e),!1},FragmentDefinition:function(e){return t.push(e),!1},Document:{leave:function(){for(var a=Object.create(null),o=0;o<n.length;o++)for(var u=n[o],c=0,s=e.getRecursivelyReferencedFragments(u);c<s.length;c++){a[s[c].name.value]=!0}for(var l=0;l<t.length;l++){var f=t[l],p=f.name.value;!0!==a[p]&&e.reportError(new r.GraphQLError(i(p),f))}}}}};var r=t(5);function i(e){return'Fragment "'.concat(e,'" is never used.')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.typeIncompatibleSpreadMessage=s,n.typeIncompatibleAnonSpreadMessage=l,n.PossibleFragmentSpreads=function(e){return{InlineFragment:function(n){var t=e.getType(),r=e.getParentType();(0,o.isCompositeType)(t)&&(0,o.isCompositeType)(r)&&!(0,c.doTypesOverlap
39588)(e.getSchema(),t,r)&&e.reportError(new a.GraphQLError(l((0,i.default)(r),(0,i.default)(t)),n))},FragmentSpread:function(n){var t=n.name.value,r=function(e,n){var t=e.getFragment(n);if(t){var r=(0,u.typeFromAST)(e.getSchema(),t.typeCondition);if((0,o.isCompositeType)(r))return r}}(e,t),l=e.getParentType();r&&l&&!(0,c.doTypesOverlap)(e.getSchema(),r,l)&&e.reportError(new a.GraphQLError(s(t,(0,i.default)(l),(0,i.default)(r)),n))}}};var r,i=(r=t(13))&&r.__esModule?r:{default:r},a=t(5),o=t(11),u=t(67),c=t(156);function s(e,n,t){return'Fragment "'.concat(e,'" cannot be spread here as objects of type "').concat(n,'" can never be of type "').concat(t,'".')}function l(e,n){return'Fragment cannot be spread here as objects of type "'.concat(e,'" can never be of type "').concat(n,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.cycleErrorMessage=i,n.NoFragmentCycles=function(e){var n=Object.create(null),t=[],a=Object.create(null);return{OperationDefinition:function(){return!1},FragmentDefinition:function(o){return function o(u){if(n[u.name.value])return;var c=u.name.value;n[c]=!0;var s=e.getFragmentSpreads(u.selectionSet);if(0===s.length)return;a[c]=t.length;for(var l=0;l<s.length;l++){var f=s[l],p=f.name.value,d=a[p];if(t.push(f),void 0===d){var v=e.getFragment(p);v&&o(v)}else{var y=t.slice(d),h=y.slice(0,-1).map((function(e){return e.name.value}));e.reportError(new r.GraphQLError(i(p,h),y))}t.pop()}a[c]=void 0}(o),!1}}};var r=t(5);function i(e,n){var t=n.length?" via "+n.join(", "):"";return'Cannot spread fragment "'.concat(e,'" within itself').concat(t,".")}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateVariableMessage=i,n.UniqueVariableNames=function(e){var n=Object.create(null);return{OperationDefinition:function(){n=Object.create(null)},VariableDefinition:function(t){var a=t.variable.name.value;n[a]?e.reportError(new r.GraphQLError(i(a),[n[a],t.variable.name])):n[a]=t.variable.name}}};var r=t(5);function i(e){return'There can be only one variable named "'.concat(e,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.undefinedVarMessage=i,n.NoUndefinedVariables=function(e){var n=Object.create(null);return{OperationDefinition:{enter:function(){n=Object.create(null)},leave:function(t){for(var a=e.getRecursiveVariableUsages(t),o=0;o<a.length;o++){var u=a[o].node,c=u.name.value;!0!==n[c]&&e.reportError(new r.GraphQLError(i(c,t.name&&t.name.value),[u,t]))}}},VariableDefinition:function(e){n[e.variable.name.value]=!0}}};var r=t(5);function i(e,n){return n?'Variable "$'.concat(e,'" is not defined by operation "').concat(n,'".'):'Variable "$'.concat(e,'" is not defined.')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.unusedVariableMessage=i,n.NoUnusedVariables=function(e){var n=[];return{OperationDefinition:{enter:function(){n=[]},leave:function(t){for(var a=Object.create(null),o=e.getRecursiveVariableUsages(t),u=t.name?t.name.value:null,c=0;c<o.length;c++){a[o[c].node.name.value]=!0}for(var s=0,l=n;s<l.length;s++){var f=l[s],p=f.variable.name.value;!0!==a[p]&&e.reportError(new r.GraphQLError(i(p,u),f))}}},VariableDefinition:function(e){n.push(e)}}};var r=t(5);function i(e,n){return n?'Variable "$'.concat(e,'" is never used in operation "').concat(n,'".'):'Variable "$'.concat(e,'" is never used.')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.unknownDirectiveMessage=u,n.misplacedDirectiveMessage=c,n.KnownDirectives=function(e){for(var n=Object.create(null),t=e.getSchema(),s=t?t.getDirectives():o.specifiedDirectives,l=0;l<s.length;l++){var f=s[l];n[f.name]=f.locations}for(var p=e.getDocument().definitions,d=0;d<p.length;d++){var v=p[d];v.kind===i.Kind.DIRECTIVE_DEFINITION&&(n[v.name.value]=v.locations.map((function(e){return e.value})))}return{Directive:function(t,o,s,l,f){var p=t.name.value,d=n[p];if(d){var v=function(e){var n=e[e.length-1];if(!Array.isArray(n))switch(n.kind){case i.Kind.OPERATION_DEFINITION:switch(n.operation){case"query":return a.DirectiveLocation.QUERY;case"mutation":return a.DirectiveLocation.MUTATION;case"subscription":return a.DirectiveLocation.SUBSCRIPTION}break;case i.Kind.FIELD:return a.DirectiveLocation.FIELD;case i.Kind.FRAGMENT_SPREAD:return a.DirectiveLocation.FRAGMENT_SPREAD;case i.Kind.INLINE_FRAGMENT:return a.DirectiveLocation.INLINE_FRAGMENT;case i.Kind.FRAGMENT_DEFINITION:return a.DirectiveLocation.FRAGMENT_DEFINITION;case i.Kind.VARIABLE_DEFINITION:return a.DirectiveLocation.VARIABLE_DEFINITION;case i.Kind.SCHEMA_DEFINITION:case i.Kind.SCHEMA_EXTENSION:return a.DirectiveLocation.SCHEMA;case i.Kind.SCALAR_TYPE_DEFINITION:case i.Kind.SCALAR_TYPE_EXTENSION:return a.DirectiveLocation.SCALAR;case i.Kind.OBJECT_TYPE_DEFINITION:case i.Kind.OBJECT_TYPE_EXTENSION:return a.DirectiveLocation.OBJECT;case i.Kind.FIELD_DEFINITION:return a.DirectiveLocation.FIELD_DEFINITION;case i.Kind.INTERFACE_TYPE_DEFINITION:case i.Kind.INTERFACE_TYPE_EXTENSION:return a.DirectiveLocation.INT
39588ERFACE;case i.Kind.UNION_TYPE_DEFINITION:case i.Kind.UNION_TYPE_EXTENSION:return a.DirectiveLocation.UNION;case i.Kind.ENUM_TYPE_DEFINITION:case i.Kind.ENUM_TYPE_EXTENSION:return a.DirectiveLocation.ENUM;case i.Kind.ENUM_VALUE_DEFINITION:return a.DirectiveLocation.ENUM_VALUE;case i.Kind.INPUT_OBJECT_TYPE_DEFINITION:case i.Kind.INPUT_OBJECT_TYPE_EXTENSION:return a.DirectiveLocation.INPUT_OBJECT;case i.Kind.INPUT_VALUE_DEFINITION:return e[e.length-3].kind===i.Kind.INPUT_OBJECT_TYPE_DEFINITION?a.DirectiveLocation.INPUT_FIELD_DEFINITION:a.DirectiveLocation.ARGUMENT_DEFINITION}}(f);v&&-1===d.indexOf(v)&&e.reportError(new r.GraphQLError(c(p,v),t))}else e.reportError(new r.GraphQLError(u(p),t))}}};var r=t(5),i=t(18),a=t(123),o=t(50);function u(e){return'Unknown directive "'.concat(e,'".')}function c(e,n){return'Directive "'.concat(e,'" may not be used on ').concat(n,".")}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateDirectiveMessage=o,n.UniqueDirectivesPerLocation=function(e){for(var n=Object.create(null),t=e.getSchema(),u=t?t.getDirectives():a.specifiedDirectives,c=0;c<u.length;c++){var s=u[c];n[s.name]=!s.isRepeatable}for(var l=e.getDocument().definitions,f=0;f<l.length;f++){var p=l[f];p.kind===i.Kind.DIRECTIVE_DEFINITION&&(n[p.name.value]=!p.repeatable)}return{enter:function(t){var i=t.directives;if(i)for(var a=Object.create(null),u=0;u<i.length;u++){var c=i[u],s=c.name.value;n[s]&&(a[s]?e.reportError(new r.GraphQLError(o(s),[a[s],c])):a[s]=c)}}}};var r=t(5),i=t(18),a=t(50);function o(e){return'The directive "'.concat(e,'" can only be used once at this location.')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.unknownArgMessage=f,n.unknownDirectiveArgMessage=p,n.KnownArgumentNames=function(e){return function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?s(t,!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(t).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}({},d(e),{Argument:function(n){var t=e.getArgument(),r=e.getFieldDef(),o=e.getParentType();if(!t&&r&&o){var u=n.name.value,c=r.args.map((function(e){return e.name}));e.reportError(new a.GraphQLError(f(u,r.name,o.name,(0,i.default)(u,c)),n))}}})},n.KnownArgumentNamesOnDirectives=d;var r=c(t(113)),i=c(t(114)),a=t(5),o=t(18),u=t(50);function c(e){return e&&e.__esModule?e:{default:e}}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function f(e,n,t,i){return'Unknown argument "'.concat(e,'" on field "').concat(n,'" of type "').concat(t,'".')+(0,r.default)(i.map((function(e){return'"'.concat(e,'"')})))}function p(e,n,t){return'Unknown argument "'.concat(e,'" on directive "@').concat(n,'".')+(0,r.default)(t.map((function(e){return'"'.concat(e,'"')})))}function d(e){for(var n=Object.create(null),t=e.getSchema(),r=t?t.getDirectives():u.specifiedDirectives,c=0;c<r.length;c++){var s=r[c];n[s.name]=s.args.map((function(e){return e.name}))}for(var l=e.getDocument().definitions,f=0;f<l.length;f++){var d=l[f];d.kind===o.Kind.DIRECTIVE_DEFINITION&&(n[d.name.value]=d.arguments?d.arguments.map((function(e){return e.name.value})):[])}return{Directive:function(t){var r=t.name.value,o=n[r];if(t.arguments&&o)for(var u=0,c=t.arguments;u<c.length;u++){var s=c[u],l=s.name.value;if(-1===o.indexOf(l)){var f=(0,i.default)(l,o);e.reportError(new a.GraphQLError(p(l,r,f),s))}}return!1}}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateArgMessage=i,n.UniqueArgumentNames=function(e){var n=Object.create(null);return{Field:function(){n=Object.create(null)},Directive:function(){n=Object.create(null)},Argument:function(t){var a=t.name.value;return n[a]?e.reportError(new r.GraphQLError(i(a),[n[a],t.name])):n[a]=t.name,!1}}};var r=t(5);function i(e){return'There can be only one argument named "'.concat(e,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.missingFieldArgMessage=d,n.missingDirectiveArgMessage=v,n.ProvidedRequiredArguments=function(e){return function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};
39588n%2?f(t,!0).forEach((function(n){p(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):f(t).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}({},y(e),{Field:{leave:function(n){var t=e.getFieldDef();if(!t)return!1;for(var o=n.arguments||[],u=(0,i.default)(o,(function(e){return e.name.value})),c=0,l=t.args;c<l.length;c++){var f=l[c];!u[f.name]&&(0,s.isRequiredArgument)(f)&&e.reportError(new a.GraphQLError(d(t.name,f.name,(0,r.default)(f.type)),n))}}}})},n.ProvidedRequiredArgumentsOnDirectives=y;var r=l(t(13)),i=l(t(94)),a=t(5),o=t(18),u=t(63),c=t(50),s=t(11);function l(e){return e&&e.__esModule?e:{default:e}}function f(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function p(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e,n,t){return'Field "'.concat(e,'" argument "').concat(n,'" of type "').concat(t,'" is required, but it was not provided.')}function v(e,n,t){return'Directive "@'.concat(e,'" argument "').concat(n,'" of type "').concat(t,'" is required, but it was not provided.')}function y(e){for(var n=Object.create(null),t=e.getSchema(),l=t?t.getDirectives():c.specifiedDirectives,f=0;f<l.length;f++){var p=l[f];n[p.name]=(0,i.default)(p.args.filter(s.isRequiredArgument),(function(e){return e.name}))}for(var d=e.getDocument().definitions,y=0;y<d.length;y++){var m=d[y];m.kind===o.Kind.DIRECTIVE_DEFINITION&&(n[m.name.value]=(0,i.default)(m.arguments?m.arguments.filter(h):[],(function(e){return e.name.value})))}return{Directive:{leave:function(t){var o=t.name.value,c=n[o];if(c)for(var l=t.arguments||[],f=(0,i.default)(l,(function(e){return e.name.value})),p=0,d=Object.keys(c);p<d.length;p++){var y=d[p];if(!f[y]){var h=c[y].type;e.reportError(new a.GraphQLError(v(o,y,(0,s.isType)(h)?(0,r.default)(h):(0,u.print)(h)),t))}}}}}}function h(e){return e.type.kind===o.Kind.NON_NULL_TYPE&&null==e.defaultValue}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.badVarPosMessage=l,n.VariablesInAllowedPosition=function(e){var n=Object.create(null);return{OperationDefinition:{enter:function(){n=Object.create(null)},leave:function(t){for(var r=e.getRecursiveVariableUsages(t),o=0;o<r.length;o++){var u=r[o],s=u.node,p=u.type,d=u.defaultValue,v=s.name.value,y=n[v];if(y&&p){var h=e.getSchema(),m=(0,c.typeFromAST)(h,y.type);m&&!f(h,m,y.defaultValue,p,d)&&e.reportError(new a.GraphQLError(l(v,(0,i.default)(m),(0,i.default)(p)),[y,s]))}}}},VariableDefinition:function(e){n[e.variable.name.value]=e}}};var r,i=(r=t(13))&&r.__esModule?r:{default:r},a=t(5),o=t(18),u=t(11),c=t(67),s=t(156);function l(e,n,t){return'Variable "$'.concat(e,'" of type "').concat(n,'" used in position expecting type "').concat(t,'".')}function f(e,n,t,r,i){if((0,u.isNonNullType)(r)&&!(0,u.isNonNullType)(n)){if(!(null!=t&&t.kind!==o.Kind.NULL)&&!(void 0!==i))return!1;var a=r.ofType;return(0,s.isTypeSubTypeOf)(e,n,a)}return(0,s.isTypeSubTypeOf)(e,n,r)}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.fieldsConflictMessage=p,n.OverlappingFieldsCanBeMerged=function(e){var n=new g,t=new Map;return{SelectionSet:function(r){for(var a=function(e,n,t,r,a){var o=[],u=m(e,n,r,a),c=u[0],s=u[1];if(function(e,n,t,r,a){for(var o=0,u=(0,i.default)(a);o<u.length;o++){var c=u[o],s=c[0],l=c[1];if(l.length>1)for(var f=0;f<l.length;f++)for(var p=f+1;p<l.length;p++){var d=h(e,t,r,!1,s,l[f],l[p]);d&&n.push(d)}}}(e,o,n,t,c),0!==s.length)for(var l=Object.create(null),f=0;f<s.length;f++){d(e,o,n,l,t,!1,c,s[f]);for(var p=f+1;p<s.length;p++)v(e,o,n,t,!1,s[f],s[p])}return o}(e,t,n,e.getParentType(),r),u=0;u<a.length;u++){var c=a[u],s=c[0],l=s[0],f=s[1],y=c[1],T=c[2];e.reportError(new o.GraphQLError(p(l,f),y.concat(T)))}}}};var r=f(t(126)),i=f(t(111)),a=f(t(13)),o=t(5),u=t(18),c=t(63),s=t(11),l=t(67);
39588function f(e){return e&&e.__esModule?e:{default:e}}function p(e,n){return'Fields "'.concat(e,'" conflict because ').concat(function e(n){if(Array.isArray(n))return n.map((function(n){var t=n[0],r=n[1];return'subfields "'.concat(t,'" conflict because ').concat(e(r))})).join(" and ");return n}(n),". ")+"Use different aliases on the fields to fetch both if this was intentional."}function d(e,n,t,r,i,a,o,u){if(!r[u]){r[u]=!0;var c=e.getFragment(u);if(c){var s=T(e,t,c),l=s[0],f=s[1];if(o!==l){y(e,n,t,i,a,o,l);for(var p=0;p<f.length;p++)d(e,n,t,r,i,a,o,f[p])}}}}function v(e,n,t,r,i,a,o){if(a!==o&&!r.has(a,o,i)){r.add(a,o,i);var u=e.getFragment(a),c=e.getFragment(o);if(u&&c){var s=T(e,t,u),l=s[0],f=s[1],p=T(e,t,c),d=p[0],h=p[1];y(e,n,t,r,i,l,d);for(var m=0;m<h.length;m++)v(e,n,t,r,i,a,h[m]);for(var g=0;g<f.length;g++)v(e,n,t,r,i,f[g],o)}}}function y(e,n,t,r,i,a,o){for(var u=0,c=Object.keys(a);u<c.length;u++){var s=c[u],l=o[s];if(l)for(var f=a[s],p=0;p<f.length;p++)for(var d=0;d<l.length;d++){var v=h(e,t,r,i,s,f[p],l[d]);v&&n.push(v)}}}function h(e,n,t,i,o,u,l){var f=u[0],p=u[1],h=u[2],T=l[0],g=l[1],b=l[2],E=i||f!==T&&(0,s.isObjectType)(f)&&(0,s.isObjectType)(T),O=h&&h.type,_=b&&b.type;if(!E){var N=p.name.value,I=g.name.value;if(N!==I)return[[o,"".concat(N," and ").concat(I," are different fields")],[p],[g]];if(!function(e,n){if(e.length!==n.length)return!1;return e.every((function(e){var t,i,a=(0,r.default)(n,(function(n){return n.name.value===e.name.value}));return!!a&&(t=e.value,i=a.value,!t&&!i||(0,c.print)(t)===(0,c.print)(i))}))}(p.arguments||[],g.arguments||[]))return[[o,"they have differing arguments"],[p],[g]]}if(O&&_&&function e(n,t){if((0,s.isListType)(n))return!(0,s.isListType)(t)||e(n.ofType,t.ofType);if((0,s.isListType)(t))return!0;if((0,s.isNonNullType)(n))return!(0,s.isNonNullType)(t)||e(n.ofType,t.ofType);if((0,s.isNonNullType)(t))return!0;if((0,s.isLeafType)(n)||(0,s.isLeafType)(t))return n!==t;return!1}(O,_))return[[o,"they return conflicting types ".concat((0,a.default)(O)," and ").concat((0,a.default)(_))],[p],[g]];var S=p.selectionSet,D=g.selectionSet;return S&&D?function(e,n,t,r){if(e.length>0)return[[n,e.map((function(e){return e[0]}))],e.reduce((function(e,n){var t=n[1];return e.concat(t)}),[t]),e.reduce((function(e,n){var t=n[2];return e.concat(t)}),[r])]}(function(e,n,t,r,i,a,o,u){var c=[],s=m(e,n,i,a),l=s[0],f=s[1],p=m(e,n,o,u),h=p[0],T=p[1];if(y(e,c,n,t,r,l,h),0!==T.length)for(var g=Object.create(null),b=0;b<T.length;b++)d(e,c,n,g,t,r,l,T[b]);if(0!==f.length)for(var E=Object.create(null),O=0;O<f.length;O++)d(e,c,n,E,t,r,h,f[O]);for(var _=0;_<f.length;_++)for(var N=0;N<T.length;N++)v(e,c,n,t,r,f[_],T[N]);return c}(e,n,t,E,(0,s.getNamedType)(O),S,(0,s.getNamedType)(_),D),o,p,g):void 0}function m(e,n,t,r){var i=n.get(r);if(!i){var a=Object.create(null),o=Object.create(null);!function e(n,t,r,i,a){for(var o=0,c=r.selections;o<c.length;o++){var f=c[o];switch(f.kind){case u.Kind.FIELD:var p=f.name.value,d=void 0;((0,s.isObjectType)(t)||(0,s.isInterfaceType)(t))&&(d=t.getFields()[p]);var v=f.alias?f.alias.value:p;i[v]||(i[v]=[]),i[v].push([t,f,d]);break;case u.Kind.FRAGMENT_SPREAD:a[f.name.value]=!0;break;case u.Kind.INLINE_FRAGMENT:var y=f.typeCondition,h=y?(0,l.typeFromAST)(n.getSchema(),y):t;e(n,h,f.selectionSet,i,a)}}}(e,t,r,a,o),i=[a,Object.keys(o)],n.set(r,i)}return i}function T(e,n,t){var r=n.get(t.selectionSet);if(r)return r;var i=(0,l.typeFromAST)(e.getSchema(),t.typeCondition);return m(e,n,i,t.selectionSet)}var g=function(){function e(){this._data=Object.create(null)}var n=e.prototype;return n.has=function(e,n,t){var r=this._data[e],i=r&&r[n];return void 0!==i&&(!1!==t||!1===i)},n.add=function(e,n,t){b(this._data,e,n,t),b(this._data,n,e,t)},e}();function b(e,n,t,r){var i=e[n];i||(i=Object.create(null),e[n]=i),i[t]=r}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateInputFieldMessage=i,n.UniqueInputFieldNames=function(e){var n=[],t=Object.create(null);return{ObjectValue:{enter:function(){n.push(t),t=Object.create(null)},leave:function(){t=n.pop()}},ObjectField:function(n){var a=n.name.value;t[a]?e.reportError(new r.GraphQLError(i(a),[t[a],n.name])):t[a]=n.name}}};var r=t(5);function i(e){return'There can be only one input field named "'.concat(e,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.schemaDefinitionNotAloneMessage=i,n.canNotDefineSchemaWithinExtensionMessage=a,n.LoneSc
39588hemaDefinition=function(e){var n=e.getSchema(),t=n&&(n.astNode||n.getQueryType()||n.getMutationType()||n.getSubscriptionType()),i=0;return{SchemaDefinition:function(n){t?e.reportError(new r.GraphQLError("Cannot define a new schema within a schema extension.",n)):(i>0&&e.reportError(new r.GraphQLError("Must provide only one schema definition.",n)),++i)}}};var r=t(5);function i(){return"Must provide only one schema definition."}function a(){return"Cannot define a new schema within a schema extension."}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateOperationTypeMessage=i,n.existedOperationTypeMessage=a,n.UniqueOperationTypes=function(e){var n=e.getSchema(),t=Object.create(null),o=n?{query:n.getQueryType(),mutation:n.getMutationType(),subscription:n.getSubscriptionType()}:{};return{SchemaDefinition:u,SchemaExtension:u};function u(n){if(n.operationTypes)for(var u=0,c=n.operationTypes||[];u<c.length;u++){var s=c[u],l=s.operation,f=t[l];o[l]?e.reportError(new r.GraphQLError(a(l),s)):f?e.reportError(new r.GraphQLError(i(l),[f,s])):t[l]=s}return!1}};var r=t(5);function i(e){return"There can be only one ".concat(e," type in schema.")}function a(e){return"Type for ".concat(e," already defined in the schema. It cannot be redefined.")}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateTypeNameMessage=i,n.existedTypeNameMessage=a,n.UniqueTypeNames=function(e){var n=Object.create(null),t=e.getSchema();return{ScalarTypeDefinition:o,ObjectTypeDefinition:o,InterfaceTypeDefinition:o,UnionTypeDefinition:o,EnumTypeDefinition:o,InputObjectTypeDefinition:o};function o(o){var u=o.name.value;if(!t||!t.getType(u))return n[u]?e.reportError(new r.GraphQLError(i(u),[n[u],o.name])):n[u]=o.name,!1;e.reportError(new r.GraphQLError(a(u),o.name))}};var r=t(5);function i(e){return'There can be only one type named "'.concat(e,'".')}function a(e){return'Type "'.concat(e,'" already exists in the schema. It cannot also be defined in this type definition.')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateEnumValueNameMessage=a,n.existedEnumValueNameMessage=o,n.UniqueEnumValueNames=function(e){var n=e.getSchema(),t=n?n.getTypeMap():Object.create(null),u=Object.create(null);return{EnumTypeDefinition:c,EnumTypeExtension:c};function c(n){var c=n.name.value;if(u[c]||(u[c]=Object.create(null)),n.values)for(var s=u[c],l=0,f=n.values;l<f.length;l++){var p=f[l],d=p.name.value,v=t[c];(0,i.isEnumType)(v)&&v.getValue(d)?e.reportError(new r.GraphQLError(o(c,d),p.name)):s[d]?e.reportError(new r.GraphQLError(a(c,d),[s[d],p.name])):s[d]=p.name}return!1}};var r=t(5),i=t(11);function a(e,n){return'Enum value "'.concat(e,".").concat(n,'" can only be defined once.')}function o(e,n){return'Enum value "'.concat(e,".").concat(n,'" already exists in the schema. It cannot also be defined in this type extension.')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateFieldDefinitionNameMessage=a,n.existedFieldDefinitionNameMessage=o,n.UniqueFieldDefinitionNames=function(e){var n=e.getSchema(),t=n?n.getTypeMap():Object.create(null),i=Object.create(null);return{InputObjectTypeDefinition:c,InputObjectTypeExtension:c,InterfaceTypeDefinition:c,InterfaceTypeExtension:c,ObjectTypeDefinition:c,ObjectTypeExtension:c};function c(n){var c=n.name.value;if(i[c]||(i[c]=Object.create(null)),n.fields)for(var s=i[c],l=0,f=n.fields;l<f.length;l++){var p=f[l],d=p.name.value;u(t[c],d)?e.reportError(new r.GraphQLError(o(c,d),p.name)):s[d]?e.reportError(new r.GraphQLError(a(c,d),[s[d],p.name])):s[d]=p.name}return!1}};var r=t(5),i=t(11);function a(e,n){return'Field "'.concat(e,".").concat(n,'" can only be defined once.')}function o(e,n){return'Field "'.concat(e,".").concat(n,'" already exists in the schema. It cannot also be defined in this type extension.')}function u(e,n){return!!((0,i.isObjectType)(e)||(0,i.isInterfaceType)(e)||(0,i.isInputObjectType)(e))&&e.getFields()[n]}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateDirectiveNameMessage=i,n.existedDirectiveNameMessage=a,n.UniqueDirectiveNames=function(e){var n=Object.create(null),t=e.getSchema();return{DirectiveDefinition:function(o){var u=o.name.value;if(!t||!t.getDirective(u))return n[u]?e.reportError(new r.GraphQLError(i(u),[n[u],o.name])):n[u]=o.name,!1;e.reportError(new r.GraphQLError(a(u),o.name))}}};var r=t(5);function i(e){return'There can be only one directive named "'.concat(e,'".')}function a(e){return'Directive "'.concat(e,'" already exists in the schema. It cannot be redefined.')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.extendingUnknownTypeMessage=p,n.extendingDifferentTypeKindMessage=d,n.PossibleTypeExtensions=function(e){for(var n=e.getSchema(),t=Object.create(null),r=0,i=e.getDocument().definitions;r<i.length;r++){var l=i[r];(0,c.isTypeDefinitionNode)(l)&&(t[l.name.value]=l)}return{ScalarTypeExtension:f,ObjectTypeExtension:f,InterfaceTypeExtension:f,UnionTypeExtension:f,EnumTypeExtension:f,InputObjectTypeExtension:f};function f(r){var i=r.name.value,c=t[i],l=n&&n.getType(i);if(c){var f=v[c.kind];f!==r.kind&&e.reportError(new o.GraphQLError(d(i,y(f)),[c,r]))}else if(l){var h=function(e){if((0,s.isScalarType)(e))return u.Kind.SCALAR_TYPE_EXTENSION;if((0,s.isObjectType)(e))return u.Kind.OBJECT_TYPE_EXTENSION;if((0,s.isInterfaceType)(e))return u.Kind.INTERFACE_TYPE_EXTENSION;if((0,s.isUnionType)(e))return u.Kind.UNION_TYPE_EXTENSION;if((0,s.isEnumType)(e))return u.Kind.ENUM_TYPE_EXTENSION;if((0,s.isInputObjectType)(e))return u.Kind.INPUT_OBJECT_TYPE_EXTENSION}(l);h!==r.kind&&e.reportError(new o.GraphQLError(d(i,y(h)),r))}else{var m=Object.keys(t);
39588n&&(m=m.concat(Object.keys(n.getTypeMap())));var T=(0,a.default)(i,m);e.reportError(new o.GraphQLError(p(i,T),r.name))}}};var r,i=l(t(113)),a=l(t(114)),o=t(5),u=t(18),c=t(110),s=t(11);function l(e){return e&&e.__esModule?e:{default:e}}function f(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function p(e,n){return'Cannot extend type "'.concat(e,'" because it is not defined.')+(0,i.default)(n.map((function(e){return'"'.concat(e,'"')})))}function d(e,n){return"Cannot extend non-".concat(n,' type "').concat(e,'".')}var v=(f(r={},u.Kind.SCALAR_TYPE_DEFINITION,u.Kind.SCALAR_TYPE_EXTENSION),f(r,u.Kind.OBJECT_TYPE_DEFINITION,u.Kind.OBJECT_TYPE_EXTENSION),f(r,u.Kind.INTERFACE_TYPE_DEFINITION,u.Kind.INTERFACE_TYPE_EXTENSION),f(r,u.Kind.UNION_TYPE_DEFINITION,u.Kind.UNION_TYPE_EXTENSION),f(r,u.Kind.ENUM_TYPE_DEFINITION,u.Kind.ENUM_TYPE_EXTENSION),f(r,u.Kind.INPUT_OBJECT_TYPE_DEFINITION,u.Kind.INPUT_OBJECT_TYPE_EXTENSION),r);function y(e){switch(e){case u.Kind.SCALAR_TYPE_EXTENSION:return"scalar";case u.Kind.OBJECT_TYPE_EXTENSION:return"object";case u.Kind.INTERFACE_TYPE_EXTENSION:return"interface";case u.Kind.UNION_TYPE_EXTENSION:return"union";case u.Kind.ENUM_TYPE_EXTENSION:return"enum";case u.Kind.INPUT_OBJECT_TYPE_EXTENSION:return"input object";default:return"unknown type"}}},function(e,n,t){"use strict";function r(e){var n=!(e&&!1===e.descriptions);return"\n query IntrospectionQuery {\n __schema {\n queryType { name }\n mutationType { name }\n subscriptionType { name }\n types {\n ...FullType\n }\n directives {\n name\n ".concat(n?"description":"","\n locations\n args {\n ...InputValue\n }\n }\n }\n }\n\n fragment FullType on __Type {\n kind\n name\n ").concat(n?"description":"","\n fields(includeDeprecated: true) {\n name\n ").concat(n?"description":"","\n args {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n ").concat(n?"description":"","\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n }\n\n fragment InputValue on __InputValue {\n name\n ").concat(n?"description":"","\n type { ...TypeRef }\n defaultValue\n }\n\n fragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }\n ")}Object.defineProperty(n,"__esModule",{value:!0}),n.getIntrospectionQuery=r,n.introspectionQuery=void 0;var i=r();n.introspectionQuery=i},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.buildASTSchema=_,n.getDescription=L,n.buildSchema=function(e,n){return _((0,f.parse)(e,n),n)},n.ASTDefinitionBuilder=void 0;var r=O(t(49)),i=O(t(94)),a=O(t(13)),o=O(t(48)),u=O(t(59)),c=O(t(112)),s=t(18),l=t(120),f=t(122),p=t(110),d=t(121),v=t(160),y=t(158),h=t(66),m=t(64),T=t(95),g=t(50),b=t(11),E=t(159);function O(e){return e&&e.__esModule?e:{default:e}}function _(e,n){var t;e&&e.kind===s.Kind.DOCUMENT||(0,u.default)(0,"Must provide valid Document AST"),n&&(n.assumeValid||n.assumeValidSDL)||(0,v.assertValidSDL)(e);for(var i=[],a=[],o=0,c=e.definitions;o<c.length;o++){var l=c[o];
39588l.kind===s.Kind.SCHEMA_DEFINITION?t=l:(0,p.isTypeDefinitionNode)(l)?i.push(l):l.kind===s.Kind.DIRECTIVE_DEFINITION&&a.push(l)}var f=new I(n,(function(e){var n=d[e];if(void 0===n)throw new Error('Type "'.concat(e,'" not found in document.'));return n})),d=S(i,(function(e){return f.buildType(e)})),y=t?function(e){for(var n={},t=0,r=e.operationTypes;t<r.length;t++){var i=r[t];n[i.operation]=i.type.name.value}return n}(t):{query:"Query",mutation:"Mutation",subscription:"Subscription"},h=a.map((function(e){return f.buildDirective(e)}));return h.some((function(e){return"skip"===e.name}))||h.push(g.GraphQLSkipDirective),h.some((function(e){return"include"===e.name}))||h.push(g.GraphQLIncludeDirective),h.some((function(e){return"deprecated"===e.name}))||h.push(g.GraphQLDeprecatedDirective),new T.GraphQLSchema({query:y.query?d[y.query]:null,mutation:y.mutation?d[y.mutation]:null,subscription:y.subscription?d[y.subscription]:null,types:(0,r.default)(d),directives:h,astNode:t,assumeValid:n&&n.assumeValid,allowedLegacyNames:n&&n.allowedLegacyNames})}var N=(0,i.default)(h.specifiedScalarTypes.concat(m.introspectionTypes),(function(e){return e.name})),I=function(){function e(e,n){this._options=e,this._resolveType=n}var n=e.prototype;return n.getNamedType=function(e){var n=e.name.value;return N[n]||this._resolveType(n)},n.getWrappedType=function(e){return e.kind===s.Kind.LIST_TYPE?new b.GraphQLList(this.getWrappedType(e.type)):e.kind===s.Kind.NON_NULL_TYPE?new b.GraphQLNonNull(this.getWrappedType(e.type)):this.getNamedType(e)},n.buildDirective=function(e){var n=this,t=e.locations.map((function(e){return e.value}));return new g.GraphQLDirective({name:e.name.value,description:L(e,this._options),locations:t,isRepeatable:e.repeatable,args:S(e.arguments||[],(function(e){return n.buildArg(e)})),astNode:e})},n.buildField=function(e){var n=this;return{type:this.getWrappedType(e.type),description:L(e,this._options),args:S(e.arguments||[],(function(e){return n.buildArg(e)})),deprecationReason:D(e),astNode:e}},n.buildArg=function(e){var n=this.getWrappedType(e.type);return{type:n,description:L(e,this._options),defaultValue:(0,E.valueFromAST)(e.defaultValue,n),astNode:e}},n.buildInputField=function(e){var n=this.getWrappedType(e.type);return{type:n,description:L(e,this._options),defaultValue:(0,E.valueFromAST)(e.defaultValue,n),astNode:e}},n.buildEnumValue=function(e){return{description:L(e,this._options),deprecationReason:D(e),astNode:e}},n.buildType=function(e){var n=e.name.value;if(N[n])return N[n];switch(e.kind){case s.Kind.OBJECT_TYPE_DEFINITION:return this._makeTypeDef(e);case s.Kind.INTERFACE_TYPE_DEFINITION:return this._makeInterfaceDef(e);case s.Kind.ENUM_TYPE_DEFINITION:return this._makeEnumDef(e);case s.Kind.UNION_TYPE_DEFINITION:return this._makeUnionDef(e);case s.Kind.SCALAR_TYPE_DEFINITION:return this._makeScalarDef(e);case s.Kind.INPUT_OBJECT_TYPE_DEFINITION:return this._makeInputObjectDef(e)}(0,o.default)(!1,"Unexpected type definition node: "+(0,a.default)(e))},n._makeTypeDef=function(e){var n=this,t=e.interfaces,r=e.fields,i=t&&t.length>0?function(){return t.map((function(e){return n.getNamedType(e)}))}:[],a=r&&r.length>0?function(){return S(r,(function(e){return n.buildField(e)}))}:Object.create(null);return new b.GraphQLObjectType({name:e.name.value,description:L(e,this._options),interfaces:i,fields:a,astNode:e})},n._makeInterfaceDef=function(e){var n=this,t=e.fields,r=t&&t.length>0?function(){return S(t,(function(e){return n.buildField(e)}))}:Object.create(null);return new b.GraphQLInterfaceType({name:e.name.value,description:L(e,this._options),fields:r,astNode:e})},n._makeEnumDef=function(e){var n=this,t=e.values||[];return new b.GraphQLEnumType({name:e.name.value,description:L(e,this._options),values:S(t,(function(e){return n.buildEnumValue(e)})),astNode:e})}
39588,n._makeUnionDef=function(e){var n=this,t=e.types,r=t&&t.length>0?function(){return t.map((function(e){return n.getNamedType(e)}))}:[];return new b.GraphQLUnionType({name:e.name.value,description:L(e,this._options),types:r,astNode:e})},n._makeScalarDef=function(e){return new b.GraphQLScalarType({name:e.name.value,description:L(e,this._options),astNode:e})},n._makeInputObjectDef=function(e){var n=this,t=e.fields;return new b.GraphQLInputObjectType({name:e.name.value,description:L(e,this._options),fields:t?function(){return S(t,(function(e){return n.buildInputField(e)}))}:Object.create(null),astNode:e})},e}();function S(e,n){return(0,c.default)(e,(function(e){return e.name.value}),n)}function D(e){var n=(0,y.getDirectiveValues)(g.GraphQLDeprecatedDirective,e);return n&&n.reason}function L(e,n){if(e.description)return e.description.value;if(n&&n.commentDescriptions){var t=function(e){var n=e.loc;if(!n)return;var t=[],r=n.startToken.prev;for(;r&&r.kind===l.TokenKind.COMMENT&&r.next&&r.prev&&r.line+1===r.next.line&&r.line!==r.prev.line;){var i=String(r.value);t.push(i),r=r.prev}return t.reverse().join("\n")}(e);if(void 0!==t)return(0,d.dedentBlockStringValue)("\n"+t)}}n.ASTDefinitionBuilder=I},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.coerceValue=function(e,n,t,c){var s=[],l=(0,u.coerceInputValue)(e,n,(function(e,n,u){var l="Invalid value "+(0,r.default)(n),f=[].concat((0,a.pathToArray)(c),e);f.length>0&&(l+=' at "value'.concat((0,i.default)(f),'"')),s.push(new o.GraphQLError(l+": "+u.message,t,void 0,void 0,void 0,u.originalError))}));return s.length>0?{errors:s,value:void 0}:{errors:void 0,value:l}};var r=c(t(13)),i=c(t(192)),a=t(125),o=t(5),u=t(193);function c(e){return e&&e.__esModule?e:{default:e}}},function(e,n){function t(e){return e&&"object"==typeof e&&!Array.isArray(e)}Object.defineProperty(n,"__esModule",{value:!0}),n.default=function e(n,r){var i=Object.assign({},n);return t(n)&&t(r)&&Object.keys(r).forEach((function(a){var o,u;t(r[a])?a in n?i[a]=e(n[a],r[a]):Object.assign(i,((o={})[a]=r[a],o)):Object.assign(i,((u={})[a]=r[a],u))})),i}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6);n.specifiedScalarTypes=[r.GraphQLString,r.GraphQLInt,r.GraphQLFloat,r.GraphQLBoolean,r.GraphQLID],n.default=function(e){return r.isNamedType(e)&&(e.name===r.GraphQLString.name||e.name===r.GraphQLInt.name||e.name===r.GraphQLFloat.name||e.name===r.GraphQLBoolean.name||e.name===r.GraphQLID.name)}},function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.getResponseKeyFromInfo=function(e){return e.fieldNodes[0].alias?e.fieldNodes[0].alias.value:e.fieldName}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(79),i=t(79);n.execute=i.execute,n.default=function(e){return function(n){return r.makePromise(r.execute(e,n))}}},function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){if(!e)return!0;for(var n in e)if(Object.hasOwnProperty.call(e,n))return!1;return!0}},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)},i=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var a=t(6),o=function(){function e(e,n){this.schema=e,this.args=n}return e.prototype.transformRequest=function(e){var n=function(e,n,t){var o=n.definitions.filter((function(e){return e.kind===a.Kind.OPERATION_DEFINITION})),c=n.definitions.filter((function(e){return e.kind===a.Kind.FRAGMENT_DEFINITION})),s={},l=o.map((function(n){var i,o=n.variableDefinitions.map((function(e){return e.variable.name.value})),c=0,l={};i="subscription"===n.operation?e.getSubscriptionType():"mutation"===n.operation?e.getMutationType():e.getQueryType();var f=[];return n.selectionSet.selections.forEach((function(e){if(e.kind===a.Kind.FIELD){var n={};
39588e.arguments.forEach((function(e){n[e.name.value]=e}));var p=e.name.value;i.getFields()[p].args.forEach((function(e){if(e.name in t){var r=function(e){var n;do{n="_v"+c+"_"+e,c++}while(-1!==o.indexOf(n));return n}(e.name);s[e.name]=r,n[e.name]={kind:a.Kind.ARGUMENT,name:{kind:a.Kind.NAME,value:e.name},value:{kind:a.Kind.VARIABLE,name:{kind:a.Kind.NAME,value:r}}},o.push(r),l[r]={kind:a.Kind.VARIABLE_DEFINITION,variable:{kind:a.Kind.VARIABLE,name:{kind:a.Kind.NAME,value:r}},type:u(e.type)}}})),f.push(r(r({},e),{arguments:Object.keys(n).map((function(e){return n[e]}))}))}else f.push(e)})),r(r({},n),{variableDefinitions:n.variableDefinitions.concat(Object.keys(l).map((function(e){return l[e]}))),selectionSet:{kind:a.Kind.SELECTION_SET,selections:f}})})),f={};return Object.keys(s).forEach((function(e){f[s[e]]=t[e]})),{document:r(r({},n),{definitions:i(l,c)}),newVariables:f}}(this.schema,e.document,this.args),t=n.document,o=n.newVariables;return{document:t,variables:r(r({},e.variables),o)}},e}();function u(e){if(e instanceof a.GraphQLNonNull){var n=u(e.ofType);if(n.kind===a.Kind.LIST_TYPE||n.kind===a.Kind.NAMED_TYPE)return{kind:a.Kind.NON_NULL_TYPE,type:n};throw new Error("Incorrent inner non-null type")}return e instanceof a.GraphQLList?{kind:a.Kind.LIST_TYPE,type:u(e.ofType)}:{kind:a.Kind.NAMED_TYPE,name:{kind:a.Kind.NAME,value:e.toString()}}}n.default=o},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)},i=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var a=t(6),o=t(292),u=function(){function e(e){this.targetSchema=e}return e.prototype.transformRequest=function(e){var n=function(e,n){var t=n.definitions.filter((function(e){return e.kind===a.Kind.OPERATION_DEFINITION})),r=n.definitions.filter((function(e){return e.kind===a.Kind.FRAGMENT_DEFINITION})),o=[],u=[],s=[],f=r.filter((function(n){var t=n.typeCondition.name.value;return Boolean(e.getType(t))})),p={};f.forEach((function(n){var t=n.typeCondition.name.value,r=e.getType(t);p[n.name.value]=r}));var d=Object.create(null);return t.forEach((function(n){var t;t="subscription"===n.operation?e.getSubscriptionType():"mutation"===n.operation?e.getMutationType():e.getQueryType();var r=c(e,t,p,n.selectionSet),i=r.selectionSet,v=r.usedFragments,y=r.usedVariables;o=l(o,v);var h=function(e,n,t,r,i){var o=[],u=[],s=function(){var s=i.pop(),f=t.find((function(e){return e.name.value===s}));if(f){var p=s,d=f.typeCondition.name.value,v=e.getType(d),y=c(e,v,r,f.selectionSet),h=y.selectionSet,m=y.usedFragments,T=y.usedVariables;i=l(i,m),o=l(o,T),n[p]||(n[p]=!0,u.push({kind:a.Kind.FRAGMENT_DEFINITION,name:{kind:a.Kind.NAME,value:p},typeCondition:f.typeCondition,selectionSet:h}))}};for(;0!==i.length;)s();return{usedVariables:o,newFragments:u,fragmentSet:n}}(e,d,f,p,o),m=h.usedVariables,T=h.newFragments,g=h.fragmentSet,b=l(y,m);s=T,d=g;var E=n.variableDefinitions.filter((function(e){return-1!==b.indexOf(e.variable.name.value)}));u.push({kind:a.Kind.OPERATION_DEFINITION,operation:n.operation,name:n.name,directives:n.directives,variableDefinitions:E,selectionSet:i})})),{kind:a.Kind.DOCUMENT,definitions:i(u,s)}}(this.targetSchema,e.document);return r(r({},e),{document:n})},e}();function c(e,n,t,i){var u,c=[],l=[],f=[n];return{selectionSet:a.visit(i,((u={})[a.Kind.FIELD]={enter:function(e){var n=s(f[f.length-1]);if(n instanceof a.GraphQLObjectType||n instanceof a.GraphQLInterfaceType){var t=n.getFields(),i="__typename"===e.name.value?a.TypeNameMetaFieldDef:t[e.name.value];if(!i)return null;f.push(i.type);var o=(i.args||[]).map((function(e){return e.name}));if(e.arguments){var u=e.arguments.filter((function(e){return-1!==o.indexOf(e.name.value)}));if(u.length!==e.arguments.length)return r(r({},e),{arguments:u})}}else n instanceof a.GraphQLUnionType&&"__typename"===e.name.value&&f.pu
39588sh(a.TypeNameMetaFieldDef.type)},leave:function(e){var n,t=s(f.pop());if(t instanceof a.GraphQLObjectType||t instanceof a.GraphQLInterfaceType){var r=e.selectionSet&&e.selectionSet.selections||null;if(!r||0===r.length)return a.visit(e,((n={})[a.Kind.VARIABLE]=function(e){var n=l.indexOf(e.name.value);-1!==n&&l.splice(n,1)},n)),null}}},u[a.Kind.FRAGMENT_SPREAD]=function(n){if(n.name.value in t){var r=s(f[f.length-1]),i=t[n.name.value];return o.default(e,r,i)?void c.push(n.name.value):null}return null},u[a.Kind.INLINE_FRAGMENT]={enter:function(n){if(n.typeCondition){var t=e.getType(n.typeCondition.name.value),r=s(f[f.length-1]);if(!o.default(e,r,t))return null;f.push(t)}},leave:function(e){f.pop()}},u[a.Kind.VARIABLE]=function(e){l.push(e.name.value)},u)),usedFragments:c,usedVariables:l}}function s(e){for(var n=e;n instanceof a.GraphQLNonNull||n instanceof a.GraphQLList;)n=n.ofType;return n}function l(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var t={},r=[];return e.forEach((function(e){e.forEach((function(e){t[e]||(t[e]=!0,r.push(e))}))})),r}n.default=u},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6);n.default=function(e,n,t){return n===t||!(!r.isCompositeType(n)||!r.isCompositeType(t))&&r.doTypesOverlap(e,n,t)}},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};Object.defineProperty(n,"__esModule",{value:!0});var i=t(6),a=function(){function e(e){this.targetSchema=e}return e.prototype.transformRequest=function(e){var n=function(e,n){var t,a=new i.TypeInfo(e);return i.visit(n,i.visitWithTypeInfo(a,((t={})[i.Kind.SELECTION_SET]=function(e){var n=a.getParentType(),t=e.selections;if(n&&(n instanceof i.GraphQLInterfaceType||n instanceof i.GraphQLUnionType)&&!t.find((function(e){return e.kind===i.Kind.FIELD&&"__typename"===e.name.value}))&&(t=t.concat({kind:i.Kind.FIELD,name:{kind:i.Kind.NAME,value:"__typename"}})),t!==e.selections)return r(r({},e),{selections:t})},t)))}(this.targetSchema,e.document);return r(r({},e),{document:n})},e}();n.default=a},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(202),i=function(){function e(e,n){this.info=e,this.fieldName=n}return e.prototype.transformResult=function(e){return r.checkResultAndHandleErrors(e,this.info,this.fieldName)},e}();n.default=i},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)},i=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var a=t(6),o=t(292),u=function(){function e(e,n){var t,r;this.targetSchema=n,this.mapping=function(e,n){var t=e.getTypeMap(),r={};return Object.keys(t).forEach((function(i){var o=t[i];if(a.isAbstractType(o)){var u=n.getType(i);if(!a.isAbstractType(u)){var c=e.getPossibleTypes(o)||[];r[i]=c.filter((function(e){return n.getType(e.name)})).map((function(e){return e.name}))}}})),r}(e,n),this.reverseMapping=(t=this.mapping,r={},Object.keys(t).forEach((function(e){t[e].forEach((function(n){r[n]||(r[n]=[]),r[n].push(e)}))})),r)}return e.prototype.transformRequest=function(e){var n=function(e,n,t,u){var c,s=u.definitions.filter((function(e){return e.kind===a.Kind.OPERATION_DEFINITION})),l=u.definitions.filter((function(e){return e.kind===a.Kind.FRAGMENT_DEFINITION})),f=l.map((function(e){return e.name.value})),p=0,d=[],v={};l.forEach((function(e){d.push(e);var t=n[e.typeCondition.name.value];t&&(v[e.name.value]=[],t.forEach((function(n){var t=function(e){var n;do{n="_"+e+"_Fragment"+p,p++}while(-1!==f.indexOf(n));return n}(n);f.push(t);var r={kind:a.Kind.FRAGMENT_DEFINITION,name:{kind:a.Kind.NAME,value:t},typeCondition:{kind:a.Kind.NAMED_TYPE,name:{kind:a.Kind.NAME,value:n}},selectionSet:e.selectionSet};d.push(r),v[e.name.value].push({fragmentName:t,typeName:n})})))}));var y=r(r({},u),{definitions:i(s,d)}),h=new a.TypeInfo(e);return a.visit(y,a.visitWithTypeInfo(h,((c={})[a.Kind.SELECTION_SET]=function(u){var c=i(u.selections),s=a.getNamedType(h.getParentType());if(u.selections.forEach((function(t){if(t.kind===a.Kind.INLINE_FRAGMENT){var r=n[t.typeCondition.name.value];r&&r.forEach((function(n){o.default(e,s,e.getType(n))&&c.push({kind:a.Kind.INLINE_FRAGMENT,typeCondition:{kind:a.Kind.NAMED_TYPE,name:{kind:a.Kind.NAME,value:n}},selectionSet:t.selectionSet})}))}else if(t.kind===a.Kind.FRAGMENT_SPREAD){var i=t.name.value,u=v[i];u&&u.forEach((function(n){var t=n.typeName;o.default(e,s,e.getType(t))&&c.push({kind:a.Kind.FRAGMENT_SPREAD,name:{kind:a.Kind.NAME,value:n.fragmentName}})}))}})),s&&t[s.name]&&c.push({kind:a.Kind.FIELD,name:{kind:a.Kind.NAME,value:"__typename"}}),c.length!==u.selections.length)return r(r({},u),{selections:c})},c)))}(this.targetSchema,this.mapping,this.reverseMapping,e.document);return r(r({},e),{document:n})},e}();n.default=u},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};Object.defineProperty(n,"__esModule",{value:!0});var i=t(6),a=function(){function e(e,n){this.targetSchema=e,this.mapping={};for(var t=0,r=n;t<r.length;t++){var i=r[t],a=i.field,u=o(i.fragment),c=u.typeCondition.name.value;this.mapping[c]=this.mapping[c]||{},this.mapping[c][a]?this.mapping[c][a].push(u):this.mapping[c][a]=[u]}}return e.prototype.transformRequest=function(e){var n=function(e,n,t){var a,o=new i.TypeInfo(e);return i.visit(n,i.visitWithTypeInfo(o,((a={})[i.Kind.SELECTION_SET]=function(e){var n=o.getParentType();if(n){var a=n.name,c=e.selections;if(t[a]&&e.selections.forEach((function(e){if(e.kind===i.Kind.FIELD){var n=e.name.value,r=t[a][n];if(r&&r.length>0){var o=u(a,r);c=c.concat(o)}}})),c!==e.selections)return r(r({},e),{selections:c})}},a)))}(this.targetSchema,e.document,this.mapping);return r(r({},e),{document:n})},e}();function o(e){if(e.trim().startsWith("fragment"))for(var n=0,t=i.parse(e).definitions;n<t.length;n++){var r=t[n];if(r.kind===i.Kind.FRAGMENT_DEFINITION)return{kind:i.Kind.INLINE_FRAGMENT,typeCondition:r.typeCondition,selectionSet:r.selectionSet}}for(var a=0,o=i.parse("{"+e+"}").definitions[0].selectionSet.selections;a<o.length;a++){var u=o[a];if(u.kind===i.Kind.INLINE_FRAGMENT)return u}throw new Error("Could not parse fragment")}function u(e,n){var t,a=n.reduce((function(e,n){return e.concat(n.selectionSet.selections)}),[]),o=(t=a.reduce((function(e,n){var t,i,a;switch(n.kind){case"Field":return n.alias?e.hasOwnProperty(n.alias.value)?e:r(r({},e),((t={})[n.alias.value]=n,t)):e.hasOwnProperty(n.name.value)?e:r(r({},e),((i={})[n.name.value]=n,i));case"FragmentSpread":return e.hasOwnProperty(n.name.value)?e:r(r({},e),((a={})[n.name.value]=n,a));case"InlineFragment":if(e.__fragment){var o=e.__fragment;return r(r({},e),{__fragment:u(o.typeCondition.name.value,[o,n])})}return r(r({},e),{__fragment:n});default:return e}}),{}),Object.keys(t).reduce((function(e,n){return e.concat(t[n])}),[]));return{kind:i.Kind.INLINE_FRAGMENT,typeCondition:{kind:i.Kind.NAMED_TYPE,name:{kind:i.Kind.NAME,value:e}},selectionSet:{kind:i.Kind.SELECTION_SET,selections:o}}}n.default=a},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(375);n.transformSchema=r.default;
39588var i=t(290);n.AddArgumentsAsVariables=i.default;var a=t(294);n.CheckResultAndHandleErrors=a.default;var o=t(296);n.ReplaceFieldWithFragment=o.default;var u=t(293);n.AddTypenameToAbstract=u.default;var c=t(291);n.FilterToSchema=c.default;var s=t(377);n.RenameTypes=s.default;var l=t(378);n.FilterTypes=l.default;var f=t(204);n.TransformRootFields=f.default;var p=t(379);n.RenameRootFields=p.default;var d=t(380);n.FilterRootFields=d.default;var v=t(295);n.ExpandAbstractTypes=v.default;var y=t(381);n.ExtractField=y.default;var h=t(382);n.WrapQuery=h.default},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return function(t,r,i){n||(n=new WeakMap);var a,o=n.get(t);if(o){if(a=o.get(r)){var u=a.get(i);if(void 0!==u)return u}}else o=new WeakMap,n.set(t,o);a||(a=new WeakMap,o.set(r,a));var c=e(t,r,i);return a.set(i,c),c}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n,t){return e.reduce((function(e,t){return(0,i.default)(e)?e.then((function(e){return n(e,t)})):n(e,t)}),t)};var r,i=(r=t(153))&&r.__esModule?r:{default:r}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n=Object.keys(e),t=n.map((function(n){return e[n]}));return Promise.all(t).then((function(e){return e.reduce((function(e,t,r){return e[n[r]]=t,e}),Object.create(null))}))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return e}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)};n.default=r},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e};n.default=r},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.subscribe=function(e,n,t,r,i,a,o,u){return d(1===arguments.length?e:{schema:e,document:n,rootValue:t,contextValue:r,variableValues:i,operationName:a,fieldResolver:o,subscribeFieldResolver:u})},n.createSourceEventStream=v;var r=t(47),i=f(t(13)),a=t(125),o=t(5),u=t(188),c=t(116),s=t(191),l=f(t(335));function f(e){return e&&e.__esModule?e:{default:e}}function p(e){if(e instanceof o.GraphQLError)return{errors:[e]};throw e}function d(e){var n=e.schema,t=e.document,i=e.rootValue,a=e.contextValue,o=e.variableValues,u=e.operationName,s=e.fieldResolver,f=e.subscribeFieldResolver,d=v(n,t,i,a,o,u,f),y=function(e){return(0,c.execute)(n,t,e,a,o,u,s)};return d.then((function(e){return(0,r.isAsyncIterable)(e)?(0,l.default)(e,y,p):e}))}function v(e,n,t,l,f,p,d){(0,c.assertValidExecutionArguments)(e,n,f);try{var v=(0,c.buildExecutionContext)(e,n,t,l,f,p,d);if(Array.isArray(v))return Promise.resolve({errors:v});var y=(0,s.getOperationRootType)(e,v.operation),h=(0,c.collectFields)(v,y,v.operation.selectionSet,Object.create(null),Object.create(null)),m=Object.keys(h)[0],T=h[m],g=T[0].name.value,b=(0,c.getFieldDef)(e,y,g);if(!b)throw new o.GraphQLError('The subscription field "'.concat(g,'" is not defined.'),T);var E=b.subscribe||v.fieldResolver,O=(0,a.addPath)(void 0,m),_=(0,c.buildResolveInfo)(v,b,T,y,O),N=(0,c.resolveFieldValueOrError)(v,b,T,E,t,_);return Promise.resolve(N).then((function(e){if(e instanceof Error)return{errors:[(0,u.locatedError)(e,T,(0,a.pathToArray)(O))]};if((0,r.isAsyncIterable)(e))return e;throw new Error("Subscription field must return Async Iterable. Received: "+(0,i.default)(e))}))}catch(e){return e instanceof o.GraphQLError?Promise.resolve({errors:[e]}):Promise.reject(e)}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n,t){var o,u,c,s=(0,r.getAsyncIterator)(e);
39588"function"==typeof s.return&&(o=s.return,u=function(e){var n=function(){return Promise.reject(e)};return o.call(s).then(n,n)});function l(e){return e.done?e:i(e.value,n).then(a,u)}if(t){var f=t;c=function(e){return i(e,f).then(a,u)}}return function(e,n,t){n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t;return e}({next:function(){return s.next().then(l,c)},return:function(){return o?o.call(s).then(l,c):Promise.resolve({value:void 0,done:!0})},throw:function(e){return"function"==typeof s.throw?s.throw(e).then(l,c):Promise.reject(e).catch(u)}},r.$$asyncIterator,(function(){return this}))};var r=t(47);function i(e,n){return new Promise((function(t){return t(n(e))}))}function a(e){return{value:e,done:!1}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.formatError=function(e){e||(0,i.default)(0,"Received null or undefined error.");var n=e.message||"An unknown error occurred.",t=e.locations,r=e.path,a=e.extensions;return a?{message:n,locations:t,path:r,extensions:a}:{message:n,locations:t,path:r}};var r,i=(r=t(59))&&r.__esModule?r:{default:r}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.getOperationAST=function(e,n){for(var t=null,i=0,a=e.definitions;i<a.length;i++){var o=a[i];if(o.kind===r.Kind.OPERATION_DEFINITION)if(n){if(o.name&&o.name.value===n)return o}else{if(t)return null;t=o}}return t};var r=t(18)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.introspectionFromSchema=function(e,n){var t=(0,a.parse)((0,u.getIntrospectionQuery)(n)),c=(0,o.execute)(e,t);return!(0,i.default)(c)&&!c.errors&&c.data||(0,r.default)(0),c.data};var r=c(t(48)),i=c(t(153)),a=t(122),o=t(116),u=t(282);function c(e){return e&&e.__esModule?e:{default:e}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.buildClientSchema=function(e,n){(0,u.default)(e)&&(0,u.default)(e.__schema)||(0,a.default)(0,'Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: '+(0,i.default)(e));for(var t=e.__schema,y=(0,o.default)(t.types,(function(e){return e.name}),(function(e){return function(e){if(e&&e.name&&e.kind)switch(e.kind){case f.TypeKind.SCALAR:return t=e,new d.GraphQLScalarType({name:t.name,description:t.description});case f.TypeKind.OBJECT:return function(e){if(!e.interfaces)throw new Error("Introspection result missing interfaces: "+(0,i.default)(e));return new d.GraphQLObjectType({name:e.name,description:e.description,interfaces:function(){return e.interfaces.map(S)},fields:function(){return D(e)}})}(e);case f.TypeKind.INTERFACE:return n=e,new d.GraphQLInterfaceType({name:n.name,description:n.description,fields:function(){return D(n)}});case f.TypeKind.UNION:return function(e){if(!e.possibleTypes)throw new Error("Introspection result missing possibleTypes: "+(0,i.default)(e));return new d.GraphQLUnionType({name:e.name,description:e.description,types:function(){return e.possibleTypes.map(I)}})}(e);case f.TypeKind.ENUM:return function(e){if(!e.enumValues)throw new Error("Introspection result missing enumValues: "+(0,i.default)(e));return new d.GraphQLEnumType({name:e.name,description:e.description,values:(0,o.default)(e.enumValues,(function(e){return e.name}),(function(e){return{description:e.description,deprecationReason:e.deprecationReason}}))})}(e);case f.TypeKind.INPUT_OBJECT:return function(e){if(!e.inputFields)throw new Error("Introspection result missing inputFields: "+(0,i.default)(e));return new d.GraphQLInputObjectType({name:e.name,description:e.description,fields:function(){return L(e.inputFields)}})}(e)}var n;var t;throw new Error("Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema:"+(0,i.default)(e))}(e)})),h=0,m=[].concat(l.specifiedScalarTypes,f.introspectionTypes);h<m.length;h++){var T=m[h];y[T.name]&&(y[T.name]=T)}var g=t.queryType?I(t.queryType):null,b=t.mutationType?I(t.mutationType):null,E=t.subscriptionType?I(t.subscriptionType):null,O=t.directives?t.directives.map((function(e){if(!e.args)throw new Error("Introspection result missing directive args: "+(0,i.default)(e));if(!e.locations)throw new Error("Introspection result missing directive locations: "+(0,i.default)(e));return new s.GraphQLDirective({name:e.name,description:e.description,locations:e.locations.slice(),args:L(e.args)})})):[];return new p.GraphQLSchema({query:g,mutation:b,subscription:E,types:(0,r.default)(y),directives:O,assumeValid:n&&n.assumeValid,allowedLegacyNames:n&&n.allowedLegacyNames});
39588function _(e){if(e.kind===f.TypeKind.LIST){var n=e.ofType;if(!n)throw new Error("Decorated type deeper than introspection query.");return(0,d.GraphQLList)(_(n))}if(e.kind===f.TypeKind.NON_NULL){var t=e.ofType;if(!t)throw new Error("Decorated type deeper than introspection query.");var r=_(t);return(0,d.GraphQLNonNull)((0,d.assertNullableType)(r))}if(!e.name)throw new Error("Unknown type reference: "+(0,i.default)(e));return function(e){var n=y[e];if(!n)throw new Error("Invalid or incomplete schema, unknown type: ".concat(e,". Ensure that a full introspection query is used in order to build a client schema."));return n}(e.name)}function N(e){var n=_(e);if((0,d.isOutputType)(n))return n;throw new Error("Introspection must provide output type for fields, but received: "+(0,i.default)(n)+".")}function I(e){var n=_(e);return(0,d.assertObjectType)(n)}function S(e){var n=_(e);return(0,d.assertInterfaceType)(n)}function D(e){if(!e.fields)throw new Error("Introspection result missing fields: "+(0,i.default)(e));return(0,o.default)(e.fields,(function(e){return e.name}),(function(e){if(!e.args)throw new Error("Introspection result missing field args: "+(0,i.default)(e));return{description:e.description,deprecationReason:e.deprecationReason,type:N(e.type),args:L(e.args)}}))}function L(e){return(0,o.default)(e,(function(e){return e.name}),A)}function A(e){var n=function(e){var n=_(e);if((0,d.isInputType)(n))return n;throw new Error("Introspection must provide input type for arguments, but received: "+(0,i.default)(n)+".")}(e.type),t=e.defaultValue?(0,v.valueFromAST)((0,c.parseValue)(e.defaultValue),n):void 0;return{description:e.description,type:n,defaultValue:t}}};var r=y(t(49)),i=y(t(13)),a=y(t(59)),o=y(t(112)),u=y(t(65)),c=t(122),s=t(50),l=t(66),f=t(64),p=t(95),d=t(11),v=t(159);function y(e){return e&&e.__esModule?e:{default:e}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.extendSchema=function(e,n,t){(0,h.assertSchema)(e),n&&n.kind===l.Kind.DOCUMENT||(0,c.default)(0,"Must provide valid Document AST"),t&&(t.assumeValid||t.assumeValidSDL)||(0,p.assertValidSDLExtension)(n,e);for(var g,b=[],O=Object.create(null),_=[],N=[],I=0,S=n.definitions;I<S.length;I++){var D=S[I];if(D.kind===l.Kind.SCHEMA_DEFINITION)g=D;else if(D.kind===l.Kind.SCHEMA_EXTENSION)N.push(D);else if((0,f.isTypeDefinitionNode)(D))b.push(D);else if((0,f.isTypeExtensionNode)(D)){var L=D.name.value,A=O[L];O[L]=A?A.concat([D]):[D]}else D.kind===l.Kind.DIRECTIVE_DEFINITION&&_.push(D)}if(0===Object.keys(O).length&&0===b.length&&0===_.length&&0===N.length&&!g)return e;for(var j=e.toConfig(),w=new T.ASTDefinitionBuilder(t,(function(e){var n=P[e];if(void 0===n)throw new Error('Unknown type: "'.concat(e,'".'));return n})),P=(0,s.default)(b,(function(e){return e.name.value}),(function(e){return w.buildType(e)})),k=0,F=j.types;k<F.length;k++){var R=F[k];P[R.name]=ee(R)}var M={query:j.query&&j.query.name,mutation:j.mutation&&j.mutation.name,subscription:j.subscription&&j.subscription.name};if(g)for(var x=0,G=g.operationTypes;x<G.length;x++){var V=G[x],K=V.operation,C=V.type;M[K]=C.name.value}for(var Q=0;Q<N.length;Q++){var U=N[Q];if(U.operationTypes)for(var B=0,q=U.operationTypes;B<q.length;B++){var Y=q[B],J=Y.operation,W=Y.type;M[J]=W.name.value}}var X=j.allowedLegacyNames.concat(t&&t.allowedLegacyNames||[]);return new h.GraphQLSchema({query:Z(M.query),mutation:Z(M.mutation),subscription:Z(M.subscription),types:(0,i.default)(P),directives:(H=e.getDirectives().map(ne),H||(0,c.default)(0,"schema must have default directives"),H.concat(_.map((function(e){return w.buildDirective(e)})))),astNode:g||j.astNode,extensionASTNodes:j.extensionASTNodes.concat(N),allowedLegacyNames:X});var H;function z(e){return(0,m.isListType)(e)?new m.GraphQLList(z(e.ofType)):(0,m.isNonNullType)(e)?new m.GraphQLNonNull(z(e.ofType)):$(e)}function $(e){return P[e.name]}function Z(e){return e?P[e]:null}function ee(e){return(0,y.isIntrospectionType)(e)||(0,v.isSpecifiedScalarType)(e)?e:(0,m.isScalarType)(e)?function(e){var n=e.toConfig(),t=O[n.name]||[];return new m.GraphQLScalarType(E({},n,{extensionASTNodes:n.extensionASTNodes.concat(t)}))}
39588(e):(0,m.isObjectType)(e)?function(e){var n=e.toConfig(),t=O[n.name]||[],i=(0,r.default)(t,(function(e){return e.interfaces||[]})),a=(0,r.default)(t,(function(e){return e.fields||[]}));return new m.GraphQLObjectType(E({},n,{interfaces:function(){return[].concat(e.getInterfaces().map($),i.map((function(e){return w.getNamedType(e)})))},fields:function(){return E({},(0,o.default)(n.fields,te),{},(0,s.default)(a,(function(e){return e.name.value}),(function(e){return w.buildField(e)})))},extensionASTNodes:n.extensionASTNodes.concat(t)}))}(e):(0,m.isInterfaceType)(e)?function(e){var n=e.toConfig(),t=O[n.name]||[],i=(0,r.default)(t,(function(e){return e.fields||[]}));return new m.GraphQLInterfaceType(E({},n,{fields:function(){return E({},(0,o.default)(n.fields,te),{},(0,s.default)(i,(function(e){return e.name.value}),(function(e){return w.buildField(e)})))},extensionASTNodes:n.extensionASTNodes.concat(t)}))}(e):(0,m.isUnionType)(e)?function(e){var n=e.toConfig(),t=O[n.name]||[],i=(0,r.default)(t,(function(e){return e.types||[]}));return new m.GraphQLUnionType(E({},n,{types:function(){return[].concat(e.getTypes().map($),i.map((function(e){return w.getNamedType(e)})))},extensionASTNodes:n.extensionASTNodes.concat(t)}))}(e):(0,m.isEnumType)(e)?function(e){var n=e.toConfig(),t=O[e.name]||[],i=(0,r.default)(t,(function(e){return e.values||[]}));return new m.GraphQLEnumType(E({},n,{values:E({},n.values,{},(0,s.default)(i,(function(e){return e.name.value}),(function(e){return w.buildEnumValue(e)}))),extensionASTNodes:n.extensionASTNodes.concat(t)}))}(e):(0,m.isInputObjectType)(e)?function(e){var n=e.toConfig(),t=O[n.name]||[],i=(0,r.default)(t,(function(e){return e.fields||[]}));return new m.GraphQLInputObjectType(E({},n,{fields:function(){return E({},(0,o.default)(n.fields,(function(e){return E({},e,{type:z(e.type)})})),{},(0,s.default)(i,(function(e){return e.name.value}),(function(e){return w.buildInputField(e)})))},extensionASTNodes:n.extensionASTNodes.concat(t)}))}(e):void(0,u.default)(!1,"Unexpected type: "+(0,a.default)(e))}function ne(e){var n=e.toConfig();return new d.GraphQLDirective(E({},n,{args:(0,o.default)(n.args,re)}))}function te(e){return E({},e,{type:z(e.type),args:(0,o.default)(e.args,re)})}function re(e){return E({},e,{type:z(e.type)})}};var r=g(t(155)),i=g(t(49)),a=g(t(13)),o=g(t(247)),u=g(t(48)),c=g(t(59)),s=g(t(112)),l=t(18),f=t(110),p=t(160),d=t(50),v=t(66),y=t(64),h=t(95),m=t(11),T=t(283);function g(e){return e&&e.__esModule?e:{default:e}}function b(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function E(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?b(t,!0).forEach((function(n){O(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):b(t).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function O(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.lexicographicSortSchema=function(e){var n=e.toConfig(),t=(0,o.default)(h(n.types),(function(e){return e.name}),(function(e){if((0,l.isScalarType)(e)||(0,s.isIntrospectionType)(e))return e;if((0,l.isObjectType)(e)){var n=e.toConfig();return new l.GraphQLObjectType(d({},n,{interfaces:function(){return b(n.interfaces)},fields:function(){return g(n.fields)}}))}if((0,l.isInterfaceType)(e)){var t=e.toConfig();return new l.GraphQLInterfaceType(d({},t,{fields:function(){return g(t.fields)}}))}if((0,l.isUnionType)(e)){var r=e.toConfig();return new l.GraphQLUnionType(d({},r,{types:function(){return b(r.types)}}))}if((0,l.isEnumType)(e)){var o=e.toConfig();return new l.GraphQLEnumType(d({},o,{values:y(o.values)}))}if((0,l.isInputObjectType)(e)){var u=e.toConfig();return new l.GraphQLInputObjectType(d({},u,{fields:function(){return y(u.fields,(function(e){return d({},e,{type:f(e.type)})}))}}))}(0,a.default)(!1,"Unexpected type: "+(0,i.default)(e))}));return new u.GraphQLSchema(d({},n,{types:(0,r.default)(t),directives:h(n.directives).map((function(e){var n=e.toConfig();return new c.GraphQLDirective(d({},n,{locations:m(n.locations,(function(e){return e})),args:T(n.args)}))})),query:v(n.query),mutation:v(n.mutation),subscription:v(n.subscription)}));function f(e){return(0,l.isListType)(e)?new l.GraphQLList(f(e.ofType)):(0,l.isNonNullType)(e)?new l.GraphQLNonNull(f(e.ofType)):p(e)}function p(e){return t[e.name]}function v(e){return e&&p(e)}function T(e){return y(e,(function(e){return d({},e,{type:f(e.type)})}))}function g(e){return y(e,(function(e){return d({},e,{type:f(e.type),args:T(e.args)})}))}function b(e){return h(e).map(p)}};var r=f(t(49)),i=f(t(13)),a=f(t(48)),o=f(t(112)),u=t(95),c=t(50),s=t(64),l=t(11);
39588function f(e){return e&&e.__esModule?e:{default:e}}function p(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function d(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?p(t,!0).forEach((function(n){v(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):p(t).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function v(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function y(e,n){for(var t=Object.create(null),r=m(Object.keys(e),(function(e){return e})),i=0;i<r.length;i++){var a=r[i],o=e[a];t[a]=n?n(o):o}return t}function h(e){return m(e,(function(e){return e.name}))}function m(e,n){return e.slice().sort((function(e,t){var r=n(e),i=n(t);return r.localeCompare(i)}))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.printSchema=function(e,n){return h(e,(function(e){return!(0,f.isSpecifiedDirective)(e)}),y,n)},n.printIntrospectionSchema=function(e,n){return h(e,f.isSpecifiedDirective,s.isIntrospectionType,n)},n.printType=T;var r=v(t(155)),i=v(t(49)),a=v(t(13)),o=v(t(48)),u=t(63),c=t(121),s=t(64),l=t(66),f=t(50),p=t(11),d=t(157);function v(e){return e&&e.__esModule?e:{default:e}}function y(e){return!(0,l.isSpecifiedScalarType)(e)&&!(0,s.isIntrospectionType)(e)}function h(e,n,t,r){var a=e.getDirectives().filter(n),o=e.getTypeMap(),u=(0,i.default)(o).sort((function(e,n){return e.name.localeCompare(n.name)})).filter(t);return[m(e)].concat(a.map((function(e){return function(e,n){return N(n,e)+"directive @"+e.name+E(n,e.args)+(e.isRepeatable?" repeatable":"")+" on "+e.locations.join(" | ")}(e,r)})),u.map((function(e){return T(e,r)}))).filter(Boolean).join("\n\n")+"\n"}function m(e){if(!function(e){var n=e.getQueryType();if(n&&"Query"!==n.name)return!1;var t=e.getMutationType();if(t&&"Mutation"!==t.name)return!1;var r=e.getSubscriptionType();if(r&&"Subscription"!==r.name)return!1;return!0}(e)){var n=[],t=e.getQueryType();t&&n.push(" query: ".concat(t.name));var r=e.getMutationType();r&&n.push(" mutation: ".concat(r.name));var i=e.getSubscriptionType();return i&&n.push(" subscription: ".concat(i.name)),"schema {\n".concat(n.join("\n"),"\n}")}}function T(e,n){return(0,p.isScalarType)(e)?function(e,n){return N(n,e)+"scalar ".concat(e.name)}(e,n):(0,p.isObjectType)(e)?function(e,n){var t=e.getInterfaces(),r=t.length?" implements "+t.map((function(e){return e.name})).join(" & "):"";return N(n,e)+"type ".concat(e.name).concat(r)+g(n,e)}(e,n):(0,p.isInterfaceType)(e)?function(e,n){return N(n,e)+"interface ".concat(e.name)+g(n,e)}(e,n):(0,p.isUnionType)(e)?function(e,n){var t=e.getTypes(),r=t.length?" = "+t.join(" | "):"";return N(n,e)+"union "+e.name+r}(e,n):(0,p.isEnumType)(e)?function(e,n){var t=e.getValues().map((function(e,t){return N(n,e," ",!t)+" "+e.name+_(e)}));return N(n,e)+"enum ".concat(e.name)+b(t)}(e,n):(0,p.isInputObjectType)(e)?function(e,n){var t=(0,i.default)(e.getFields()).map((function(e,t){return N(n,e," ",!t)+" "+O(e)}));return N(n,e)+"input ".concat(e.name)+b(t)}(e,n):void(0,o.default)(!1,"Unexpected type: "+(0,a.default)(e))}function g(e,n){return b((0,i.default)(n.getFields()).map((function(n,t){return N(e,n," ",!t)+" "+n.name+E(e,n.args," ")+": "+String(n.type)+_(n)})))}function b(e){return 0!==e.length?" {\n"+e.join("\n")+"\n}":""}function E(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return 0===n.length?"":n.every((function(e){return!e.description}))?"("+n.map(O).join(", ")+")":"(\n"+n.map((function(n,r){return N(e,n," "+t,!r)+" "+t+O(n)})).join("\n")+"\n"+t+")"}function O(e){var n=(0,d.astFromValue)(e.defaultValue,e.type),t=e.name+": "+String(e.type);return n&&(t+=" = ".concat((0,u.print)(n))),t}function _(e){if(!e.isDeprecated)return"";var n=e.deprecationReason,t=(0,d.astFromValue)(n,l.GraphQLString);return t&&""!==n&&n!==f.DEFAULT_DEPRECATION_REASON?" @deprecated(reason: "+(0,u.print)(t)+")":" @deprecated"}function N(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(!n.description)return"";var i=S(n.description,120-t.length);if(e&&e.commentDescriptions)return I(i,t,r);var a=i.join("\n"),o=a.length>70,u=(0,c.printBlockString)(a,"",o),s=t&&!r?"\n"+t:t;return s+u.replace(/\n/g,"\n"+t)+"\n"}function I(e,n,t){for(var r=n&&!t?"\n":"",i=0;i<e.length;i++){var a=e[i];r+=""===a?n+"#\n":n+"# "+a+"\n"}return r}function S(e,n){var t=e.split("\n");return(0,r.default)(t,(function(e){return e.length<n+5?e:function(e,n){var t=e.split(new RegExp("((?: |^).{15,".concat(n-40,"}(?= |$))")));if(t.length<4)return[e];for(var r=[t[0]+t[1]+t[2]],i=3;i<t.length;i+=2)r.push(t[i].slice(1)+t[i+1]);return r}(e,n)}))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isValidJSValue=function(e,n){var t=(0,r.coerceValue)(e,n).errors;return t?t.map((function(e){return e.message})):[]};var r=t(284)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isValidLiteralValue=function(e,n){var t=new u.GraphQLSchema({}),s={kind:r.Kind.DOCUMENT,definitions:[]},l=new c.TypeInfo(t,void 0,e),f=new o.ValidationContext(t,s,l),p=(0,a.ValuesOfCorrectType)(f);return(0,i.visit)(n,(0,i.visitWithTypeInfo)(l,p)),f.getErrors()};var r=t(18),i=t(28),a=t(196),o=t(197),u=t(95),c=t(128)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.concatAST=function(e){return{kind:"Document",definitions:(0,i.default)(e,(function(e){return e.definitions}))}};
39588var r,i=(r=t(155))&&r.__esModule?r:{default:r}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.separateOperations=function(e){var n,t=[],o=Object.create(null),u=new Map,c=Object.create(null),s=0;(0,r.visit)(e,{OperationDefinition:function(e){n=i(e),t.push(e),u.set(e,s++)},FragmentDefinition:function(e){n=e.name.value,o[n]=e,u.set(e,s++)},FragmentSpread:function(e){var t=e.name.value;(c[n]||(c[n]=Object.create(null)))[t]=!0}});for(var l=Object.create(null),f=0;f<t.length;f++){var p=t[f],d=i(p),v=Object.create(null);a(v,c,d);for(var y=[p],h=0,m=Object.keys(v);h<m.length;h++){var T=m[h];y.push(o[T])}y.sort((function(e,n){return(u.get(e)||0)-(u.get(n)||0)})),l[d]={kind:"Document",definitions:y}}return l};var r=t(28);function i(e){return e.name?e.name.value:""}function a(e,n,t){var r=n[t];if(r)for(var i=0,o=Object.keys(r);i<o.length;i++){var u=o[i];e[u]||(e[u]=!0,a(e,n,u))}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.stripIgnoredCharacters=function(e){var n="string"==typeof e?new a.Source(e):e;if(!(n instanceof a.Source))throw new TypeError("Must provide string or Source. Received: ".concat((0,i.default)(n)));var t=n.body,r=(0,u.createLexer)(n),c="",l=!1;for(;r.advance().kind!==o.TokenKind.EOF;){var f=r.token,p=f.kind,d=!(0,u.isPunctuatorToken)(f);l&&(d||f.kind===o.TokenKind.SPREAD)&&(c+=" ");var v=t.slice(f.start,f.end);p===o.TokenKind.BLOCK_STRING?c+=s(v):c+=v,l=d}return c};var r,i=(r=t(13))&&r.__esModule?r:{default:r},a=t(184),o=t(120),u=t(186),c=t(121);function s(e){var n=e.slice(3,-3),t=(0,c.dedentBlockStringValue)(n),r=t.split(/\r\n|[\n\r]/g);(0,c.getBlockStringIndentation)(r)>0&&(t="\n"+t);var i=t[t.length-1];return('"'===i&&'\\"""'!==t.slice(-4)||"\\"===i)&&(t+="\n"),'"""'+t+'"""'}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.findBreakingChanges=function(e,n){return h(e,n).filter((function(e){return e.type in v}))},n.findDangerousChanges=function(e,n){return h(e,n).filter((function(e){return e.type in y}))},n.DangerousChangeType=n.BreakingChangeType=void 0;var r=f(t(49)),i=f(t(94)),a=f(t(13)),o=f(t(48)),u=t(63),c=t(28),s=t(11),l=t(157);function f(e){return e&&e.__esModule?e:{default:e}}function p(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function d(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}var v=Object.freeze({TYPE_REMOVED:"TYPE_REMOVED",TYPE_CHANGED_KIND:"TYPE_CHANGED_KIND",TYPE_REMOVED_FROM_UNION:"TYPE_REMOVED_FROM_UNION",VALUE_REMOVED_FROM_ENUM:"VALUE_REMOVED_FROM_ENUM",REQUIRED_INPUT_FIELD_ADDED:"REQUIRED_INPUT_FIELD_ADDED",INTERFACE_REMOVED_FROM_OBJECT:"INTERFACE_REMOVED_FROM_OBJECT",FIELD_REMOVED:"FIELD_REMOVED",FIELD_CHANGED_KIND:"FIELD_CHANGED_KIND",REQUIRED_ARG_ADDED:"REQUIRED_ARG_ADDED",ARG_REMOVED:"ARG_REMOVED",ARG_CHANGED_KIND:"ARG_CHANGED_KIND",DIRECTIVE_REMOVED:"DIRECTIVE_REMOVED",DIRECTIVE_ARG_REMOVED:"DIRECTIVE_ARG_REMOVED",REQUIRED_DIRECTIVE_ARG_ADDED:"REQUIRED_DIRECTIVE_ARG_ADDED",DIRECTIVE_LOCATION_REMOVED:"DIRECTIVE_LOCATION_REMOVED"});n.BreakingChangeType=v;var y=Object.freeze({VALUE_ADDED_TO_ENUM:"VALUE_ADDED_TO_ENUM",TYPE_ADDED_TO_UNION:"TYPE_ADDED_TO_UNION",OPTIONAL_INPUT_FIELD_ADDED:"OPTIONAL_INPUT_FIELD_ADDED",OPTIONAL_ARG_ADDED:"OPTIONAL_ARG_ADDED",INTERFACE_ADDED_TO_OBJECT:"INTERFACE_ADDED_TO_OBJECT",ARG_DEFAULT_VALUE_CHANGE:"ARG_DEFAULT_VALUE_CHANGE"});function h(e,n){return[].concat(function(e,n){for(var t=[],i=D((0,r.default)(e.getTypeMap()),(0,r.default)(n.getTypeMap())),a=0,o=i.removed;a<o.length;a++){var u=o[a];t.push({type:v.TYPE_REMOVED,description:"".concat(u.name," was removed.")})}for(var c=0,l=i.persisted;c<l.length;c++){var f=l[c],p=f[0],d=f[1];(0,s.isEnumType)(p)&&(0,s.isEnumType)(d)?t.push.apply(t,g(p,d)):(0,s.isUnionType)(p)&&(0,s.isUnionType)(d)?t.push.apply(t,T(p,d)):(0,s.isInputObjectType)(p)&&(0,s.isInputObjectType)(d)?t.push.apply(t,m(p,d)):(0,s.isObjectType)(p)&&(0,s.isObjectType)(d)?t.push.apply(t,b(p,d)):(0,s.isInterfaceType)(p)&&(0,s.isInterfaceType)(d)?t.push.apply(t,E(p,d)):p.constructor!==d.constructor&&t.push({type:v.TYPE_CHANGED_KIND,description:"".concat(p.name," changed from ")+"".concat(I(p)," to ").concat(I(d),".")})}return t}(e,n),function(e,n){for(var t=[],r=D(e.getDirectives(),n.getDirectives()),i=0,a=r.removed;i<a.length;i++){var o=a[i];t.push({type:v.DIRECTIVE_REMOVED,description:"".concat(o.name," was removed.")})}for(var u=0,c=r.persisted;u<c.length;u++){for(var l=c[u],f=l[0],p=l[1],d=D(f.args,p.args),y=0,h=d.added;y<h.length;y++){var m=h[y];(0,s.isRequiredArgument)(m)&&t.push({type:v.REQUIRED_DIRECTIVE_ARG_ADDED,description:"A required arg ".concat(m.name," on directive ").concat(f.name," was added.")})}for(var T=0,g=d.removed;T<g.length;T++){var b=g[T];t.push({type:v.DIRECTIVE_ARG_REMOVED,description:"".concat(b.name," was removed from ").concat(f.name,".")})}for(var E=0,O=f.locations;E<O.length;E++){var _=O[E];-1===p.locations.indexOf(_)&&t.push({type:v.DIRECTIVE_LOCATION_REMOVED,description:"".concat(_," was removed from ").concat(f.name,".")})}}return t}(e,n))}function m(e,n){for(var t=[],i=D((0,r.default)(e.getFields()),(0,r.default)(n.getFields())),a=0,o=i.added;a<o.length;a++){var u=o[a];(0,s.isRequiredInputField)(u)?t.push({type:v.REQUIRED_INPUT_FIELD_ADDED,description:"A required field ".concat(u.name," on input type ").concat(e.name," was added.")}):t.push({type:y.OPTIONAL_INPUT_FIELD_ADDED,description:"An optional field ".concat(u.name," on input type ").concat(e.name," was added.")})}for(var c=0,l=i.removed;c<l.length;c++){var f=l[c];t.push({type:v.FIELD_REMOVED,description:"".concat(e.name,".").concat(f.name," was removed.")})}for(var p=0,d=i.persisted;p<d.length;p++){var h=d[p],m=h[0],T=h[1];N(m.type,T.type)||t.push({type:v.FIELD_CHANGED_KIND,description:"".concat(e.name,".").concat(m.name," changed type from ")+"".concat(String(m.type)," to ").concat(String(T.type),".")})}return t}function T(e,n){for(var t=[],r=D(e.getTypes(),n.getTypes()),i=0,a=r.added;i<a.length;i++){var o=a[i];t.push({type:y.TYPE_ADDED_TO_UNION,description:"".concat(o.name," was added to union type ").concat(e.name,".")})}for(var u=0,c=r.removed;u<c.length;u++){var s=c[u];t.push({type:v.TYPE_REMOVED_FROM_UNION,description:"".concat(s.name," was removed from union type ").concat(e.name,".")})}return t}function g(e,n){for(var t=[],r=D(e.getValues(),n.getValues()),i=0,a=r.added;i<a.length;i++){var o=a[i];t.push({type:y.VALUE_ADDED_TO_ENUM,description:"".concat(o.name," was added to enum type ").concat(e.name,".")})}for(var u=0,c=r.removed;u<c.length;u++){var s=c[u];t.push({type:v.VALUE_REMOVED_FROM_ENUM,description:"".concat(s.name," was removed from enum type ").concat(e.name,".")})}return t}function b(e,n){for(var t=E(e,n),r=D(e.getInterfaces(),n.getInterfaces()),i=0,a=r.added;i<a.length;i++){var o=a[i];
39588t.push({type:y.INTERFACE_ADDED_TO_OBJECT,description:"".concat(o.name," added to interfaces implemented by ").concat(e.name,".")})}for(var u=0,c=r.removed;u<c.length;u++){var s=c[u];t.push({type:v.INTERFACE_REMOVED_FROM_OBJECT,description:"".concat(e.name," no longer implements interface ").concat(s.name,".")})}return t}function E(e,n){for(var t=[],i=D((0,r.default)(e.getFields()),(0,r.default)(n.getFields())),a=0,o=i.removed;a<o.length;a++){var u=o[a];t.push({type:v.FIELD_REMOVED,description:"".concat(e.name,".").concat(u.name," was removed.")})}for(var c=0,s=i.persisted;c<s.length;c++){var l=s[c],f=l[0],p=l[1];t.push.apply(t,O(e,f,p)),_(f.type,p.type)||t.push({type:v.FIELD_CHANGED_KIND,description:"".concat(e.name,".").concat(f.name," changed type from ")+"".concat(String(f.type)," to ").concat(String(p.type),".")})}return t}function O(e,n,t){for(var r=[],i=D(n.args,t.args),a=0,o=i.removed;a<o.length;a++){var u=o[a];r.push({type:v.ARG_REMOVED,description:"".concat(e.name,".").concat(n.name," arg ").concat(u.name," was removed.")})}for(var c=0,l=i.persisted;c<l.length;c++){var f=l[c],p=f[0],d=f[1];if(N(p.type,d.type)){if(void 0!==p.defaultValue)if(void 0===d.defaultValue)r.push({type:y.ARG_DEFAULT_VALUE_CHANGE,description:"".concat(e.name,".").concat(n.name," arg ").concat(p.name," defaultValue was removed.")});else{var h=S(p.defaultValue,p.type),m=S(d.defaultValue,d.type);h!==m&&r.push({type:y.ARG_DEFAULT_VALUE_CHANGE,description:"".concat(e.name,".").concat(n.name," arg ").concat(p.name," has changed defaultValue from ").concat(h," to ").concat(m,".")})}}else r.push({type:v.ARG_CHANGED_KIND,description:"".concat(e.name,".").concat(n.name," arg ").concat(p.name," has changed type from ")+"".concat(String(p.type)," to ").concat(String(d.type),".")})}for(var T=0,g=i.added;T<g.length;T++){var b=g[T];(0,s.isRequiredArgument)(b)?r.push({type:v.REQUIRED_ARG_ADDED,description:"A required arg ".concat(b.name," on ").concat(e.name,".").concat(n.name," was added.")}):r.push({type:y.OPTIONAL_ARG_ADDED,description:"An optional arg ".concat(b.name," on ").concat(e.name,".").concat(n.name," was added.")})}return r}function _(e,n){return(0,s.isListType)(e)?(0,s.isListType)(n)&&_(e.ofType,n.ofType)||(0,s.isNonNullType)(n)&&_(e,n.ofType):(0,s.isNonNullType)(e)?(0,s.isNonNullType)(n)&&_(e.ofType,n.ofType):(0,s.isNamedType)(n)&&e.name===n.name||(0,s.isNonNullType)(n)&&_(e,n.ofType)}function N(e,n){return(0,s.isListType)(e)?(0,s.isListType)(n)&&N(e.ofType,n.ofType):(0,s.isNonNullType)(e)?(0,s.isNonNullType)(n)&&N(e.ofType,n.ofType)||!(0,s.isNonNullType)(n)&&N(e.ofType,n):(0,s.isNamedType)(n)&&e.name===n.name}function I(e){return(0,s.isScalarType)(e)?"a Scalar type":(0,s.isObjectType)(e)?"an Object type":(0,s.isInterfaceType)(e)?"an Interface type":(0,s.isUnionType)(e)?"a Union type":(0,s.isEnumType)(e)?"an Enum type":(0,s.isInputObjectType)(e)?"an Input type":void(0,o.default)(!1,"Unexpected type: "+(0,a.default)(e))}function S(e,n){var t=(0,l.astFromValue)(e,n);null!=t||(0,o.default)(0);var r=(0,c.visit)(t,{ObjectValue:function(e){return function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?p(t,!0).forEach((function(n){d(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):p(t).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}({},e,{fields:[].concat(e.fields).sort((function(e,n){return e.name.value.localeCompare(n.name.value)}))})}});return(0,u.print)(r)}function D(e,n){for(var t=[],r=[],a=[],o=(0,i.default)(e,(function(e){return e.name})),u=(0,i.default)(n,(function(e){return e.name})),c=0;c<e.length;c++){var s=e[c],l=u[s.name];void 0===l?r.push(s):a.push([s,l])}for(var f=0;f<n.length;f++){var p=n[f];void 0===o[p.name]&&t.push(p)}return{added:t,persisted:a,removed:r}}n.DangerousChangeType=y},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.findDeprecatedUsages=function(e,n){var t=[],u=new o.TypeInfo(e);return(0,i.visit)(n,(0,i.visitWithTypeInfo)(u,{Field:function(e){var n=u.getFieldDef();if(n&&n.isDeprecated){var i=u.getParentType();if(i){var a=n.deprecationReason;t.push(new r.GraphQLError("The field ".concat(i.name,".").concat(n.name," is deprecated.")+(a?" "+a:""),e))}}},EnumValue:function(e){var n=u.getEnumValue();if(n&&n.isDeprecated){var i=(0,a.getNamedType)(u.getInputType());if(i){var o=n.deprecationReason;t.push(new r.GraphQLError("The enum value ".concat(i.name,".").concat(n.name," is deprecated.")+(o?" "+o:""),e))}}}})),t};var r=t(5),i=t(28),a=t(11),o=t(128)},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(68),i=t(6),a=t(199),o=t(68),u=t(351);
39588function c(e,n){Object.keys(n).forEach((function(t){e[t]=n[t]}))}n.default=function(e,n,t){e instanceof i.GraphQLSchema&&(console.warn("The addResolveFunctionsToSchema function takes named options now; see IAddResolveFunctionsToSchemaOptions"),e={schema:e,resolvers:n,resolverValidationOptions:t});var s=e.schema,l=e.resolvers,f=e.resolverValidationOptions,p=void 0===f?{}:f,d=e.inheritResolversFromInterfaces,v=void 0!==d&&d,y=p.allowResolversNotInSchema,h=void 0!==y&&y,m=p.requireResolversForResolveType,T=v?o.extendResolversFromInterfaces(s,l):l,g=Object.create(null);return Object.keys(T).forEach((function(e){var n=T[e],t=typeof n;if("object"!==t&&"function"!==t)throw new r.SchemaError('"'+e+'" defined in resolvers, but has invalid value "'+n+"\". A resolver's value must be of type object or function.");var a=s.getType(e);if(!a&&"__schema"!==e){if(h)return;throw new r.SchemaError('"'+e+'" defined in resolvers, but not in schema')}Object.keys(n).forEach((function(t){if(t.startsWith("__"))a[t.substring(2)]=n[t];else if(a instanceof i.GraphQLScalarType)a[t]=n[t];else{if(a instanceof i.GraphQLEnumType){if(!a.getValue(t)){if(h)return;throw new r.SchemaError(e+"."+t+" was defined in resolvers, but enum is not in schema")}return g[a.name]=g[a.name]||{},void(g[a.name][t]=n[t])}var o=function(e){return e instanceof i.GraphQLObjectType||e instanceof i.GraphQLInterfaceType?e.getFields():void 0}(a);if(!o){if(h)return;throw new r.SchemaError(e+" was defined in resolvers, but it's not an object")}if(!o[t]){if(h)return;throw new r.SchemaError(e+"."+t+" defined in resolvers, but not in schema")}var u=o[t],s=n[t];if("function"==typeof s)c(u,{resolve:s});else{if("object"!=typeof s)throw new r.SchemaError("Resolver "+e+"."+t+" must be object or function");c(u,s)}}}))})),o.checkForResolveTypeResolver(s,m),a.applySchemaTransforms(s,[new u.default(g)])}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(129),a=function(){function e(e){this.enumValueMap=e}return e.prototype.transformSchema=function(e){var n,t=this.enumValueMap;return t&&0!==Object.keys(t).length?i.visitSchema(e,((n={})[i.VisitSchemaKind.ENUM_TYPE]=function(e){var n=t[e.name];if(n){var i=e.getValues(),a={};return i.forEach((function(e){var t=Object.keys(n).includes(e.name)?n[e.name]:e.name;a[e.name]={value:t,deprecationReason:e.deprecationReason,description:e.description,astNode:e.astNode}})),new r.GraphQLEnumType({name:e.name,description:e.description,astNode:e.astNode,values:a})}return e},n)):e},e}();n.default=a},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6);function i(e,n){return function(t,i,a,o){return Promise.resolve(n(t,i,a,o)).then((function(n){return e?e(n,i,a,o):r.defaultFieldResolver(n,i,a,o)}))}}n.default=function(e,n){[e.getQueryType(),e.getMutationType(),e.getSubscriptionType()].filter((function(e){return!!e})).forEach((function(t){var r=function(e){var n,t=Math.random();return function(r,i,a,o){return o.operation.__runAtMostOnce||(o.operation.__runAtMostOnce={}),o.operation.__runAtMostOnce[t]||(o.operation.__runAtMostOnce[t]=!0,n=e(r,i,a,o)),n}}(n),a=t.getFields();Object.keys(a).forEach((function(o){t===e.getSubscriptionType()?a[o].resolve=i(a[o].resolve,n):a[o].resolve=i(a[o].resolve,r)}))}))}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(68);function a(e,n,t){if(e.resolve){if("function"!=typeof e.resolve)throw new i.SchemaError('Resolver "'+n+"."+t+'" must be a function')}else console.warn('Resolve function missing for "'+n+"."+t+'". To disable this warning check https://github.com/apollostack/graphql-tools/issues/131')}n.default=function(e,n){void 0===n&&(n={});var t=n.requireResolversForArgs,o=void 0!==t&&t,u=n.requireResolversForNonScalar,c=void 0!==u&&u,s=n.requireResolversForAllFields,l=void 0!==s&&s;if(l&&(o||c))throw new TypeError("requireResolversForAllFields takes precedence over the more specific assertions. Please configure either requireResolversForAllFields or requireResolversForArgs / requireResolversForNonScalar, but not a combination of them.");i.forEachField(e,(function(e,n,t){l&&a(e,n,t),o&&e.args.length>0&&a(e,n,t),!c||r.getNamedType(e.type)instanceof r.GraphQLScalarType||a(e,n,t)}))}},function(e,n,t){var r,i=this&&this.__extends||(r=function(e,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)n.hasOwnProperty(t)&&(e[t]=n[t])})(e,n)},function(e,n){function t(){this.constructor=e}r(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}),a=this&&this.__awaiter||function(e,n,t,r){return new(t||(t=Promise))((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function u(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var n;e.done?i(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(o,u)}c((r=r.apply(e,n||[])).next())}))},o=this&&this.__generator||function(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;
39588function u(a){return function(u){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=n.call(e,o)}catch(e){a=[6,e],r=0}finally{t=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}};Object.defineProperty(n,"__esModule",{value:!0});var u=t(6),c=t(161);n.default=function(e,n){if("object"!=typeof n)throw new Error("Expected directiveResolvers to be of type object, got "+typeof n);if(Array.isArray(n))throw new Error("Expected directiveResolvers to be of type object, got Array");var t=Object.create(null);Object.keys(n).forEach((function(e){t[e]=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return i(r,t),r.prototype.visitFieldDefinition=function(t){var r=this,i=n[e],c=t.resolve||u.defaultFieldResolver,s=this.args;t.resolve=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var u=e[0],l=e[2],f=e[3];return i((function(){return a(r,void 0,void 0,(function(){return o(this,(function(n){return[2,c.apply(t,e)]}))}))}),u,s,l,f)}},r}(c.SchemaDirectiveVisitor)})),c.SchemaDirectiveVisitor.visitSchemaDirectives(e,t)}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(98),a=t(68),o=i.deprecated({version:"0.7.0",url:"https://github.com/apollostack/graphql-tools/issues/140"},(function(e,n){if(!(e&&e instanceof r.GraphQLSchema))throw new Error("schema must be an instance of GraphQLSchema. This error could be caused by installing more than one version of GraphQL-JS");if("object"!=typeof n)throw new Error("Expected connectors to be of type object, got "+typeof n);if(0===Object.keys(n).length)throw new Error("Expected connectors to not be an empty object");if(Array.isArray(n))throw new Error("Expected connectors to be of type object, got Array");if(e._apolloConnectorsAttached)throw new Error("Connectors already attached to context, cannot attach more than once");e._apolloConnectorsAttached=!0;a.addSchemaLevelResolveFunction(e,(function(e,t,r){if("object"!=typeof r)throw new Error("Cannot attach connector because context is not an object: "+typeof r);return void 0===r.connectors&&(r.connectors={}),Object.keys(n).forEach((function(e){var t=n[e];if(!t.prototype)throw new Error("Connector must be a function or an class");r.connectors[e]=new t(r)})),e}))}));n.default=o},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(68),a=t(357);n.default=function(e,n){var t,o=e;if(function(e){return void 0!==e.kind}(e))t=e;else if("string"!=typeof o){if(!Array.isArray(o)){var u=typeof o;throw new i.SchemaError("typeDefs must be a string, array or schema AST, got "+u)}o=i.concatenateTypeDefs(o)}"string"==typeof o&&(t=r.parse(o,n));var c={commentDescriptions:!0},s=a.default(t),l=r.buildASTSchema(s,c),f=i.extractExtensionDefinitions(t);return f.definitions.length>0&&(l=r.extendSchema(l,f,c)),l}},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};Object.defineProperty(n,"__esModule",{value:!0});var i=t(6);n.default=function(e){var n=e.definitions.filter((function(e){return e.kind!==i.Kind.OBJECT_TYPE_EXTENSION&&e.kind!==i.Kind.INTERFACE_TYPE_EXTENSION&&e.kind!==i.Kind.INPUT_OBJECT_TYPE_EXTENSION&&e.kind!==i.Kind.UNION_TYPE_EXTENSION&&e.kind!==i.Kind.ENUM_TYPE_EXTENSION&&e.kind!==i.Kind.SCALAR_TYPE_EXTENSION&&e.kind!==i.Kind.SCHEMA_EXTENSION}));return r(r({},e),{definitions:n})}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6);n.chainResolvers=function(e){return function(n,t,i,a){return e.reduce((function(e,n){return n?n(e,t,i,a):r.defaultFieldResolver(e,t,i,a)}),n)}}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(68);
39588n.default=function(e,n){Object.keys(e.getTypeMap()).map((function(n){return e.getType(n)})).forEach((function(e){if((e instanceof r.GraphQLUnionType||e instanceof r.GraphQLInterfaceType)&&!e.resolveType){if(!1===n)return;if(!0===n)throw new i.SchemaError('Type "'+e.name+'" is missing a "resolveType" resolver');console.warn('Type "'+e.name+'" is missing a "__resolveType" resolver. Pass false into "resolverValidationOptions.requireResolversForResolveType" to disable this warning.')}}))}},function(e,n,t){var r=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var i=t(6),a=t(68);n.default=function e(n,t){void 0===t&&(t=[]);var o,u=[];return n.forEach((function(n){if(void 0!==n.kind&&(n=i.print(n)),"function"==typeof n)-1===t.indexOf(n)&&(t.push(n),u=u.concat(e(n(),t)));else{if("string"!=typeof n){var r=typeof n;throw new a.SchemaError("typeDef array must contain only strings and functions, got "+r)}u.push(n.trim())}})),(o=u.map((function(e){return e.trim()})),o.reduce((function(e,n){return-1===e.indexOf(n)?r(e,[n]):e}),[])).join("\n")}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6);n.default=function(e,n,t){void 0===e&&(e=r.defaultFieldResolver);var i=function(e){var r=new Error;r.stack=e.stack,t&&(r.originalMessage=e.message,r.message="Error in resolver "+t+"\n"+e.message),n.log(r)};return function(n,t,r,a){try{var o=e(n,t,r,a);return o&&"function"==typeof o.then&&"function"==typeof o.catch&&o.catch((function(e){var n=e instanceof Error?e:new Error(e);return i(n),e})),o}catch(e){throw i(e),e}}}},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)},i=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var a=t(6);n.default=function(e,n){var t=Object.keys(r(r({},e.getTypeMap()),n)),o={};return t.forEach((function(t){var r=n[t],u=e.getType(t);if(u instanceof a.GraphQLObjectType){var c=u.getInterfaces().map((function(e){return n[e.name]}));o[t]=Object.assign.apply(Object,i([{}],c,[r]))}else r&&(o[t]=r)})),o}},function(e,n){Object.defineProperty(n,"__esModule",{value:!0});n.default=function(e){var n=e.definitions.filter((function(e){return"ObjectTypeExtension"===e.kind||"InterfaceTypeExtension"===e.kind||"InputObjectTypeExtension"===e.kind||"UnionTypeExtension"===e.kind||"EnumTypeExtension"===e.kind}));return Object.assign({},e,{definitions:n})}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6);n.default=function(e,n){var t=e.getTypeMap();Object.keys(t).forEach((function(e){var i=t[e];if(!r.getNamedType(i).name.startsWith("__")&&i instanceof r.GraphQLObjectType){var a=i.getFields();Object.keys(a).forEach((function(t){var r=a[t];n(r,e,t)}))}}))}},function(e,n){var t,r=this&&this.__extends||(t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)n.hasOwnProperty(t)&&(e[t]=n[t])})(e,n)},function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)});Object.defineProperty(n,"__esModule",{value:!0});var i=function(e){function n(n){var t=e.call(this,n)||this;return t.message=n,Error.captureStackTrace(t,t.constructor),t}return r(n,e),n}(Error);n.default=i},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(99),a=t(127);n.mockServer=function(e,n,t){var i;return void 0===t&&(t=!1),u({schema:i=e instanceof r.GraphQLSchema?e:a.buildSchemaFromTypeDefinitions(e),mocks:n,preserveResolvers:t}),{query:function(e,n){return r.graphql(i,e,{},{},n)}}};var o=new Map;function u(e){var n=e.schema,t=e.mocks,i=void 0===t?{}:t,u=e.preserveResolvers,p=void 0!==u&&u;
39588if(!n)throw new Error("Must provide schema to mock");if(!(n instanceof r.GraphQLSchema))throw new Error('Value at "schema" must be of type GraphQLSchema');if(!c(i))throw new Error("mocks must be of type Object");var d=new Map;Object.keys(i).forEach((function(e){d.set(e,i[e])})),d.forEach((function(e,n){if("function"!=typeof e)throw new Error("mockFunctionMap["+n+"] must be a function")}));var v=function(e,t,i){return function(t,a,u,l){var p=r.getNullableType(e),y=r.getNamedType(p);if(t&&void 0!==t[i]){var h=void 0;return"function"==typeof t[i]?(h=t[i](t,a,u,l))instanceof f&&(h=h.mock(t,a,u,l,p,v)):h=t[i],d.has(y.name)&&(h=function e(n,t){if(Array.isArray(t))return t.map((function(t){return e(n,t)}));if(c(t))return r=n(),i=t,Object.assign(r,i);var r,i;return t}(d.get(y.name).bind(null,t,a,u,l),h)),h}if(p instanceof r.GraphQLList||p instanceof r.GraphQLNonNull)return[v(p.ofType)(t,a,u,l),v(p.ofType)(t,a,u,l)];if(d.has(p.name)&&!(p instanceof r.GraphQLUnionType||p instanceof r.GraphQLInterfaceType))return d.get(p.name)(t,a,u,l);if(p instanceof r.GraphQLObjectType)return{};if(p instanceof r.GraphQLUnionType||p instanceof r.GraphQLInterfaceType){var m=void 0;if(d.has(p.name)){var T=d.get(p.name)(t,a,u,l);if(!T||!T.__typename)return Error('Please return a __typename in "'+p.name+'"');m=n.getType(T.__typename)}else{m=s(n.getPossibleTypes(p))}return Object.assign({__typename:m},v(m)(t,a,u,l))}return p instanceof r.GraphQLEnumType?s(p.getValues()).value:o.has(p.name)?o.get(p.name)(t,a,u,l):Error('No mock defined for type "'+p.name+'"')}};a.forEachField(n,(function(e,t,i){var a;!function(e,n){var t=r.getNullableType(e),i=r.getNamedType(t),a=function(e){return e instanceof r.GraphQLInterfaceType||e instanceof r.GraphQLUnionType?e.resolveType:void 0}(i);if(n&&a&&a.length)return;(i instanceof r.GraphQLUnionType||i instanceof r.GraphQLInterfaceType)&&(i.resolveType=function(e,n,t){return t.schema.getType(e.__typename)})}(e.type,p);var o=n.getQueryType()&&n.getQueryType().name===t,u=n.getMutationType()&&n.getMutationType().name===t;if((o||u)&&d.has(t)){var s=d.get(t);"function"==typeof s(void 0,{},{},{})[i]&&(a=function(n,r,a,o){var u=n||{};return u[i]=s(n,r,a,o)[i],v(e.type,t,i)(u,r,a,o)})}if(a||(a=v(e.type,t,i)),p&&e.resolve){var f=e.resolve;e.resolve=function(e,n,t,r){return Promise.all([a(e,n,t,r),f(e,n,t,r)]).then((function(e){var n=e[0],t=e[1];if(n instanceof Error){if(void 0===t)throw n;return t}return t instanceof Date&&n instanceof Date?void 0!==t?t:n:c(n)&&c(t)?function(e){for(var n=[],t=1;t<arguments.length;t++)n[t-1]=arguments[t];return n.forEach((function(n){for(var t=n;t;)l(e,t),t=Object.getPrototypeOf(t)})),e}(Object.create(Object.getPrototypeOf(t)),t,n):void 0!==t?t:n}))}}else e.resolve=a}))}function c(e){return e===Object(e)&&!Array.isArray(e)}function s(e){return e[Math.floor(Math.random()*e.length)]}function l(e,n){Object.getOwnPropertyNames(n).forEach((function(t){Object.getOwnPropertyDescriptor(e,t)||Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}o.set("Int",(function(){return Math.round(200*Math.random())-100})),o.set("Float",(function(){return 200*Math.random()-100})),o.set("String",(function(){return"Hello World"})),o.set("Boolean",(function(){return Math.random()>.5})),o.set("ID",(function(){return i.v4()})),n.addMockFunctionsToSchema=u;var f=function(){function e(e,n){if(this.len=e,void 0!==n){if("function"!=typeof n)throw new Error("Second argument to MockList must be a function or undefined");this.wrappedFunction=n}}return e.prototype.mock=function(n,t,i,a,o,u){var c;c=Array.isArray(this.len)?new Array(this.randint(this.len[0],this.len[1])):new Array(this.len);for(var s=0;s<c.length;s++)if("function"==typeof this.wrappedFunction){var l=this.wrappedFunction(n,t,i,a);if(l instanceof e){var f=r.getNullableType(o.ofType);c[s]=l.mock(n,t,i,a,f,u)}else c[s]=l}else c[s]=u(o.ofType)(n,t,i,a);return c},e.prototype.randint=function(e,n){return Math.floor(Math.random()*(n-e+1)+e)},e}();n.MockList=f},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(368);n.makeRemoteExecutableSchema=r.default,n.defaultCreateRemoteResolver=r.createResolver;var i=t(370);n.introspectSchema=i.default;var a=t(371);n.mergeSchemas=a.default;var o=t(203);n.delegateToSchema=o.default;var u=t(201);n.defaultMergedResolver=u.default},function(e,n,t){var r=this&&this.__awaiter||function(e,n,t,r){return new(t||(t=Promise))((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function u(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var n;e.done?i(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(o,u)}c((r=r.apply(e,n||[])).next())}))},i=this&&this.__generator||function(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;
39588function u(a){return function(u){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=n.call(e,o)}catch(e){a=[6,e],r=0}finally{t=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}},a=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var o=t(6),u=t(288),c=t(289),s=t(127),l=t(130),f=t(200),p=t(201),d=t(202),v=t(369);function y(e){var n=this;return function(t,u,c,s){return r(n,void 0,void 0,(function(){var n,t,r;return i(this,(function(i){switch(i.label){case 0:return n=Object.keys(s.fragments).map((function(e){return s.fragments[e]})),t={kind:o.Kind.DOCUMENT,definitions:a([s.operation],n)},[4,e({query:t,variables:s.variableValues,context:{graphqlContext:c}})];case 1:return r=i.sent(),[2,d.checkResultAndHandleErrors(r,s)]}}))}))}}function h(e,n){return function(e,t,r,i){var c=Object.keys(i.fragments).map((function(e){return i.fragments[e]})),s={query:{kind:o.Kind.DOCUMENT,definitions:a([i.operation],c)},variables:i.variableValues,context:{graphqlContext:r}},l=u.execute(n,s);return v.observableToAsyncIterable(l)}}n.default=function(e){var n,t,r=e.schema,i=e.link,a=e.fetcher,d=e.createResolver,v=void 0===d?y:d,m=e.buildSchemaOptions,T=e.printSchemaOptions,g=void 0===T?{commentDescriptions:!0}:T;!a&&i&&(a=u.default(i)),"string"==typeof r?(t=r,r=o.buildSchema(t,m)):t=o.printSchema(r,g);var b={},E=r.getQueryType(),O=E.getFields();Object.keys(O).forEach((function(e){b[e]=v(a)}));var _={},N=r.getMutationType();if(N){var I=N.getFields();Object.keys(I).forEach((function(e){_[e]=v(a)}))}var S={},D=r.getSubscriptionType();if(D){var L=D.getFields();Object.keys(L).forEach((function(e){S[e]={subscribe:h(e,i)}}))}var A=((n={})[E.name]=b,n);c.default(_)||(A[N.name]=_),c.default(S)||(A[D.name]=S);for(var j=r.getTypeMap(),w=function(e){if(e instanceof o.GraphQLInterfaceType||e instanceof o.GraphQLUnionType)A[e.name]={__resolveType:function(e,n,t){return f.default(e,t.schema)}};else if(e instanceof o.GraphQLScalarType)e!==o.GraphQLID&&e!==o.GraphQLString&&e!==o.GraphQLFloat&&e!==o.GraphQLBoolean&&e!==o.GraphQLInt&&(A[e.name]=l.recreateType(e,(function(e){return null}),!1));else if(e instanceof o.GraphQLObjectType&&"__"!==e.name.slice(0,2)&&e!==E&&e!==N&&e!==D){var n={};Object.keys(e.getFields()).forEach((function(e){n[e]=p.default})),A[e.name]=n}},P=0,k=Object.keys(j).map((function(e){return j[e]}));P<k.length;P++){w(k[P])}return s.makeExecutableSchema({typeDefs:t,resolvers:A})},n.createResolver=y},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)},i=this&&this.__awaiter||function(e,n,t,r){return new(t||(t=Promise))((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function u(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var n;e.done?i(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(o,u)}c((r=r.apply(e,n||[])).next())}))},a=this&&this.__generator||function(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;
39588function u(a){return function(u){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=n.call(e,o)}catch(e){a=[6,e],r=0}finally{t=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}};Object.defineProperty(n,"__esModule",{value:!0});var o=t(47);n.observableToAsyncIterable=function(e){var n,t=[],u=[],c=!0,s=e.subscribe({next:function(e){!function(e){var n=e.data;0!==t.length?t.shift()({value:n,done:!1}):u.push({value:n})}(e)},error:function(e){var n;n=e,0!==t.length?t.shift()({value:{errors:[n]},done:!1}):u.push({value:{errors:[n]}})}}),l=function(){c&&(c=!1,s.unsubscribe(),t.forEach((function(e){return e({value:void 0,done:!0})})),t.length=0,u.length=0)};return(n={next:function(){return i(this,void 0,void 0,(function(){return a(this,(function(e){return[2,c?new Promise((function(e){if(0!==u.length){var n=u.shift();e(r(r({},n),{done:!1}))}else t.push(e)})):this.return()]}))}))},return:function(){return l(),Promise.resolve({value:void 0,done:!0})},throw:function(e){return l(),Promise.reject(e)}})[o.$$asyncIterator]=function(){return this},n}},function(e,n,t){var r=this&&this.__awaiter||function(e,n,t,r){return new(t||(t=Promise))((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function u(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var n;e.done?i(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(o,u)}c((r=r.apply(e,n||[])).next())}))},i=this&&this.__generator||function(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(a){return function(u){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=n.call(e,o)}catch(e){a=[6,e],r=0}finally{t=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}};Object.defineProperty(n,"__esModule",{value:!0});var a=t(6),o=t(8),u=t(288),c=a.parse(o.getIntrospectionQuery());n.default=function(e,n){return r(this,void 0,void 0,(function(){var t;return i(this,(function(r){switch(r.label){case 0:return e.request&&(e=u.default(e)),[4,e({query:c,context:n})];case 1:if((t=r.sent()).errors&&t.errors.length||!t.data.__schema)throw t.errors;return[2,a.buildClientSchema(t.data)]}}))}))}},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)},i=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var a=t(6),o=t(127),u=t(130),c=t(203),s=t(374),l=t(297),f=t(285),p=t(161);function d(e,n,t){e[n]||(e[n]=[]),e[n].push(t)}n.default=function(e){var n=e.schemas;return e.onTypeConflict,function(e){var n=e.schemas,t=e.resolvers,v=e.schemaDirectives,y=e.inheritResolversFromInterfaces,h=e.mergeDirectives,m=[],T={},g={},b=[],E=[],O=[],_=u.createResolveType((function(e){if(void 0===g[e])throw new Error("Can't find type "+e+".");return g[e]}));
39588n.forEach((function(e){if(e instanceof a.GraphQLSchema){m.push(e);var n=e.getQueryType(),t=e.getMutationType(),r=e.getSubscriptionType();if(n&&d(T,"Query",{schema:e,type:n}),t&&d(T,"Mutation",{schema:e,type:t}),r&&d(T,"Subscription",{schema:e,type:r}),h)e.getDirectives().forEach((function(e){E.push(e)}));var i=e.getTypeMap();Object.keys(i).forEach((function(o){var u=i[o];a.isNamedType(u)&&"__"!==a.getNamedType(u).name.slice(0,2)&&u!==n&&u!==t&&u!==r&&d(T,u.name,{schema:e,type:u})}))}else if("string"==typeof e||e&&e.kind===a.Kind.DOCUMENT){var u="string"==typeof e?a.parse(e):e;u.definitions.forEach((function(e){var n=s.default(e);n instanceof a.GraphQLDirective&&h?E.push(n):!n||n instanceof a.GraphQLDirective||d(T,n.name,{type:n})}));var c=o.extractExtensionDefinitions(u);c.definitions.length>0&&b.push(c)}else{if(!Array.isArray(e))throw new Error("Invalid schema passed");e.forEach((function(e){d(T,e.name,{type:e})}))}}));var N=function(e,n){return{delegate:function(t,r,a,o,u,s){console.warn("`mergeInfo.delegate` is deprecated. Use `mergeInfo.delegateToSchema and pass explicit schema instances.");var f=function(e,n,t){for(var r=0,i=e;r<i.length;r++){var a=i[r],o=void 0;if(o="subscription"===n?a.getSubscriptionType():"mutation"===n?a.getMutationType():a.getQueryType())if(o.getFields()[t])return a}throw new Error("Could not find subschema with field `"+n+"."+t+"`")}(e,t,r),p=new l.ExpandAbstractTypes(u.schema,f),d=new l.ReplaceFieldWithFragment(f,n);return c.default({schema:f,operation:t,fieldName:r,args:a,context:o,info:u,transforms:i(s||[],[p,d])})},delegateToSchema:function(e){return c.default(r(r({},e),{transforms:e.transforms}))},fragments:n}}(m,O);t?"function"==typeof t?(console.warn("Passing functions as resolver parameter is deprecated. Use `info.mergeInfo` instead."),t=t(N)):Array.isArray(t)&&(t=t.reduce((function(e,n){return"function"==typeof n&&(console.warn("Passing functions as resolver parameter is deprecated. Use `info.mergeInfo` instead."),n=n(N)),f.default(e,n)}),{})):t={};var I={};Object.keys(T).forEach((function(e){var n=function(e,n,t){t||(t=function(e){return e[e.length-1]});var i=u.createResolveType((function(e,n){return n}));if("Query"===e||"Mutation"===e||"Subscription"===e){var o,c={};switch(e){case"Query":o="query";break;case"Mutation":o="mutation";break;case"Subscription":o="subscription"}var s={},l="subscription"===o?"subscribe":"resolve";return n.forEach((function(e){var n=e.type,t=e.schema,i=n.getFields();c=r(r({}
39588,c),i),Object.keys(i).forEach((function(e){var n;s[e]=((n={})[l]=function(e,n,t){return function(r,i,a,o){return o.mergeInfo.delegateToSchema({schema:e,operation:n,fieldName:t,args:i,context:a,info:o})}}(t,o,e),n)}))})),{type:new a.GraphQLObjectType({name:e,fields:u.fieldMapToFieldConfigMap(c,i,!1)}),resolvers:s}}return t(n).type}(e,T[e]);if(null===n)g[e]=null;else{var t=void 0,i=void 0;if(a.isNamedType(n))t=n;else{if(!n.type)throw new Error("Invalid visitType result for type "+e);t=n.type,i=n.resolvers}g[e]=u.recreateType(t,_,!1),i&&(I[e]=i)}}));var S=new a.GraphQLSchema({query:g.Query,mutation:g.Mutation,subscription:g.Subscription,types:Object.keys(g).map((function(e){return g[e]})),directives:E.map((function(e){return u.recreateDirective(e,_)}))});b.forEach((function(e){S=a.extendSchema(S,e,{commentDescriptions:!0})})),t?Array.isArray(t)&&(t=t.reduce(f.default,{})):t={};Object.keys(t).forEach((function(e){var n=t[e];n instanceof a.GraphQLScalarType||Object.keys(n).forEach((function(e){var t=n[e];t.fragment&&O.push({field:e,fragment:t.fragment})}))})),D=S=o.addResolveFunctionsToSchema({schema:S,resolvers:f.default(I,t),inheritResolversFromInterfaces:y}),L=function(e){if(e.resolve){var n=e.resolve;e.resolve=function(e,t,i,a){var o=r(r({},a),{mergeInfo:N});return n(e,t,i,o)}}if(e.subscribe){var t=e.subscribe;e.subscribe=function(e,n,i,a){var o=r(r({},a),{mergeInfo:N});return t(e,n,i,o)}}},A=D.getTypeMap(),void Object.keys(A).forEach((function(e){var n=A[e];if(!a.getNamedType(n).name.startsWith("__")&&n instanceof a.GraphQLObjectType){var t=n.getFields();Object.keys(t).forEach((function(n){var r=t[n];L(r,e,n)}))}})),v&&p.SchemaDirectiveVisitor.visitSchemaDirectives(S,v);var D,L,A;return S}({schemas:n,resolvers:e.resolvers,schemaDirectives:e.schemaDirectives,inheritResolversFromInterfaces:e.inheritResolversFromInterfaces,mergeDirectives:e.mergeDirectives})}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(47);function i(e,n){return new Promise((function(t){return t(n(e))}))}function a(e){return{value:e,done:!1}}n.default=function(e,n,t){var o,u,c,s;function l(e){return e.done?e:i(e.value,n).then(a,c)}if("function"==typeof e.return&&(u=e.return,c=function(n){var t=function(){return Promise.reject(n)};return u.call(e).then(t,t)}),t){var f=t;s=function(e){return i(e,f).then(a,c)}}return(o={next:function(){return e.next().then(l,s)},return:function(){return u?u.call(e).then(l,s):Promise.resolve({value:void 0,done:!0})},throw:function(n){return"function"==typeof e.throw?e.throw(n).then(l,s):Promise.reject(n).catch(c)}})[r.$$asyncIterator]=function(){return this},o}},function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=function(){function e(e){this.enumNode=e}return e.prototype.transformResult=function(e){var n=this.enumNode.getValue(e);return n?n.value:e},e}();n.default=t},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(200),a={commentDescriptions:!0};function o(e){var n={};return e.forEach((function(e){var t=e.directives.find((function(e){return e&&e.name&&"deprecated"===e.name.value})),i=t&&t.arguments&&t.arguments.find((function(e){return e&&e.name&&"reason"===e.name.value})),o=i&&i.value&&i.value.value;n[e.name.value]={type:c(e.type,"object"),args:u(e.arguments),description:r.getDescription(e,a),deprecationReason:o}})),n}function u(e){var n={};return e.forEach((function(e){var t=c(e.type,"input");n[e.name.value]={type:t,defaultValue:r.valueFromAST(e.defaultValue,t),description:r.getDescription(e,a)}})),n}function c(e,n){switch(e.kind){case r.Kind.LIST_TYPE:return new r.GraphQLList(c(e.type,n));case r.Kind.NON_NULL_TYPE:return new r.GraphQLNonNull(c(e.type,n));default:return s(e.name.value,n)}}function s(e,n){return new("object"===n?r.GraphQLObjectType:"interface"===n?r.GraphQLInterfaceType:r.GraphQLInputObjectType)({name:e,fields:{__fake:{type:r.GraphQLString}}})}n.default=function(e){switch(e.kind){case r.Kind.OBJECT_TYPE_DEFINITION:return function(e){return new r.GraphQLObjectType({name:e.name.value,fields:function(){return o(e.fields)},interfaces:function(){return e.interfaces.map((function(e){return s(e.name.value,"interface")}))},description:r.getDescription(e,a)})}(e);case r.Kind.INTERFACE_TYPE_DEFINITION:return function(e){return new r.GraphQLInterfaceType({name:e.name.value,fields:function(){return o(e.fields)},description:r.getDescription(e,a),resolveType:function(e,n,t){return i.default(e,t.schema)}})}(e);case r.Kind.ENUM_TYPE_DEFINITION:return function(e){var n={};
39588return e.values.forEach((function(e){n[e.name.value]={description:r.getDescription(e,a)}})),new r.GraphQLEnumType({name:e.name.value,values:n,description:r.getDescription(e,a)})}(e);case r.Kind.UNION_TYPE_DEFINITION:return function(e){return new r.GraphQLUnionType({name:e.name.value,types:function(){return e.types.map((function(e){return c(e,"object")}))},description:r.getDescription(e,a),resolveType:function(e,n,t){return i.default(e,t.schema)}})}(e);case r.Kind.SCALAR_TYPE_DEFINITION:return function(e){return new r.GraphQLScalarType({name:e.name.value,description:r.getDescription(e,a),serialize:function(){return null},parseValue:function(){return!1},parseLiteral:function(){return!1}})}(e);case r.Kind.INPUT_OBJECT_TYPE_DEFINITION:return function(e){return new r.GraphQLInputObjectType({name:e.name.value,fields:function(){return u(e.fields)},description:r.getDescription(e,a)})}(e);case r.Kind.DIRECTIVE_DEFINITION:return function(e){var n=[];return e.locations.forEach((function(e){e.value in r.DirectiveLocation&&n.push(e.value)})),new r.GraphQLDirective({name:e.name.value,description:e.description?e.description.value:null,args:u(e.arguments),locations:n})}(e);default:return null}}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(127),i=t(129),a=t(199),o=t(376);n.default=function(e,n){var t=i.visitSchema(e,{},!0),u=o.generateSimpleMapping(e),c=o.generateProxyingResolvers(e,n,u);return t=r.addResolveFunctionsToSchema({schema:t,resolvers:c,resolverValidationOptions:{allowResolversNotInSchema:!0}}),(t=a.applySchemaTransforms(t,n)).transforms=n,t}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(203);function i(e,n){var t={},r=e.getFields();return Object.keys(r).forEach((function(e){t[e]={name:e,operation:n}})),t}n.generateProxyingResolvers=function(e,n,t){var i={};return Object.keys(t).forEach((function(a){i[a]={};var o=t[a];Object.keys(o).forEach((function(t){var u,c=o[t],s="subscription"===c.operation?"subscribe":"resolve";i[a][t]=((u={})[s]=function(e,n,t,i){return function(a,o,u,c){return r.default({schema:e,operation:n,fieldName:t,args:{},context:u,info:c,transforms:i})}}(e,c.operation,c.name,n),u)}))})),i},n.generateSimpleMapping=function(e){var n=e.getQueryType(),t=e.getMutationType(),r=e.getSubscriptionType(),a={};return n&&(a[n.name]=i(n,"query")),t&&(a[t.name]=i(t,"mutation")),r&&(a[r.name]=i(r,"subscription")),a},n.generateMappingFromObjectType=i},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};Object.defineProperty(n,"__esModule",{value:!0});var i=t(6),a=t(286),o=t(129),u=function(){function e(e,n){this.renamer=e,this.reverseMap={};var t=n||{},r=t.renameBuiltins,i=void 0!==r&&r,a=t.renameScalars,o=void 0===a||a;this.renameBuiltins=i,this.renameScalars=o}return e.prototype.transformSchema=function(e){var n,t=this;return o.visitSchema(e,((n={})[o.VisitSchemaKind.TYPE]=function(e){if((!a.default(e)||t.renameBuiltins)&&(!(e instanceof i.GraphQLScalarType)||t.renameScalars)){var n=t.renamer(e.name);if(n&&n!==e.name){t.reverseMap[n]=e.name;var r=Object.assign(Object.create(e),e);return r.name=n,r}}},n[o.VisitSchemaKind.ROOT_OBJECT]=function(e){},n))},e.prototype.transformRequest=function(e){var n,t=this;return{document:i.visit(e.document,((n={})[i.Kind.NAMED_TYPE]=function(e){var n=e.name.value;if(n in t.reverseMap)return r(r({},e),{name:{kind:i.Kind.NAME,value:t.reverseMap[n]}})},n)),variables:e.variables}},e.prototype.transformResult=function(e){if(e.data){var n=this.renameTypes(e.data,"data");if(n!==e.data)return r(r({},e),{data:n})}return e},e.prototype.renameTypes=function(e,n){var t=this;if("__typename"===n)return this.renamer(e);if(e&&"object"==typeof e){var r=Array.isArray(e)?[]:Object.create(Object.getPrototypeOf(e)),i=!1;if(Object.keys(e).forEach((function(n){var a=e[n],o=t.renameTypes(a,n);r[n]=o,o!==a&&(i=!0)})),i)return r}return e},e}();n.default=u},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(129),i=function(){function e(e){this.filter=e}return e.prototype.transformSchema=function(e){var n,t=this;return r.visitSchema(e,((n={})[r.VisitSchemaKind.TYPE]=function(e){return t.filter(e)?void 0:null},n))},e}();n.default=i},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(130),i=t(204),a=function(){function e(e){var n=r.createResolveType((function(e,n){return n}));this.transformer=new i.default((function(t,i,a){return{name:e(t,i,a),field:r.fieldToFieldConfig(a,n,!0)}}))}return e.prototype.transformSchema=function(e){return this.transformer.transformSchema(e)},e}();n.default=a},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(204),i=function(){function e(e){this.transformer=new r.default((function(n,t,r){return e(n,t,r)?void 0:null}))}return e.prototype.transformSchema=function(e){return this.transformer.transformSchema(e)},e}();n.default=i},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};Object.defineProperty(n,"__esModule",{value:!0});var i=t(6),a=function(){function e(e){var n=e.from,t=e.to;this.from=n,this.to=t}return e.prototype.transformRequest=function(e){var n,t,a,o=JSON.stringify(this.from),u=JSON.stringify(this.to),c=[];i.visit(e.document,((n={})[i.Kind.FIELD]={enter:function(e){if(c.push(e.name.value),o===JSON.stringify(c))return a=e.selectionSet,i.BREAK},leave:function(e){c.pop()}},n)),c=[];var s=i.visit(e.document,((t={})[i.Kind.FIELD]={enter:function(e){if(c.push(e.name.value),u===JSON.stringify(c)&&a)return r(r({},e),{selectionSet:a})},leave:function(e){c.pop()}},t));return r(r({},e),{document:s})},e}();n.default=a},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)},i=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var a=t(6),o=function(){function e(e,n,t){this.path=e,this.wrapper=n,this.extractor=t}return e.prototype.transformRequest=function(e){var n,t=this,i=e.document,o=[],u=JSON.stringify(this.path),c=a.visit(i,((n={})[a.Kind.FIELD]={enter:function(e){if(o.push(e.name.value),u===JSON.stringify(o)){var n=t.
39588wrapper(e.selectionSet),i=n.kind===a.Kind.SELECTION_SET?n:{kind:a.Kind.SELECTION_SET,selections:[n]};return r(r({},e),{selectionSet:i})}},leave:function(e){o.pop()}},n));return r(r({},e),{document:c})},e.prototype.transformResult=function(e){var n=e.data;if(n){for(var t=n,r=i(this.path);r.length>1;){var a=r.shift();t[a]&&(t=t[a])}t[r[0]]=this.extractor(t[r[0]])}return{data:n,errors:e.errors}},e}();n.default=o}]]);(window.webpackJsonp_name_=window.webpackJsonp_name_||[]).push([[0],[,function(t,e,r){"use strict";(function(t){r.d(e,"a",(function(){return F})),r.d(e,"b",(function(){return p})),r.d(e,"c",(function(){return j})),r.d(e,"d",(function(){return V})),r.d(e,"e",(function(){return H})),r.d(e,"f",(function(){return z})),r.d(e,"g",(function(){return Q})),r.d(e,"h",(function(){return P})),r.d(e,"i",(function(){return g})),r.d(e,"j",(function(){return A})),r.d(e,"k",(function(){return S})),r.d(e,"l",(function(){return E})),r.d(e,"m",(function(){return $})),r.d(e,"n",(function(){return C})),r.d(e,"o",(function(){return R})),r.d(e,"p",(function(){return f})),r.d(e,"q",(function(){return Y})),r.d(e,"r",(function(){return w})),r.d(e,"s",(function(){return _})),r.d(e,"t",(function(){return h})),r.d(e,"u",(function(){return y})),r.d(e,"v",(function(){return v})),r.d(e,"w",(function(){return b})),r.d(e,"x",(function(){return W})),r.d(e,"y",(function(){return J})),r.d(e,"z",(function(){return Z})),r.d(e,"A",(function(){return tt})),r.d(e,"B",(function(){return et})),r.d(e,"C",(function(){return B})),r.d(e,"D",(function(){return N})),r.d(e,"E",(function(){return d})),r.d(e,"F",(function(){return O})),r.d(e,"G",(function(){return c})),r.d(e,"H",(function(){return m})),r.d(e,"I",(function(){return G}));var n=r(28),i=r(3),o=r(0),a=r(86),s=r.n(a);r(29);function u(t,e,r,n){if(function(t){return"IntValue"===t.kind}(r)||function(t){return"FloatValue"===t.kind}(r))t[e.value]=Number(r.value);else if(function(t){return"BooleanValue"===t.kind}(r)||function(t){return"StringValue"===t.kind}(r))t[e.value]=r.value;else if(function(t){return"ObjectValue"===t.kind}(r)){var o={};r.fields.map((function(t){return u(o,t.name,t.value,n)})),t[e.value]=o}else if(function(t){return"Variable"===t.kind}(r)){var a=(n||{})[r.name.value];t[e.value]=a}else if(function(t){return"ListValue"===t.kind}(r))t[e.value]=r.values.map((function(t){var r={};return u(r,e,t,n),r[e.value]}));else if(function(t){return"EnumValue"===t.kind}(r))t[e.value]=r.value;else{if(!function(t){return"NullValue"===t.kind}(r))throw new i.a(17);t[e.value]=null}}function c(t,e){var r=null;t.directives&&(r={},t.directives.forEach((function(t){r[t.name.value]={},t.arguments&&t.arguments.forEach((function(n){var i=n.name,o=n.value;return u(r[t.name.value],i,o,e)}))})));var n=null;return t.arguments&&t.arguments.length&&(n={},t.arguments.forEach((function(t){var r=t.name,i=t.value;return u(n,r,i,e)}))),f(t.name.value,n,r)}var l=["connection","include","skip","client","rest","export"];function f(t,e,r){if(r&&r.connection&&r.connection.key){if(r.connection.filter&&r.connection.filter.length>0){var n=r.connection.filter?r.connection.filter:[];n.sort();var i=e,o={};return n.forEach((function(t){o[t]=i[t]})),r.connection.key+"("+JSON.stringify(o)+")"}return r.connection.key}var a=t;if(e){var u=s()(e);a+="("+u+")"}return r&&Object.keys(r).forEach((function(t){-1===l.indexOf(t)&&(r[t]&&Object.keys(r[t]).length?a+="@"+t+"("+JSON.stringify(r[t])+")":a+="@"+t)})),a}function p(t,e){if(t.arguments&&t.arguments.length){var r={};return t.arguments.forEach((function(t){var n=t.name,i=t.value;return u(r,n,i,e)})),r}return null}function d(t){return t.alias?t.alias.value:t.name.value}function h(t){return"Field"===t.kind}function v(t){return"InlineFragment"===t.kind}function y(t){return t&&"id"===t.type&&"boolean"==typeof t.generated}function m(t,e){return void 0===e&&(e=!1),Object(o.a)({type:"id",generated:e},"string"==typeof t?{id:t,typename:void 0}:t)}function b(t){return null!=t&&"object"==typeof t&&"json"===t.type}function g(t,e){if(t.directives&&t.directives.length){var r={};return t.directives.forEach((function(t){r[t.name.value]=p(t,e)})),r}return null}function O(t,e){return void 0===e&&(e={}),(r=t.directives,r?r.filter(k).map((function(t){var e=t.arguments;t.name.value,Object(i.b)(e&&1===e.length,14);var r=e[0];Object(i.b)(r.name&&"if"===r.name.value,15);var n=r.value;return Object(i.b)(n&&("Variable"===n.kind||"BooleanValue"===n.kind),16),{directive:t,ifArgument:r}})):[]).every((function(t){var r=t.directive,n=t.ifArgument,o=!1;return"Variable"===n.value.kind?(o=e[n.value.name.value],Object(i.b)(void 0!==o,13)):o=n.value.value,"skip"===r.name.value?!o:o}));var r}function _(t,e){return function(t){var e=[];return Object(n.visit)(t,{Directive:function(t){e.push(t.name.value)}}),e}(e).some((function(e){return t.indexOf(e)>-1}))}
39588function w(t){return t&&_(["client"],t)&&_(["export"],t)}function k(t){var e=t.name.value;return"skip"===e||"include"===e}function S(t,e){var r=e,n=[];return t.definitions.forEach((function(t){if("OperationDefinition"===t.kind)throw new i.a(11);"FragmentDefinition"===t.kind&&n.push(t)})),void 0===r&&(Object(i.b)(1===n.length,12),r=n[0].name.value),Object(o.a)(Object(o.a)({},t),{definitions:Object(o.e)([{kind:"OperationDefinition",operation:"query",selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:r}}]}}],t.definitions)})}function j(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return e.forEach((function(e){null!=e&&Object.keys(e).forEach((function(r){t[r]=e[r]}))})),t}function x(t){Object(i.b)(t&&"Document"===t.kind,2);var e=t.definitions.filter((function(t){return"FragmentDefinition"!==t.kind})).map((function(t){if("OperationDefinition"!==t.kind)throw new i.a(3);return t}));return Object(i.b)(e.length<=1,4),t}function $(t){return x(t),t.definitions.filter((function(t){return"OperationDefinition"===t.kind}))[0]}function C(t){return t.definitions.filter((function(t){return"OperationDefinition"===t.kind&&t.name})).map((function(t){return t.name.value}))[0]||null}function A(t){return t.definitions.filter((function(t){return"FragmentDefinition"===t.kind}))}function R(t){var e=$(t);return Object(i.b)(e&&"query"===e.operation,6),e}function E(t){var e;x(t);for(var r=0,n=t.definitions;r<n.length;r++){var o=n[r];if("OperationDefinition"===o.kind){var a=o.operation;if("query"===a||"mutation"===a||"subscription"===a)return o}"FragmentDefinition"!==o.kind||e||(e=o)}if(e)return e;throw new i.a(10)}function Q(t){void 0===t&&(t=[]);var e={};return t.forEach((function(t){e[t.name.value]=t})),e}function P(t){if(t&&t.variableDefinitions&&t.variableDefinitions.length){var e=t.variableDefinitions.filter((function(t){return t.defaultValue})).map((function(t){var e=t.variable,r=t.defaultValue,n={};return u(n,e.name,r),n}));return j.apply(void 0,Object(o.e)([{}],e))}return{}}function M(t,e,r){var n=0;return t.forEach((function(r,i){e.call(this,r,i,t)&&(t[n++]=r)}),r),t.length=n,t}var I={kind:"Field",name:{kind:"Name",value:"__typename"}};function q(t){return function t(e,r){return e.selectionSet.selections.every((function(e){return"FragmentSpread"===e.kind&&t(r[e.name.value],r)}))}($(t)||function(t){Object(i.b)("Document"===t.kind,7),Object(i.b)(t.definitions.length<=1,8);var e=t.definitions[0];return Object(i.b)("FragmentDefinition"===e.kind,9),e}(t),Q(A(t)))?null:t}function D(t){return function(e){return t.some((function(t){return t.name&&t.name===e.name.value||t.test&&t.test(e)}))}}function T(t,e){var r=Object.create(null),i=[],a=Object.create(null),s=[],u=q(Object(n.visit)(e,{Variable:{enter:function(t,e,n){"VariableDefinition"!==n.kind&&(r[t.name.value]=!0)}},Field:{enter:function(e){if(t&&e.directives&&(t.some((function(t){return t.remove}))&&e.directives&&e.directives.some(D(t))))return e.arguments&&e.arguments.forEach((function(t){"Variable"===t.value.kind&&i.push({name:t.value.name.value})})),e.selectionSet&&function t(e){var r=[];return e.selections.forEach((function(e){(h(e)||v(e))&&e.selectionSet?t(e.selectionSet).forEach((function(t){return r.push(t)})):"FragmentSpread"===e.kind&&r.push(e)})),r}(e.selectionSet).forEach((function(t){s.push({name:t.name.value})})),null}},FragmentSpread:{enter:function(t){a[t.name.value]=!0}},Directive:{enter:function(e){if(D(t)(e))return null}}}));return u&&M(i,(function(t){return!r[t.name]})).length&&(u=function(t,e){var r=function(t){return function(e){return t.some((function(t){return e.value&&"Variable"===e.value.kind&&e.value.name&&(t.name===e.value.name.value||t.test&&t.test(e))}))}}(t);return q(Object(n.visit)(e,{OperationDefinition:{enter:function(e){return Object(o.a)(Object(o.a)({},e),{variableDefinitions:e.variableDefinitions.filter((function(e){return!t.some((function(t){return t.name===e.variable.name.value}))}))})}},Field:{enter:function(e){if(t.some((function(t){return t.remove}))){var n=0;if(e.arguments.forEach((function(t){r(t)&&(n+=1)})),1===n)return null}}},Argument:{enter:function(t){if(r(t))return null}}}))}
39588(i,u)),u&&M(s,(function(t){return!a[t.name]})).length&&(u=function(t,e){function r(e){if(t.some((function(t){return t.name===e.name.value})))return null}return q(Object(n.visit)(e,{FragmentSpread:{enter:r},FragmentDefinition:{enter:r}}))}(s,u)),u}function F(t){return Object(n.visit)(x(t),{SelectionSet:{enter:function(t,e,r){if(!r||"OperationDefinition"!==r.kind){var n=t.selections;if(n)if(!n.some((function(t){return h(t)&&("__typename"===t.name.value||0===t.name.value.lastIndexOf("__",0))}))){var i=r;if(!(h(i)&&i.directives&&i.directives.some((function(t){return"export"===t.name.value}))))return Object(o.a)(Object(o.a)({},t),{selections:Object(o.e)(n,[I])})}}}}})}var L={test:function(t){var e="connection"===t.name.value;return e&&(!t.arguments||t.arguments.some((function(t){return"key"===t.name.value}))),e}};function N(t){return T([L],x(t))}function V(t){return"query"===E(t).operation?t:Object(n.visit)(t,{OperationDefinition:{enter:function(t){return Object(o.a)(Object(o.a)({},t),{operation:"query"})}}})}function B(t){x(t);var e=T([{test:function(t){return"client"===t.name.value},remove:!0}],t);return e&&(e=Object(n.visit)(e,{FragmentDefinition:{enter:function(t){if(t.selectionSet&&t.selectionSet.selections.every((function(t){return h(t)&&"__typename"===t.name.value})))return null}}})),e}var H="function"==typeof WeakMap&&!("object"==typeof navigator&&"ReactNative"===navigator.product),U=Object.prototype.toString;function z(t){return function t(e,r){switch(U.call(e)){case"[object Array]":if(r.has(e))return r.get(e);var n=e.slice(0);return r.set(e,n),n.forEach((function(e,i){n[i]=t(e,r)})),n;case"[object Object]":if(r.has(e))return r.get(e);var i=Object.create(Object.getPrototypeOf(e));return r.set(e,i),Object.keys(e).forEach((function(n){i[n]=t(e[n],r)})),i;default:return e}}(t,new Map)}function K(e){return(void 0!==t?"production":"development")===e}function W(){return!0===K("production")}function J(){return!0===K("test")}function G(t){try{return t()}catch(t){console.error&&console.error(t)}}function Y(t){return t.errors&&t.errors.length}function Z(t){if((!0===K("development")||J())&&!("function"==typeof Symbol&&"string"==typeof Symbol("")))return function t(e){return Object.freeze(e),Object.getOwnPropertyNames(e).forEach((function(r){null===e[r]||"object"!=typeof e[r]&&"function"!=typeof e[r]||Object.isFrozen(e[r])||t(e[r])})),e}(t);return t}var X=Object.prototype.hasOwnProperty;function tt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return et(t)}function et(t){var e=t[0]||{},r=t.length;if(r>1){var n=[];e=it(e,n);for(var i=1;i<r;++i)e=nt(e,t[i],n)}return e}function rt(t){return null!==t&&"object"==typeof t}function nt(t,e,r){return rt(e)&&rt(t)?(Object.isExtensible&&!Object.isExtensible(t)&&(t=it(t,r)),Object.keys(e).forEach((function(n){var i=e[n];if(X.call(t,n)){var o=t[n];i!==o&&(t[n]=nt(it(o,r),i,r))}else t[n]=i})),t):e}function it(t,e){return null!==t&&"object"==typeof t&&e.indexOf(t)<0&&(t=Array.isArray(t)?t.slice(0):Object(o.a)({__proto__:Object.getPrototypeOf(t)},t),e.push(t)),t}Object.create({})}).call(this,r(22))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,r){"use strict";r.r(e),function(t,r){var n=Object.freeze({});function i(t){return null==t}function o(t){return null!=t}function a(t){return!0===t}function s(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function u(t){return null!==t&&"object"==typeof t}var c=Object.prototype.toString;function l(t){return"[object Object]"===c.call(t)}function f(t){return"[object RegExp]"===c.call(t)}function p(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function d(t){return o(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function h(t){return null==t?"":Array.isArray(t)||l(t)&&t.toString===c?JSON.stringify(t,null,2):String(t)}function v(t){var e=parseFloat(t);return isNaN(e)?t:e}function y(t,e){for(var r=Object.create(null),n=t.split(","),i=0;i<n.length;i++)r[n[i]]=!0;return e?function(t){return r[t.toLowerCase()]}:function(t){return r[t]}}var m=y("slot,component",!0),b=y("key,ref,slot,slot-scope,is");function g(t,e){if(t.length){var r=t.indexOf(e);if(r>-1)return t.splice(r,1)}}var O=Object.prototype.hasOwnProperty;function _(t,e){return O.call(t,e)}function w(t){var e=Object.create(null);return function(r){return e[r]||(e[r]=t(r))}}var k=/-(\w)/g,S=w((function(t){return t.replace(k,(function(t,e){return e?e.toUpperCase():""}))})),j=w((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),x=/\B([A-Z])/g,$=w((function(t){return t.replace(x,"-$1").toLowerCase()}));var C=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function r(r){var n=arguments.length;return n?n>1?t.apply(e,arguments):t.call(e,r):t.call(e)}return r._length=t.length,r};function A(t,e){e=e||0;for(var r=t.length-e,n=new Array(r);r--;)n[r]=t[r+e];return n}function R(t,e){for(var r in e)t[r]=e[r];return t}function E(t){for(var e={},r=0;r<t.length;r++)t[r]&&R(e,t[r]);return e}function Q(t,e,r){}var P=function(t,e,r){return!1},M=function(t){return t};function I(t,e){if(t===e)return!0;var r=u(t),n=u(e);if(!r||!n)return!r&&!n&&String(t)===String(e);try{var i=Array.isArray(t),o=Array.isArray(e);if(i&&o)return t.length===e.length&&t.every((function(t,r){return I(t,e[r])}));if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();if(i||o)return!1;var a=Object.keys(t),s=Object.keys(e);return a.length===s.length&&a.every((function(r){return I(t[r],e[r])}))}catch(t){return!1}}function q(t,e){for(var r=0;r<t.length;r++)if(I(t[r],e))return r;return-1}function D(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}var T=["component","directive","filter"],F=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","
39588serverPrefetch"],L={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:P,isReservedAttr:P,isUnknownElement:P,getTagNamespace:Q,parsePlatformTagName:M,mustUseProp:P,async:!0,_lifecycleHooks:F},N=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function V(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function B(t,e,r,n){Object.defineProperty(t,e,{value:r,enumerable:!!n,writable:!0,configurable:!0})}var H=new RegExp("[^"+N.source+".$_\\d]");var U,z="__proto__"in{},K="undefined"!=typeof window,W="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,J=W&&WXEnvironment.platform.toLowerCase(),G=K&&window.navigator.userAgent.toLowerCase(),Y=G&&/msie|trident/.test(G),Z=G&&G.indexOf("msie 9.0")>0,X=G&&G.indexOf("edge/")>0,tt=(G&&G.indexOf("android"),G&&/iphone|ipad|ipod|ios/.test(G)||"ios"===J),et=(G&&/chrome\/\d+/.test(G),G&&/phantomjs/.test(G),G&&G.match(/firefox\/(\d+)/)),rt={}.watch,nt=!1;if(K)try{var it={};Object.defineProperty(it,"passive",{get:function(){nt=!0}}),window.addEventListener("test-passive",null,it)}catch(t){}var ot=function(){return void 0===U&&(U=!K&&!W&&void 0!==t&&(t.process&&"server"===t.process.env.VUE_ENV)),U},at=K&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function st(t){return"function"==typeof t&&/native code/.test(t.toString())}var ut,ct="undefined"!=typeof Symbol&&st(Symbol)&&"undefined"!=typeof Reflect&&st(Reflect.ownKeys);ut="undefined"!=typeof Set&&st(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var lt=Q,ft=0,pt=function(){this.id=ft++,this.subs=[]};pt.prototype.addSub=function(t){this.subs.push(t)},pt.prototype.removeSub=function(t){g(this.subs,t)}
vendor: 4,387 bytes, line 39588
39588,pt.prototype.depend=function(){pt.target&&pt.target.addDep(this)},pt.prototype.notify=function(){var t=this.subs.slice();for(var e=0,r=t.length;e<r;e++)t[e].update()},pt.target=null;var dt=[];function ht(t){dt.push(t),pt.target=t}function vt(){dt.pop(),pt.target=dt[dt.length-1]}var yt=function(t,e,r,n,i,o,a,s){this.tag=t,this.data=e,this.children=r,this.text=n,this.elm=i,this.ns=void 0,this.context=o,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},mt={child:{configurable:!0}};mt.child.get=function(){return this.componentInstance},Object.defineProperties(yt.prototype,mt);var bt=function(t){void 0===t&&(t="");var e=new yt;return e.text=t,e.isComment=!0,e};function gt(t){return new yt(void 0,void 0,void 0,String(t))}function Ot(t){var e=new yt(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}var _t=Array.prototype,wt=Object.create(_t);["push","pop","shift","unshift","splice","sort","reverse"].forEach((function(t){var e=_t[t];B(wt,t,(function(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];var i,o=e.apply(this,r),a=this.__ob__;switch(t){case"push":case"unshift":i=r;break;case"splice":i=r.slice(2)}return i&&a.observeArray(i),a.dep.notify(),o}))}));var kt=Object.getOwnPropertyNames(wt),St=!0;function jt(t){St=t}var xt=function(t){this.value=t,this.dep=new pt,this.vmCount=0,B(t,"__ob__",this),Array.isArray(t)?(z?function(t,e){t.__proto__=e}(t,wt):function(t,e,r){for(var n=0,i=r.length;n<i;n++){var o=r[n];B(t,o,e[o])}}(t,wt,kt),this.observeArray(t)):this.walk(t)};function $t(t,e){var r;if(u(t)&&!(t instanceof yt))return _(t,"__ob__")&&t.__ob__ instanceof xt?r=t.__ob__:St&&!ot()&&(Array.isArray(t)||l(t))&&Object.isExtensible(t)&&!t._isVue&&(r=new xt(t)),e&&r&&r.vmCount++,r}function Ct(t,e,r,n,i){var o=new pt,a=Object.getOwnPropertyDescriptor(t,e);if(!a||!1!==a.configurable){var s=a&&a.get,u=a&&a.set;s&&!u||2!==arguments.length||(r=t[e]);var c=!i&&$t(r);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(t):r;return pt.target&&(o.depend(),c&&(c.dep.depend(),Array.isArray(e)&&Et(e))),e},set:function(e){var n=s?s.call(t):r;e===n||e!=e&&n!=n||s&&!u||(u?u.call(t,e):r=e,c=!i&&$t(e),o.notify())}})}}function At(t,e,r){if(Array.isArray(t)&&p(e))return t.length=Math.max(t.length,e),t.splice(e,1,r),r;if(e in t&&!(e in Object.prototype))return t[e]=r,r;var n=t.__ob__;return t._isVue||n&&n.vmCount?r:n?(Ct(n.value,e,r),n.dep.notify(),r):(t[e]=r,r)}function Rt(t,e){if(Array.isArray(t)&&p(e))t.splice(e,1);else{var r=t.__ob__;t._isVue||r&&r.vmCount||_(t,e)&&(delete t[e],r&&r.dep.notify())}}function Et(t){for(var e=void 0,r=0,n=t.length;r<n;r++)(e=t[r])&&e.__ob__&&e.__ob__.dep.depend(),Array.isArray(e)&&Et(e)}xt.prototype.walk=function(t){for(var e=Object.keys(t),r=0;r<e.length;r++)Ct(t,e[r])},xt.prototype.observeArray=function(t){for(var e=0,r=t.length;e<r;e++)$t(t[e])};var Qt=L.optionMergeStrategies;function Pt(t,e){if(!e)return t;for(var r,n,i,o=ct?Reflect.ownKeys(e):Object.keys(e),a=0;a<o.length;a++)"__ob__"!==(r=o[a])&&(n=t[r],i=e[r],_(t,r)?n!==i&&l(n)&&l(i)&&Pt(n,i):At(t,r,i));return t}function Mt(t,e,r){return r?function(){var n="function"==typeof e?e.call(r,r):e,i="function"==typeof t?t.call(r,r):t;return n?Pt(n,i):i}:e?t?function(){return Pt("function"==typeof e?e.call(this,this):e,"function"==typeof t?t.call(this,this):t)}:e:t}function It(t,e){var r=e?t?t.concat(e):Array.isArray(e)?e:[e]:t;return r?function(t){for(var e=[],r=0;r<t.length;r++)-1===e.indexOf(t[r])&&e.push(t[r]);return e}(r):r}function qt(t,e,r,n){var i=Object.create(t||null);return e?R(i,e):i}Qt.data=function(t,e,r){return r?Mt(t,e,r):e&&"function"!=typeof e?t:Mt(t,e)},F.forEach((function(t){Qt[t]=It})),T.forEach((function(t){Qt[t+"s"]=qt})),Qt.watch=function(t,e,r,n){if(t===rt&&(t=void 0),e===rt&&(e=void 0),!e)return Object.create(t||null);if(!t)return e;var i={};for(var o in R(i,t),e){var a=i[o],s=e[o];
vendor: 3,040 bytes, line 39588
39588a&&!Array.isArray(a)&&(a=[a]),i[o]=a?a.concat(s):Array.isArray(s)?s:[s]}return i},Qt.props=Qt.methods=Qt.inject=Qt.computed=function(t,e,r,n){if(!t)return e;var i=Object.create(null);return R(i,t),e&&R(i,e),i},Qt.provide=Mt;var Dt=function(t,e){return void 0===e?t:e};function Tt(t,e,r){if("function"==typeof e&&(e=e.options),function(t,e){var r=t.props;if(r){var n,i,o={};if(Array.isArray(r))for(n=r.length;n--;)"string"==typeof(i=r[n])&&(o[S(i)]={type:null});else if(l(r))for(var a in r)i=r[a],o[S(a)]=l(i)?i:{type:i};else 0;t.props=o}}(e),function(t,e){var r=t.inject;if(r){var n=t.inject={};if(Array.isArray(r))for(var i=0;i<r.length;i++)n[r[i]]={from:r[i]};else if(l(r))for(var o in r){var a=r[o];n[o]=l(a)?R({from:o},a):{from:a}}else 0}}(e),function(t){var e=t.directives;if(e)for(var r in e){var n=e[r];"function"==typeof n&&(e[r]={bind:n,update:n})}}(e),!e._base&&(e.extends&&(t=Tt(t,e.extends,r)),e.mixins))for(var n=0,i=e.mixins.length;n<i;n++)t=Tt(t,e.mixins[n],r);var o,a={};for(o in t)s(o);for(o in e)_(t,o)||s(o);function s(n){var i=Qt[n]||Dt;a[n]=i(t[n],e[n],r,n)}return a}function Ft(t,e,r,n){if("string"==typeof r){var i=t[e];if(_(i,r))return i[r];var o=S(r);if(_(i,o))return i[o];var a=j(o);return _(i,a)?i[a]:i[r]||i[o]||i[a]}}function Lt(t,e,r,n){var i=e[t],o=!_(r,t),a=r[t],s=Ht(Boolean,i.type);if(s>-1)if(o&&!_(i,"default"))a=!1;else if(""===a||a===$(t)){var u=Ht(String,i.type);(u<0||s<u)&&(a=!0)}if(void 0===a){a=function(t,e,r){if(!_(e,"default"))return;var n=e.default;0;if(t&&t.$options.propsData&&void 0===t.$options.propsData[r]&&void 0!==t._props[r])return t._props[r];return"function"==typeof n&&"Function"!==Vt(e.type)?n.call(t):n}(n,i,t);var c=St;jt(!0),$t(a),jt(c)}return a}var Nt=/^\s*function (\w+)/;function Vt(t){var e=t&&t.toString().match(Nt);return e?e[1]:""}function Bt(t,e){return Vt(t)===Vt(e)}function Ht(t,e){if(!Array.isArray(e))return Bt(e,t)?0:-1;for(var r=0,n=e.length;r<n;r++)if(Bt(e[r],t))return r;return-1}function Ut(t,e,r){ht();try{if(e)for(var n=e;n=n.$parent;){var i=n.$options.errorCaptured;if(i)for(var o=0;o<i.length;o++)try{if(!1===i[o].call(n,t,e,r))return}catch(t){Kt(t,n,"errorCaptured hook")}}Kt(t,e,r)}finally{vt()}}function zt(t,e,r,n,i){var o;try{(o=r?t.apply(e,r):t.call(e))&&!o._isVue&&d(o)&&!o._handled&&(o.catch((function(t){return Ut(t,n,i+" (Promise/async)")})),o._handled=!0)}catch(t){Ut(t,n,i)}return o}function Kt(t,e,r){if(L.errorHandler)try{return L.errorHandler.call(null,t,e,r)}catch(e){e!==t&&Wt(e,null,"config.errorHandler")}Wt(t,e,r)}function Wt(t,e,r){if(!K&&!W||"undefined"==typeof console)throw t;console.error(t)}var Jt,Gt=!1,Yt=[],Zt=!1;function Xt(){Zt=!1;var t=Yt.slice(0);Yt.length=0;for(var e=0;e<t.length;e++)t[e]()}if("undefined"!=typeof Promise&&st(Promise)){var te=Promise.resolve();Jt=function(){te.then(Xt),tt&&setTimeout(Q)},Gt=!0}else if(Y||"undefined"==typeof MutationObserver||!st(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())Jt=void 0!==r&&st(r)?function(){r(Xt)}:function(){setTimeout(Xt,0)};
vendor: 4,800 bytes, line 39588
39588else{var ee=1,re=new MutationObserver(Xt),ne=document.createTextNode(String(ee));re.observe(ne,{characterData:!0}),Jt=function(){ee=(ee+1)%2,ne.data=String(ee)},Gt=!0}function ie(t,e){var r;if(Yt.push((function(){if(t)try{t.call(e)}catch(t){Ut(t,e,"nextTick")}else r&&r(e)})),Zt||(Zt=!0,Jt()),!t&&"undefined"!=typeof Promise)return new Promise((function(t){r=t}))}var oe=new ut;function ae(t){!function t(e,r){var n,i,o=Array.isArray(e);if(!o&&!u(e)||Object.isFrozen(e)||e instanceof yt)return;if(e.__ob__){var a=e.__ob__.dep.id;if(r.has(a))return;r.add(a)}if(o)for(n=e.length;n--;)t(e[n],r);else for(i=Object.keys(e),n=i.length;n--;)t(e[i[n]],r)}(t,oe),oe.clear()}var se=w((function(t){var e="&"===t.charAt(0),r="~"===(t=e?t.slice(1):t).charAt(0),n="!"===(t=r?t.slice(1):t).charAt(0);return{name:t=n?t.slice(1):t,once:r,capture:n,passive:e}}));function ue(t,e){function r(){var t=arguments,n=r.fns;if(!Array.isArray(n))return zt(n,null,arguments,e,"v-on handler");for(var i=n.slice(),o=0;o<i.length;o++)zt(i[o],null,t,e,"v-on handler")}return r.fns=t,r}function ce(t,e,r,n,o,s){var u,c,l,f;for(u in t)c=t[u],l=e[u],f=se(u),i(c)||(i(l)?(i(c.fns)&&(c=t[u]=ue(c,s)),a(f.once)&&(c=t[u]=o(f.name,c,f.capture)),r(f.name,c,f.capture,f.passive,f.params)):c!==l&&(l.fns=c,t[u]=l));for(u in e)i(t[u])&&n((f=se(u)).name,e[u],f.capture)}function le(t,e,r){var n;t instanceof yt&&(t=t.data.hook||(t.data.hook={}));var s=t[e];function u(){r.apply(this,arguments),g(n.fns,u)}i(s)?n=ue([u]):o(s.fns)&&a(s.merged)?(n=s).fns.push(u):n=ue([s,u]),n.merged=!0,t[e]=n}function fe(t,e,r,n,i){if(o(e)){if(_(e,r))return t[r]=e[r],i||delete e[r],!0;if(_(e,n))return t[r]=e[n],i||delete e[n],!0}return!1}function pe(t){return s(t)?[gt(t)]:Array.isArray(t)?function t(e,r){var n,u,c,l,f=[];for(n=0;n<e.length;n++)i(u=e[n])||"boolean"==typeof u||(c=f.length-1,l=f[c],Array.isArray(u)?u.length>0&&(de((u=t(u,(r||"")+"_"+n))[0])&&de(l)&&(f[c]=gt(l.text+u[0].text),u.shift()),f.push.apply(f,u)):s(u)?de(l)?f[c]=gt(l.text+u):""!==u&&f.push(gt(u)):de(u)&&de(l)?f[c]=gt(l.text+u.text):(a(e._isVList)&&o(u.tag)&&i(u.key)&&o(r)&&(u.key="__vlist"+r+"_"+n+"__"),f.push(u)));return f}(t):void 0}function de(t){return o(t)&&o(t.text)&&!1===t.isComment}function he(t,e){if(t){for(var r=Object.create(null),n=ct?Reflect.ownKeys(t):Object.keys(t),i=0;i<n.length;i++){var o=n[i];if("__ob__"!==o){for(var a=t[o].from,s=e;s;){if(s._provided&&_(s._provided,a)){r[o]=s._provided[a];break}s=s.$parent}if(!s)if("default"in t[o]){var u=t[o].default;r[o]="function"==typeof u?u.call(e):u}else 0}}return r}}function ve(t,e){if(!t||!t.length)return{};for(var r={},n=0,i=t.length;n<i;n++){var o=t[n],a=o.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,o.context!==e&&o.fnContext!==e||!a||null==a.slot)(r.default||(r.default=[])).push(o);else{var s=a.slot,u=r[s]||(r[s]=[]);"template"===o.tag?u.push.apply(u,o.children||[]):u.push(o)}}for(var c in r)r[c].every(ye)&&delete r[c];return r}function ye(t){return t.isComment&&!t.asyncFactory||" "===t.text}function me(t){return t.isComment&&t.asyncFactory}function be(t,e,r){var i,o=Object.keys(e).length>0,a=t?!!t.$stable:!o,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&r&&r!==n&&s===r.$key&&!o&&!r.$hasNormal)return r;for(var u in i={},t)t[u]&&"$"!==u[0]&&(i[u]=ge(e,u,t[u]))}else i={};for(var c in e)c in i||(i[c]=Oe(e,c));return t&&Object.isExtensible(t)&&(t._normalized=i),B(i,"$stable",a),B(i,"$key",s),B(i,"$hasNormal",o),i}function ge(t,e,r){var n=function(){var t=arguments.length?r.apply(null,arguments):r({}),e=(t=t&&"object"==typeof t&&!Array.isArray(t)?[t]:pe(t))&&t[0];return t&&(!e||1===t.length&&e.isComment&&!me(e))?void 0:t};return r.proxy&&Object.defineProperty(t,e,{get:n,enumerable:!0,configurable:!0}),n}function Oe(t,e){return function(){return t[e]}}function _e(t,e){var r,n,i,a,s;if(Array.isArray(t)||"string"==typeof t)for(r=new Array(t.length),n=0,i=t.length;n<i;n++)r[n]=e(t[n],n);else if("number"==typeof t)for(r=new Array(t),n=0;n<t;n++)r[n]=e(n+1,n);else if(u(t))if(ct&&t[Symbol.iterator]){r=[];for(var c=t[Symbol.iterator](),l=c.next();!l.done;)r.push(e(l.value,r.length)),l=c.next()}else for(a=Object.keys(t),r=new Array(a.length),n=0,i=a.length;n<i;n++)s=a[n],r[n]=e(t[s],s,n);return o(r)||(r=[]),r._isVList=!0,r}function we(t,e,r,n){var i,o=this.$scopedSlots[t];o?(r=r||{},n&&(r=R(R({},n),r)),i=o(r)||("function"==typeof e?e():e)):i=this.$slots[t]||("function"==typeof e?e():e);var a=r&&r.slot;return a?this.$createElement("template",{slot:a},i):i}function ke(t){return Ft(this.$options,"filters",t)||M}function Se(t,e){return Array.isArray(t)?-1===t.indexOf(e):t!==e}function je(t,e,r,n,i){var o=L.keyCodes[e]||r;return i&&n&&!L.keyCodes[e]?Se(i,n):o?Se(o,t):n?$(n)!==e:void 0===t}function xe(t,e,r,n,i){if(r)if(u(r)){var o;Array.isArray(r)&&(r=E(r));
vendor: 8,757 bytes, line 39588
39588var a=function(a){if("class"===a||"style"===a||b(a))o=t;else{var s=t.attrs&&t.attrs.type;o=n||L.mustUseProp(e,s,a)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}var u=S(a),c=$(a);u in o||c in o||(o[a]=r[a],i&&((t.on||(t.on={}))["update:"+a]=function(t){r[a]=t}))};for(var s in r)a(s)}return t}function $e(t,e){var r=this._staticTrees||(this._staticTrees=[]),n=r[t];return n&&!e||Ae(n=r[t]=this.$options.staticRenderFns[t].call(this._renderProxy,null,this),"__static__"+t,!1),n}function Ce(t,e,r){return Ae(t,"__once__"+e+(r?"_"+r:""),!0),t}function Ae(t,e,r){if(Array.isArray(t))for(var n=0;n<t.length;n++)t[n]&&"string"!=typeof t[n]&&Re(t[n],e+"_"+n,r);else Re(t,e,r)}function Re(t,e,r){t.isStatic=!0,t.key=e,t.isOnce=r}function Ee(t,e){if(e)if(l(e)){var r=t.on=t.on?R({},t.on):{};for(var n in e){var i=r[n],o=e[n];r[n]=i?[].concat(i,o):o}}return t}function Qe(t,e,r,n){e=e||{$stable:!r};for(var i=0;i<t.length;i++){var o=t[i];Array.isArray(o)?Qe(o,e,r):o&&(o.proxy&&(o.fn.proxy=!0),e[o.key]=o.fn)}return n&&(e.$key=n),e}function Pe(t,e){for(var r=0;r<e.length;r+=2){var n=e[r];"string"==typeof n&&n&&(t[e[r]]=e[r+1])}return t}function Me(t,e){return"string"==typeof t?e+t:t}function Ie(t){t._o=Ce,t._n=v,t._s=h,t._l=_e,t._t=we,t._q=I,t._i=q,t._m=$e,t._f=ke,t._k=je,t._b=xe,t._v=gt,t._e=bt,t._u=Qe,t._g=Ee,t._d=Pe,t._p=Me}function qe(t,e,r,i,o){var s,u=this,c=o.options;_(i,"_uid")?(s=Object.create(i))._original=i:(s=i,i=i._original);var l=a(c._compiled),f=!l;this.data=t,this.props=e,this.children=r,this.parent=i,this.listeners=t.on||n,this.injections=he(c.inject,i),this.slots=function(){return u.$slots||be(t.scopedSlots,u.$slots=ve(r,i)),u.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return be(t.scopedSlots,this.slots())}}),l&&(this.$options=c,this.$slots=this.slots(),this.$scopedSlots=be(t.scopedSlots,this.$slots)),c._scopeId?this._c=function(t,e,r,n){var o=Be(s,t,e,r,n,f);return o&&!Array.isArray(o)&&(o.fnScopeId=c._scopeId,o.fnContext=i),o}:this._c=function(t,e,r,n){return Be(s,t,e,r,n,f)}}function De(t,e,r,n,i){var o=Ot(t);return o.fnContext=r,o.fnOptions=n,e.slot&&((o.data||(o.data={})).slot=e.slot),o}function Te(t,e){for(var r in e)t[S(r)]=e[r]}Ie(qe.prototype);var Fe={init:function(t,e){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var r=t;Fe.prepatch(r,r)}else{(t.componentInstance=function(t,e){var r={_isComponent:!0,_parentVnode:t,parent:e},n=t.data.inlineTemplate;o(n)&&(r.render=n.render,r.staticRenderFns=n.staticRenderFns);return new t.componentOptions.Ctor(r)}(t,Ze)).$mount(e?t.elm:void 0,e)}},prepatch:function(t,e){var r=e.componentOptions;!function(t,e,r,i,o){0;var a=i.data.scopedSlots,s=t.$scopedSlots,u=!!(a&&!a.$stable||s!==n&&!s.$stable||a&&t.$scopedSlots.$key!==a.$key||!a&&t.$scopedSlots.$key),c=!!(o||t.$options._renderChildren||u);t.$options._parentVnode=i,t.$vnode=i,t._vnode&&(t._vnode.parent=i);if(t.$options._renderChildren=o,t.$attrs=i.data.attrs||n,t.$listeners=r||n,e&&t.$options.props){jt(!1);for(var l=t._props,f=t.$options._propKeys||[],p=0;p<f.length;p++){var d=f[p],h=t.$options.props;l[d]=Lt(d,h,e,t)}jt(!0),t.$options.propsData=e}r=r||n;var v=t.$options._parentListeners;t.$options._parentListeners=r,Ye(t,r,v),c&&(t.$slots=ve(o,i.context),t.$forceUpdate());0}(e.componentInstance=t.componentInstance,r.propsData,r.listeners,e,r.children)},insert:function(t){var e,r=t.context,n=t.componentInstance;n._isMounted||(n._isMounted=!0,rr(n,"mounted")),t.data.keepAlive&&(r._isMounted?((e=n)._inactive=!1,ir.push(e)):er(n,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?function t(e,r){if(r&&(e._directInactive=!0,tr(e)))return;if(!e._inactive){e._inactive=!0;for(var n=0;n<e.$children.length;n++)t(e.$children[n]);rr(e,"deactivated")}}(e,!0):e.$destroy())}},Le=Object.keys(Fe);function Ne(t,e,r,s,c){if(!i(t)){var l=r.$options._base;if(u(t)&&(t=l.extend(t)),"function"==typeof t){var f;if(i(t.cid)&&void 0===(t=function(t,e){if(a(t.error)&&o(t.errorComp))return t.errorComp;if(o(t.resolved))return t.resolved;var r=Ue;r&&o(t.owners)&&-1===t.owners.indexOf(r)&&t.owners.push(r);if(a(t.loading)&&o(t.loadingComp))return t.loadingComp;if(r&&!o(t.owners)){var n=t.owners=[r],s=!0,c=null,l=null;r.$on("hook:destroyed",(function(){return g(n,r)}));var f=function(t){for(var e=0,r=n.length;e<r;e++)n[e].$forceUpdate();t&&(n.length=0,null!==c&&(clearTimeout(c),c=null),null!==l&&(clearTimeout(l),l=null))},p=D((function(r){t.resolved=ze(r,e),s?n.length=0:f(!0)})),h=D((function(e){o(t.errorComp)&&(t.error=!0,f(!0))})),v=t(p,h);return u(v)&&(d(v)?i(t.resolved)&&v.then(p,h):d(v.component)&&(v.component.then(p,h),o(v.error)&&(t.errorComp=ze(v.error,e)),o(v.loading)&&(t.loadingComp=ze(v.loading,e),0===v.delay?t.loading=!0:c=setTimeout((function(){c=null,i(t.resolved)&&i(t.error)&&(t.loading=!0,f(!1))}),v.delay||200)),o(v.timeout)&&(l=setTimeout((function(){l=null,i(t.resolved)&&h(null)}),v.timeout)))),s=!1,t.loading?t.loadingComp:t.resolved}}(f=t,l)))return function(t,e,r,n,i){var o=bt();return o.asyncFactory=t,o.asyncMeta={data:e,context:r,children:n,tag:i},o}(f,e,r,s,c);e=e||{},Sr(t),o(e.model)&&function(t,e){var r=t.model&&t.model.prop||"value",n=t.model&&t.model.event||"input";(e.attrs||(e.attrs={}))[r]=e.model.value;var i=e.on||(e.on={}),a=i[n],s=e.model.callback;o(a)?(Array.isArray(a)?-1===a.indexOf(s):a!==s)&&(i[n]=[s].concat(a)):i[n]=s}(t.options,e);var p=function(t,e,r){var n=e.options.props;if(!i(n)){var a={},s=t.attrs,u=t.props;if(o(s)||o(u))for(var c in n){var l=$(c);fe(a,u,c,l,!0)||fe(a,s,c,l,!1)}return a}}(e,t);if(a(t.options.functional))return function(t,e,r,i,a){var s=t.options,u={},c=s.props;if(o(c))for(var l in c)u[l]=Lt(l,c,e||n);else o(r.attrs)&&Te(u,r.attrs),o(r.props)&&Te(u,r.props);var f=new qe(r,u,a,i,t),p=s.render.call(null,f._c,f);if(p instanceof yt)return De(p,r,f.parent,s,f);if(Array.isArray(p)){for(var d=pe(p)||[],h=new Array(d.length),v=0;v<d.length;v++)h[v]=De(d[v],r,f.parent,s,f);return h}}(t,p,e,r,s);var h=e.on;if(e.on=e.nativeOn,a(t.options.abstract)){var v=e.slot;e={},v&&(e.slot=v)}!function(t){for(var e=t.hook||(t.hook={}),r=0;r<Le.length;r++){var n=Le[r],i=e[n],o=Fe[n];i===o||i&&i._merged||(e[n]=i?Ve(o,i):o)}}(e);var y=t.options.name||c;return new yt("vue-component-"+t.cid+(y?"-"+y:""),e,void 0,void 0,void 0,r,{Ctor:t,propsData:p,listeners:h,tag:c,children:s},f)}}}function Ve(t,e){var r=function(r,n){t(r,n),e(r,n)};return r._merged=!0,r}function Be(t,e,r,n,c,l){return(Array.isArray(r)||s(r))&&(c=n,n=r,r=void 0),a(l)&&(c=2),function(t,e,r,n,s){if(o(r)&&o(r.__ob__))return bt();o(r)&&o(r.is)&&(e=r.is);if(!e)return bt();0;Array.isArray(n)&&"function"==typeof n[0]&&((r=r||{}).scopedSlots={default:n[0]},n.length=0);2===s?n=pe(n):1===s&&(n=function(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return Array.prototype.concat.apply([],t);return t}(n));var c,l;if("string"==typeof e){var f;l=t.$vnode&&t.$vnode.ns||L.getTagNamespace(e),c=L.isReservedTag(e)?new yt(L.parsePlatformTagName(e),r,n,void 0,void 0,t):r&&r.pre||!o(f=Ft(t.$options,"components",e))?new yt(e,r,n,void 0,void 0,t):Ne(f,r,t,n,e)}else c=Ne(e,r,t,n);return Array.isArray(c)?c:o(c)?(o(l)&&function t(e,r,n){e.ns=r,"foreignObject"===e.tag&&(r=void 0,n=!0);if(o(e.children))for(var s=0,u=e.children.length;s<u;s++){var c=e.children[s];o(c.tag)&&(i(c.ns)||a(n)&&"svg"!==c.tag)&&t(c,r,n)}}(c,l),o(r)&&function(t){u(t.style)&&ae(t.style);u(t.class)&&ae(t.class)}(r),c):bt()}(t,e,r,n,c)}var He,Ue=null;function ze(t,e){return(t.__esModule||ct&&"Module"===t[Symbol.toStringTag])&&(t=t.default),u(t)?e.extend(t):t}function Ke(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var r=t[e];if(o(r)&&(o(r.componentOptions)||me(r)))return r}}function We(t,e){He.$on(t,e)}function Je(t,e){He.$off(t,e)}function Ge(t,e){var r=He;return function n(){var i=e.apply(null,arguments);null!==i&&r.$off(t,n)}}function Ye(t,e,r){He=t,ce(e,r||{},We,Je,Ge,t),He=void 0}var Ze=null;function Xe(t){var e=Ze;return Ze=t,function(){Ze=e}}function tr(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}function er(t,e){if(e){if(t._directInactive=!1,tr(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var r=0;r<t.$children.length;r++)er(t.$children[r]);rr(t,"activated")}}function rr(t,e){ht();var r=t.$options[e],n=e+" hook";if(r)for(var i=0,o=r.length;i<o;i++)zt(r[i],t,null,t,n);t._hasHookEvent&&t.$emit("hook:"+e),vt()}var nr=[],ir=[],or={},ar=!1,sr=!1,ur=0;var cr=0,lr=Date.now;if(K&&!Y){var fr=window.performance;fr&&"function"==typeof fr.now&&lr()>document.createEvent("Event").timeStamp&&(lr=function(){return fr.now()})}function pr(){var t,e;for(cr=lr(),sr=!0,nr.sort((function(t,e){return t.id-e.id})),ur=0;ur<nr.length;
vendor: 17,680 bytes, line 39588
39588ur++)(t=nr[ur]).before&&t.before(),e=t.id,or[e]=null,t.run();var r=ir.slice(),n=nr.slice();ur=nr.length=ir.length=0,or={},ar=sr=!1,function(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,er(t[e],!0)}(r),function(t){var e=t.length;for(;e--;){var r=t[e],n=r.vm;n._watcher===r&&n._isMounted&&!n._isDestroyed&&rr(n,"updated")}}(n),at&&L.devtools&&at.emit("flush")}var dr=0,hr=function(t,e,r,n,i){this.vm=t,i&&(t._watcher=this),t._watchers.push(this),n?(this.deep=!!n.deep,this.user=!!n.user,this.lazy=!!n.lazy,this.sync=!!n.sync,this.before=n.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=r,this.id=++dr,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ut,this.newDepIds=new ut,this.expression="","function"==typeof e?this.getter=e:(this.getter=function(t){if(!H.test(t)){var e=t.split(".");return function(t){for(var r=0;r<e.length;r++){if(!t)return;t=t[e[r]]}return t}}}(e),this.getter||(this.getter=Q)),this.value=this.lazy?void 0:this.get()};hr.prototype.get=function(){var t;ht(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;Ut(t,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&ae(t),vt(),this.cleanupDeps()}return t},hr.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))},hr.prototype.cleanupDeps=function(){for(var t=this.deps.length;t--;){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},hr.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(t){var e=t.id;if(null==or[e]){if(or[e]=!0,sr){for(var r=nr.length-1;r>ur&&nr[r].id>t.id;)r--;nr.splice(r+1,0,t)}else nr.push(t);ar||(ar=!0,ie(pr))}}(this)},hr.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||u(t)||this.deep){var e=this.value;if(this.value=t,this.user){var r='callback for watcher "'+this.expression+'"';zt(this.cb,this.vm,[t,e],this.vm,r)}else this.cb.call(this.vm,t,e)}}},hr.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},hr.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},hr.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||g(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var vr={enumerable:!0,configurable:!0,get:Q,set:Q};function yr(t,e,r){vr.get=function(){return this[e][r]},vr.set=function(t){this[e][r]=t},Object.defineProperty(t,r,vr)}function mr(t){t._watchers=[];var e=t.$options;e.props&&function(t,e){var r=t.$options.propsData||{},n=t._props={},i=t.$options._propKeys=[];t.$parent&&jt(!1);var o=function(o){i.push(o);var a=Lt(o,e,r,t);Ct(n,o,a),o in t||yr(t,"_props",o)};for(var a in e)o(a);jt(!0)}(t,e.props),e.methods&&function(t,e){t.$options.props;for(var r in e)t[r]="function"!=typeof e[r]?Q:C(e[r],t)}(t,e.methods),e.data?function(t){var e=t.$options.data;l(e=t._data="function"==typeof e?function(t,e){ht();try{return t.call(e,e)}catch(t){return Ut(t,e,"data()"),{}}finally{vt()}}(e,t):e||{})||(e={});var r=Object.keys(e),n=t.$options.props,i=(t.$options.methods,r.length);for(;i--;){var o=r[i];0,n&&_(n,o)||V(o)||yr(t,"_data",o)}$t(e,!0)}(t):$t(t._data={},!0),e.computed&&function(t,e){var r=t._computedWatchers=Object.create(null),n=ot();for(var i in e){var o=e[i],a="function"==typeof o?o:o.get;0,n||(r[i]=new hr(t,a||Q,Q,br)),i in t||gr(t,i,o)}}(t,e.computed),e.watch&&e.watch!==rt&&function(t,e){for(var r in e){var n=e[r];if(Array.isArray(n))for(var i=0;i<n.length;i++)wr(t,r,n[i]);else wr(t,r,n)}}(t,e.watch)}var br={lazy:!0};function gr(t,e,r){var n=!ot();"function"==typeof r?(vr.get=n?Or(e):_r(r),vr.set=Q):(vr.get=r.get?n&&!1!==r.cache?Or(e):_r(r.get):Q,vr.set=r.set||Q),Object.defineProperty(t,e,vr)}function Or(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),pt.target&&e.depend(),e.value}}function _r(t){return function(){return t.call(this,this)}}function wr(t,e,r,n){return l(r)&&(n=r,r=r.handler),"string"==typeof r&&(r=t[r]),t.$watch(e,r,n)}var kr=0;function Sr(t){var e=t.options;if(t.super){var r=Sr(t.super);if(r!==t.superOptions){t.superOptions=r;var n=function(t){var e,r=t.options,n=t.sealedOptions;for(var i in r)r[i]!==n[i]&&(e||(e={}),e[i]=r[i]);return e}(t);n&&R(t.extendOptions,n),(e=t.options=Tt(r,t.extendOptions)).name&&(e.components[e.name]=t)}}return e}function jr(t){this._init(t)}function xr(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var r=this,n=r.cid,i=t._Ctor||(t._Ctor={});if(i[n])return i[n];var o=t.name||r.options.name;var a=function(t){this._init(t)};return(a.prototype=Object.create(r.prototype)).constructor=a,a.cid=e++,a.options=Tt(r.options,t),a.super=r,a.options.props&&function(t){var e=t.options.props;for(var r in e)yr(t.prototype,"_props",r)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var r in e)gr(t.prototype,r,e[r])}(a),a.extend=r.extend,a.mixin=r.mixin,a.use=r.use,T.forEach((function(t){a[t]=r[t]})),o&&(a.options.components[o]=a),a.superOptions=r.options,a.extendOptions=t,a.sealedOptions=R({},a.options),i[n]=a,a}}function $r(t){return t&&(t.Ctor.options.name||t.tag)}function Cr(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!f(t)&&t.test(e)}function Ar(t,e){var r=t.cache,n=t.keys,i=t._vnode;for(var o in r){var a=r[o];if(a){var s=a.name;s&&!e(s)&&Rr(r,o,n,i)}}}function Rr(t,e,r,n){var i=t[e];!i||n&&i.tag===n.tag||i.componentInstance.$destroy(),t[e]=null,g(r,e)}!function(t){t.prototype._init=function(t){var e=this;e._uid=kr++,e._isVue=!0,t&&t._isComponent?function(t,e){var r=t.$options=Object.create(t.constructor.options),n=e._parentVnode;r.parent=e.parent,r._parentVnode=n;var i=n.componentOptions;r.propsData=i.propsData,r._parentListeners=i.listeners,r._renderChildren=i.children,r._componentTag=i.tag,e.render&&(r.render=e.render,r.staticRenderFns=e.staticRenderFns)}(e,t):e.$options=Tt(Sr(e.constructor),t||{},e),e._renderProxy=e,e._self=e,function(t){var e=t.$options,r=e.parent;if(r&&!e.abstract){for(;r.$options.abstract&&r.$parent;)r=r.$parent;r.$children.push(t)}t.$parent=r,t.$root=r?r.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(e),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Ye(t,e)}(e),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,r=t.$vnode=e._parentVnode,i=r&&r.context;t.$slots=ve(e._renderChildren,i),t.$scopedSlots=n,t._c=function(e,r,n,i){return Be(t,e,r,n,i,!1)},t.$createElement=function(e,r,n,i){return Be(t,e,r,n,i,!0)};var o=r&&r.data;Ct(t,"$attrs",o&&o.attrs||n,null,!0),Ct(t,"$listeners",e._parentListeners||n,null,!0)}(e),rr(e,"beforeCreate"),function(t){var e=he(t.$options.inject,t);e&&(jt(!1),Object.keys(e).forEach((function(r){Ct(t,r,e[r])})),jt(!0))}(e),mr(e),function(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}(e),rr(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}(jr),function(t){var e={get:function(){return this._data}},r={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",r),t.prototype.$set=At,t.prototype.$delete=Rt,t.prototype.$watch=function(t,e,r){if(l(e))return wr(this,t,e,r);(r=r||{}).user=!0;var n=new hr(this,t,e,r);if(r.immediate){var i='callback for immediate watcher "'+n.expression+'"';ht(),zt(e,this,[n.value],this,i),vt()}return function(){n.teardown()}}}(jr),function(t){var e=/^hook:/;t.prototype.$on=function(t,r){var n=this;if(Array.isArray(t))for(var i=0,o=t.length;i<o;i++)n.$on(t[i],r);else(n._events[t]||(n._events[t]=[])).push(r),e.test(t)&&(n._hasHookEvent=!0);return n},t.prototype.$once=function(t,e){var r=this;function n(){r.$off(t,n),e.apply(r,arguments)}return n.fn=e,r.$on(t,n),r},t.prototype.$off=function(t,e){var r=this;if(!arguments.length)return r._events=Object.create(null),r;if(Array.isArray(t)){for(var n=0,i=t.length;n<i;n++)r.$off(t[n],e);return r}var o,a=r._events[t];if(!a)return r;if(!e)return r._events[t]=null,r;for(var s=a.length;s--;)if((o=a[s])===e||o.fn===e){a.splice(s,1);break}return r},t.prototype.$emit=function(t){var e=this,r=e._events[t];if(r){r=r.length>1?A(r):r;for(var n=A(arguments,1),i='event handler for "'+t+'"',o=0,a=r.length;o<a;o++)zt(r[o],e,n,e,i)}return e}}(jr),function(t){t.prototype._update=function(t,e){var r=this,n=r.$el,i=r._vnode,o=Xe(r);r._vnode=t,r.$el=i?r.__patch__(i,t):r.__patch__(r.$el,t,e,!1),o(),n&&(n.__vue__=null),r.$el&&(r.$el.__vue__=r),r.$vnode&&r.$parent&&r.$vnode===r.$parent._vnode&&(r.$parent.$el=r.$el)},t.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){rr(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||g(e.$children,t),t._watcher&&t._watcher.teardown();for(var r=t._watchers.length;r--;)t._watchers[r].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),rr(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}(jr),function(t){Ie(t.prototype),t.prototype.$nextTick=function(t){return ie(t,this)},t.prototype._render=function(){var t,e=this,r=e.$options,n=r.render,i=r._parentVnode;i&&(e.$scopedSlots=be(i.data.scopedSlots,e.$slots,e.$scopedSlots)),e.$vnode=i;try{Ue=e,t=n.call(e._renderProxy,e.$createElement)}catch(r){Ut(r,e,"render"),t=e._vnode}finally{Ue=null}return Array.isArray(t)&&1===t.length&&(t=t[0]),t instanceof yt||(t=bt()),t.parent=i,t}}(jr);var Er=[String,RegExp,Array],Qr={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:Er,exclude:Er,max:[String,Number]},methods:{cacheVNode:function(){var t=this.cache,e=this.keys,r=this.vnodeToCache,n=this.keyToCache;if(r){var i=r.tag,o=r.componentInstance,a=r.componentOptions;t[n]={name:$r(a),tag:i,componentInstance:o},e.push(n),this.max&&e.length>parseInt(this.max)&&Rr(t,e[0],e,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Rr(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){Ar(t,(function(t){return Cr(e,t)}))})),this.$watch("exclude",(function(e){Ar(t,(function(t){return!Cr(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=Ke(t),r=e&&e.componentOptions;if(r){var n=$r(r),i=this.include,o=this.exclude;if(i&&(!n||!Cr(i,n))||o&&n&&Cr(o,n))return e;var a=this.cache,s=this.keys,u=null==e.key?r.Ctor.cid+(r.tag?"::"+r.tag:""):e.key;a[u]?(e.componentInstance=a[u].componentInstance,g(s,u),s.push(u)):(this.vnodeToCache=e,this.keyToCache=u),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={get:function(){return L}};Object.defineProperty(t,"config",e),t.util={warn:lt,extend:R,mergeOptions:Tt,defineReactive:Ct},t.set=At,t.delete=Rt,t.nextTick=ie,t.observable=function(t){return $t(t),t},t.options=Object.create(null),T.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,R(t.options.components,Qr),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var r=A(arguments,1);return r.unshift(this),"function"==typeof t.install?t.install.apply(t,r):"function"==typeof t&&t.apply(null,r),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=Tt(this.options,t),this}}(t),xr(t),function(t){T.forEach((function(e){t[e]=function(t,r){return r?("component"===e&&l(r)&&(r.name=r.name||t,r=this.options._base.extend(r)),"directive"===e&&"function"==typeof r&&(r={bind:r,update:r}),this.options[e+"s"][t]=r,r):this.options[e+"s"][t]}}))}(t)}(jr),Object.defineProperty(jr.prototype,"$isServer",{get:ot}),Object.defineProperty(jr.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(jr,"FunctionalRenderContext",{value:qe}),jr.version="2.6.14";var Pr=y("style,class"),Mr=y("input,textarea,option,select,progress"),Ir=function(t,e,r){return"value"===r&&Mr(t)&&"button"!==e||"selected"===r&&"option"===t||"checked"===r&&"input"===t||"muted"===r&&"video"===t},qr=y("contenteditable,draggable,spellcheck"),Dr=y("events,caret,typing,plaintext-only"),Tr=y("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),Fr="http://www.w3.org/1999/xlink",Lr=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Nr=function(t){return Lr(t)?t.slice(6,t.length):""},Vr=function(t){return null==t||!1===t};function Br(t){for(var e=t.data,r=t,n=t;o(n.componentInstance);)(n=n.componentInstance._vnode)&&n.data&&(e=Hr(n.data,e));for(;o(r=r.parent);)r&&r.data&&(e=Hr(e,r.data));return function(t,e){if(o(t)||o(e))return Ur(t,zr(e));return""}(e.staticClass,e.class)}function Hr(t,e){return{staticClass:Ur(t.staticClass,e.staticClass),class:o(t.class)?[t.class,e.class]:e.class}}function Ur(t,e){return t?e?t+" "+e:t:e||""}function zr(t){return Array.isArray(t)?function(t){for(var e,r="",n=0,i=t.length;n<i;n++)o(e=zr(t[n]))&&""!==e&&(r&&(r+=" "),r+=e);return r}(t):u(t)?function(t){var e="";for(var r in t)t[r]&&(e&&(e+=" "),e+=r);return e}(t):"string"==typeof t?t:""}var Kr={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},Wr=y("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),Jr=y("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Gr=function(t){return Wr(t)||Jr(t)};function Yr(t){return Jr(t)?"svg":"math"===t?"math":void 0}var Zr=Object.create(null);var Xr=y("text,number,password,search,email,tel,url");function tn(t){if("string"==typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}var en=Object.freeze({createElement:function(t,e){var r=document.createElement(t);return"select"!==t||e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&r.setAttribute("multiple","multiple"),r},createElementNS:function(t,e){return document.createElementNS(Kr[t],e)},createTextNode:function(t){return document.createTextNode(t)},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,r){t.insertBefore(e,r)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){t.appendChild(e)},parentNode:function(t){return t.parentNode},nextSibling:function(t){return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},setStyleScope:function(t,e){t.setAttribute(e,"")}}),rn={create:function(t,e){nn(e)},update:function(t,e){t.data.ref!==e.data.ref&&(nn(t,!0),nn(e))},destroy:function(t){nn(t,!0)}};function nn(t,e){var r=t.data.ref;if(o(r)){var n=t.context,i=t.componentInstance||t.elm,a=n.$refs;e?Array.isArray(a[r])?g(a[r],i):a[r]===i&&(a[r]=void 0):t.data.refInFor?Array.isArray(a[r])?a[r].indexOf(i)<0&&a[r].push(i):a[r]=[i]:a[r]=i}}var on=new yt("",{},[]),an=["create","activate","update","remove","destroy"];function sn(t,e){return t.key===e.key&&t.asyncFactory===e.asyncFactory&&(t.tag===e.tag&&t.isComment===e.isComment&&o(t.data)===o(e.data)&&function(t,e){if("input"!==t.tag)return!0;var r,n=o(r=t.data)&&o(r=r.attrs)&&r.type,i=o(r=e.data)&&o(r=r.attrs)&&r.type;return n===i||Xr(n)&&Xr(i)}(t,e)||a(t.isAsyncPlaceholder)&&i(e.asyncFactory.error))}function un(t,e,r){var n,i,a={};for(n=e;n<=r;++n)o(i=t[n].key)&&(a[i]=n);return a}var cn={create:ln,update:ln,destroy:function(t){ln(t,on)}};function ln(t,e){(t.data.directives||e.data.directives)&&function(t,e){var r,n,i,o=t===on,a=e===on,s=pn(t.data.directives,t.context),u=pn(e.data.directives,e.context),c=[],l=[];for(r in u)n=s[r],i=u[r],n?(i.oldValue=n.value,i.oldArg=n.arg,hn(i,"update",e,t),i.def&&i.def.componentUpdated&&l.push(i)):(hn(i,"bind",e,t),i.def&&i.def.inserted&&c.push(i));if(c.length){var f=function(){for(var r=0;r<c.length;r++)hn(c[r],"inserted",e,t)};o?le(e,"insert",f):f()}l.length&&le(e,"postpatch",(function(){for(var r=0;r<l.length;r++)hn(l[r],"componentUpdated",e,t)}));if(!o)for(r in s)u[r]||hn(s[r],"unbind",t,t,a)}(t,e)}var fn=Object.create(null);function pn(t,e){var r,n,i=Object.create(null);if(!t)return i;for(r=0;r<t.length;r++)(n=t[r]).modifiers||(n.modifiers=fn),i[dn(n)]=n,n.def=Ft(e.$options,"directives",n.name);return i}function dn(t){return t.rawName||t.name+"."+Object.keys(t.modifiers||{}).join(".")}function hn(t,e,r,n,i){var o=t.def&&t.def[e];
vendor: 11,428 bytes, line 39588
39588if(o)try{o(r.elm,t,r,n,i)}catch(n){Ut(n,r.context,"directive "+t.name+" "+e+" hook")}}var vn=[rn,cn];function yn(t,e){var r=e.componentOptions;if(!(o(r)&&!1===r.Ctor.options.inheritAttrs||i(t.data.attrs)&&i(e.data.attrs))){var n,a,s=e.elm,u=t.data.attrs||{},c=e.data.attrs||{};for(n in o(c.__ob__)&&(c=e.data.attrs=R({},c)),c)a=c[n],u[n]!==a&&mn(s,n,a,e.data.pre);for(n in(Y||X)&&c.value!==u.value&&mn(s,"value",c.value),u)i(c[n])&&(Lr(n)?s.removeAttributeNS(Fr,Nr(n)):qr(n)||s.removeAttribute(n))}}function mn(t,e,r,n){n||t.tagName.indexOf("-")>-1?bn(t,e,r):Tr(e)?Vr(r)?t.removeAttribute(e):(r="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,r)):qr(e)?t.setAttribute(e,function(t,e){return Vr(e)||"false"===e?"false":"contenteditable"===t&&Dr(e)?e:"true"}(e,r)):Lr(e)?Vr(r)?t.removeAttributeNS(Fr,Nr(e)):t.setAttributeNS(Fr,e,r):bn(t,e,r)}function bn(t,e,r){if(Vr(r))t.removeAttribute(e);else{if(Y&&!Z&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==r&&!t.__ieph){var n=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",n)};t.addEventListener("input",n),t.__ieph=!0}t.setAttribute(e,r)}}var gn={create:yn,update:yn};function On(t,e){var r=e.elm,n=e.data,a=t.data;if(!(i(n.staticClass)&&i(n.class)&&(i(a)||i(a.staticClass)&&i(a.class)))){var s=Br(e),u=r._transitionClasses;o(u)&&(s=Ur(s,zr(u))),s!==r._prevClass&&(r.setAttribute("class",s),r._prevClass=s)}}var _n,wn,kn,Sn,jn,xn,$n={create:On,update:On},Cn=/[\w).+\-_$\]]/;function An(t){var e,r,n,i,o,a=!1,s=!1,u=!1,c=!1,l=0,f=0,p=0,d=0;for(n=0;n<t.length;n++)if(r=e,e=t.charCodeAt(n),a)39===e&&92!==r&&(a=!1);else if(s)34===e&&92!==r&&(s=!1);else if(u)96===e&&92!==r&&(u=!1);else if(c)47===e&&92!==r&&(c=!1);else if(124!==e||124===t.charCodeAt(n+1)||124===t.charCodeAt(n-1)||l||f||p){switch(e){case 34:s=!0;break;case 39:a=!0;break;case 96:u=!0;break;case 40:p++;break;case 41:p--;break;case 91:f++;break;case 93:f--;break;case 123:l++;break;case 125:l--}if(47===e){for(var h=n-1,v=void 0;h>=0&&" "===(v=t.charAt(h));h--);v&&Cn.test(v)||(c=!0)}}else void 0===i?(d=n+1,i=t.slice(0,n).trim()):y();function y(){(o||(o=[])).push(t.slice(d,n).trim()),d=n+1}if(void 0===i?i=t.slice(0,n).trim():0!==d&&y(),o)for(n=0;n<o.length;n++)i=Rn(i,o[n]);return i}function Rn(t,e){var r=e.indexOf("(");if(r<0)return'_f("'+e+'")('+t+")";var n=e.slice(0,r),i=e.slice(r+1);return'_f("'+n+'")('+t+(")"!==i?","+i:i)}function En(t,e){console.error("[Vue compiler]: "+t)}function Qn(t,e){return t?t.map((function(t){return t[e]})).filter((function(t){return t})):[]}function Pn(t,e,r,n,i){(t.props||(t.props=[])).push(Vn({name:e,value:r,dynamic:i},n)),t.plain=!1}function Mn(t,e,r,n,i){(i?t.dynamicAttrs||(t.dynamicAttrs=[]):t.attrs||(t.attrs=[])).push(Vn({name:e,value:r,dynamic:i},n)),t.plain=!1}function In(t,e,r,n){t.attrsMap[e]=r,t.attrsList.push(Vn({name:e,value:r},n))}function qn(t,e,r,n,i,o,a,s){(t.directives||(t.directives=[])).push(Vn({name:e,rawName:r,value:n,arg:i,isDynamicArg:o,modifiers:a},s)),t.plain=!1}function Dn(t,e,r){return r?"_p("+e+',"'+t+'")':t+e}function Tn(t,e,r,i,o,a,s,u){var c;(i=i||n).right?u?e="("+e+")==='click'?'contextmenu':("+e+")":"click"===e&&(e="contextmenu",delete i.right):i.middle&&(u?e="("+e+")==='click'?'mouseup':("+e+")":"click"===e&&(e="mouseup")),i.capture&&(delete i.capture,e=Dn("!",e,u)),i.once&&(delete i.once,e=Dn("~",e,u)),i.passive&&(delete i.passive,e=Dn("&",e,u)),i.native?(delete i.native,c=t.nativeEvents||(t.nativeEvents={})):c=t.events||(t.events={});var l=Vn({value:r.trim(),dynamic:u},s);i!==n&&(l.modifiers=i);var f=c[e];Array.isArray(f)?o?f.unshift(l):f.push(l):c[e]=f?o?[l,f]:[f,l]:l,t.plain=!1}function Fn(t,e,r){var n=Ln(t,":"+e)||Ln(t,"v-bind:"+e);if(null!=n)return An(n);if(!1!==r){var i=Ln(t,e);if(null!=i)return JSON.stringify(i)}}function Ln(t,e,r){var n;if(null!=(n=t.attrsMap[e]))for(var i=t.attrsList,o=0,a=i.length;o<a;o++)if(i[o].name===e){i.splice(o,1);break}return r&&delete t.attrsMap[e],n}function Nn(t,e){for(var r=t.attrsList,n=0,i=r.length;n<i;n++){var o=r[n];if(e.test(o.name))return r.splice(n,1),o}}function Vn(t,e){return e&&(null!=e.start&&(t.start=e.start),null!=e.end&&(t.end=e.end)),t}function Bn(t,e,r){var n=r||{},i=n.number,o="$$v";n.trim&&(o="(typeof $$v === 'string'? $$v.trim(): $$v)"),i&&(o="_n("+o+")");var a=Hn(e,o);t.model={value:"("+e+")",expression:JSON.stringify(e),callback:"function ($$v) {"+a+"}"}}function Hn(t,e){var r=function(t){if(t=t.trim(),_n=t.length,t.indexOf("[")<0||t.lastIndexOf("]")<_n-1)return(Sn=t.lastIndexOf("."))>-1?{exp:t.slice(0,Sn),key:'"'+t.slice(Sn+1)+'"'}:{exp:t,key:null};wn=t,Sn=jn=xn=0;for(;!zn();)Kn(kn=Un())?Jn(kn):91===kn&&Wn(kn);return{exp:t.slice(0,jn),key:t.slice(jn+1,xn)}}(t);return null===r.key?t+"="+e:"$set("+r.exp+", "+r.key+", "+e+")"}function Un(){return wn.charCodeAt(++Sn)}function zn(){return Sn>=_n}function Kn(t){return 34===t||39===t}function Wn(t){var e=1;for(jn=Sn;!zn();)if(Kn(t=Un()))Jn(t);else if(91===t&&e++,93===t&&e--,0===e){xn=Sn;break}}function Jn(t){for(var e=t;!zn()&&(t=Un())!==e;);}var Gn;function Yn(t,e,r){var n=Gn;return function i(){var o=e.apply(null,arguments);null!==o&&ti(t,i,r,n)}}var Zn=Gt&&!(et&&Number(et[1])<=53);function Xn(t,e,r,n){if(Zn){var i=cr,o=e;e=o._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=i||t.timeStamp<=0||t.target.ownerDocument!==document)return o.apply(this,arguments)}}Gn.addEventListener(t,e,nt?{capture:r,passive:n}:r)}function ti(t,e,r,n){(n||Gn).removeEventListener(t,e._wrapper||e,r)}function ei(t,e){if(!i(t.data.on)||!i(e.data.on)){var r=e.data.on||{},n=t.data.on||{};Gn=e.elm,function(t){if(o(t.__r)){var e=Y?"change":"input";t[e]=[].concat(t.__r,t[e]||[]),delete t.__r}o(t.__c)&&(t.change=[].concat(t.__c,t.change||[]),delete t.__c)}(r),ce(r,n,Xn,ti,Yn,e.context),Gn=void 0}}var ri,ni={create:ei,update:ei};function ii(t,e){if(!i(t.data.domProps)||!i(e.data.domProps)){var r,n,a=e.elm,s=t.data.domProps||{},u=e.data.domProps||{};for(r in o(u.__ob__)&&(u=e.data.domProps=R({},u)),s)r in u||(a[r]="");for(r in u){if(n=u[r],"textContent"===r||"innerHTML"===r){if(e.children&&(e.children.length=0),n===s[r])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===r&&"PROGRESS"!==a.tagName){a._value=n;var c=i(n)?"":String(n);oi(a,c)&&(a.value=c)}else if("innerHTML"===r&&Jr(a.tagName)&&i(a.innerHTML)){(ri=ri||document.createElement("div")).innerHTML="<svg>"+n+"</svg>";for(var l=ri.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;l.firstChild;)a.appendChild(l.firstChild)}else if(n!==s[r])try{a[r]=n}catch(t){}}}}function oi(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var r=!0;try{r=document.activeElement!==t}catch(t){}return r&&t.value!==e}(t,e)||function(t,e){var r=t.value,n=t._vModifiers;if(o(n)){if(n.number)return v(r)!==v(e);if(n.trim)return r.trim()!==e.trim()}return r!==e}(t,e))}var ai={create:ii,update:ii},si=w((function(t){var e={},r=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach((function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}));function ui(t){var e=ci(t.style);return t.staticStyle?R(t.staticStyle,e):e}function ci(t){return Array.isArray(t)?E(t):"string"==typeof t?si(t):t}var li,fi=/^--/,pi=/\s*!important$/,di=function(t,e,r){if(fi.test(e))t.style.setProperty(e,r);else if(pi.test(r))t.style.setProperty($(e),r.replace(pi,""),"important");else{var n=vi(e);if(Array.isArray(r))for(var i=0,o=r.length;i<o;i++)t.style[n]=r[i];else t.style[n]=r}},hi=["Webkit","Moz","ms"],vi=w((function(t){if(li=li||document.createElement("div").style,"filter"!==(t=S(t))&&t in li)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),r=0;r<hi.length;r++){var n=hi[r]+e;if(n in li)return n}}));function yi(t,e){var r=e.data,n=t.data;if(!(i(r.staticStyle)&&i(r.style)&&i(n.staticStyle)&&i(n.style))){var a,s,u=e.elm,c=n.staticStyle,l=n.normalizedStyle||n.style||{},f=c||l,p=ci(e.data.style)||{};e.data.normalizedStyle=o(p.__ob__)?R({},p):p;var d=function(t,e){var r,n={};if(e)for(var i=t;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(r=ui(i.data))&&R(n,r);(r=ui(t.data))&&R(n,r);for(var o=t;o=o.parent;)o.data&&(r=ui(o.data))&&R(n,r);return n}(e,!0);for(s in f)i(d[s])&&di(u,s,"");for(s in d)(a=d[s])!==f[s]&&di(u,s,null==a?"":a)}}var mi={create:yi,update:yi},bi=/\s+/;function gi(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(bi).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var r=" "+(t.getAttribute("class")||"")+" ";r.indexOf(" "+e+" ")<0&&t.setAttribute("class",(r+e).trim())}}function Oi(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(bi).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var r=" "+(t.getAttribute("class")||"")+" ",n=" "+e+" ";r.indexOf(n)>=0;)r=r.replace(n," ");(r=r.trim())?t.setAttribute("class",r):t.removeAttribute("class")}}function _i(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&R(e,wi(t.name||"v")),R(e,t),e}return"string"==typeof t?wi(t):void 0}}var wi=w((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),ki=K&&!Z,Si="transition",ji="transitionend",xi="animation",$i="animationend";ki&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Si="WebkitTransition",ji="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(xi="WebkitAnimation",$i="webkitAnimationEnd"));var Ci=K?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function Ai(t){Ci((function(){Ci(t)}))}function Ri(t,e){var r=t._transitionClasses||(t._transitionClasses=[]);r.indexOf(e)<0&&(r.push(e),gi(t,e))}function Ei(t,e){t._transitionClasses&&g(t._transitionClasses,e),Oi(t,e)}function Qi(t,e,r){var n=Mi(t,e),i=n.type,o=n.timeout,a=n.propCount;if(!i)return r();var s="transition"===i?ji:$i,u=0,c=function(){t.removeEventListener(s,l),r()},l=function(e){e.target===t&&++u>=a&&c()};setTimeout((function(){u<a&&c()}),o+1),t.addEventListener(s,l)}var Pi=/\b(transform|all)(,|$)/;function Mi(t,e){var r,n=window.getComputedStyle(t),i=(n[Si+"Delay"]||"").split(", "),o=(n[Si+"Duration"]||"").split(", "),a=Ii(i,o),s=(n[xi+"Delay"]||"").split(", "),u=(n[xi+"Duration"]||"").split(", "),c=Ii(s,u),l=0,f=0;return"transition"===e?a>0&&(r="transition",l=a,f=o.length):"animation"===e?c>0&&(r="animation",l=c,f=u.length):f=(r=(l=Math.max(a,c))>0?a>c?"transition":"animation":null)?"transition"===r?o.length:u.length:0,{type:r,timeout:l,propCount:f,hasTransform:"transition"===r&&Pi.test(n[Si+"Property"])}}function Ii(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.apply(null,e.map((function(e,r){return qi(e)+qi(t[r])})))}function qi(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function Di(t,e){var r=t.elm;o(r._leaveCb)&&(r._leaveCb.cancelled=!0,r._leaveCb());var n=_i(t.data.transition);if(!i(n)&&!o(r._enterCb)&&1===r.nodeType){for(var a=n.css,s=n.type,c=n.enterClass,l=n.enterToClass,f=n.enterActiveClass,p=n.appearClass,d=n.appearToClass,h=n.appearActiveClass,y=n.beforeEnter,m=n.enter,b=n.afterEnter,g=n.enterCancelled,O=n.beforeAppear,_=n.appear,w=n.afterAppear,k=n.appearCancelled,S=n.duration,j=Ze,x=Ze.$vnode;x&&x.parent;)j=x.context,x=x.parent;var $=!j._isMounted||!t.isRootInsert;
vendor: 18,130 bytes, line 39588
39588if(!$||_||""===_){var C=$&&p?p:c,A=$&&h?h:f,R=$&&d?d:l,E=$&&O||y,Q=$&&"function"==typeof _?_:m,P=$&&w||b,M=$&&k||g,I=v(u(S)?S.enter:S);0;var q=!1!==a&&!Z,T=Li(Q),F=r._enterCb=D((function(){q&&(Ei(r,R),Ei(r,A)),F.cancelled?(q&&Ei(r,C),M&&M(r)):P&&P(r),r._enterCb=null}));t.data.show||le(t,"insert",(function(){var e=r.parentNode,n=e&&e._pending&&e._pending[t.key];n&&n.tag===t.tag&&n.elm._leaveCb&&n.elm._leaveCb(),Q&&Q(r,F)})),E&&E(r),q&&(Ri(r,C),Ri(r,A),Ai((function(){Ei(r,C),F.cancelled||(Ri(r,R),T||(Fi(I)?setTimeout(F,I):Qi(r,s,F)))}))),t.data.show&&(e&&e(),Q&&Q(r,F)),q||T||F()}}}function Ti(t,e){var r=t.elm;o(r._enterCb)&&(r._enterCb.cancelled=!0,r._enterCb());var n=_i(t.data.transition);if(i(n)||1!==r.nodeType)return e();if(!o(r._leaveCb)){var a=n.css,s=n.type,c=n.leaveClass,l=n.leaveToClass,f=n.leaveActiveClass,p=n.beforeLeave,d=n.leave,h=n.afterLeave,y=n.leaveCancelled,m=n.delayLeave,b=n.duration,g=!1!==a&&!Z,O=Li(d),_=v(u(b)?b.leave:b);0;var w=r._leaveCb=D((function(){r.parentNode&&r.parentNode._pending&&(r.parentNode._pending[t.key]=null),g&&(Ei(r,l),Ei(r,f)),w.cancelled?(g&&Ei(r,c),y&&y(r)):(e(),h&&h(r)),r._leaveCb=null}));m?m(k):k()}function k(){w.cancelled||(!t.data.show&&r.parentNode&&((r.parentNode._pending||(r.parentNode._pending={}))[t.key]=t),p&&p(r),g&&(Ri(r,c),Ri(r,f),Ai((function(){Ei(r,c),w.cancelled||(Ri(r,l),O||(Fi(_)?setTimeout(w,_):Qi(r,s,w)))}))),d&&d(r,w),g||O||w())}}function Fi(t){return"number"==typeof t&&!isNaN(t)}function Li(t){if(i(t))return!1;var e=t.fns;return o(e)?Li(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function Ni(t,e){!0!==e.data.show&&Di(e)}var Vi=function(t){var e,r,n={},u=t.modules,c=t.nodeOps;for(e=0;e<an.length;++e)for(n[an[e]]=[],r=0;r<u.length;++r)o(u[r][an[e]])&&n[an[e]].push(u[r][an[e]]);function l(t){var e=c.parentNode(t);o(e)&&c.removeChild(e,t)}function f(t,e,r,i,s,u,l){if(o(t.elm)&&o(u)&&(t=u[l]=Ot(t)),t.isRootInsert=!s,!function(t,e,r,i){var s=t.data;if(o(s)){var u=o(t.componentInstance)&&s.keepAlive;if(o(s=s.hook)&&o(s=s.init)&&s(t,!1),o(t.componentInstance))return p(t,e),d(r,t.elm,i),a(u)&&function(t,e,r,i){var a,s=t;for(;s.componentInstance;)if(s=s.componentInstance._vnode,o(a=s.data)&&o(a=a.transition)){for(a=0;a<n.activate.length;++a)n.activate[a](on,s);e.push(s);break}d(r,t.elm,i)}(t,e,r,i),!0}}(t,e,r,i)){var f=t.data,v=t.children,y=t.tag;o(y)?(t.elm=t.ns?c.createElementNS(t.ns,y):c.createElement(y,t),b(t),h(t,v,e),o(f)&&m(t,e),d(r,t.elm,i)):a(t.isComment)?(t.elm=c.createComment(t.text),d(r,t.elm,i)):(t.elm=c.createTextNode(t.text),d(r,t.elm,i))}}function p(t,e){o(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,v(t)?(m(t,e),b(t)):(nn(t),e.push(t))}function d(t,e,r){o(t)&&(o(r)?c.parentNode(r)===t&&c.insertBefore(t,e,r):c.appendChild(t,e))}function h(t,e,r){if(Array.isArray(e)){0;for(var n=0;n<e.length;++n)f(e[n],r,t.elm,null,!0,e,n)}else s(t.text)&&c.appendChild(t.elm,c.createTextNode(String(t.text)))}function v(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return o(t.tag)}function m(t,r){for(var i=0;i<n.create.length;++i)n.create[i](on,t);o(e=t.data.hook)&&(o(e.create)&&e.create(on,t),o(e.insert)&&r.push(t))}function b(t){var e;if(o(e=t.fnScopeId))c.setStyleScope(t.elm,e);else for(var r=t;r;)o(e=r.context)&&o(e=e.$options._scopeId)&&c.setStyleScope(t.elm,e),r=r.parent;o(e=Ze)&&e!==t.context&&e!==t.fnContext&&o(e=e.$options._scopeId)&&c.setStyleScope(t.elm,e)}function g(t,e,r,n,i,o){for(;n<=i;++n)f(r[n],o,t,e,!1,r,n)}function O(t){var e,r,i=t.data;if(o(i))for(o(e=i.hook)&&o(e=e.destroy)&&e(t),e=0;e<n.destroy.length;++e)n.destroy[e](t);if(o(e=t.children))for(r=0;r<t.children.length;++r)O(t.children[r])}function _(t,e,r){for(;e<=r;++e){var n=t[e];o(n)&&(o(n.tag)?(w(n),O(n)):l(n.elm))}}function w(t,e){if(o(e)||o(t.data)){var r,i=n.remove.length+1;for(o(e)?e.listeners+=i:e=function(t,e){function r(){0==--r.listeners&&l(t)}return r.listeners=e,r}(t.elm,i),o(r=t.componentInstance)&&o(r=r._vnode)&&o(r.data)&&w(r,e),r=0;r<n.remove.length;++r)n.remove[r](t,e);o(r=t.data.hook)&&o(r=r.remove)?r(t,e):e()}else l(t.elm)}function k(t,e,r,n){for(var i=r;i<n;i++){var a=e[i];if(o(a)&&sn(t,a))return i}}function S(t,e,r,s,u,l){if(t!==e){o(e.elm)&&o(s)&&(e=s[u]=Ot(e));var p=e.elm=t.elm;if(a(t.isAsyncPlaceholder))o(e.asyncFactory.resolved)?$(t.elm,e,r):e.isAsyncPlaceholder=!0;else if(a(e.isStatic)&&a(t.isStatic)&&e.key===t.key&&(a(e.isCloned)||a(e.isOnce)))e.componentInstance=t.componentInstance;else{var d,h=e.data;o(h)&&o(d=h.hook)&&o(d=d.prepatch)&&d(t,e);var y=t.children,m=e.children;if(o(h)&&v(e)){for(d=0;d<n.update.length;++d)n.update[d](t,e);o(d=h.hook)&&o(d=d.update)&&d(t,e)}i(e.text)?o(y)&&o(m)?y!==m&&function(t,e,r,n,a){var s,u,l,p=0,d=0,h=e.length-1,v=e[0],y=e[h],m=r.length-1,b=r[0],O=r[m],w=!a;for(0;p<=h&&d<=m;)i(v)?v=e[++p]:i(y)?y=e[--h]:sn(v,b)?(S(v,b,n,r,d),v=e[++p],b=r[++d]):sn(y,O)?(S(y,O,n,r,m),y=e[--h],O=r[--m]):sn(v,O)?(S(v,O,n,r,m),w&&c.insertBefore(t,v.elm,c.nextSibling(y.elm)),v=e[++p],O=r[--m]):sn(y,b)?(S(y,b,n,r,d),w&&c.insertBefore(t,y.elm,v.elm),y=e[--h],b=r[++d]):(i(s)&&(s=un(e,p,h)),i(u=o(b.key)?s[b.key]:k(b,e,p,h))?f(b,n,t,v.elm,!1,r,d):sn(l=e[u],b)?(S(l,b,n,r,d),e[u]=void 0,w&&c.insertBefore(t,l.elm,v.elm)):f(b,n,t,v.elm,!1,r,d),b=r[++d]);p>h?g(t,i(r[m+1])?null:r[m+1].elm,r,d,m,n):d>m&&_(e,p,h)}(p,y,m,r,l):o(m)?(o(t.text)&&c.setTextContent(p,""),g(p,null,m,0,m.length-1,r)):o(y)?_(y,0,y.length-1):o(t.text)&&c.setTextContent(p,""):t.text!==e.text&&c.setTextContent(p,e.text),o(h)&&o(d=h.hook)&&o(d=d.postpatch)&&d(t,e)}}}function j(t,e,r){if(a(r)&&o(t.parent))t.parent.data.pendingInsert=e;else for(var n=0;n<e.length;++n)e[n].data.hook.insert(e[n])}var x=y("attrs,class,staticClass,staticStyle,key");function $(t,e,r,n){var i,s=e.tag,u=e.data,c=e.children;if(n=n||u&&u.pre,e.elm=t,a(e.isComment)&&o(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if(o(u)&&(o(i=u.hook)&&o(i=i.init)&&i(e,!0),o(i=e.componentInstance)))return p(e,r),!0;if(o(s)){if(o(c))if(t.hasChildNodes())if(o(i=u)&&o(i=i.domProps)&&o(i=i.innerHTML)){if(i!==t.innerHTML)return!1}else{for(var l=!0,f=t.firstChild,d=0;d<c.length;d++){if(!f||!$(f,c[d],r,n)){l=!1;break}f=f.nextSibling}if(!l||f)return!1}else h(e,c,r);if(o(u)){var v=!1;for(var y in u)if(!x(y)){v=!0,m(e,r);break}!v&&u.class&&ae(u.class)}}else t.data!==e.text&&(t.data=e.text);return!0}return function(t,e,r,s){if(!i(e)){var u,l=!1,p=[];if(i(t))l=!0,f(e,p);else{var d=o(t.nodeType);if(!d&&sn(t,e))S(t,e,p,null,null,s);else{if(d){if(1===t.nodeType&&t.hasAttribute("data-server-rendered")&&(t.removeAttribute("data-server-rendered"),r=!0),a(r)&&$(t,e,p))return j(e,p,!0),t;u=t,t=new yt(c.tagName(u).toLowerCase(),{},[],void 0,u)}var h=t.elm,y=c.parentNode(h);if(f(e,p,h._leaveCb?null:y,c.nextSibling(h)),o(e.parent))for(var m=e.parent,b=v(e);m;){for(var g=0;g<n.destroy.length;++g)n.destroy[g](m);if(m.elm=e.elm,b){for(var w=0;w<n.create.length;++w)n.create[w](on,m);var k=m.data.hook.insert;if(k.merged)for(var x=1;x<k.fns.length;x++)k.fns[x]()}else nn(m);m=m.parent}o(y)?_([t],0,0):o(t.tag)&&O(t)}}return j(e,p,l),e.elm}o(t)&&O(t)}}({nodeOps:en,modules:[gn,$n,ni,ai,mi,K?{create:Ni,activate:Ni,remove:function(t,e){!0!==t.data.show?Ti(t,e):e()}}:{}].concat(vn)});Z&&document.addEventListener("selectionchange",(function(){var t=document.activeElement;t&&t.vmodel&&Gi(t,"input")}));var Bi={inserted:function(t,e,r,n){"select"===r.tag?(n.elm&&!n.elm._vOptions?le(r,"postpatch",(function(){Bi.componentUpdated(t,e,r)})):Hi(t,e,r.context),t._vOptions=[].map.call(t.options,Ki)):("textarea"===r.tag||Xr(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",Wi),t.addEventListener("compositionend",Ji),t.addEventListener("change",Ji),Z&&(t.vmodel=!0)))},componentUpdated:function(t,e,r){if("select"===r.tag){Hi(t,e,r.context);var n=t._vOptions,i=t._vOptions=[].map.call(t.options,Ki);if(i.some((function(t,e){return!I(t,n[e])})))(t.multiple?e.value.some((function(t){return zi(t,i)})):e.value!==e.oldValue&&zi(e.value,i))&&Gi(t,"change")}}};function Hi(t,e,r){Ui(t,e,r),(Y||X)&&setTimeout((function(){Ui(t,e,r)}),0)}function Ui(t,e,r){var n=e.value,i=t.multiple;if(!i||Array.isArray(n)){for(var o,a,s=0,u=t.options.length;s<u;s++)if(a=t.options[s],i)o=q(n,Ki(a))>-1,a.selected!==o&&(a.selected=o);else if(I(Ki(a),n))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}}function zi(t,e){return e.every((function(e){return!I(e,t)}))}function Ki(t){return"_value"in t?t._value:t.value}function Wi(t){t.target.composing=!0}function Ji(t){t.target.composing&&(t.target.composing=!1,Gi(t.target,"input"))}function Gi(t,e){var r=document.createEvent("HTMLEvents");r.initEvent(e,!0,!0),t.dispatchEvent(r)}function Yi(t){return!t.componentInstance||t.data&&t.data.transition?t:Yi(t.componentInstance._vnode)}var Zi={model:Bi,show:{bind:function(t,e,r){var n=e.value,i=(r=Yi(r)).data&&r.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;n&&i?(r.data.show=!0,Di(r,(function(){t.style.display=o}))):t.style.display=n?o:"none"},update:function(t,e,r){var n=e.value;!n!=!e.oldValue&&((r=Yi(r)).data&&r.data.transition?(r.data.show=!0,n?Di(r,(function(){t.style.display=t.__vOriginalDisplay})):Ti(r,(function(){t.style.display="none"}))):t.style.display=n?t.__vOriginalDisplay:"none")},unbind:function(t,e,r,n,i){i||(t.style.display=t.__vOriginalDisplay)}}},Xi={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function to(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?to(Ke(e.children)):t}function eo(t){var e={},r=t.$options;for(var n in r.propsData)e[n]=t[n];var i=r._parentListeners;for(var o in i)e[S(o)]=i[o];return e}function ro(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var no=function(t){return t.tag||me(t)},io=function(t){return"show"===t.name},oo={name:"transition",props:Xi,abstract:!0,render:function(t){var e=this,r=this.$slots.default;if(r&&(r=r.filter(no)).length){0;var n=this.mode;0;var i=r[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return i;var o=to(i);if(!o)return i;if(this._leaving)return ro(t,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:s(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var u=(o.data||(o.data={})).transition=eo(this),c=this._vnode,l=to(c);if(o.data.directives&&o.data.directives.some(io)&&(o.data.show=!0),l&&l.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(o,l)&&!me(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=R({},u);if("out-in"===n)return this._leaving=!0,le(f,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),ro(t,i);if("in-out"===n){if(me(o))return c;var p,d=function(){p()};le(u,"afterEnter",d),le(u,"enterCancelled",d),le(f,"delayLeave",(function(t){p=t}))}}return i}}},ao=R({tag:String,moveClass:String},Xi);function so(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function uo(t){t.data.newPos=t.elm.getBoundingClientRect()}function co(t){var e=t.data.pos,r=t.data.newPos,n=e.left-r.left,i=e.top-r.top;if(n||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform="translate("+n+"px,"+i+"px)",o.transitionDuration="0s"}}delete ao.mode;var lo={Transition:oo,TransitionGroup:{props:ao,beforeMount:function(){var t=this,e=this._update;this._update=function(r,n){var i=Xe(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,i(),e.call(t,r,n)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",r=Object.create(null),n=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=eo(this),s=0;s<i.length;s++){var u=i[s];if(u.tag)if(null!=u.key&&0!==String(u.key).indexOf("__vlist"))o.push(u),r[u.key]=u,(u.data||(u.data={})).transition=a}if(n){for(var c=[],l=[],f=0;f<n.length;f++){var p=n[f];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),r[p.key]?c.push(p):l.push(p)}this.kept=t(e,null,c),this.removed=l}return t(e,null,o)},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||"v")+"-move";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(so),t.forEach(uo),t.forEach(co),this._reflow=document.body.offsetHeight,t.forEach((function(t){if(t.data.moved){var r=t.elm,n=r.style;Ri(r,e),n.transform=n.WebkitTransform=n.transitionDuration="",r.addEventListener(ji,r._moveCb=function t(n){n&&n.target!==r||n&&!/transform$/.test(n.propertyName)||(r.removeEventListener(ji,t),r._moveCb=null,Ei(r,e))})}})))},methods:{hasMove:function(t,e){if(!ki)return!1;if(this._hasMove)return this._hasMove;var r=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach((function(t){Oi(r,t)})),gi(r,e),r.style.display="none",this.$el.appendChild(r);var n=Mi(r);return this.$el.removeChild(r),this._hasMove=n.hasTransform}}}};jr.config.mustUseProp=Ir,jr.config.isReservedTag=Gr,jr.config.isReservedAttr=Pr,jr.config.getTagNamespace=Yr,jr.config.isUnknownElement=function(t){if(!K)return!0;if(Gr(t))return!1;if(t=t.toLowerCase(),null!=Zr[t])return Zr[t];var e=document.createElement(t);return t.indexOf("-")>-1?Zr[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Zr[t]=/HTMLUnknownElement/.test(e.toString())},R(jr.options.directives,Zi),R(jr.options.components,lo),jr.prototype.__patch__=K?Vi:Q,jr.prototype.$mount=function(t,e){return function(t,e,r){var n;return t.$el=e,t.$options.render||(t.$options.render=bt),rr(t,"beforeMount"),n=function(){t._update(t._render(),r)},new hr(t,n,Q,{before:function(){t._isMounted&&!t._isDestroyed&&rr(t,"beforeUpdate")}},!0),r=!1,null==t.$vnode&&(t._isMounted=!0,rr(t,"mounted")),t}(this,t=t&&K?tn(t):void 0,e)},K&&setTimeout((function(){L.devtools&&at&&at.emit("init",jr)}),0);var fo=/\{\{((?:.|\r?\n)+?)\}\}/g,po=/[-.*+?^${}()|[\]\/\\]/g,ho=w((function(t){var e=t[0].replace(po,"\\$&"),r=t[1].replace(po,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+r,"g")}));var vo={staticKeys:["staticClass"],transformNode:function(t,e){e.warn;var r=Ln(t,"class");r&&(t.staticClass=JSON.stringify(r));var n=Fn(t,"class",!1);n&&(t.classBinding=n)},genData:function(t){var e="";return t.staticClass&&(e+="staticClass:"+t.staticClass+","),t.classBinding&&(e+="class:"+t.classBinding+","),e}};var yo,mo={staticKeys:["staticStyle"],transformNode:function(t,e){e.warn;var r=Ln(t,"style");r&&(t.staticStyle=JSON.stringify(si(r)));var n=Fn(t,"style",!1);n&&(t.styleBinding=n)},genData:function(t){var e="";return t.staticStyle&&(e+="staticStyle:"+t.staticStyle+","),t.styleBinding&&(e+="style:("+t.styleBinding+"),"),e}},bo=function(t){return(yo=yo||document.createElement("div")).innerHTML=t,yo.textContent},go=y("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),Oo=y("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),_o=y("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),wo=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ko=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,So="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+N.source+"]*",jo="((?:"+So+"\\:)?"+So+")",xo=new RegExp("^<"+jo),$o=/^\s*(\/?)>/,Co=new RegExp("^<\\/"+jo+"[^>]*>"),Ao=/^<!DOCTYPE [^>]+>/i,Ro=/^<!\--/,Eo=/^<!\[/,Qo=y("script,style,textarea",!0),Po={},Mo={"<":"<",">":">",""":'"',"&":"&"," ":"\n","	":"\t","'":"'"},Io=/&(?:lt|gt|quot|amp|#39);/g,qo=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,Do=y("pre,textarea",!0),To=function(t,e){return t&&Do(t)&&"\n"===e[0]};function Fo(t,e){var r=e?qo:Io;return t.replace(r,(function(t){return Mo[t]}))}var Lo,No,Vo,Bo,Ho,Uo,zo,Ko,Wo=/^@|^v-on:/,Jo=/^v-|^@|^:|^#/,Go=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,Yo=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Zo=/^\(|\)$/g,Xo=/^\[.*\]$/,ta=/:(.*)$/,ea=/^:|^\.|^v-bind:/,ra=/\.[^.\]]+(?=[^\]]*$)/g,na=/^v-slot(:|$)|^#/,ia=/[\r\n]/,oa=/[ \f\t\r\n]+/g,aa=w(bo);function sa(t,e,r){return{type:1,tag:t,attrsList:e,attrsMap:ha(e),rawAttrsMap:{},parent:r,children:[]}}function ua(t,e){Lo=e.warn||En,Uo=e.isPreTag||P,zo=e.mustUseProp||P,Ko=e.getTagNamespace||P;var r=e.isReservedTag||P;(function(t){return!(!(t.component||t.attrsMap[":is"]||t.attrsMap["v-bind:is"])&&(t.attrsMap.is?r(t.attrsMap.is):r(t.tag)))}),Vo=Qn(e.modules,"transformNode"),Bo=Qn(e.modules,"preTransformNode"),Ho=Qn(e.modules,"postTransformNode"),No=e.delimiters;var n,i,o=[],a=!1!==e.preserveWhitespace,s=e.whitespace,u=!1,c=!1;function l(t){if(f(t),u||t.processed||(t=ca(t,e)),o.length||t===n||n.if&&(t.elseif||t.else)&&fa(n,{exp:t.elseif,block:t}),i&&!t.forbidden)if(t.elseif||t.else)a=t,(s=function(t){for(var e=t.length;e--;){if(1===t[e].type)return t[e];t.pop()}}(i.children))&&s.if&&fa(s,{exp:a.elseif,block:a});else{if(t.slotScope){var r=t.slotTarget||'"default"';(i.scopedSlots||(i.scopedSlots={}))[r]=t}i.children.push(t),t.parent=i}var a,s;t.children=t.children.filter((function(t){return!t.slotScope})),f(t),t.pre&&(u=!1),Uo(t.tag)&&(c=!1);for(var l=0;l<Ho.length;l++)Ho[l](t,e)}function f(t){if(!c)for(var e;(e=t.children[t.children.length-1])&&3===e.type&&" "===e.text;)t.children.pop()}return function(t,e){for(var r,n,i=[],o=e.expectHTML,a=e.isUnaryTag||P,s=e.canBeLeftOpenTag||P,u=0;t;){if(r=t,n&&Qo(n)){var c=0,l=n.toLowerCase(),f=Po[l]||(Po[l]=new RegExp("([\\s\\S]*?)(</"+l+"[^>]*>)","i")),p=t.replace(f,(function(t,r,n){return c=n.length,Qo(l)||"noscript"===l||(r=r.replace(/<!\--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),To(l,r)&&(r=r.slice(1)),e.chars&&e.chars(r),""}));u+=t.length-p.length,t=p,x(l,u-c,u)}else{var d=t.indexOf("<");if(0===d){if(Ro.test(t)){var h=t.indexOf("--\x3e");
vendor: 10,337 bytes, line 39588
39588if(h>=0){e.shouldKeepComment&&e.comment(t.substring(4,h),u,u+h+3),k(h+3);continue}}if(Eo.test(t)){var v=t.indexOf("]>");if(v>=0){k(v+2);continue}}var y=t.match(Ao);if(y){k(y[0].length);continue}var m=t.match(Co);if(m){var b=u;k(m[0].length),x(m[1],b,u);continue}var g=S();if(g){j(g),To(g.tagName,t)&&k(1);continue}}var O=void 0,_=void 0,w=void 0;if(d>=0){for(_=t.slice(d);!(Co.test(_)||xo.test(_)||Ro.test(_)||Eo.test(_)||(w=_.indexOf("<",1))<0);)d+=w,_=t.slice(d);O=t.substring(0,d)}d<0&&(O=t),O&&k(O.length),e.chars&&O&&e.chars(O,u-O.length,u)}if(t===r){e.chars&&e.chars(t);break}}function k(e){u+=e,t=t.substring(e)}function S(){var e=t.match(xo);if(e){var r,n,i={tagName:e[1],attrs:[],start:u};for(k(e[0].length);!(r=t.match($o))&&(n=t.match(ko)||t.match(wo));)n.start=u,k(n[0].length),n.end=u,i.attrs.push(n);if(r)return i.unarySlash=r[1],k(r[0].length),i.end=u,i}}function j(t){var r=t.tagName,u=t.unarySlash;o&&("p"===n&&_o(r)&&x(n),s(r)&&n===r&&x(r));for(var c=a(r)||!!u,l=t.attrs.length,f=new Array(l),p=0;p<l;p++){var d=t.attrs[p],h=d[3]||d[4]||d[5]||"",v="a"===r&&"href"===d[1]?e.shouldDecodeNewlinesForHref:e.shouldDecodeNewlines;f[p]={name:d[1],value:Fo(h,v)}}c||(i.push({tag:r,lowerCasedTag:r.toLowerCase(),attrs:f,start:t.start,end:t.end}),n=r),e.start&&e.start(r,f,c,t.start,t.end)}function x(t,r,o){var a,s;if(null==r&&(r=u),null==o&&(o=u),t)for(s=t.toLowerCase(),a=i.length-1;a>=0&&i[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var c=i.length-1;c>=a;c--)e.end&&e.end(i[c].tag,r,o);i.length=a,n=a&&i[a-1].tag}else"br"===s?e.start&&e.start(t,[],!0,r,o):"p"===s&&(e.start&&e.start(t,[],!1,r,o),e.end&&e.end(t,r,o))}x()}(t,{warn:Lo,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,outputSourceRange:e.outputSourceRange,start:function(t,r,a,s,f){var p=i&&i.ns||Ko(t);Y&&"svg"===p&&(r=function(t){for(var e=[],r=0;r<t.length;r++){var n=t[r];va.test(n.name)||(n.name=n.name.replace(ya,""),e.push(n))}return e}(r));var d,h=sa(t,r,i);p&&(h.ns=p),"style"!==(d=h).tag&&("script"!==d.tag||d.attrsMap.type&&"text/javascript"!==d.attrsMap.type)||ot()||(h.forbidden=!0);for(var v=0;v<Bo.length;v++)h=Bo[v](h,e)||h;u||(!function(t){null!=Ln(t,"v-pre")&&(t.pre=!0)}(h),h.pre&&(u=!0)),Uo(h.tag)&&(c=!0),u?function(t){var e=t.attrsList,r=e.length;if(r)for(var n=t.attrs=new Array(r),i=0;i<r;i++)n[i]={name:e[i].name,value:JSON.stringify(e[i].value)},null!=e[i].start&&(n[i].start=e[i].start,n[i].end=e[i].end);else t.pre||(t.plain=!0)}(h):h.processed||(la(h),function(t){var e=Ln(t,"v-if");if(e)t.if=e,fa(t,{exp:e,block:t});else{null!=Ln(t,"v-else")&&(t.else=!0);var r=Ln(t,"v-else-if");r&&(t.elseif=r)}}(h),function(t){null!=Ln(t,"v-once")&&(t.once=!0)}(h)),n||(n=h),a?l(h):(i=h,o.push(h))},end:function(t,e,r){var n=o[o.length-1];o.length-=1,i=o[o.length-1],l(n)},chars:function(t,e,r){if(i&&(!Y||"textarea"!==i.tag||i.attrsMap.placeholder!==t)){var n,o,l,f=i.children;if(t=c||t.trim()?"script"===(n=i).tag||"style"===n.tag?t:aa(t):f.length?s?"condense"===s&&ia.test(t)?"":" ":a?" ":"":"")c||"condense"!==s||(t=t.replace(oa," ")),!u&&" "!==t&&(o=function(t,e){var r=e?ho(e):fo;if(r.test(t)){for(var n,i,o,a=[],s=[],u=r.lastIndex=0;n=r.exec(t);){(i=n.index)>u&&(s.push(o=t.slice(u,i)),a.push(JSON.stringify(o)));var c=An(n[1].trim());a.push("_s("+c+")"),s.push({"@binding":c}),u=i+n[0].length}return u<t.length&&(s.push(o=t.slice(u)),a.push(JSON.stringify(o))),{expression:a.join("+"),tokens:s}}}(t,No))?l={type:2,expression:o.expression,tokens:o.tokens,text:t}:" "===t&&f.length&&" "===f[f.length-1].text||(l={type:3,text:t}),l&&f.push(l)}},comment:function(t,e,r){if(i){var n={type:3,text:t,isComment:!0};0,i.children.push(n)}}}),n}function ca(t,e){var r;!function(t){var e=Fn(t,"key");if(e){t.key=e}}(t),t.plain=!t.key&&!t.scopedSlots&&!t.attrsList.length,function(t){var e=Fn(t,"ref");e&&(t.ref=e,t.refInFor=function(t){var e=t;for(;e;){if(void 0!==e.for)return!0;e=e.parent}return!1}(t))}(t),function(t){var e;"template"===t.tag?(e=Ln(t,"scope"),t.slotScope=e||Ln(t,"slot-scope")):(e=Ln(t,"slot-scope"))&&(t.slotScope=e);var r=Fn(t,"slot");r&&(t.slotTarget='""'===r?'"default"':r,t.slotTargetDynamic=!(!t.attrsMap[":slot"]&&!t.attrsMap["v-bind:slot"]),"template"===t.tag||t.slotScope||Mn(t,"slot",r,function(t,e){return t.rawAttrsMap[":"+e]||t.rawAttrsMap["v-bind:"+e]||t.rawAttrsMap[e]}(t,"slot")));if("template"===t.tag){var n=Nn(t,na);if(n){0;var i=pa(n),o=i.name,a=i.dynamic;t.slotTarget=o,t.slotTargetDynamic=a,t.slotScope=n.value||"_empty_"}}else{var s=Nn(t,na);if(s){0;var u=t.scopedSlots||(t.scopedSlots={}),c=pa(s),l=c.name,f=c.dynamic,p=u[l]=sa("template",[],t);p.slotTarget=l,p.slotTargetDynamic=f,p.children=t.children.filter((function(t){if(!t.slotScope)return t.parent=p,!0})),p.slotScope=s.value||"_empty_",t.children=[],t.plain=!1}}}(t),"slot"===(r=t).tag&&(r.slotName=Fn(r,"name")),function(t){var e;(e=Fn(t,"is"))&&(t.component=e);null!=Ln(t,"inline-template")&&(t.inlineTemplate=!0)}(t);for(var n=0;n<Vo.length;n++)t=Vo[n](t,e)||t;return function(t){var e,r,n,i,o,a,s,u,c=t.attrsList;for(e=0,r=c.length;e<r;e++){if(n=i=c[e].name,o=c[e].value,Jo.test(n))if(t.hasBindings=!0,(a=da(n.replace(Jo,"")))&&(n=n.replace(ra,"")),ea.test(n))n=n.replace(ea,""),o=An(o),(u=Xo.test(n))&&(n=n.slice(1,-1)),a&&(a.prop&&!u&&"innerHtml"===(n=S(n))&&(n="innerHTML"),a.camel&&!u&&(n=S(n)),a.sync&&(s=Hn(o,"$event"),u?Tn(t,'"update:"+('+n+")",s,null,!1,0,c[e],!0):(Tn(t,"update:"+S(n),s,null,!1,0,c[e]),$(n)!==S(n)&&Tn(t,"update:"+$(n),s,null,!1,0,c[e])))),a&&a.prop||!t.component&&zo(t.tag,t.attrsMap.type,n)?Pn(t,n,o,c[e],u):Mn(t,n,o,c[e],u);else if(Wo.test(n))n=n.replace(Wo,""),(u=Xo.test(n))&&(n=n.slice(1,-1)),Tn(t,n,o,a,!1,0,c[e],u);else{var l=(n=n.replace(Jo,"")).match(ta),f=l&&l[1];u=!1,f&&(n=n.slice(0,-(f.length+1)),Xo.test(f)&&(f=f.slice(1,-1),u=!0)),qn(t,n,i,o,f,u,a,c[e])}else Mn(t,n,JSON.stringify(o),c[e]),!t.component&&"muted"===n&&zo(t.tag,t.attrsMap.type,n)&&Pn(t,n,"true",c[e])}}(t),t}function la(t){var e;if(e=Ln(t,"v-for")){var r=function(t){var e=t.match(Go);if(!e)return;var r={};r.for=e[2].trim();var n=e[1].trim().replace(Zo,""),i=n.match(Yo);i?(r.alias=n.replace(Yo,"").trim(),r.iterator1=i[1].trim(),i[2]&&(r.iterator2=i[2].trim())):r.alias=n;return r}(e);r&&R(t,r)}}function fa(t,e){t.ifConditions||(t.ifConditions=[]),t.ifConditions.push(e)}function pa(t){var e=t.name.replace(na,"");return e||"#"!==t.name[0]&&(e="default"),Xo.test(e)?{name:e.slice(1,-1),dynamic:!0}:{name:'"'+e+'"',dynamic:!1}}function da(t){var e=t.match(ra);if(e){var r={};return e.forEach((function(t){r[t.slice(1)]=!0})),r}}function ha(t){for(var e={},r=0,n=t.length;r<n;r++)e[t[r].name]=t[r].value;return e}var va=/^xmlns:NS\d+/,ya=/^NS\d+:/;function ma(t){return sa(t.tag,t.attrsList.slice(),t.parent)}var ba=[vo,mo,{preTransformNode:function(t,e){if("input"===t.tag){var r,n=t.attrsMap;if(!n["v-model"])return;if((n[":type"]||n["v-bind:type"])&&(r=Fn(t,"type")),n.type||r||!n["v-bind"]||(r="("+n["v-bind"]+").type"),r){var i=Ln(t,"v-if",!0),o=i?"&&("+i+")":"",a=null!=Ln(t,"v-else",!0),s=Ln(t,"v-else-if",!0),u=ma(t);la(u),In(u,"type","checkbox"),ca(u,e),u.processed=!0,u.if="("+r+")==='checkbox'"+o,fa(u,{exp:u.if,block:u});var c=ma(t);Ln(c,"v-for",!0),In(c,"type","radio"),ca(c,e),fa(u,{exp:"("+r+")==='radio'"+o,block:c});var l=ma(t);return Ln(l,"v-for",!0),In(l,":type",r),ca(l,e),fa(u,{exp:i,block:l}),a?u.else=!0:s&&(u.elseif=s),u}}}}];var ga,Oa,_a={expectHTML:!0,modules:ba,directives:{model:function(t,e,r){r;var n=e.value,i=e.modifiers,o=t.tag,a=t.attrsMap.type;if(t.component)return Bn(t,n,i),!1;if("select"===o)!function(t,e,r){var n='var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(r&&r.number?"_n(val)":"val")+"});";n=n+" "+Hn(e,"$event.target.multiple ? $$selectedVal : $$selectedVal[0]"),Tn(t,"change",n,null,!0)}(t,n,i);else if("input"===o&&"checkbox"===a)!function(t,e,r){var n=r&&r.number,i=Fn(t,"value")||"null",o=Fn(t,"true-value")||"true",a=Fn(t,"false-value")||"false";Pn(t,"checked","Array.isArray("+e+")?_i("+e+","+i+")>-1"+("true"===o?":("+e+")":":_q("+e+","+o+")")),Tn(t,"change","var $$a="+e+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(n?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Hn(e,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Hn(e,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Hn(e,"$$c")+"}",null,!0)}(t,n,i);else if("input"===o&&"radio"===a)!function(t,e,r){var n=r&&r.number,i=Fn(t,"value")||"null";Pn(t,"checked","_q("+e+","+(i=n?"_n("+i+")":i)+")"),Tn(t,"change",Hn(e,i),null,!0)}(t,n,i);else if("input"===o||"textarea"===o)!function(t,e,r){var n=t.attrsMap.type;0;var i=r||{},o=i.lazy,a=i.number,s=i.trim,u=!o&&"range"!==n,c=o?"change":"range"===n?"__r":"input",l="$event.target.value";s&&(l="$event.target.value.trim()");a&&(l="_n("+l+")");var f=Hn(e,l);u&&(f="if($event.target.composing)return;"+f);Pn(t,"value","("+e+")"),Tn(t,c,f,null,!0),(s||a)&&Tn(t,"blur","$forceUpdate()")}(t,n,i);else{if(!L.isReservedTag(o))return Bn(t,n,i),!1}return!0},text:function(t,e){e.value&&Pn(t,"textContent","_s("+e.value+")",e)},html:function(t,e){e.value&&Pn(t,"innerHTML","_s("+e.value+")",e)}},isPreTag:function(t){return"pre"===t},isUnaryTag:go,mustUseProp:Ir,canBeLeftOpenTag:Oo,isReservedTag:Gr,getTagNamespace:Yr,staticKeys:function(t){return t.reduce((function(t,e){return t.concat(e.staticKeys||[])}),[]).join(",")}(ba)},wa=w((function(t){return y("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(t?","+t:""))}));function ka(t,e){t&&(ga=wa(e.staticKeys||""),Oa=e.isReservedTag||P,function t(e){if(e.static=function(t){if(2===t.type)return!1;if(3===t.type)return!0;return!(!t.pre&&(t.hasBindings||t.if||t.for||m(t.tag)||!Oa(t.tag)||function(t){for(;t.parent;){if("template"!==(t=t.parent).tag)return!1;if(t.for)return!0}return!1}(t)||!Object.keys(t).every(ga)))}(e),1===e.type){if(!Oa(e.tag)&&"slot"!==e.tag&&null==e.attrsMap["inline-template"])return;for(var r=0,n=e.children.length;r<n;r++){var i=e.children[r];t(i),i.static||(e.static=!1)}if(e.ifConditions)for(var o=1,a=e.ifConditions.length;o<a;
vendor: 6,107 bytes, line 39588
39588o++){var s=e.ifConditions[o].block;t(s),s.static||(e.static=!1)}}}(t),function t(e,r){if(1===e.type){if((e.static||e.once)&&(e.staticInFor=r),e.static&&e.children.length&&(1!==e.children.length||3!==e.children[0].type))return void(e.staticRoot=!0);if(e.staticRoot=!1,e.children)for(var n=0,i=e.children.length;n<i;n++)t(e.children[n],r||!!e.for);if(e.ifConditions)for(var o=1,a=e.ifConditions.length;o<a;o++)t(e.ifConditions[o].block,r)}}(t,!1))}var Sa=/^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/,ja=/\([^)]*?\);*$/,xa=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,$a={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Ca={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},Aa=function(t){return"if("+t+")return null;"},Ra={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:Aa("$event.target !== $event.currentTarget"),ctrl:Aa("!$event.ctrlKey"),shift:Aa("!$event.shiftKey"),alt:Aa("!$event.altKey"),meta:Aa("!$event.metaKey"),left:Aa("'button' in $event && $event.button !== 0"),middle:Aa("'button' in $event && $event.button !== 1"),right:Aa("'button' in $event && $event.button !== 2")};function Ea(t,e){var r=e?"nativeOn:":"on:",n="",i="";for(var o in t){var a=Qa(t[o]);t[o]&&t[o].dynamic?i+=o+","+a+",":n+='"'+o+'":'+a+","}return n="{"+n.slice(0,-1)+"}",i?r+"_d("+n+",["+i.slice(0,-1)+"])":r+n}function Qa(t){if(!t)return"function(){}";if(Array.isArray(t))return"["+t.map((function(t){return Qa(t)})).join(",")+"]";var e=xa.test(t.value),r=Sa.test(t.value),n=xa.test(t.value.replace(ja,""));if(t.modifiers){var i="",o="",a=[];for(var s in t.modifiers)if(Ra[s])o+=Ra[s],$a[s]&&a.push(s);else if("exact"===s){var u=t.modifiers;o+=Aa(["ctrl","shift","alt","meta"].filter((function(t){return!u[t]})).map((function(t){return"$event."+t+"Key"})).join("||"))}else a.push(s);return a.length&&(i+=function(t){return"if(!$event.type.indexOf('key')&&"+t.map(Pa).join("&&")+")return null;"}(a)),o&&(i+=o),"function($event){"+i+(e?"return "+t.value+".apply(null, arguments)":r?"return ("+t.value+").apply(null, arguments)":n?"return "+t.value:t.value)+"}"}return e||r?t.value:"function($event){"+(n?"return "+t.value:t.value)+"}"}function Pa(t){var e=parseInt(t,10);if(e)return"$event.keyCode!=="+e;var r=$a[t],n=Ca[t];return"_k($event.keyCode,"+JSON.stringify(t)+","+JSON.stringify(r)+",$event.key,"+JSON.stringify(n)+")"}var Ma={on:function(t,e){t.wrapListeners=function(t){return"_g("+t+","+e.value+")"}},bind:function(t,e){t.wrapData=function(r){return"_b("+r+",'"+t.tag+"',"+e.value+","+(e.modifiers&&e.modifiers.prop?"true":"false")+(e.modifiers&&e.modifiers.sync?",true":"")+")"}},cloak:Q},Ia=function(t){this.options=t,this.warn=t.warn||En,this.transforms=Qn(t.modules,"transformCode"),this.dataGenFns=Qn(t.modules,"genData"),this.directives=R(R({},Ma),t.directives);var e=t.isReservedTag||P;this.maybeComponent=function(t){return!!t.component||!e(t.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function qa(t,e){var r=new Ia(e);return{render:"with(this){return "+(t?"script"===t.tag?"null":Da(t,r):'_c("div")')+"}",staticRenderFns:r.staticRenderFns}}function Da(t,e){if(t.parent&&(t.pre=t.pre||t.parent.pre),t.staticRoot&&!t.staticProcessed)return Ta(t,e);if(t.once&&!t.onceProcessed)return Fa(t,e);if(t.for&&!t.forProcessed)return Na(t,e);if(t.if&&!t.ifProcessed)return La(t,e);if("template"!==t.tag||t.slotTarget||e.pre){if("slot"===t.tag)return function(t,e){var r=t.slotName||'"default"',n=Ua(t,e),i="_t("+r+(n?",function(){return "+n+"}":""),o=t.attrs||t.dynamicAttrs?Wa((t.attrs||[]).concat(t.dynamicAttrs||[]).map((function(t){return{name:S(t.name),value:t.value,dynamic:t.dynamic}}))):null,a=t.attrsMap["v-bind"];!o&&!a||n||(i+=",null");o&&(i+=","+o);a&&(i+=(o?"":",null")+","+a);return i+")"}(t,e);var r;if(t.component)r=function(t,e,r){var n=e.inlineTemplate?null:Ua(e,r,!0);return"_c("+t+","+Va(e,r)+(n?","+n:"")+")"}(t.component,t,e);else{var n;(!t.plain||t.pre&&e.maybeComponent(t))&&(n=Va(t,e));var i=t.inlineTemplate?null:Ua(t,e,!0);r="_c('"+t.tag+"'"+(n?","+n:"")+(i?","+i:"")+")"}for(var o=0;o<e.transforms.length;o++)r=e.transforms[o](t,r);return r}return Ua(t,e)||"void 0"}function Ta(t,e){t.staticProcessed=!0;var r=e.pre;return t.pre&&(e.pre=t.pre),e.staticRenderFns.push("with(this){return "+Da(t,e)+"}"),e.pre=r,"_m("+(e.staticRenderFns.length-1)+(t.staticInFor?",true":"")+")"}function Fa(t,e){if(t.onceProcessed=!0,t.if&&!t.ifProcessed)return La(t,e);if(t.staticInFor){for(var r="",n=t.parent;n;){if(n.for){r=n.key;break}n=n.parent}return r?"_o("+Da(t,e)+","+e.onceId+++","+r+")":Da(t,e)}return Ta(t,e)}function La(t,e,r,n){return t.ifProcessed=!0,function t(e,r,n,i){if(!e.length)return i||"_e()";var o=e.shift();return o.exp?"("+o.exp+")?"+a(o.block)+":"+t(e,r,n,i):""+a(o.block);function a(t){return n?n(t,r):t.once?Fa(t,r):Da(t,r)}}(t.ifConditions.slice(),e,r,n)}function Na(t,e,r,n){var i=t.for,o=t.alias,a=t.iterator1?","+t.iterator1:"",s=t.iterator2?","+t.iterator2:"";return t.forProcessed=!0,(n||"_l")+"(("+i+"),function("+o+a+s+"){return "+(r||Da)(t,e)+"})"}function Va(t,e){var r="{",n=function(t,e){var r=t.directives;if(!r)return;var n,i,o,a,s="directives:[",u=!1;for(n=0,i=r.length;n<i;n++){o=r[n],a=!0;var c=e.directives[o.name];c&&(a=!!c(t,o,e.warn)),a&&(u=!0,s+='{name:"'+o.name+'",rawName:"'+o.rawName+'"'+(o.value?",value:("+o.value+"),expression:"+JSON.stringify(o.value):"")+(o.arg?",arg:"+(o.isDynamicArg?o.arg:'"'+o.arg+'"'):"")+(o.modifiers?",modifiers:"+JSON.stringify(o.modifiers):"")+"},")}if(u)return s.slice(0,-1)+"]"}(t,e);n&&(r+=n+","),t.key&&(r+="key:"+t.key+","),t.ref&&(r+="ref:"+t.ref+","),t.refInFor&&(r+="refInFor:true,"),t.pre&&(r+="pre:true,"),t.component&&(r+='tag:"'+t.tag+'",');for(var i=0;i<e.dataGenFns.length;i++)r+=e.dataGenFns[i](t);if(t.attrs&&(r+="attrs:"+Wa(t.attrs)+","),t.props&&(r+="domProps:"+Wa(t.props)+","),t.events&&(r+=Ea(t.events,!1)+","),t.n
39588ativeEvents&&(r+=Ea(t.nativeEvents,!0)+","),t.slotTarget&&!t.slotScope&&(r+="slot:"+t.slotTarget+","),t.scopedSlots&&(r+=function(t,e,r){var n=t.for||Object.keys(e).some((function(t){var r=e[t];return r.slotTargetDynamic||r.if||r.for||Ba(r)})),i=!!t.if;if(!n)for(var o=t.parent;o;){if(o.slotScope&&"_empty_"!==o.slotScope||o.for){n=!0;break}o.if&&(i=!0),o=o.parent}var a=Object.keys(e).map((function(t){return Ha(e[t],r)})).join(",");return"scopedSlots:_u(["+a+"]"+(n?",null,true":"")+(!n&&i?",null,false,"+function(t){var e=5381,r=t.length;for(;r;)e=33*e^t.charCodeAt(--r);return e>>>0}(a):"")+")"}(t,t.scopedSlots,e)+","),t.model&&(r+="model:{value:"+t.model.value+",callback:"+t.model.callback+",expression:"+t.model.expression+"},"),t.inlineTemplate){var o=function(t,e){var r=t.children[0];0;if(r&&1===r.type){var n=qa(r,e.options);return"inlineTemplate:{render:function(){"+n.render+"},staticRenderFns:["+n.staticRenderFns.map((function(t){return"function(){"+t+"}"})).join(",")+"]}"}}(t,e);o&&(r+=o+",")}return r=r.replace(/,$/,"")+"}",t.dynamicAttrs&&(r="_b("+r+',"'+t.tag+'",'+Wa(t.dynamicAttrs)+")"),t.wrapData&&(r=t.wrapData(r)),t.wrapListeners&&(r=t.wrapListeners(r)),r}function Ba(t){return 1===t.type&&("slot"===t.tag||t.children.some(Ba))}function Ha(t,e){var r=t.attrsMap["slot-scope"];if(t.if&&!t.ifProcessed&&!r)return La(t,e,Ha,"null");if(t.for&&!t.forProcessed)return Na(t,e,Ha);var n="_empty_"===t.slotScope?"":String(t.slotScope),i="function("+n+"){return "+("template"===t.tag?t.if&&r?"("+t.if+")?"+(Ua(t,e)||"undefined")+":undefined":Ua(t,e)||"undefined":Da(t,e))+"}",o=n?"":",proxy:true";return"{key:"+(t.slotTarget||'"default"')+",fn:"+i+o+"}"}function Ua(t,e,r,n,i){var o=t.children;if(o.length){var a=o[0];if(1===o.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){var s=r?e.maybeComponent(a)?",1":",0":"";return""+(n||Da)(a,e)+s}var u=r?function(t,e){for(var r=0,n=0;n<t.length;n++){var i=t[n];if(1===i.type){if(za(i)||i.ifConditions&&i.ifConditions.some((function(t){return za(t.block)}))){r=2;break}(e(i)||i.ifConditions&&i.ifConditions.some((function(t){return e(t.block)})))&&(r=1)}}return r}(o,e.maybeComponent):0,c=i||Ka;return"["+o.map((function(t){return c(t,e)})).join(",")+"]"+(u?","+u:"")}}function za(t){return void 0!==t.for||"template"===t.tag||"slot"===t.tag}function Ka(t,e){return 1===t.type?Da(t,e):3===t.type&&t.isComment?function(t){return"_e("+JSON.stringify(t.text)+")"}(t):function(t){return"_v("+(2===t.type?t.expression:Ja(JSON.stringify(t.text)))+")"}(t)}function Wa(t){for(var e="",r="",n=0;n<t.length;n++){var i=t[n],o=Ja(i.value);i.dynamic?r+=i.name+","+o+",":e+='"'+i.name+'":'+o+","}return e="{"+e.slice(0,-1)+"}",r?"_d("+e+",["+r.slice(0,-1)+"])":e}function Ja(t){return t.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b"),new RegExp("\\b"+"delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b")+"\\s*\\([^\\)]*\\)");function Ga(t,e){try{return new Function(t)}catch(r){return e.push({err:r,code:t}),Q}}function Ya(t){var e=Object.create(null);return function(r,n,i){(n=R({},n)).warn;delete n.warn;var o=n.delimiters?String(n.delimiters)+r:r;if(e[o])return e[o];var a=t(r,n);var s={},u=[];return s.render=Ga(a.render,u),s.staticRenderFns=a.staticRenderFns.map((function(t){return Ga(t,u)})),e[o]=s}}var Za,Xa,ts=(Za=function(t,e){var r=ua(t.trim(),e);!1!==e.optimize&&ka(r,e);var n=qa(r,e);return{ast:r,render:n.render,staticRenderFns:n.staticRenderFns}},function(t){function e(e,r){var n=Object.create(t),i=[],o=[];if(r)for(var a in r.modules&&(n.modules=(t.modules||[]).concat(r.modules)),r.directives&&(n.directives=R(Object.create(t.directives||null),r.directives)),r)"modules"!==a&&"directives"!==a&&(n[a]=r[a]);n.warn=function(t,e,r){(r?o:i).push(t)};var s=Za(e.trim(),n);return s.errors=i,s.tips=o,s}return{compile:e,compileToFunctions:Ya(e)}})(_a),es=(ts.compile,ts.compileToFunctions);function rs(t){return(Xa=Xa||document.createElement("div")).innerHTML=t?'<a href="\n"/>':'<div a="\n"/>',Xa.innerHTML.indexOf(" ")>0}var ns=!!K&&rs(!1),is=!!K&&rs(!0),os=w((function(t){var e=tn(t);return e&&e.innerHTML})),as=jr.prototype.$mount;jr.prototype.$mount=function(t,e){if((t=t&&tn(t))===document.body||t===document.documentElement)return this;var r=this.$options;if(!r.render){var n=r.template;if(n)if("string"==typeof n)"#"===n.charAt(0)&&(n=os(n));else{if(!n.nodeType)return this;n=n.innerHTML}else t&&(n=function(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}(t));if(n){0;var i=es(n,{outputSourceRange:!1,shouldDecodeNewlines:ns,shouldDecodeNewlinesForHref:is,delimiters:r.delimiters,comments:r.comments},this),o=i.render,a=i.staticRenderFns;r.render=o,r.staticRenderFns=a}}return as.call(this,t,e)},jr.compile=es,e.default=jr}.call(this,r(12),r(90).setImmediate)},,,,,,,,,,,,,,,,,,,,,,,function(t,e){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},,function(t,e){var r=t.exports={version:"2.6.12"};"number"==typeof __e&&(__e=r)},function(t,e,r){var n=r(237)("wks"),i=r(182),o=r(58).Symbol,a="function"==typeof o;(t.exports=function(t){return n[t]||(n[t]=a&&o[t]||(a?o:i)("Symbol."+t))}).store=n},,,,,,,,,,,,,,,,,,function(t,e,r){"use strict";r.r(e),r.d(e,"ApolloLink",(function(){return g})),r.d(e,"concat",(function(){return b})),r.d(e,"createOperation",(function(){return p})),r.d(e,"empty",(function(){return v})),r.d(e,"execute",(function(){return O})),r.d(e,"from",(function(){return y}
vendor: 4,310 bytes, line 39588
39588)),r.d(e,"fromError",(function(){return f})),r.d(e,"fromPromise",(function(){return l})),r.d(e,"makePromise",(function(){return c})),r.d(e,"split",(function(){return m})),r.d(e,"toPromise",(function(){return u}));var n=r(20);r.d(e,"Observable",(function(){return n.a}));var i=r(3),o=r(0),a=r(1);r.d(e,"getOperationName",(function(){return a.n}));!function(t){function e(e,r){var n=t.call(this,e)||this;return n.link=r,n}Object(o.c)(e,t)}(Error);function s(t){return t.request.length<=1}function u(t){var e=!1;return new Promise((function(r,n){t.subscribe({next:function(t){e||(e=!0,r(t))},error:n})}))}var c=u;function l(t){return new n.a((function(e){t.then((function(t){e.next(t),e.complete()})).catch(e.error.bind(e))}))}function f(t){return new n.a((function(e){e.error(t)}))}function p(t,e){var r=Object(o.a)({},t);return Object.defineProperty(e,"setContext",{enumerable:!1,value:function(t){r="function"==typeof t?Object(o.a)({},r,t(r)):Object(o.a)({},r,t)}}),Object.defineProperty(e,"getContext",{enumerable:!1,value:function(){return Object(o.a)({},r)}}),Object.defineProperty(e,"toKey",{enumerable:!1,value:function(){return function(t){var e=t.query,r=t.variables,n=t.operationName;return JSON.stringify([n,e,r])}(e)}}),e}function d(t,e){return e?e(t):n.a.of()}function h(t){return"function"==typeof t?new g(t):t}function v(){return new g((function(){return n.a.of()}))}function y(t){return 0===t.length?v():t.map(h).reduce((function(t,e){return t.concat(e)}))}function m(t,e,r){var i=h(e),o=h(r||new g(d));return s(i)&&s(o)?new g((function(e){return t(e)?i.request(e)||n.a.of():o.request(e)||n.a.of()})):new g((function(e,r){return t(e)?i.request(e,r)||n.a.of():o.request(e,r)||n.a.of()}))}var b=function(t,e){var r=h(t);if(s(r))return r;var i=h(e);return s(i)?new g((function(t){return r.request(t,(function(t){return i.request(t)||n.a.of()}))||n.a.of()})):new g((function(t,e){return r.request(t,(function(t){return i.request(t,e)||n.a.of()}))||n.a.of()}))},g=function(){function t(t){t&&(this.request=t)}return t.prototype.split=function(e,r,n){return this.concat(m(e,r,n||new t(d)))},t.prototype.concat=function(t){return b(this,t)},t.prototype.request=function(t,e){throw new i.a(1)},t.empty=v,t.from=y,t.split=m,t.execute=O,t}();function O(t,e){return t.request(p(e.context,function(t){var e={variables:t.variables||{},extensions:t.extensions||{},operationName:t.operationName,query:t.query};return e.operationName||(e.operationName="string"!=typeof e.query?Object(a.n)(e.query):""),e}(function(t){for(var e=["query","operationName","variables","extensions","context"],r=0,n=Object.keys(t);r<n.length;r++){var o=n[r];if(e.indexOf(o)<0)throw new i.a(2)}return t}(e))))||n.a.of()}},function(t,e,r){var n=r(89);t.exports=function(t){if(!n(t))throw TypeError(t+" is not an object!");return t}},,function(t,e,r){r(383),r(240),r(232),r(384),r(395),r(396),t.exports=r(60).Promise},,,,,,function(t,e,r){r(232),r(240),t.exports=r(327)},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},,function(t,e,r){"use strict";r.r(e),function(t){r.d(e,"ApolloMutation",(function(){return tt})),r.d(e,"ApolloProvider",(function(){return Y})),r.d(e,"ApolloQuery",(function(){return Z})),r.d(e,"ApolloSubscribeToMore",(function(){return X})),r.d(e,"install",(function(){return G}));var n=r(23);function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function s(t,e,r){return e&&a(t.prototype,e),r&&a(t,r),t}function u(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function c(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function l(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};
39588e%2?c(Object(r),!0).forEach((function(e){u(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function f(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&d(t,e)}function p(t){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function d(t,e){return(d=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function v(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?h(t):e}function y(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=p(t);if(e){var i=p(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return v(this,r)}}function m(t,e,r){return(m="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,r){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=p(t)););return t}(t,e);if(n){var i=Object.getOwnPropertyDescriptor(n,e);return i.get?i.get.call(r):i.value}})(t,e,r||t)}function b(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],n=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw o}}return r}(t,e)||O(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(t){return function(t){if(Array.isArray(t))return _(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||O(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O(t,e){if(t){if("string"==typeof t)return _(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_(t,e):void 0}}function _(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==t||"undefined"!=typeof self&&self;function w(t,e){return t(e={exports:{}},e.exports),e.exports}var k,S=w((function(t,e){!function(t){function e(t,e,r,n){var i,o=!1,a=0;function s(){i&&clearTimeout(i)}function u(){for(var u=arguments.length,c=new Array(u),l=0;l<u;l++)c[l]=arguments[l];var f=this,p=Date.now()-a;function d(){a=Date.now(),r.apply(f,c)}function h(){i=void 0}o||(n&&!i&&d(),s(),void 0===n&&p>t?d():!0!==e&&(i=setTimeout(n?h:d,void 0===n?t-p:t)))}return"boolean"!=typeof e&&(n=r,r=e,e=void 0),u.cancel=function(){s(),o=!0},u}t.debounce=function(t,r,n){return void 0===n?e(t,r,!1):e(t,n,!1!==r)},t.throttle=e,Object.defineProperty(t,"__esModule",{value:!0})}(e)}));(k=S)&&k.__esModule&&Object.prototype.hasOwnProperty.call(k,"default")&&k.default;var j=w((function(t,e){var r=e.Globals={};function n(t){return function(e,r){return t(r,e)}}e.throttle=n(S.throttle),e.debounce=n(S.debounce),e.getMergedDefinition=function(t){return r.Vue.util.mergeOptions({},t)},e.reapply=function(t,e){for(;"function"==typeof t;)t=t.call(e);return t},e.omit=function(t,e){return Object.entries(t).filter((function(t){var r=b(t,1)[0];return!e.includes(r)})).reduce((function(t,e){var r=b(e,2),n=r[0],i=r[1];return t[n]=i,t}),{})},e.addGqlError=function(t){t.graphQLErrors&&t.graphQLErrors.length&&(t.gqlError=t.graphQLErrors[0])},e.noop=function(){}})),x=j.Globals,$=j.throttle,C=j.debounce,A=(j.getMergedDefinition,j.reapply),R=j.omit,E=j.addGqlError,Q=(j.no
vendor: 36,479 bytes, line 39588
39588op,function(){function t(e,r,n){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];o(this,t),u(this,"type",null),u(this,"vueApolloSpecialKeys",[]),this.vm=e,this.key=r,this.initialOptions=n,this.options=Object.assign({},n),this._skip=!1,this._pollInterval=null,this._watchers=[],this._destroyed=!1,this.lastApolloOptions=null,i&&this.autostart()}return s(t,[{key:"autostart",value:function(){var t=this;"function"==typeof this.options.skip?this._skipWatcher=this.vm.$watch((function(){return t.options.skip.call(t.vm,t.vm,t.key)}),this.skipChanged.bind(this),{immediate:!0,deep:this.options.deep}):this.options.skip?this._skip=!0:this.start(),"function"==typeof this.options.pollInterval&&(this._pollWatcher=this.vm.$watch(this.options.pollInterval.bind(this.vm),this.pollIntervalChanged.bind(this),{immediate:!0}))}},{key:"pollIntervalChanged",value:function(t,e){t!==e&&(this.pollInterval=t,null==t?this.stopPolling():this.startPolling(t))}},{key:"skipChanged",value:function(t,e){t!==e&&(this.skip=t)}},{key:"pollInterval",get:function(){return this._pollInterval},set:function(t){this._pollInterval=t}},{key:"skip",get:function(){return this._skip},set:function(t){t?this.stop():this.start(),this._skip=t}},{key:"refresh",value:function(){this._skip||(this.stop(),this.start())}},{key:"start",value:function(){var t=this;this.starting=!0;for(var e=function(e,r){var n=r[e];if("function"==typeof t.initialOptions[n]){var i=t.initialOptions[n].bind(t.vm);t.options[n]=i();var o=function(e){t.options[n]=e,t.refresh()};t.vm.$isServer||(o=t.options.throttle?$(o,t.options.throttle):o,o=t.options.debounce?C(o,t.options.debounce):o),t._watchers.push(t.vm.$watch(i,o,{deep:t.options.deep}))}},r=0,n=["query","document","context"];r<n.length;r++)e(r,n);if("function"==typeof this.options.variables){var i=this.executeApollo.bind(this);this.vm.$isServer||(i=this.options.throttle?$(i,this.options.throttle):i,i=this.options.debounce?C(i,this.options.debounce):i),this._watchers.push(this.vm.$watch((function(){return"function"==typeof t.options.variables?t.options.variables.call(t.vm):t.options.variables}),i,{immediate:!0,deep:this.options.deep}))}else this.executeApollo(this.options.variables)}},{key:"stop",value:function(){for(var t=0,e=this._watchers;t<e.length;t++){(0,e[t])()}this.sub&&(this.sub.unsubscribe(),this.sub=null)}},{key:"generateApolloOptions",value:function(t){var e=R(this.options,this.vueApolloSpecialKeys);return e.variables=t,this.lastApolloOptions=e,e}},{key:"executeApollo",value:function(t){this.starting=!1}},{key:"nextResult",value:function(t){var e=t.error;e&&E(e)}},{key:"callHandlers",value:function(t){for(var e=!1,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];for(var o=0;o<t.length;o++){var a=t[o];if(a){e=!0;var s=a.apply(this.vm,n);if(void 0!==s&&!s)break}}return e}},{key:"errorHandler",value:function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return this.callHandlers.apply(this,[[this.options.error,this.vm.$apollo.error,this.vm.$apollo.provider.errorHandler]].concat(e))}},{key:"catchError",value:function(t){if(E(t),!this.errorHandler(t,this.vm,this.key,this.type,this.lastApolloOptions))if(t.graphQLErrors&&0!==t.graphQLErrors.length){console.error("GraphQL execution errors for ".concat(this.type," '").concat(this.key,"'"));for(var e=0,r=t.graphQLErrors;e<r.length;e++){var n=r[e];console.error(n)}}else if(t.networkError)console.error("Error sending the ".concat(this.type," '").concat(this.key,"'"),t.networkError);else{var i;if(console.error("[vue-apollo] An error has occurred for ".concat(this.type," '").concat(this.key,"'")),Array.isArray(t))(i=console).error.apply(i,g(t));else console.error(t)}}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this.stop(),this._skipWatcher&&this._skipWatcher())}}]),t}()),P=["variables","watch","update","result","error","loadingKey","watchLoading","skip","throttle","debounce","subscribeToMore","prefetch","manual"],M=function(t){f(r,t);var e=y(r);function r(t,n,i){var a,s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return o(this,r),t.$data.$apolloData&&!t.$data.$apolloData.queries[n]&&t.$set(t.$data.$apolloData.queries,n,{loading:!1}),u(h(a=e.call(this,t,n,i,!1)),"type","query"),u(h(a),"vueApolloSpecialKeys",P),u(h(a),"_loading",!1),u(h(a),"_linkedSubscriptions",[]),t.$isServer&&(a.firstRun=new Promise((function(t,e){a._firstRunResolve=t,a._firstRunReject=e}))),a.vm.$isServer&&(a.options.fetchPolicy="network-only"),i.manual||(a.hasDataField=Object.prototype.hasOwnProperty.call(a.vm.$data,n),a.hasDataField?Object.defineProperty(a.vm.$data.$apolloData.data,n,{get:function(){return a.vm.$data[n]},enumerable:!0,configurable:!0}):Object.defineProperty(a.vm.$data,n,{get:function(){return a.vm.$data.$apolloData.data[n]},enumerable:!0,configurable:!0})),s&&a.autostart(),a}return s(r,[{key:"client",get:function(){return this.vm.$apollo.getClient(this.options)}},{key:"loading",get:function(){return this.vm.$data.$apolloData&&this.vm.$data.$apolloData.queries[this.key]?this.vm.$data.$apolloData.queries[this.key].loading:this._loading},set:function(t){this._loading!==t&&(this._loading=t,this.vm.$data.$apolloData&&this.vm.$data.$apolloData.queries[this.key]&&(this.vm.$data.$apolloData.queries[this.key].loading=t,this.vm.$data.$apolloData.loading+=t?1:-1))}},{key:"stop",value:function(){m(p(r.prototype),"stop",this).call(this),this.loadingDone(),this.observer&&(this.observer.stopPolling(),this.observer=null)}},{key:"generateApolloOptions",value:function(t){var e=m(p(r.prototype),"generateApolloOptions",this).call(this,t);return this.vm.$isServer&&delete e.pollInterval,e}},{key:"executeApollo",value:function(t){var e=JSON.stringify(t);if(this.sub){if(e===this.previousVariablesJson)return;this.sub.unsubscribe();for(var n=0,i=this._linkedSubscriptions;n<i.length;n++){i[n].stop()}}if(this.previousVariablesJson=e,this.observer=this.vm.$apollo.watchQuery(this.generateApolloOptions(t)),this.startQuerySubscription(),"no-cache"!==this.options.fetchPolicy||this.options.notifyOnNetworkStatusChange){var o=this.retrieveCurrentResult();(this.options.notifyOnNetworkStatusChange||this.observer.getCurrentResult&&!o.loading)&&this.nextResult(o)}m(p(r.prototype),"executeApollo",this).call(this,t);for(var a=0,s=this._linkedSubscriptions;a<s.length;a++){s[a].start()}}},{key:"startQuerySubscription",value:function(){this.sub&&!this.sub.closed||(this.sub=this.observer.subscribe({next:this.nextResult.bind(this),error:this.catchError.bind(this)}))}},{key:"retrieveCurrentResult",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.observer.getCurrentResult?this.observer.getCurrentResult():this.observer.currentResult();return(t||e.loading)&&(this.loading||this.applyLoadingModifier(1),this.loading=!0),e}},{key:"nextResult",value:function(t){m(p(r.prototype),"nextResult",this).call(this,t);var e=t.data,n=t.loading,i=t.error,o=t.errors,a=o&&o.length;if((i||a)&&this.firstRunReject(i),n||this.loadingDone(),a){var s=new Error("GraphQL error: ".concat(o.map((function(t){return t.message})).join(" | ")));Object.assign(s,{graphQLErrors:o,networkError:null}),m(p(r.prototype),"catchError",this).call(this,s)}if("none"!==this.observer.options.errorPolicy||!i&&!a){var u="function"==typeof this.options.result;null==e||(this.options.manual?u||console.error("".concat(this.key," query must have a 'result' hook in manual mode")):"function"==typeof this.options.update?this.setData(this.options.update.call(this.vm,e)):void 0===e[this.key]&&Object.keys(e).length?console.error("Missing ".concat(this.key," attribute on result"),e):this.setData(e[this.key])),u&&this.options.result.call(this.vm,t,this.key)}}},{key:"setData",value:function(t){this.vm.$set(this.hasDataField?this.vm.$data:this.vm.$data.$apolloData.data,this.key,t)}},{key:"catchError",value:function(t){m(p(r.prototype),"catchError",this).call(this,t),this.firstRunReject(t),this.loadingDone(t),this.nextResult(this.observer.getCurrentResult?this.observer.getCurrentResult():this.observer.currentResult()),this.resubscribeToQuery()}},{key:"resubscribeToQuery",value:function(){var t=this.observer.getLastError(),e=this.observer.getLastResult();this.observer.resetLastResults(),this.startQuerySubscription(),Object.assign(this.observer,{lastError:t,lastResult:e})}},{key:"loadingKey",get:function(){return this.options.loadingKey||this.vm.$apollo.loadingKey}},{key:"watchLoading",value:function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return this.callHandlers.apply(this,[[this.options.watchLoading,this.vm.$apollo.watchLoading,this.vm.$apollo.provider.watchLoading]].concat(e,[this]))}},{key:"applyLoadingModifier",value:function(t){var e=this.loadingKey;e&&"number"==typeof this.vm[e]&&(this.vm[e]+=t),this.watchLoading(1===t,t)}},{key:"loadingDone",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.loading&&this.applyLoadingModifier(-1),this.loading=!1,t||this.firstRunResolve()}},{key:"fetchMore",value:function(){var t,e=this;if(this.observer)return this.retrieveCurrentResult(!0),(t=this.observer).fetchMore.apply(t,arguments).then((function(t){return t.loading||e.loadingDone(),t}))}},{key:"subscribeToMore",value:function(){var t;if(this.observer)return{unsubscribe:(t=this.observer).subscribeToMore.apply(t,arguments)}}},{key:"refetch",value:function(t){var e=this;if(t&&(this.options.variables=t),this.observer){var r=this.observer.refetch(t).then((function(t){return t.loading||e.loadingDone(),t}));return this.retrieveCurrentResult(),r}}},{key:"setVariables",value:function(t,e){if(this.options.variables=t,this.observer){var r=this.observer.setVariables(t,e);return this.retrieveCurrentResult(),r}}},{key:"setOptions",value:function(t){if(Object.assign(this.options,t),this.observer){var e=this.observer.setOptions(t);return this.retrieveCurrentResult(),e}}},{key:"startPolling",value:function(){var t;if(this.observer)return(t=this.observer).startPolling.apply(t,arguments)}},{key:"stopPolling",value:function(){var t;if(this.observer)return(t=this.observer).stopPolling.apply(t,arguments)}},{key:"firstRunResolve",value:function(){this._firstRunResolve&&(this._firstRunResolve(),this._firstRunResolve=null)}},{key:"firstRunReject",value:function(t){this._firstRunReject&&(this._firstRunReject(t),this._firstRunReject=null)}},{key:"destroy",value:function(){m(p(r.prototype),"destroy",this).call(this),this.loading&&this.watchLoading(!1,-1),this.loading=!1}}]),r}(Q),I=function(t){f(r,t);var e=y(r);function r(){var t;o(this,r);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return u(h(t=e.call.apply(e,[this].concat(i))),"type","subscription"),u(h(t),"vueApolloSpecialKeys",["variables","result","error","throttle","debounce","linkedQuery"]),t}return s(r,[{key:"executeApollo",value:function(t){var e=JSON.stringify(t);if(this.sub){if(e===this.previousVariablesJson)return;this.sub.unsubscribe()}this.previousVariablesJson=e;var n=this.generateApolloOptions(t);if("function"==typeof n.updateQuery&&(n.updateQuery=n.updateQuery.bind(this.vm)),this.options.linkedQuery){if("function"==typeof this.options.result){var i=this.options.result.bind(this.vm),o=n.updateQuery&&n.updateQuery.bind(this.vm);n.updateQuery=function(){return i.apply(void 0,arguments),o&&o.apply(void 0,arguments)}}this.sub=this.options.linkedQuery.subscribeToMore(n)}else this.observer=this.vm.$apollo.subscribe(n),this.sub=this.observer.subscribe({next:this.nextResult.bind(this),error:this.catchError.bind(this)});m(p(r.prototype),"executeApollo",this).call(this,t)}},{key:"nextResult",value:function(t){m(p(r.prototype),"nextResult",this).call(this,t),"function"==typeof this.options.result&&this.options.result.call(this.vm,t,this.key)}}]),r}(Q),q=function(){function t(e){o(this,t),this._apolloSubscriptions=[],this._watchers=[],this.vm=e,this.queries={},this.subscriptions={},this.client=void 0,this.loadingKey=void 0,this.error=void 0}return s(t,[{key:"provider",get:function(){return this.vm.$apolloProvider}},{key:"getClient",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(!t||!t.client){if("object"===i(this.client))return this.client;if(this.client){if(this.provider.clients){var e=this.provider.clients[this.client];if(!e)throw new Error("[vue-apollo] Missing client '".concat(this.client,"' in 'apolloProvider'"));return e}throw new Error("[vue-apollo] Missing 'clients' options in 'apolloProvider'")}return this.provider.defaultClient}var r=this.provider.clients[t.client];if(!r)throw new Error("[vue-apollo] Missing client '".concat(t.client,"' in 'apolloProvider'"));return r}},{key:"query",value:function(t){return this.getClient(t).query(t)}},{key:"watchQuery",value:function(t){var e=this,r=this.getClient(t).watchQuery(t),n=r.subscribe.bind(r);return r.subscribe=function(t){var r=n(t);return e._apolloSubscriptions.push(r),r},r}},{key:"mutate",value:function(t){return this.getClient(t).mutate(t)}},{key:"subscribe",value:function(t){var e=this;if(!this.vm.$isServer){var r=this.getClient(t).subscribe(t),n=r.subscribe.bind(r);return r.subscribe=function(t){var r=n(t);return e._apolloSubscriptions.push(r),r},r}}},{key:"loading",get:function(){return 0!==this.vm.$data.$apolloData.loading}},{key:"data",get:function(){return this.vm.$data.$apolloData.data}},{key:"addSmartQuery",value:function(t,e){var r=this,n=A(e,this.vm);n.query||(n={query:n});var i,o=this.vm.$options.apollo,a=this.provider.defaultOptions;if(a&&a.$query&&(i=a.$query),o&&o.$query&&(i=l(l({},i||{}),o.$query)),i)for(var s in i)void 0===n[s]&&(n[s]=i[s]);var u=this.queries[t]=new M(this.vm,t,n,!1);if(this.vm.$isServer&&!1===n.prefetch||u.autostart(),!this.vm.$isServer){var c=n.subscribeToMore;c&&(Array.isArray(c)?c.forEach((function(e,n){r.addSmartSubscription("".concat(t).concat(n),l(l({},e),{},{linkedQuery:u}))})):this.addSmartSubscription(t,l(l({},c),{},{linkedQuery:u})))}return u}},{key:"addSmartSubscription",value:function(t,e){if(!this.vm.$isServer){e=A(e,this.vm);var r=this.subscriptions[t]=new I(this.vm,t,e,!1);return r.autostart(),e.linkedQuery&&e.linkedQuery._linkedSubscriptions.push(r),r}}},{key:"defineReactiveSetter",value:function(t,e,r){var n=this;this._watchers.push(this.vm.$watch(e,(function(e){n[t]=e}),{immediate:!0,deep:r}))}},{key:"skipAllQueries",set:function(t){for(var e in this.queries)this.queries[e].skip=t}},{key:"skipAllSubscriptions",set:function(t){for(var e in this.subscriptions)this.subscriptions[e].skip=t}},{key:"skipAll",set:function(t){this.skipAllQueries=t,this.skipAllSubscriptions=t}},{key:"destroy",value:function(){for(var t=0,e=this._watchers;t<e.length;t++){(0,e[t])()}for(var r in this.queries)this.queries[r].destroy();for(var n in this.subscriptions)this.subscriptions[n].destroy();this._apolloSubscriptions.forEach((function(t){t.unsubscribe()}))}}]),t}(),D=function(){function t(e){if(o(this,t),!e)throw new Error("Options argument required");this.clients=e.clients||{},e.defaultClient&&(this.clients.defaultClient=this.defaultClient=e.defaultClient),this.defaultOptions=e.defaultOptions,this.watchLoading=e.watchLoading,this.errorHandler=e.errorHandler,this.prefetch=e.prefetch}return s(t,[{key:"provide",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"$apolloProvider";return console.warn("<ApolloProvider>.provide() is deprecated. Use the 'apolloProvider' option instead with the provider object directly."),u({},t,this)}}]),t}();var T={name:"ApolloQuery",provide:function(){return{getDollarApollo:this.getDollarApollo,getApolloQuery:this.getApolloQuery}},props:{query:{type:[Function,Object],required:!0},variables:{type:Object,default:void 0},fetchPolicy:{type:String,default:void 0},pollInterval:{type:Number,default:void 0},notifyOnNetworkStatusChange:{type:Boolean,default:void 0},context:{type:Object,default:void 0},update:{type:Function,default:function(t){return t}},skip:{type:Boolean,default:!1},debounce:{type:Number,default:0},throttle:{type:Number,default:0},clientId:{type:String,default:void 0},deep:{type:Boolean,default:void 0},tag:{type:String,default:"div"},prefetch:{type:Boolean,default:!0},options:{type:Object,default:function(){return{}}}},data:function(){return{result:{data:null,loading:!1,networkStatus:7,error:null},times:0}},watch:{fetchPolicy:function(t){this.$apollo.queries.query.setOptions({fetchPolicy:t})},pollInterval:function(t){this.$apollo.queries.query.setOptions({pollInterval:t})},notifyOnNetworkStatusChange:function(t){this.$apollo.queries.query.setOptions({notifyOnNetworkStatusChange:t})},"$data.$apolloData.loading":function(t){this.$emit("loading",!!t)}},apollo:{$client:function(){return this.clientId},query:function(){return l(l({query:function(){return"function"==typeof this.query?this.query(n.default):this.query},variables:function(){return this.variables},fetchPolicy:this.fetchPolicy,pollInterval:this.pollInterval,debounce:this.debounce,throttle:this.throttle,notifyOnNetworkStatusChange:this.notifyOnNetworkStatusChange,context:function(){return this.context},skip:function(){return this.skip},deep:this.deep,prefetch:this.prefetch},this.options),{},{manual:!0,result:function(t){var e=t,r=e.errors,n=e.loading,i=e.networkStatus,o=t.error;t=Object.assign({},t),r&&r.length&&((o=new Error("Apollo errors occurred (".concat(r.length,")"))).graphQLErrors=r);var a={};n?Object.assign(a,this.$_previousData,t.data):o?Object.assign(a,this.$apollo.queries.query.observer.getLastResult()||{},t.data):(a=t.data,this.$_previousData=t.data);var s=function(t){return t&&Object.keys(t).length>0}(a);this.result={data:s?this.update(a):void 0,fullData:s?a:void 0,loading:n,error:o,networkStatus:i},this.times=++this.$_times,this.$emit("result",this.result)},error:function(t){this.result.loading=!1,this.result.error=t,this.$emit("error",t)}})}},created:function(){this.$_times=0},methods:{getDollarApollo:function(){return this.$apollo},getApolloQuery:function(){return this.$apollo.queries.query}},render:function(t){var e=this.$scopedSlots.default({result:this.result,times:this.times,query:this.$apollo.queries.query,isLoading:this.$apolloData.loading,gqlError:this.result&&this.result.error&&this.result.error.gqlError});return e=Array.isArray(e)?e.concat(this.$slots.default):[e].concat(this.$slots.default),this.tag?t(this.tag,e):e[0]}},F=0,L={name:"ApolloSubscribeToMore",inject:["getDollarApollo","getApolloQuery"],props:{document:{type:[Function,Object],required:!0},variables:{type:Object,default:void 0},updateQuery:{type:Function,default:void 0}},watch:{document:"refresh",variables:"refresh"},created:function(){this.$_key="sub_component_".concat(F++)},mounted:function(){this.refresh()},beforeDestroy:function(){this.destroy()},methods:{destroy:function(){this.$_sub&&this.$_sub.destroy()},refresh:function(){this.destroy();var t=this.document;"function"==typeof t&&(t=t(n.default)),this.$_sub=this.getDollarApollo().addSmartSubscription(this.$_key,{document:t,variables:this.variables,updateQuery:this.updateQuery,linkedQuery:this.getApolloQuery()})}},render:function(t){return null}},N={props:{mutation:{type:[Function,Object],required:!0},variables:{type:Object,default:void 0},optimisticResponse:{type:Object,default:void 0},update:{type:Function,default:void 0},refetchQueries:{type:Function,default:void 0},clientId:{type:String,default:void 0},tag:{type:String,default:"div"},context:{type:Object,default:void 0}},data:function(){return{loading:!1,error:null}},watch:{loading:function(t){this.$emit("loading",t)}},methods:{mutate:function(t){var e=this;this.loading=!0,this.error=null;var r=this.mutation;return"function"==typeof r&&(r=r(n.default)),this.$apollo.mutate(l({mutation:r,client:this.clientId,variables:this.variables,optimisticResponse:this.optimisticResponse,update:this.update,refetchQueries:this.refetchQueries,context:this.context},t)).then((function(t){e.$emit("done",t),e.loading=!1})).catch((function(t){E(t),e.error=t,e.$emit("error",t),e.loading=!1}))}},render:function(t){var e=this.$scopedSlots.default({mutate:this.mutate,loading:this.loading,error:this.error,gqlError:this.error&&this.error.gqlError});return e=Array.isArray(e)?e.concat(this.$slots.default):[e].concat(this.$slots.default),this.tag?t(this.tag,e):e[0]}};function V(t,e){return void 0!==t&&Object.prototype.hasOwnProperty.call(t,e)}function B(){var t=this.$options,e=t.apolloProvider;if(e)this.$apolloProvider="function"==typeof e?e():e;else if(t.parent&&t.parent.$apolloProvider)this.$apolloProvider=t.parent.$apolloProvider;else if(t.provide){var r="function"==typeof t.provide?t.provide.call(this):t.provide;r&&r.$apolloProvider&&(this.$apolloProvider=r.$apolloProvider)}}function H(){var t=this;this.$_apolloInitData={};var e=this.$options.apollo;if(e){var r=function(r){"$"!==r.charAt(0)&&(e[r].manual||V(t.$options.props,r)||V(t.$options.computed,r)||V(t.$options.methods,r)||Object.defineProperty(t,r,{get:function(){return t.$data.$apolloData.data[r]},set:function(e){return t.$_apolloInitData[r]=e},enumerable:!0,configurable:!0}))};for(var n in e)r(n)}}function U(){var t=this,e=this.$apolloProvider;if(!this._apolloLaunched&&e){this._apolloLaunched=!0;var r=this.$options.apollo;if(r){for(var n in this.$_apolloPromises=[],r.$init||(r.$init=!0,e.defaultOptions&&(r=this.$options.apollo=Object.assign({},e.defaultOptions,r))),z(this.$apollo,"skipAll",r.$skipAll,r.$deep),z(this.$apollo,"skipAllQueries",r.$skipAllQueries,r.$deep),z(this.$apollo,"skipAllSubscriptions",r.$skipAllSubscriptions,r.$deep),z(this.$apollo,"client",r.$client,r.$deep),z(this.$apollo,"loadingKey",r.$loadingKey,r.$deep),z(this.$apollo,"error",r.$error,r.$deep),z(this.$apollo,"watchLoading",r.$watchLoading,r.$deep),Object.defineProperty(this,"$apolloData",{get:function(){return t.$data.$apolloData},enumerable:!0,configurable:!0}),r)if("$"!==n.charAt(0)){var i=r[n],o=this.$apollo.addSmartQuery(n,i);this.$isServer&&(i=A(i,this),!1===e.prefetch||!1===i.prefetch||!1===r.$prefetch||o.skip||this.$_apolloPromises.push(o.firstRun))}if(r.subscribe&&x.Vue.util.warn("vue-apollo -> `subscribe` option is deprecated. Use the `$subscribe` option instead."),r.$subscribe)for(var a in r.$subscribe)this.$apollo.addSmartSubscription(a,r.$subscribe[a])}}}function z(t,e,r,n){void 0!==r&&("function"==typeof r?t.defineReactiveSetter(e,r,n):t[e]=r)}function K(){this.$_apollo&&this.$_apollo.destroy()}function W(t,e){t.mixin(l(l(l({},"1"===e?{init:B}:{}),"2"===e?{data:function(){return{$apolloData:{queries:{},loading:0,data:this.$_apolloInitData}}},beforeCreate:function(){B.call(this),H.call(this)},serverPrefetch:function(){var t=this;if(this.$_apolloPromises)return Promise.all(this.$_apolloPromises).then((function(){K.call(t)})).catch((function(e){return K.call(t),Promise.reject(e)}))}}:{}),{},{created:U,destroyed:K}))}var J=["$subscribe"];function G(t,e){if(!G.installed){G.installed=!0,x.Vue=t;var r=t.version.substr(0,t.version.indexOf(".")),n=t.config.optionMergeStrategies.methods;t.config.optionMergeStrategies.apollo=function(t,e,r){if(!t)return e;if(!e)return t;for(var i=Object.assign({},R(t,J),t.data),o=Object.assign({},R(e,J),e.data),a={},s=0;s<J.length;s++){var u=J[s];a[u]=n(t[u],e[u])}return Object.assign(a,n(i,o))},Object.prototype.hasOwnProperty.call(t,"$apollo")||Object.defineProperty(t.prototype,"$apollo",{get:function(){return this.$_apollo||(this.$_apollo=new q(this)),this.$_apollo}}),W(t,r),"2"===r&&(t.component("ApolloQuery",T),t.component("ApolloQuery",T),t.component("ApolloSubscribeToMore",L),t.component("ApolloSubscribeToMore",L),t.component("ApolloMutation",N),t.component("ApolloMutation",N))}}D.install=G,D.version="3.0.8";var Y=D,Z=T,X=L,tt=N,et=null;"undefined"!=typeof window?et=window.Vue:void 0!==t&&(et=t.Vue),et&&et.use(D),e.default=D}.call(this,r(12))},function(t,e,r){"use strict";r.r(e),r.d(e,"ApolloClient",(function(){return A})),r.d(e,"ApolloError",(function(){return m})),r.d(e,"FetchType",(function(){return y})),r.d(e,"NetworkStatus",(function(){return n})),r.d(e,"ObservableQuery",(function(){return b})),r.d(e,"isApolloError",(function(){return v}));var n,i=r(0),o=r(1),a=r(29),s=r(20),u=r(79),c=r(85),l=r(3),f=r(28);function p(t){return t<7}!function(t){t[t.loading=1]="loading",t[t.setVariables=2]="setVariables",t[t.fetchMore=3]="fetchMore",t[t.refetch=4]="refetch",t[t.poll=6]="poll",t[t.ready=7]="ready",t[t.error=8]="error"}(n||(n={}));var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype[c.a]=function(){return this},e.prototype["@@observable"]=function(){return this},e}(s.a);function h(t){return Array.isArray(t)&&t.length>0}function v(t){return t.hasOwnProperty("graphQLErrors")}var y,m=function(t){function e(r){var n,i,o=r.graphQLErrors,a=r.networkError,s=r.errorMessage,u=r.extraInfo,c=t.call(this,s)||this;return c.graphQLErrors=o||[],c.networkError=a||null,c.message=s||(i="",h((n=c).graphQLErrors)&&n.graphQLErrors.forEach((function(t){var e=t?t.message:"Error message not found.";i+="GraphQL error: "+e+"\n"})),n.networkError&&(i+="Network error: "+n.networkError.message+"\n"),i=i.replace(/\n$/,"")),c.extraInfo=u,c.__proto__=e.prototype,c}return Object(i.c)(e,t),e}(Error);!function(t){t[t.normal=1]="normal",t[t.refetch=2]="refetch",t[t.poll=3]="poll"}(y||(y={}));var b=function(t){function e(e){var r=e.queryManager,n=e.options,i=e.shouldSubscribe,a=void 0===i||i,s=t.call(this,(function(t){return s.onSubscribe(t)}))||this;s.observers=new Set,s.subscriptions=new Set,s.isTornDown=!1,s.options=n,s.variables=n.variables||{},s.queryId=r.generateQueryId(),s.shouldSubscribe=a;var u=Object(o.m)(n.query);return s.queryName=u&&u.name&&u.name.value,s.queryManager=r,s}return Object(i.c)(e,t),e.prototype.result=function(){var t=this;return new Promise((function(e,r){var n={next:function(r){e(r),t.observers.delete(n),t.observers.size||t.queryManager.removeQuery(t.queryId),setTimeout((function(){i.unsubscribe()}),0)},error:r},i=t.subscribe(n)}))},e.prototype.currentResult=function(){var t=this.getCurrentResult();return void 0===t.data&&(t.data={}),t},e.prototype.getCurrentResult=function(){if(this.isTornDown){var t=this.lastResult;return{data:!this.lastError&&t&&t.data||void 0,error:this.lastError,loading:!1,networkStatus:n.error}}var e,r,o,a=this.queryManager.getCurrentQueryResult(this),s=a.data,u=a.partial,c=this.queryManager.queryStore.get(this.queryId),l=this.options.fetchPolicy,f="network-only"===l||"no-cache"===l;if(c){var d=c.networkStatus;if(r=c,void 0===(o=this.options.errorPolicy)&&(o="none"),r&&(r.networkError||"none"===o&&h(r.graphQLErrors)))return{data:void 0,loading:!1,networkStatus:d,error:new m({graphQLErrors:c.graphQLErrors,networkError:c.networkError})};c.variables&&(this.options.variables=Object(i.a)(Object(i.a)({},this.options.variables),c.variables),this.variables=this.options.variables),e={data:s,loading:p(d),networkStatus:d},c.graphQLErrors&&"all"===this.options.errorPolicy&&(e.errors=c.graphQLErrors)}else{var v=f||u&&"cache-only"!==l;e={data:s,loading:v,networkStatus:v?n.loading:n.ready}}return u||this.updateLastResult(Object(i.a)(Object(i.a)({},e),{stale:!1})),Object(i.a)(Object(i.a)({},e),{partial:u})},e.prototype.isDifferentFromLastResult=function(t){var e=this.lastResultSnapshot;return!(e&&t&&e.networkStatus===t.networkStatus&&e.stale===t.stale&&Object(a.a)(e.data,t.data))},e.prototype.getLastResult=function(){return this.lastResult},e.prototype.getLastError=function(){return this.lastError},e.prototype.resetLastResults=function(){delete this.lastResult,delete this.lastResultSnapshot,delete this.lastError,this.isTornDown=!1},e.prototype.resetQueryStoreErrors=function(){var t=this.queryManager.queryStore.get(this.queryId);t&&(t.networkError=null,t.graphQLErrors=[])},e.prototype.refetch=function(t){var e=this.options.fetchPolicy;return"cache-only"===e?Promise.reject(new l.a(1)):("no-cache"!==e&&"cache-and-network"!==e&&(e="network-only"),Object(a.a)(this.variables,t)||(this.variables=Object(i.a)(Object(i.a)({},this.variables),t)),Object(a.a)(this.options.variables,this.variables)||(this.options.variables=Object(i.a)(Object(i.a)({},this.options.variables),this.variables)),this.queryManager.fetchQuery(this.queryId,Object(i.a)(Object(i.a)({},this.options),{fetchPolicy:e}),y.refetch))},e.prototype.fetchMore=function(t){var e=this;Object(l.b)(t.updateQuery,2);var r=Object(i.a)(Object(i.a)({},t.query?t:Object(i.a)(Object(i.a)(Object(i.a)({},this.options),t),{variables:Object(i.a)(Object(i.a)({},this.variables),t.variables)})),{fetchPolicy:"network-only"}),n=this.queryManager.generateQueryId();return this.queryManager.fetchQuery(n,r,y.normal,this.queryId).then((function(i){return e.updateQuery((function(e){return t.updateQuery(e,{fetchMoreResult:i.data,variables:r.variables})})),e.queryManager.stopQuery(n),i}),(function(t){throw e.queryManager.stopQuery(n),t}))},e.prototype.subscribeToMore=function(t){var e=this,r=this.queryManager.startGraphQLSubscription({query:t.document,variables:t.variables}).subscribe({next:function(r){var n=t.updateQuery;n&&e.updateQuery((function(t,e){var i=e.variables;return n(t,{subscriptionData:r,variables:i})}))},error:function(e){t.onError&&t.onError(e)}});return this.subscriptions.add(r),function(){e.subscriptions.delete(r)&&r.unsubscribe()}},e.prototype.setOptions=function(t){var e=this.options.fetchPolicy;this.options=Object(i.a)(Object(i.a)({},this.options),t),t.pollInterval?this.startPolling(t.pollInterval):0===t.pollInterval&&this.stopPolling();var r=t.fetchPolicy;return this.setVariables(this.options.variables,e!==r&&("cache-only"===e||"standby"===e||"network-only"===r),t.fetchResults)},e.prototype.setVariables=function(t,e,r){return void 0===e&&(e=!1),void 0===r&&(r=!0),this.isTornDown=!1,t=t||this.variables,!e&&Object(a.a)(t,this.variables)?this.observers.size&&r?this.result():Promise.resolve():(this.variables=this.options.variables=t,this.observers.size?this.queryManager.fetchQuery(this.queryId,this.options):Promise.resolve())},e.prototype.updateQuery=function(t){var e=this.queryManager,r=e.getQueryWithPreviousResult(this.queryId),n=r.previousResult,i=r.variables,a=r.document,s=Object(o.I)((function(){return t(n,{variables:i})}));s&&(e.dataStore.markUpdateQueryResult(a,i,s),e.broadcastQueries())},e.prototype.stopPolling=function(){this.queryManager.stopPollingQuery(this.queryId),this.options.pollInterval=void 0},e.prototype.startPolling=function(t){_(this),this.options.pollInterval=t,this.queryManager.startPollingQuery(this.options,this.queryId)},e.prototype.updateLastResult=function(t){var e=this.lastResult;return this.lastResult=t,this.lastResultSnapshot=this.queryManager.assumeImmutableResults?t:Object(o.f)(t),e},e.prototype.onSubscribe=function(t){var e=this;try{var r=t._subscription._observer;r&&!r.error&&(r.error=g)}catch(t){}var n=!this.observers.size;return this.observers.add(t),t.next&&this.lastResult&&t.next(this.lastResult),t.error&&this.lastError&&t.error(this.lastError),n&&this.setUpQuery(),function(){e.observers.delete(t)&&!e.observers.size&&e.tearDownQuery()}},e.prototype.setUpQuery=function(){var t=this,e=this.queryManager,r=this.queryId;this.shouldSubscribe&&e.addObservableQuery(r,this),this.options.pollInterval&&(_(this),e.startPollingQuery(this.options,r));var o=function(e){t.updateLastResult(Object(i.a)(Object(i.a)({},t.lastResult),{errors:e.graphQLErrors,networkStatus:n.error,loading:!1})),O(t.observers,"error",t.lastError=e)};e.observeQuery(r,this.options,{next:function(r){if(t.lastError||t.isDifferentFromLastResult(r)){var n=t.updateLastResult(r),i=t.options,o=i.query,s=i.variables,u=i.fetchPolicy;e.transform(o).hasClientExports?e.getLocalState().addExportedVariables(o,s).then((function(i){var s=t.variables;t.variables=t.options.variables=i,!r.loading&&n&&"cache-only"!==u&&e.transform(o).serverQuery&&!Object(a.a)(s,i)?t.refetch():O(t.observers,"next",r)})):O(t.observers,"next",r)}},error:o}).catch(o)},e.prototype.tearDownQuery=function(){var t=this.queryManager;this.isTornDown=!0,t.stopPollingQuery(this.queryId),this.subscriptions.forEach((function(t){return t.unsubscribe()})),this.subscriptions.clear(),t.removeObservableQuery(this.queryId),t.stopQuery(this.queryId),this.observers.clear()},e}(d);function g(t){}function O(t,e,r){var n=[];t.forEach((function(t){return t[e]&&n.push(t)})),n.forEach((function(t){return t[e](r)}))}function _(t){var e=t.options.fetchPolicy;Object(l.b)("cache-first"!==e&&"cache-only"!==e,3)}var w=function(){function t(){this.store={}}return t.prototype.getStore=function(){return this.store},t.prototype.get=function(t){return this.store[t]},t.prototype.initMutation=function(t,e,r){this.store[t]={mutation:e,variables:r||{},loading:!0,error:null}},t.prototype.markMutationError=function(t,e){var r=this.store[t];r&&(r.loading=!1,r.error=e)},t.prototype.markMutationResult=function(t){var e=this.store[t];e&&(e.loading=!1,e.error=null)},t.prototype.reset=function(){this.store={}},t}(),k=function(){function t(){this.store={}}return t.prototype.getStore=function(){return this.store},t.prototype.get=function(t){return this.store[t]},t.prototype.initQuery=function(t){var e=this.store[t.queryId];Object(l.b)(!e||e.document===t.document||Object(a.a)(e.document,t.document),19);var r,i=!1,o=null;t.storePreviousVariables&&e&&e.networkStatus!==n.loading&&(Object(a.a)(e.variables,t.variables)||(i=!0,o=e.variables)),r=i?n.setVariables:t.isPoll?n.poll:t.isRefetch?n.refetch:n.loading;var s=[];e&&e.graphQLErrors&&(s=e.graphQLErrors),this.store[t.queryId]={document:t.document,variables:t.variables,previousVariables:o,networkError:null,graphQLErrors:s,networkStatus:r,metadata:t.metadata},"string"==typeof t.fetchMoreForQueryId&&this.store[t.fetchMoreForQueryId]&&(this.store[t.fetchMoreForQueryId].networkStatus=n.fetchMore)},t.prototype.markQueryResult=function(t,e,r){this.store&&this.store[t]&&(this.store[t].networkError=null,this.store[t].graphQLErrors=h(e.errors)?e.errors:[],this.store[t].previousVariables=null,this.store[t].networkStatus=n.ready,"string"==typeof r&&this.store[r]&&(this.store[r].networkStatus=n.ready))},t.prototype.markQueryError=function(t,e,r){this.store&&this.store[t]&&(this.store[t].networkError=e,this.store[t].networkStatus=n.error,"string"==typeof r&&this.markQueryResultClient(r,!0))},t.prototype.markQueryResultClient=function(t,e){var r=this.store&&this.store[t];r&&(r.networkError=null,r.previousVariables=null,e&&(r.networkStatus=n.ready))},t.prototype.stopQuery=function(t){delete this.store[t]},t.prototype.reset=function(t){var e=this;Object.keys(this.store).forEach((function(r){t.indexOf(r)<0?e.stopQuery(r):e.store[r].networkStatus=n.loading}))},t}();var S=function(){function t(t){var e=t.cache,r=t.client,n=t.resolvers,i=t.fragmentMatcher;this.cache=e,r&&(this.client=r),n&&this.addResolvers(n),i&&this.setFragmentMatcher(i)}return t.prototype.addResolvers=function(t){var e=this;this.resolvers=this.resolvers||{},Array.isArray(t)?t.forEach((function(t){e.resolvers=Object(o.A)(e.resolvers,t)})):this.resolvers=Object(o.A)(this.resolvers,t)},t.prototype.setResolvers=function(t){this.resolvers={},this.addResolvers(t)},t.prototype.getResolvers=function(){return this.resolvers||{}},t.prototype.runResolvers=function(t){var e=t.document,r=t.remoteResult,n=t.context,o=t.variables,a=t.onlyRunForcedResolvers,s=void 0!==a&&a;return Object(i.b)(this,void 0,void 0,(function(){return Object(i.d)(this,(function(t){return e?[2,this.resolveDocument(e,r.data,n,o,this.fragmentMatcher,s).then((function(t){return Object(i.a)(Object(i.a)({},r),{data:t.result})}))]:[2,r]}))}))},t.prototype.setFragmentMatcher=function(t){this.fragmentMatcher=t},t.prototype.getFragmentMatcher=function(){return this.fragmentMatcher},t.prototype.clientQuery=function(t){return Object(o.s)(["client"],t)&&this.resolvers?t:null},t.prototype.serverQuery=function(t){return this.resolvers?Object(o.C)(t):t},t.prototype.prepareContext=function(t){void 0===t&&(t={});var e=this.cache;return Object(i.a)(Object(i.a)({},t),{cache:e,getCacheKey:function(t){if(e.config)return e.config.dataIdFromObject(t);Object(l.b)(!1,6)}})},t.prototype.addExportedVariables=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),Object(i.b)(this,void 0,void 0,(function(){return Object(i.d)(this,(function(n){return t?[2,this.resolveDocument(t,this.buildRootValueFromCache(t,e)||{},this.prepareContext(r),e).then((function(t){return Object(i.a)(Object(i.a)({}
39588,e),t.exportedVariables)}))]:[2,Object(i.a)({},e)]}))}))},t.prototype.shouldForceResolvers=function(t){var e=!1;return Object(f.visit)(t,{Directive:{enter:function(t){if("client"===t.name.value&&t.arguments&&(e=t.arguments.some((function(t){return"always"===t.name.value&&"BooleanValue"===t.value.kind&&!0===t.value.value}))))return f.BREAK}}}),e},t.prototype.buildRootValueFromCache=function(t,e){return this.cache.diff({query:Object(o.d)(t),variables:e,returnPartialData:!0,optimistic:!1}).result},t.prototype.resolveDocument=function(t,e,r,n,a,s){return void 0===r&&(r={}),void 0===n&&(n={}),void 0===a&&(a=function(){return!0}),void 0===s&&(s=!1),Object(i.b)(this,void 0,void 0,(function(){var u,c,l,f,p,d,h,v,y;return Object(i.d)(this,(function(m){var b;return u=Object(o.l)(t),c=Object(o.j)(t),l=Object(o.g)(c),f=u.operation,p=f?(b=f).charAt(0).toUpperCase()+b.slice(1):"Query",h=(d=this).cache,v=d.client,y={fragmentMap:l,context:Object(i.a)(Object(i.a)({},r),{cache:h,client:v}),variables:n,fragmentMatcher:a,defaultOperationType:p,exportedVariables:{},onlyRunForcedResolvers:s},[2,this.resolveSelectionSet(u.selectionSet,e,y).then((function(t){return{result:t,exportedVariables:y.exportedVariables}}))]}))}))},t.prototype.resolveSelectionSet=function(t,e,r){return Object(i.b)(this,void 0,void 0,(function(){var n,a,s,u,c,f=this;return Object(i.d)(this,(function(p){return n=r.fragmentMap,a=r.context,s=r.variables,u=[e],c=function(t){return Object(i.b)(f,void 0,void 0,(function(){var c,f;return Object(i.d)(this,(function(i){return Object(o.F)(t,s)?Object(o.t)(t)?[2,this.resolveField(t,e,r).then((function(e){var r;void 0!==e&&u.push(((r={})[Object(o.E)(t)]=e,r))}))]:(Object(o.v)(t)?c=t:(c=n[t.name.value],Object(l.b)(c,7)),c&&c.typeCondition&&(f=c.typeCondition.name.value,r.fragmentMatcher(e,f,a))?[2,this.resolveSelectionSet(c.selectionSet,e,r).then((function(t){u.push(t)}))]:[2]):[2]}))}))},[2,Promise.all(t.selections.map(c)).then((function(){return Object(o.B)(u)}))]}))}))},t.prototype.resolveField=function(t,e,r){return Object(i.b)(this,void 0,void 0,(function(){var n,a,s,u,c,l,f,p,d,h=this;return Object(i.d)(this,(function(i){return n=r.variables,a=t.name.value,s=Object(o.E)(t),u=a!==s,c=e[s]||e[a],l=Promise.resolve(c),r.onlyRunForcedResolvers&&!this.shouldForceResolvers(t)||(f=e.__typename||r.defaultOperationType,(p=this.resolvers&&this.resolvers[f])&&(d=p[u?a:s])&&(l=Promise.resolve(d(e,Object(o.b)(t,n),r.context,{field:t,fragmentMap:r.fragmentMap})))),[2,l.then((function(e){return void 0===e&&(e=c),t.directives&&t.directives.forEach((function(t){"export"===t.name.value&&t.arguments&&t.arguments.forEach((function(t){"as"===t.name.value&&"StringValue"===t.value.kind&&(r.exportedVariables[t.value.value]=e)}))})),t.selectionSet?null==e?e:Array.isArray(e)?h.resolveSubSelectedArray(t,e,r):t.selectionSet?h.resolveSelectionSet(t.selectionSet,e,r):void 0:e}))]}))}))},t.prototype.resolveSubSelectedArray=function(t,e,r){var n=this;return Promise.all(e.map((function(e){return null===e?null:Array.isArray(e)?n.resolveSubSelectedArray(t,e,r):t.selectionSet?n.resolveSelectionSet(t.selectionSet,e,r):void 0})))},t}();function j(t){var e=new Set,r=null;return new d((function(n){return e.add(n),r=r||t.subscribe({next:function(t){e.forEach((function(e){return e.next&&e.next(t)}))},error:function(t){e.forEach((function(e){return e.error&&e.error(t)}))},complete:function(){e.forEach((function(t){return t.complete&&t.complete()}))}}),function(){e.delete(n)&&!e.size&&r&&(r.unsubscribe(),r=null)}}))}var x=Object.prototype.hasOwnProperty,$=function(){function t(t){var e=t.link,r=t.queryDeduplication,n=void 0!==r&&r,i=t.store,a=t.onBroadcast,s=void 0===a?function(){}:a,u=t.ssrMode,c=void 0!==u&&u,l=t.clientAwareness,f=void 0===l?{}:l,p=t.localState,d=t.assumeImmutableResults;this.mutationStore=new w,this.queryStore=new k,this.clientAwareness={},this.idCounter=1,this.queries=new Map,this.fetchQueryRejectFns=new Map,this.transformCache=new(o.e?WeakMap:Map),this.inFlightLinkObservables=new Map,this.pollingInfoByQueryId=new Map,this.link=e,this.queryDeduplication=n,this.dataStore=i,this.onBroadcast=s,this.clientAwareness=f,this.localState=p||new S({cache:i.getCache()}),this.ssrMode=c,this.assumeImmutableResults=!!d}return t.prototype.stop=function(){var t=this;
vendor: 4,465 bytes, line 39588
39588this.queries.forEach((function(e,r){t.stopQueryNoBroadcast(r)})),this.fetchQueryRejectFns.forEach((function(t){t(new l.a(8))}))},t.prototype.mutate=function(t){var e=t.mutation,r=t.variables,n=t.optimisticResponse,a=t.updateQueries,s=t.refetchQueries,u=void 0===s?[]:s,c=t.awaitRefetchQueries,f=void 0!==c&&c,p=t.update,d=t.errorPolicy,v=void 0===d?"none":d,y=t.fetchPolicy,b=t.context,g=void 0===b?{}:b;return Object(i.b)(this,void 0,void 0,(function(){var t,s,c,d=this;return Object(i.d)(this,(function(b){switch(b.label){case 0:return Object(l.b)(e,9),Object(l.b)(!y||"no-cache"===y,10),t=this.generateQueryId(),e=this.transform(e).document,this.setQuery(t,(function(){return{document:e}})),r=this.getVariables(e,r),this.transform(e).hasClientExports?[4,this.localState.addExportedVariables(e,r,g)]:[3,2];case 1:r=b.sent(),b.label=2;case 2:return s=function(){var t={};return a&&d.queries.forEach((function(e,r){var n=e.observableQuery;if(n){var i=n.queryName;i&&x.call(a,i)&&(t[r]={updater:a[i],query:d.queryStore.get(r)})}})),t},this.mutationStore.initMutation(t,e,r),this.dataStore.markMutationInit({mutationId:t,document:e,variables:r,updateQueries:s(),update:p,optimisticResponse:n}),this.broadcastQueries(),c=this,[2,new Promise((function(a,l){var d,b;c.getObservableFromLink(e,Object(i.a)(Object(i.a)({},g),{optimisticResponse:n}),r,!1).subscribe({next:function(n){Object(o.q)(n)&&"none"===v?b=new m({graphQLErrors:n.errors}):(c.mutationStore.markMutationResult(t),"no-cache"!==y&&c.dataStore.markMutationResult({mutationId:t,result:n,document:e,variables:r,updateQueries:s(),update:p}),d=n)},error:function(e){c.mutationStore.markMutationError(t,e),c.dataStore.markMutationComplete({mutationId:t,optimisticResponse:n}),c.broadcastQueries(),c.setQuery(t,(function(){return{document:null}})),l(new m({networkError:e}))},complete:function(){if(b&&c.mutationStore.markMutationError(t,b),c.dataStore.markMutationComplete({mutationId:t,optimisticResponse:n}),c.broadcastQueries(),b)l(b);else{"function"==typeof u&&(u=u(d));var e=[];h(u)&&u.forEach((function(t){if("string"==typeof t)c.queries.forEach((function(r){var n=r.observableQuery;n&&n.queryName===t&&e.push(n.refetch())}));else{var r={query:t.query,variables:t.variables,fetchPolicy:"network-only"};t.context&&(r.context=t.context),e.push(c.query(r))}})),Promise.all(f?e:[]).then((function(){c.setQuery(t,(function(){return{document:null}})),"ignore"===v&&d&&Object(o.q)(d)&&delete d.errors,a(d)}))}}})}))]}}))}))},t.prototype.fetchQuery=function(t,e,r,n){return Object(i.b)(this,void 0,void 0,(function(){var a,s,u,c,l,f,p,d,h,b,g,O,_,w,k,S,j,x,$=this;return Object(i.d)(this,(function(C){switch(C.label){case 0:return a=e.metadata,s=void 0===a?null:a,u=e.fetchPolicy,c=void 0===u?"cache-first":u,l=e.context,f=void 0===l?{}:l,p=this.transform(e.query).document,d=this.getVariables(p,e.variables),this.transform(p).hasClientExports?[4,this.localState.addExportedVariables(p,d,f)]:[3,2];case 1:d=C.sent(),C.label=2;case 2:if(e=Object(i.a)(Object(i.a)({},e),{variables:d}),g=b="network-only"===c||"no-cache"===c,b||(O=this.dataStore.getCache().diff({query:p,variables:d,returnPartialData:!0,optimistic:!1}),_=O.complete,w=O.result,g=!_||"cache-and-network"===c,h=w),k=g&&"cache-only"!==c&&"standby"!==c,Object(o.s)(["live"],p)&&(k=!0),S=this.idCounter++,j="no-cache"!==c?this.updateQueryWatch(t,p,e):void 0,this.setQuery(t,(function(){return{document:p,lastRequestId:S,invalidated:!0,cancel:j}})),this.invalidate(n),this.queryStore.initQuery({queryId:t,document:p,storePreviousVariables:k,variables:d,isPoll:r===y.poll,isRefetch:r===y.refetch,metadata:s,fetchMoreForQueryId:n}),this.broadcastQueries(),k){if(x=this.fetchRequest({requestId:S,queryId:t,document:p,options:e,fetchMoreForQueryId:n}).catch((function(e){throw v(e)?e:(S>=$.getQuery(t).lastRequestId&&($.queryStore.markQueryError(t,e,n),$.invalidate(t),$.invalidate(n),$.broadcastQueries()),new m({networkError:e}))})),"cache-and-network"!==c)return[2,x];x.catch((function(){}))}return this.queryStore.markQueryResultClient(t,!k),this.invalidate(t),this.invalidate(n),this.transform(p).hasForcedResolvers?[2,this.localState.runResolvers({document:p,remoteResult:{data:h},context:f,variables:d,onlyRunForcedResolvers:!0}).then((function(r){return $.markQueryResult(t,r,e,n),$.broadcastQueries(),r}))]:(this.broadcastQueries(),[2,{data:h}])}}))}))},t.prototype.markQueryResult=function(t,e,r,n){var i=r.fetchPolicy,o=r.variables,a=r.errorPolicy;
39588"no-cache"===i?this.setQuery(t,(function(){return{newData:{result:e.data,complete:!0}}})):this.dataStore.markQueryResult(e,this.getQuery(t).document,o,n,"ignore"===a||"all"===a)},t.prototype.queryListenerForObserver=function(t,e,r){var n=this;function i(t,e){if(r[t])try{r[t](e)}catch(t){}}return function(r,o){if(n.invalidate(t,!1),r){var a=n.getQuery(t),s=a.observableQuery,u=a.document,c=s?s.options.fetchPolicy:e.fetchPolicy;if("standby"!==c){var l=p(r.networkStatus),f=s&&s.getLastResult(),d=!(!f||f.networkStatus===r.networkStatus),v=e.returnPartialData||!o&&r.previousVariables||d&&e.notifyOnNetworkStatusChange||"cache-only"===c||"cache-and-network"===c;if(!l||v){var y=h(r.graphQLErrors),b=s&&s.options.errorPolicy||e.errorPolicy||"none";if("none"===b&&y||r.networkError)return i("error",new m({graphQLErrors:r.graphQLErrors,networkError:r.networkError}));try{var g=void 0,O=void 0;if(o)"no-cache"!==c&&"network-only"!==c&&n.setQuery(t,(function(){return{newData:null}})),g=o.result,O=!o.complete;else{var _=s&&s.getLastError(),w="none"!==b&&(_&&_.graphQLErrors)!==r.graphQLErrors;if(f&&f.data&&!w)g=f.data,O=!1;else{var k=n.dataStore.getCache().diff({query:u,variables:r.previousVariables||r.variables,returnPartialData:!0,optimistic:!0});g=k.result,O=!k.complete}}var S=O&&!(e.returnPartialData||"cache-only"===c),j={data:S?f&&f.data:g,loading:l,networkStatus:r.networkStatus,stale:S};"all"===b&&y&&(j.errors=r.graphQLErrors),i("next",j)}catch(t){i("error",new m({networkError:t}))}}}}}},t.prototype.transform=function(t){var e=this.transformCache;if(!e.has(t)){var r=this.dataStore.getCache(),n=r.transformDocument(t),i=Object(o.D)(r.transformForLink(n)),a=this.localState.clientQuery(n),s=this.localState.serverQuery(i),u={document:n,hasClientExports:Object(o.r)(n),hasForcedResolvers:this.localState.shouldForceResolvers(n),clientQuery:a,serverQuery:s,defaultVars:Object(o.h)(Object(o.m)(n))},c=function(t){t&&!e.has(t)&&e.set(t,u)};c(t),c(n),c(a),c(s)}return e.get(t)},t.prototype.getVariables=function(t,e){return Object(i.a)(Object(i.a)({},this.transform(t).defaultVars),e)},t.prototype.watchQuery=function(t,e){void 0===e&&(e=!0),Object(l.b)("standby"!==t.fetchPolicy,11),t.variables=this.getVariables(t.query,t.variables),void 0===t.notifyOnNetworkStatusChange&&(t.notifyOnNetworkStatusChange=!1);var r=Object(i.a)({},t);return new b({queryManager:this,options:r,shouldSubscribe:e})},t.prototype.query=function(t){var e=this;return Object(l.b)(t.query,12),Object(l.b)("Document"===t.query.kind,13),Object(l.b)(!t.returnPartialData,14),Object(l.b)(!t.pollInterval,15),new Promise((function(r,n){var i=e.watchQuery(t,!1);e.fetchQueryRejectFns.set("query:"+i.queryId,n),i.result().then(r,n).then((function(){return e.fetchQueryRejectFns.delete("query:"+i.queryId)}))}))},t.prototype.generateQueryId=function(){return String(this.idCounter++)},t.prototype.stopQueryInStore=function(t){this.stopQueryInStoreNoBroadcast(t),this.broadcastQueries()},t.prototype.stopQueryInStoreNoBroadcast=function(t){this.stopPollingQuery(t),this.queryStore.stopQuery(t),this.invalidate(t)},t.prototype.addQueryListener=function(t,e){this.setQuery(t,(function(t){return t.listeners.add(e),{invalidated:!1}}))},t.prototype.updateQueryWatch=function(t,e,r){var n=this,i=this.getQuery(t).cancel;i&&i();return this.dataStore.getCache().watch({query:e,variables:r.variables,optimistic:!0,previousResult:function(){var e=null,r=n.getQuery(t).observableQuery;if(r){var i=r.getLastResult();i&&(e=i.data)}return e},callback:function(e){n.setQuery(t,(function(){return{invalidated:!0,newData:e}}))}})},t.prototype.addObservableQuery=function(t,e){this.setQuery(t,(function(){return{observableQuery:e}}))},t.prototype.removeObservableQuery=function(t){var e=this.getQuery(t).cancel;this.setQuery(t,(function(){return{observableQuery:null}})),e&&e()},t.prototype.clearStore=function(){this.fetchQueryRejectFns.forEach((function(t){t(new l.a(16))}));var t=[];return this.queries.forEach((function(e,r){e.observableQuery&&t.push(r)})),this.queryStore.reset(t),this.mutationStore.reset(),this.dataStore.reset()},t.prototype.resetStore=function(){var t=this;return this.clearStore().then((function(){return t.reFetchObservableQueries()}))},t.prototype.reFetchObservableQueries=function(t){var e=this;void 0===t&&(t=!1);var r=[];
vendor: 4,638 bytes, line 39588
39588return this.queries.forEach((function(n,i){var o=n.observableQuery;if(o){var a=o.options.fetchPolicy;o.resetLastResults(),"cache-only"===a||!t&&"standby"===a||r.push(o.refetch()),e.setQuery(i,(function(){return{newData:null}})),e.invalidate(i)}})),this.broadcastQueries(),Promise.all(r)},t.prototype.observeQuery=function(t,e,r){return this.addQueryListener(t,this.queryListenerForObserver(t,e,r)),this.fetchQuery(t,e)},t.prototype.startQuery=function(t,e,r){return this.addQueryListener(t,r),this.fetchQuery(t,e).catch((function(){})),t},t.prototype.startGraphQLSubscription=function(t){var e=this,r=t.query,n=t.fetchPolicy,i=t.variables;r=this.transform(r).document,i=this.getVariables(r,i);var a=function(t){return e.getObservableFromLink(r,{},t,!1).map((function(i){if(n&&"no-cache"===n||(e.dataStore.markSubscriptionResult(i,r,t),e.broadcastQueries()),Object(o.q)(i))throw new m({graphQLErrors:i.errors});return i}))};if(this.transform(r).hasClientExports){var s=this.localState.addExportedVariables(r,i).then(a);return new d((function(t){var e=null;return s.then((function(r){return e=r.subscribe(t)}),t.error),function(){return e&&e.unsubscribe()}}))}return a(i)},t.prototype.stopQuery=function(t){this.stopQueryNoBroadcast(t),this.broadcastQueries()},t.prototype.stopQueryNoBroadcast=function(t){this.stopQueryInStoreNoBroadcast(t),this.removeQuery(t)},t.prototype.removeQuery=function(t){this.fetchQueryRejectFns.delete("query:"+t),this.fetchQueryRejectFns.delete("fetchRequest:"+t),this.getQuery(t).subscriptions.forEach((function(t){return t.unsubscribe()})),this.queries.delete(t)},t.prototype.getCurrentQueryResult=function(t,e){void 0===e&&(e=!0);var r=t.options,n=r.variables,i=r.query,o=r.fetchPolicy,a=r.returnPartialData,s=t.getLastResult(),u=this.getQuery(t.queryId).newData;if(u&&u.complete)return{data:u.result,partial:!1};if("no-cache"===o||"network-only"===o)return{data:void 0,partial:!1};var c=this.dataStore.getCache().diff({query:i,variables:n,previousResult:s?s.data:void 0,returnPartialData:!0,optimistic:e}),l=c.result,f=c.complete;return{data:f||a?l:void 0,partial:!f}},t.prototype.getQueryWithPreviousResult=function(t){var e;if("string"==typeof t){var r=this.getQuery(t).observableQuery;Object(l.b)(r,17),e=r}else e=t;var n=e.options,i=n.variables,o=n.query;return{previousResult:this.getCurrentQueryResult(e,!1).data,variables:i,document:o}},t.prototype.broadcastQueries=function(){var t=this;this.onBroadcast(),this.queries.forEach((function(e,r){e.invalidated&&e.listeners.forEach((function(n){n&&n(t.queryStore.get(r),e.newData)}))}))},t.prototype.getLocalState=function(){return this.localState},t.prototype.getObservableFromLink=function(t,e,r,n){var a,s=this;void 0===n&&(n=this.queryDeduplication);var c=this.transform(t).serverQuery;if(c){var l=this.inFlightLinkObservables,f=this.link,p={query:c,variables:r,operationName:Object(o.n)(c)||void 0,context:this.prepareContext(Object(i.a)(Object(i.a)({},e),{forceFetch:!n}))};if(e=p.context,n){var h=l.get(c)||new Map;l.set(c,h);var v=JSON.stringify(r);if(!(a=h.get(v))){h.set(v,a=j(Object(u.execute)(f,p)));var y=function(){h.delete(v),h.size||l.delete(c),m.unsubscribe()},m=a.subscribe({next:y,error:y,complete:y})}}else a=j(Object(u.execute)(f,p))}else a=d.of({data:{}}),e=this.prepareContext(e);var b=this.transform(t).clientQuery;return b&&(a=function(t,e){return new d((function(r){var n=r.next,i=r.error,o=r.complete,a=0,s=!1,u={next:function(t){++a,new Promise((function(r){r(e(t))})).then((function(t){--a,n&&n.call(r,t),s&&u.complete()}),(function(t){--a,i&&i.call(r,t)}))},error:function(t){i&&i.call(r,t)},complete:function(){s=!0,a||o&&o.call(r)}},c=t.subscribe(u);return function(){return c.unsubscribe()}}))}(a,(function(t){return s.localState.runResolvers({document:b,remoteResult:t,context:e,variables:r})}))),a},t.prototype.fetchRequest=function(t){var e,r,i=this,o=t.requestId,a=t.queryId,s=t.document,u=t.options,c=t.fetchMoreForQueryId,l=u.variables,f=u.errorPolicy,p=void 0===f?"none":f,d=u.fetchPolicy;return new Promise((function(t,f){var v=i.getObservableFromLink(s,u.context,l),y="fetchRequest:"+a;i.fetchQueryRejectFns.set(y,f);var b=function(){i.fetchQueryRejectFns.delete(y),i.setQuery(a,(function(t){t.subscriptions.delete(g)}))},g=v.map((function(t){if(o>=i.getQuery(a).lastRequestId&&(i.markQueryResult(a,t,u,c),i.queryStore.markQueryResult(a,t,c),i.invalidate(a),i.invalidate(c),i.broadcastQueries()),"none"===p&&h(t.errors))return f(new m({graphQLErrors:t.errors}));if("all"===p&&(r=t.errors),c||"no-cache"===d)e=t.data;else{var n=i.dataStore.getCache().diff({variables:l,query:s,optimistic:!1,returnPartialData:!0}
39588),v=n.result;(n.complete||u.returnPartialData)&&(e=v)}})).subscribe({error:function(t){b(),f(t)},complete:function(){b(),t({data:e,errors:r,loading:!1,networkStatus:n.ready,stale:!1})}});i.setQuery(a,(function(t){t.subscriptions.add(g)}))}))},t.prototype.getQuery=function(t){return this.queries.get(t)||{listeners:new Set,invalidated:!1,document:null,newData:null,lastRequestId:1,observableQuery:null,subscriptions:new Set}},t.prototype.setQuery=function(t,e){var r=this.getQuery(t),n=Object(i.a)(Object(i.a)({},r),e(r));this.queries.set(t,n)},t.prototype.invalidate=function(t,e){void 0===e&&(e=!0),t&&this.setQuery(t,(function(){return{invalidated:e}}))},t.prototype.prepareContext=function(t){void 0===t&&(t={});var e=this.localState.prepareContext(t);return Object(i.a)(Object(i.a)({},e),{clientAwareness:this.clientAwareness})},t.prototype.checkInFlight=function(t){var e=this.queryStore.get(t);return e&&e.networkStatus!==n.ready&&e.networkStatus!==n.error},t.prototype.startPollingQuery=function(t,e,r){var n=this,o=t.pollInterval;if(Object(l.b)(o,18),!this.ssrMode){var a=this.pollingInfoByQueryId.get(e);a||this.pollingInfoByQueryId.set(e,a={}),a.interval=o,a.options=Object(i.a)(Object(i.a)({},t),{fetchPolicy:"network-only"});var s=function(){var t=n.pollingInfoByQueryId.get(e);t&&(n.checkInFlight(e)?u():n.fetchQuery(e,t.options,y.poll).then(u,u))},u=function(){var t=n.pollingInfoByQueryId.get(e);t&&(clearTimeout(t.timeout),t.timeout=setTimeout(s,t.interval))};r&&this.addQueryListener(e,r),u()}return e},t.prototype.stopPollingQuery=function(t){this.pollingInfoByQueryId.delete(t)},t}(),C=function(){function t(t){this.cache=t}return t.prototype.getCache=function(){return this.cache},t.prototype.markQueryResult=function(t,e,r,n,i){void 0===i&&(i=!1);var a=!Object(o.q)(t);i&&Object(o.q)(t)&&t.data&&(a=!0),!n&&a&&this.cache.write({result:t.data,dataId:"ROOT_QUERY",query:e,variables:r})},t.prototype.markSubscriptionResult=function(t,e,r){Object(o.q)(t)||this.cache.write({result:t.data,dataId:"ROOT_SUBSCRIPTION",query:e,variables:r})},t.prototype.markMutationInit=function(t){var e,r=this;t.optimisticResponse&&(e="function"==typeof t.optimisticResponse?t.optimisticResponse(t.variables):t.optimisticResponse,this.cache.recordOptimisticTransaction((function(n){var i=r.cache;r.cache=n;try{r.markMutationResult({mutationId:t.mutationId,result:{data:e},document:t.document,variables:t.variables,updateQueries:t.updateQueries,update:t.update})}finally{r.cache=i}}),t.mutationId))},t.prototype.markMutationResult=function(t){var e=this;if(!Object(o.q)(t.result)){var r=[{result:t.result.data,dataId:"ROOT_MUTATION",query:t.document,variables:t.variables}],n=t.updateQueries;n&&Object.keys(n).forEach((function(i){var a=n[i],s=a.query,u=a.updater,c=e.cache.diff({query:s.document,variables:s.variables,returnPartialData:!0,optimistic:!1}),l=c.result;if(c.complete){var f=Object(o.I)((function(){return u(l,{mutationResult:t.result,queryName:Object(o.n)(s.document)||void 0,queryVariables:s.variables})}));f&&r.push({result:f,dataId:"ROOT_QUERY",query:s.document,variables:s.variables})}})),this.cache.performTransaction((function(e){r.forEach((function(t){return e.write(t)}));var n=t.update;n&&Object(o.I)((function(){return n(e,t.result)}))}))}},t.prototype.markMutationComplete=function(t){var e=t.mutationId;t.optimisticResponse&&this.cache.removeOptimistic(e)},t.prototype.markUpdateQueryResult=function(t,e,r){this.cache.write({result:r,dataId:"ROOT_QUERY",variables:e,query:t})},t.prototype.reset=function(){return this.cache.reset()},t}(),A=function(){function t(t){var e=this;this.defaultOptions={},this.resetStoreCallbacks=[],this.clearStoreCallbacks=[];var r=t.cache,n=t.ssrMode,i=void 0!==n&&n,o=t.ssrForceFetchDelay,a=void 0===o?0:o,s=t.connectToDevTools,c=t.queryDeduplication,f=void 0===c||c,p=t.defaultOptions,d=t.assumeImmutableResults,h=void 0!==d&&d,v=t.resolvers,y=t.typeDefs,m=t.fragmentMatcher,b=t.name,g=t.version,O=t.link;if(!O&&v&&(O=u.ApolloLink.empty()),!O||!r)throw new l.a(4);this.link=O,this.cache=r,this.store=new C(r),this.disableNetworkFetches=i||a>0,this.queryDeduplication=f,this.defaultOptions=p||{},this.typeDefs=y,a&&setTimeout((function(){return e.disableNetworkFetches=!1}),a),this.watchQuery=this.watchQuery.bind(this),this.query=this.query.bind(this),this.mutate=this.mutate.bind(this),this.resetStore=this.resetStore.bind(this),this.reFetchObservableQueries=this.reFetchObservableQueries.bind(this);void 0!==s&&(s&&"undefined"!=typeof window)&&(window.__APOLLO_CLIENT__=this),this.version="2.6.10",this.localState=new S({cache:r,client:this,resolvers:v,fragmentMatcher:m}),this.queryManager=new $({link:this.link,store:this.store,queryDeduplication:f,ssrMode:i,clientAwareness:{name:b,version:g},localState:this.localState,assumeImmutableResults:h,onBroadcast:function(){e.devToolsHookCb&&e.devToolsHookCb({action:{},state:{queries:e.queryManager.queryStore.getStore(),mutations:e.queryManager.mutationStore.getStore()},dataWithOptimisticResults:e.cache.extract(!0)})}})}return t.prototype.stop=function(){this.queryManager.stop()},t.prototype.watchQuery=function(t){return this.defaultOptions.watchQuery&&(t=Object(i.a)(Object(i.a)({},this.defaultOptions.watchQuery),t)),!this.disableNetworkFetches||"network-only"!==t.fetchPolicy&&"cache-and-network"!==t.fetchPolicy||(t=Object(i.a)(Object(i.a)({},t),{fetchPolicy:"cache-first"})),this.queryManager.watchQuery(t)},t.prototype.query=function(t){return this.defaultOptions.query&&(t=Object(i.a)(Object(i.a)({},this.defaultOptions.query),t)),Object(l.b)("cache-and-network"!==t.fetchPolicy,5),this.disableNetworkFetches&&"network-only"===t.fetchPolicy&&(t=Object(i.a)(Object(i.a)({},t),{fetchPolicy:"cache-first"})),this.queryManager.query(t)},t.prototype.mutate=function(t){return this.defaultOptions.mutate&&(t=Object(i.a)(Object(i.a)({},this.defaultOptions.mutate),t)),this.queryManager.mutate(t)},t.prototype.subscribe=function(t){return this.queryManager.startGraphQLSubscription(t)},t.prototype.readQuery=function(t,e){return void 0===e&&(e=!1),this.cache.readQuery(t,e)},t.prototype.readFragment=function(t,e){return void 0===e&&(e=!1),this.cache.readFragment(t,e)},t.prototype.writeQuery=function(t){var e=this.cache.writeQuery(t);return this.queryManager.broadcastQueries(),e},t.prototype.writeFragment=function(t){var e=this.cache.writeFragment(t);return this.queryManager.broadcastQueries(),e},t.prototype.writeData=function(t){var e=this.cache.writeData(t);return this.queryManager.broadcastQueries(),e},t.prototype.__actionHookForDevTools=function(t){this.devToolsHookCb=t},t.prototype.__requestRaw=function(t){return Object(u.execute)(this.link,t)},t.prototype.initQueryManager=function(){return this.queryManager},t.prototype.resetStore=function(){var t=this;return Promise.resolve().then((function(){return t.queryManager.clearStore()})).then((function(){return Promise.all(t.resetStoreCallbacks.map((function(t){return t()})))})).then((function(){return t.reFetchObservableQueries()}))},t.prototype.clearStore=function(){var t=this;return Promise.resolve().then((function(){return t.queryManager.clearStore()})).then((function(){return Promise.all(t.clearStoreCallbacks.map((function(t){return t()})))}))},t.prototype.onResetStore=function(t){var e=this;return this.resetStoreCallbacks.push(t),function(){e.resetStoreCallbacks=e.resetStoreCallbacks.filter((function(e){return e!==t}))}},t.prototype.onClearStore=function(t){var e=this;return this.clearStoreCallbacks.push(t),function(){e.clearStoreCallbacks=e.clearStoreCallbacks.filter((function(e){return e!==t}))}},t.prototype.reFetchObservableQueries=function(t){return this.queryManager.reFetchObservableQueries(t)},t.prototype.extract=function(t){return this.cache.extract(t)},t.prototype.restore=function(t){return this.cache.restore(t)},t.prototype.addResolvers=function(t){this.localState.addResolvers(t)},t.prototype.setResolvers=function(t){this.localState.setResolvers(t)},t.prototype.getResolvers=function(){return this.localState.getResolvers()},t.prototype.setLocalStateFragmentMatcher=function(t){this.localState.setFragmentMatcher(t)},t}();e.default=A},function(t,e,r){"use strict";r.r(e),r.d(e,"SchemaLink",(function(){return s}));var n=r(0),i=r(20),o=r(79),a=r(116),s=function(t){function e(e){var r=e.schema,n=e.rootValue,i=e.context,o=t.call(this)||this;
39588return o.schema=r,o.rootValue=n,o.context=i,o}return Object(n.c)(e,t),e.prototype.request=function(t){var e=this;return new i.a((function(r){Promise.resolve(Object(a.execute)(e.schema,t.query,e.rootValue,"function"==typeof e.context?e.context(t):e.context,t.variables,t.operationName)).then((function(t){r.closed||(r.next(t),r.complete())})).catch((function(t){r.closed||r.error(t)}))}))},e}(o.ApolloLink);e.default=s},,,function(t,e,r){"use strict";r.r(e),r.d(e,"HeuristicFragmentMatcher",(function(){return f})),r.d(e,"InMemoryCache",(function(){return E})),r.d(e,"IntrospectionFragmentMatcher",(function(){return p})),r.d(e,"ObjectCache",(function(){return O})),r.d(e,"StoreReader",(function(){return y})),r.d(e,"StoreWriter",(function(){return S})),r.d(e,"WriteError",(function(){return w})),r.d(e,"assertIdValue",(function(){return g})),r.d(e,"defaultDataIdFromObject",(function(){return C})),r.d(e,"defaultNormalizedCacheFactory",(function(){return _})),r.d(e,"enhanceErrorWithDocument",(function(){return k}));var n=r(0),i=r(87),o=r(1),a=r(29),s=r(41),u=r(3),c=!1;function l(){var t=!c;return Object(o.y)()||(c=!0),t}var f=function(){function t(){}return t.prototype.ensureReady=function(){return Promise.resolve()},t.prototype.canBypassInit=function(){return!0},t.prototype.match=function(t,e,r){var n=r.store.get(t.id),i="ROOT_QUERY"===t.id;if(!n)return i;var o=n.__typename,a=void 0===o?i&&"Query":o;return a&&a===e||(l(),"heuristic")},t}(),p=function(){function t(t){t&&t.introspectionQueryResultData?(this.possibleTypesMap=this.parseIntrospectionResult(t.introspectionQueryResultData),this.isReady=!0):this.isReady=!1,this.match=this.match.bind(this)}return t.prototype.match=function(t,e,r){Object(u.b)(this.isReady,1);var n=r.store.get(t.id),i="ROOT_QUERY"===t.id;if(!n)return i;var o=n.__typename,a=void 0===o?i&&"Query":o;if(Object(u.b)(a,2),a===e)return!0;var s=this.possibleTypesMap[e];return!!(a&&s&&s.indexOf(a)>-1)},t.prototype.parseIntrospectionResult=function(t){var e={};return t.__schema.types.forEach((function(t){"UNION"!==t.kind&&"INTERFACE"!==t.kind||(e[t.name]=t.possibleTypes.map((function(t){return t.name})))})),e},t}(),d=Object.prototype.hasOwnProperty,h=function(){function t(t){var e=this;void 0===t&&(t=Object.create(null)),this.data=t,this.depend=Object(s.b)((function(t){return e.data[t]}),{disposable:!0,makeCacheKey:function(t){return t}})}return t.prototype.toObject=function(){return this.data},t.prototype.get=function(t){return this.depend(t),this.data[t]},t.prototype.set=function(t,e){e!==this.data[t]&&(this.data[t]=e,this.depend.dirty(t))},t.prototype.delete=function(t){d.call(this.data,t)&&(delete this.data[t],this.depend.dirty(t))},t.prototype.clear=function(){this.replace(null)},t.prototype.replace=function(t){var e=this;t?(Object.keys(t).forEach((function(r){e.set(r,t[r])})),Object.keys(this.data).forEach((function(r){d.call(t,r)||e.delete(r)}))):Object.keys(this.data).forEach((function(t){e.delete(t)}))},t}();function v(t){return new h(t)}var y=function(){function t(t){var e=this,r=void 0===t?{}:t,n=r.cacheKeyRoot,i=void 0===n?new s.a(o.e):n,a=r.freezeResults,u=void 0!==a&&a,c=this.executeStoreQuery,l=this.executeSelectionSet,f=this.executeSubSelectedArray;this.freezeResults=u,this.executeStoreQuery=Object(s.b)((function(t){return c.call(e,t)}),{makeCacheKey:function(t){var e=t.query,r=t.rootValue,n=t.contextValue,o=t.variableValues,a=t.fragmentMatcher;if(n.store instanceof h)return i.lookup(n.store,e,a,JSON.stringify(o),r.id)}}),this.executeSelectionSet=Object(s.b)((function(t){return l.call(e,t)}),{makeCacheKey:function(t){var e=t.selectionSet,r=t.rootValue,n=t.execContext;if(n.contextValue.store instanceof h)return i.lookup(n.contextValue.store,e,n.fragmentMatcher,JSON.stringify(n.variableValues),r.id)}}),this.executeSubSelectedArray=Object(s.b)((function(t){return f.call(e,t)}),{makeCacheKey:function(t){var e=t.field,r=t.array,n=t.execContext;if(n.contextValue.store instanceof h)return i.lookup(n.contextValue.store,e,r,JSON.stringify(n.variableValues))}})}return t.prototype.readQueryFromStore=function(t){return this.diffQueryAgainstStore(Object(n.a)(Object(n.a)({},t),{returnPartialData:!1})).result},t.prototype.diffQueryAgainstStore=function(t){var e=t.store,r=t.query,n=t.variables,i=t.previousResult,s=t.returnPartialData,c=void 0===s||s,l=t.rootId,f=void 0===l?"ROOT_QUERY":l,p=t.fragmentMatcherFunction,d=t.config,h=Object(o.o)(r);n=Object(o.c)({},Object(o.h)(h),n);var v={store:e,dataIdFromObject:d&&d.dataIdFromObject,cacheRedirects:d&&d.cacheRedirects||{}},y=this.executeStoreQuery({query:r,rootValue:{type:"id",id:f,generated:!0,typename:"Query"},contextValue:v,variableValues:n,fragmentMatcher:p}),m=y.missing&&y.missing.length>0;return m&&!c&&y.missing.forEach((function(t){if(!t.tolerable)throw new u.a(8)})),i&&Object(a.a)(i,y.result)&&(y.result=i),{result:y.result,complete:!m}},t.prototype.executeStoreQuery=function(t){var e=t.query,r=t.rootValue,n=t.contextValue,i=t.variableValues,a=t.fragmentMatcher,s=void 0===a?b:a,u=Object(o.l)(e),c=Object(o.j)(e),l={query:e,fragmentMap:Object(o.g)(c),contextValue:n,variableValues:i,fragmentMatcher:s};return this.executeSelectionSet({selectionSet:u.selectionSet,rootValue:r,execContext:l})},t.prototype.executeSelectionSet=function(t){var e=this,r=t.selectionSet,i=t.rootValue,a=t.execContext,s=a.fragmentMap,c=a.c
39588ontextValue,l=a.variableValues,f={result:null},p=[],d=c.store.get(i.id),h=d&&d.__typename||"ROOT_QUERY"===i.id&&"Query"||void 0;function v(t){var e;return t.missing&&(f.missing=f.missing||[],(e=f.missing).push.apply(e,t.missing)),t.result}return r.selections.forEach((function(t){var r;if(Object(o.F)(t,l))if(Object(o.t)(t)){var f=v(e.executeField(d,h,t,a));void 0!==f&&p.push(((r={})[Object(o.E)(t)]=f,r))}else{var y=void 0;if(Object(o.v)(t))y=t;else if(!(y=s[t.name.value]))throw new u.a(9);var m=y.typeCondition&&y.typeCondition.name.value,b=!m||a.fragmentMatcher(i,m,c);if(b){var g=e.executeSelectionSet({selectionSet:y.selectionSet,rootValue:i,execContext:a});"heuristic"===b&&g.missing&&(g=Object(n.a)(Object(n.a)({},g),{missing:g.missing.map((function(t){return Object(n.a)(Object(n.a)({},t),{tolerable:!0})}))})),p.push(v(g))}}})),f.result=Object(o.B)(p),this.freezeResults,f},t.prototype.executeField=function(t,e,r,n){var i=n.variableValues,a=n.contextValue,s=function(t,e,r,n,i,a){a.resultKey;var s=a.directives,u=r;(n||s)&&(u=Object(o.p)(u,n,s));var c=void 0;if(t&&void 0===(c=t[u])&&i.cacheRedirects&&"string"==typeof e){var l=i.cacheRedirects[e];if(l){var f=l[r];f&&(c=f(t,n,{getCacheKey:function(t){var e=i.dataIdFromObject(t);return e&&Object(o.H)({id:e,typename:t.__typename})}}))}}if(void 0===c)return{result:c,missing:[{object:t,fieldName:u,tolerable:!1}]};Object(o.w)(c)&&(c=c.json);return{result:c}}(t,e,r.name.value,Object(o.b)(r,i),a,{resultKey:Object(o.E)(r),directives:Object(o.i)(r,i)});return Array.isArray(s.result)?this.combineExecResults(s,this.executeSubSelectedArray({field:r,array:s.result,execContext:n})):r.selectionSet?null==s.result?s:this.combineExecResults(s,this.executeSelectionSet({selectionSet:r.selectionSet,rootValue:s.result,execContext:n})):(m(r,s.result),this.freezeResults,s)},t.prototype.combineExecResults=function(){for(var t,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return e.forEach((function(e){e.missing&&(t=t||[]).push.apply(t,e.missing)})),{result:e.pop().result,missing:t}},t.prototype.executeSubSelectedArray=function(t){var e,r=this,n=t.field,i=t.array,o=t.execContext;function a(t){return t.missing&&(e=e||[]).push.apply(e,t.missing),t.result}return i=i.map((function(t){return null===t?null:Array.isArray(t)?a(r.executeSubSelectedArray({field:n,array:t,execContext:o})):n.selectionSet?a(r.executeSelectionSet({selectionSet:n.selectionSet,rootValue:t,execContext:o})):(m(n,t),t)})),this.freezeResults,{result:i,missing:e}},t}();function m(t,e){if(!t.selectionSet&&Object(o.u)(e))throw new u.a(10)}function b(){return!0}function g(t){Object(u.b)(Object(o.u)(t),11)}var O=function(){function t(t){void 0===t&&(t=Object.create(null)),this.data=t}return t.prototype.toObject=function(){return this.data},t.prototype.get=function(t){return this.data[t]},t.prototype.set=function(t,e){this.data[t]=e},t.prototype.delete=function(t){this.data[t]=void 0},t.prototype.clear=function(){this.data=Object.create(null)},t.prototype.replace=function(t){this.data=t||Object.create(null)},t}();function _(t){return new O(t)}var w=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="WriteError",e}return Object(n.c)(e,t),e}(Error);function k(t,e){var r=new w("Error writing result to store for query:\n "+JSON.stringify(e));return r.message+="\n"+t.message,r.stack=t.stack,r}var S=function(){function t(){}return t.prototype.writeQueryToStore=function(t){var e=t.query,r=t.result,n=t.store,i=void 0===n?v():n,o=t.variables,a=t.dataIdFromObject,s=t.fragmentMatcherFunction;return this.writeResultToStore({dataId:"ROOT_QUERY",result:r,document:e,store:i,variables:o,dataIdFromObject:a,fragmentMatcherFunction:s})},t.prototype.writeResultToStore=function(t){var e=t.dataId,r=t.result,n=t.document,i=t.store,a=void 0===i?v():i,s=t.variables,u=t.dataIdFromObject,c=t.fragmentMatcherFunction,l=Object(o.m)(n);try{return this.writeSelectionSetToStore({result:r,dataId:e,selectionSet:l.selectionSet,context:{store:a,processedData:{},variables:Object(o.c)({},Object(o.h)(l),s),dataIdFromObject:u,fragmentMap:Object(o.g)(Object(o.j)(n)),fragmentMatcherFunction:c}})}catch(t){throw k(t,n)}},t.prototype.writeSelectionSetToStore=function(t){var e=this,r=t.result,n=t.dataId,i=t.selectionSet,a=t.context,s=a.variables,c=a.store,l=a.fragmentMap;return i.selections.forEach((function(t){var i;if(Object(o.F)(t,s))if(Object(o.t)(t)){var c=Object(o.E)(t),f=r[c];if(void 0!==f)e.writeFieldToStore({dataId:n,value:f,field:t,context:a});else{var p=!1,d=!1;t.directives&&t.directives.length&&(p=t.directives.some((function(t){return t.name&&"defer"===t.name.value})),d=t.directives.some((function(t){return t.name&&"client"===t.name.value}))),!p&&!d&&a.fragmentMatcherFunction}}else{var h=void 0;Object(o.v)(t)?h=t:(h=(l||{}
39588)[t.name.value],Object(u.b)(h,3));var v=!0;if(a.fragmentMatcherFunction&&h.typeCondition){var y=n||"self",m=Object(o.H)({id:y,typename:void 0}),b={store:new O((i={},i[y]=r,i)),cacheRedirects:{}},g=a.fragmentMatcherFunction(m,h.typeCondition.name.value,b);Object(o.x)(),v=!!g}v&&e.writeSelectionSetToStore({result:r,selectionSet:h.selectionSet,dataId:n,context:a})}})),c},t.prototype.writeFieldToStore=function(t){var e,r,i,s=t.field,c=t.value,l=t.dataId,f=t.context,p=f.variables,d=f.dataIdFromObject,h=f.store,v=Object(o.G)(s,p);if(s.selectionSet&&null!==c)if(Array.isArray(c)){var y=l+"."+v;r=this.processArrayValue(c,y,s.selectionSet,f)}else{var m=l+"."+v,b=!0;if(j(m)||(m="$"+m),d){var g=d(c);Object(u.b)(!g||!j(g),4),(g||"number"==typeof g&&0===g)&&(m=g,b=!1)}x(m,s,f.processedData)||this.writeSelectionSetToStore({dataId:m,result:c,selectionSet:s.selectionSet,context:f});var O=c.__typename;r=Object(o.H)({id:m,typename:O},b);var _=(i=h.get(l))&&i[v];if(_!==r&&Object(o.u)(_)){var w=void 0!==_.typename,k=void 0!==O,S=w&&k&&_.typename!==O;Object(u.b)(!b||_.generated||S,5),Object(u.b)(!w||k,6),_.generated&&(S?b||h.delete(_.id):function t(e,r,i){if(e===r)return!1;var s=i.get(e),u=i.get(r),c=!1;Object.keys(s).forEach((function(e){var r=s[e],n=u[e];Object(o.u)(r)&&j(r.id)&&Object(o.u)(n)&&!Object(a.a)(r,n)&&t(r.id,n.id,i)&&(c=!0)})),i.delete(e);var l=Object(n.a)(Object(n.a)({},s),u);if(Object(a.a)(l,u))return c;return i.set(r,l),!0}(_.id,r.id,h))}}else r=null!=c&&"object"==typeof c?{type:"json",json:c}:c;(i=h.get(l))&&Object(a.a)(r,i[v])||h.set(l,Object(n.a)(Object(n.a)({},i),((e={})[v]=r,e)))},t.prototype.processArrayValue=function(t,e,r,n){var i=this;return t.map((function(t,a){if(null===t)return null;var s=e+"."+a;if(Array.isArray(t))return i.processArrayValue(t,s,r,n);var u=!0;if(n.dataIdFromObject){var c=n.dataIdFromObject(t);c&&(s=c,u=!1)}return x(s,r,n.processedData)||i.writeSelectionSetToStore({dataId:s,result:t,selectionSet:r,context:n}),Object(o.H)({id:s,typename:t.__typename},u)}))},t}();function j(t){return"$"===t[0]}function x(t,e,r){if(!r)return!1;if(r[t]){if(r[t].indexOf(e)>=0)return!0;r[t].push(e)}else r[t]=[e];return!1}var $={fragmentMatcher:new f,dataIdFromObject:C,addTypename:!0,resultCaching:!0,freezeResults:!1};function C(t){if(t.__typename){if(void 0!==t.id)return t.__typename+":"+t.id;if(void 0!==t._id)return t.__typename+":"+t._id}return null}var A=Object.prototype.hasOwnProperty,R=function(t){function e(e,r,n){var i=t.call(this,Object.create(null))||this;return i.optimisticId=e,i.parent=r,i.transaction=n,i}return Object(n.c)(e,t),e.prototype.toObject=function(){return Object(n.a)(Object(n.a)({},this.parent.toObject()),this.data)},e.prototype.get=function(t){return A.call(this.data,t)?this.data[t]:this.parent.get(t)},e}(O),E=function(t){function e(e){void 0===e&&(e={});var r=t.call(this)||this;r.watches=new Set,r.typenameDocumentCache=new Map,r.cacheKeyRoot=new s.a(o.e),r.silenceBroadcast=!1,r.config=Object(n.a)(Object(n.a)({},$),e),r.config.customResolvers&&(r.config.cacheRedirects=r.config.customResolvers),r.config.cacheResolvers&&(r.config.cacheRedirects=r.config.cacheResolvers),r.addTypename=!!r.config.addTypename,r.data=r.config.resultCaching?new h:new O,r.optimisticData=r.data,r.storeWriter=new S,r.storeReader=new y({cacheKeyRoot:r.cacheKeyRoot,freezeResults:e.freezeResults});var i=r,a=i.maybeBroadcastWatch;return r.maybeBroadcastWatch=Object(s.b)((function(t){return a.call(r,t)}),{makeCacheKey:function(t){if(!t.optimistic&&!t.previousResult)return i.data instanceof h?i.cacheKeyRoot.lookup(t.query,JSON.stringify(t.variables)):void 0}}),r}return Object(n.c)(e,t),e.prototype.restore=function(t){return t&&this.data.replace(t),this},e.prototype.extract=function(t){return void 0===t&&(t=!1),(t?this.optimisticData:this.data).toObject()},e.prototype.read=function(t){if("string"==typeof t.rootId&&void 0===this.data.get(t.rootId))return null;var e=this.config.fragmentMatcher,r=e&&e.match;return this.storeReader.readQueryFromStore({store:t.optimistic?this.optimisticData:this.data,query:this.transformDocument(t.query),variables:t.variables,rootId:t.rootId,fragmentMatcherFunction:r,previousResult:t.previousResult,config:this.config})||null},e.prototype.write=function(t){var e=this.config.fragmentMatcher,r=e&&e.match;this.storeWriter.writeResultToStore({dataId:t.dataId,result:t.result,variables:t.variables,document:this.transformDocument(t.query),store:this.data,dataIdFromObject:this.config.dataIdFromObject,fragmentMatcherFunction:r}),this.broadcastWatches()},e.prototype.diff=function(t){var e=this.config.fragmentMatcher,r=e&&e.match;return this.storeReader.diffQueryAgainstStore({store:t.optimistic?this.optimisticData:this.data,query:this.transformDocument(t.query),variables:t.variables,returnPartialData:t.returnPartialData,previousResult:t.previousResult,fragmentMatcherFunction:r,config:this.config})},e.prototype.watch=function(t){var e=this;
39588return this.watches.add(t),function(){e.watches.delete(t)}},e.prototype.evict=function(t){throw new u.a(7)},e.prototype.reset=function(){return this.data.clear(),this.broadcastWatches(),Promise.resolve()},e.prototype.removeOptimistic=function(t){for(var e=[],r=0,n=this.optimisticData;n instanceof R;)n.optimisticId===t?++r:e.push(n),n=n.parent;if(r>0){for(this.optimisticData=n;e.length>0;){var i=e.pop();this.performTransaction(i.transaction,i.optimisticId)}this.broadcastWatches()}},e.prototype.performTransaction=function(t,e){var r=this.data,n=this.silenceBroadcast;this.silenceBroadcast=!0,"string"==typeof e&&(this.data=this.optimisticData=new R(e,this.optimisticData,t));try{t(this)}finally{this.silenceBroadcast=n,this.data=r}this.broadcastWatches()},e.prototype.recordOptimisticTransaction=function(t,e){return this.performTransaction(t,e)},e.prototype.transformDocument=function(t){if(this.addTypename){var e=this.typenameDocumentCache.get(t);return e||(e=Object(o.a)(t),this.typenameDocumentCache.set(t,e),this.typenameDocumentCache.set(e,e)),e}return t},e.prototype.broadcastWatches=function(){var t=this;this.silenceBroadcast||this.watches.forEach((function(e){return t.maybeBroadcastWatch(e)}))},e.prototype.maybeBroadcastWatch=function(t){t.callback(this.diff({query:t.query,variables:t.variables,previousResult:t.previousResult&&t.previousResult(),optimistic:t.optimistic}))},e}(i.a)},,,,,,function(t,e,r){r(397);var n=r(60).Object;t.exports=function(t,e){return n.defineProperties(t,e)}},function(t,e,r){r(398),t.exports=r(60).Object.freeze},,,,function(t,e,r){var n=r(58),i=r(60),o=r(148),a=r(108),s=r(119),u=function(t,e,r){var c,l,f,p=t&u.F,d=t&u.G,h=t&u.S,v=t&u.P,y=t&u.B,m=t&u.W,b=d?i:i[e]||(i[e]={}),g=b.prototype,O=d?n:h?n[e]:(n[e]||{}).prototype;for(c in d&&(r=e),r)(l=!p&&O&&void 0!==O[c])&&s(b,c)||(f=l?O[c]:r[c],b[c]=d&&"function"!=typeof O[c]?r[c]:y&&l?o(f,n):m&&O[c]==f?function(t){var e=function(e,r,n){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,r)}return new t(e,r,n)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(f):v&&"function"==typeof f?o(Function.call,f):f,v&&((b.virtual||(b.virtual={}))[c]=f,t&u.R&&g&&!g[c]&&a(g,c,f)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e,r){var n=r(118),i=r(234);t.exports=r(109)?function(t,e,r){return n.f(t,e,i(1,r))}:function(t,e,r){return t[e]=r,t}},function(t,e,r){t.exports=!r(150)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},,,,,,,,function(t,e){t.exports={}},function(t,e,r){var n=r(80),i=r(315),o=r(316),a=Object.defineProperty;e.f=r(109)?Object.defineProperty:function(t,e,r){if(n(t),e=o(e,!0),n(r),i)try{return a(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[e]=r.value),t}},function(t,e){var r={}.hasOwnProperty;t.exports=function(t,e){return r.call(t,e)}},,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,e,r){var n=r(149);t.exports=function(t,e,r){if(n(t),void 0===e)return t;switch(r){case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,i){return t.call(e,r,n,i)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,r){var n=r(314),i=r(177);t.exports=function(t){return n(i(t))}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){t.exports=!0},function(t,e,r){var n=r(89),i=r(58).document,o=n(i)&&n(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e){var r=Math.ceil,n=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?n:r)(t)}},function(t,e,r){var n=r(237)("keys"),i=r(182);t.exports=function(t){return n[t]||(n[t]=i(t))}},function(t,e){var r=0,n=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++r+n).toString(36))}},function(t,e,r){var n=r(118).f,i=r(119),o=r(61)("toStringTag");t.exports=function(t,e,r){t&&!i(t=r?t:t.prototype,o)&&n(t,o,{configurable:!0,value:e})}},,,,,,,,,,,,,,,,,,,,,,function(t,e,r){"use strict";var n=r(149);function i(t){var e,r;this.promise=new t((function(t,n){if(void 0!==e||void 0!==r)throw TypeError("Bad Promise constructor");e=t,r=n})),this.resolve=n(e),this.reject=n(r)}t.exports.f=function(t){return new i(t)}},,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,r){r(311);for(var n=r(58),i=r(108),o=r(117),a=r(61)("toStringTag"),s="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),u=0;u<s.length;u++){var c=s[u],l=n[c],f=l&&l.prototype;f&&!f[a]&&i(f,a,c),o[c]=o.Array}},function(t,e,r){"use strict";var n=r(178),i=r(107),o=r(317),a=r(108),s=r(117),u=r(318),c=r(183),l=r(324),f=r(61)("iterator"),p=!([].keys&&"next"in[].keys()),d=function(){return this};t.exports=function(t,e,r,h,v,y,m){u(r,e,h);var b,g,O,_=function(t){if(!p&&t in j)return j[t];switch(t){case"keys":case"values":return function(){return new r(this,t)}}return function(){return new r(this,t)}},w=e+" Iterator",k="values"==v,S=!1,j=t.prototype,x=j[f]||j["@@iterator"]||v&&j[v],$=x||_(v),C=v?k?_("entries"):$:void 0,A="Array"==e&&j.entries||x;if(A&&(O=l(A.call(new t)))!==Object.prototype&&O.next&&(c(O,w,!0),n||"function"==typeof O[f]||a(O,f,d)),k&&x&&"values"!==x.name&&(S=!0,$=function(){return x.call(this)}
vendor: 5,222 bytes, line 39588
39588),n&&!m||!p&&!S&&j[f]||a(j,f,$),s[e]=$,s[w]=d,v)if(b={values:k?$:_("values"),keys:y?$:_("keys"),entries:C},m)for(g in b)g in j||o(j,g,b[g]);else i(i.P+i.F*(p||S),e,b);return b}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,r){var n=r(118),i=r(80),o=r(320);t.exports=r(109)?Object.defineProperties:function(t,e){i(t);for(var r,a=o(e),s=a.length,u=0;s>u;)n.f(t,r=a[u++],e[r]);return t}},function(t,e,r){var n=r(180),i=Math.min;t.exports=function(t){return t>0?i(n(t),9007199254740991):0}},function(t,e,r){var n=r(60),i=r(58),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:n.version,mode:r(178)?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,r){var n=r(58).document;t.exports=n&&n.documentElement},function(t,e,r){"use strict";var n=r(326)(!0);r(233)(String,"String",(function(t){this._t=String(t),this._i=0}),(function(){var t,e=this._t,r=this._i;return r>=e.length?{value:void 0,done:!0}:(t=n(e,r),this._i+=t.length,{value:t,done:!1})}))},function(t,e,r){var n=r(242),i=r(61)("iterator"),o=r(117);t.exports=r(60).getIteratorMethod=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[n(t)]}},function(t,e,r){var n=r(147),i=r(61)("toStringTag"),o="Arguments"==n(function(){return arguments}());t.exports=function(t){var e,r,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?r:o?n(e):"Object"==(a=n(e))&&"function"==typeof e.callee?"Arguments":a}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,r){var n=r(80),i=r(149),o=r(61)("species");t.exports=function(t,e){var r,a=n(t).constructor;return void 0===a||null==(r=n(a)[o])?e:i(r)}},function(t,e,r){var n,i,o,a=r(148),s=r(389),u=r(239),c=r(179),l=r(58),f=l.process,p=l.setImmediate,d=l.clearImmediate,h=l.MessageChannel,v=l.Dispatch,y=0,m={},b=function(){var t=+this;if(m.hasOwnProperty(t)){var e=m[t];delete m[t],e()}},g=function(t){b.call(t.data)};p&&d||(p=function(t){for(var e=[],r=1;arguments.length>r;)e.push(arguments[r++]);return m[++y]=function(){s("function"==typeof t?t:Function(t),e)},n(y),y},d=function(t){delete m[t]},"process"==r(147)(f)?n=function(t){f.nextTick(a(b,t,1))}:v&&v.now?n=function(t){v.now(a(b,t,1))}:h?(o=(i=new h).port2,i.port1.onmessage=g,n=a(o.postMessage,o,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(n=function(t){l.postMessage(t+"","*")},l.addEventListener("message",g,!1)):n="onreadystatechange"in c("script")?function(t){u.appendChild(c("script")).onreadystatechange=function(){u.removeChild(this),b.call(t)}}:function(t){setTimeout(a(b,t,1),0)}),t.exports={set:p,clear:d}},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,r){var n=r(80),i=r(89),o=r(205);t.exports=function(t,e){if(n(t),i(e)&&e.constructor===t)return e;var r=o.f(t);return(0,r.resolve)(e),r.promise}},,,,,,,,,,function(t,e,r){"use strict";var n=r(312),i=r(313),o=r(117),a=r(176);t.exports=r(233)(Array,"Array",(function(t,e){this._t=a(t),this._i=0,this._k=e}),(function(){var t=this._t,e=this._k,r=this._i++;return!t||r>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?r:"values"==e?t[r]:[r,t[r]])}),"values"),o.Arguments=o.Array,n("keys"),n("values"),n("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,r){var n=r(147);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==n(t)?t.split(""):Object(t)}},function(t,e,r){t.exports=!r(109)&&!r(150)((function(){return 7!=Object.defineProperty(r(179)("div"),"a",{get:function(){return 7}}).a}))},function(t,e,r){var n=r(89);t.exports=function(t,e){if(!n(t))return t;var r,i;if(e&&"function"==typeof(r=t.toString)&&!n(i=r.call(t)))return i;if("function"==typeof(r=t.valueOf)&&!n(i=r.call(t)))return i;if(!e&&"function"==typeof(r=t.toString)&&!n(i=r.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e,r){t.exports=r(108)},function(t,e,r){"use strict";var n=r(319),i=r(234),o=r(183),a={};r(108)(a,r(61)("iterator"),(function(){return this})),t.exports=function(t,e,r){t.prototype=n(a,{next:i(1,r)}),o(t,e+" Iterator")}},function(t,e,r){var n=r(80),i=r(235),o=r(238),a=r(181)("IE_PROTO"),s=function(){},u=function(){var t,e=r(179)("iframe"),n=o.length;for(e.style.display="none",r(239).appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),u=t.F;n--;)delete u.prototype[o[n]];return u()};t.exports=Object.create||function(t,e){var r;return null!==t?(s.prototype=n(t),r=new s,s.prototype=null,r[a]=t):r=u(),void 0===e?r:i(r,e)}},function(t,e,r){var n=r(321),i=r(238);t.exports=Object.keys||function(t){return n(t,i)}},function(t,e,r){var n=r(119),i=r(176),o=r(322)(!1),a=r(181)("IE_PROTO");t.exports=function(t,e){var r,s=i(t),u=0,c=[];for(r in s)r!=a&&n(s,r)&&c.push(r);for(;e.length>u;
vendor: 7,774 bytes, line 39588
39588)n(s,r=e[u++])&&(~o(c,r)||c.push(r));return c}},function(t,e,r){var n=r(176),i=r(236),o=r(323);t.exports=function(t){return function(e,r,a){var s,u=n(e),c=i(u.length),l=o(a,c);if(t&&r!=r){for(;c>l;)if((s=u[l++])!=s)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===r)return t||l||0;return!t&&-1}}},function(t,e,r){var n=r(180),i=Math.max,o=Math.min;t.exports=function(t,e){return(t=n(t))<0?i(t+e,0):o(t,e)}},function(t,e,r){var n=r(119),i=r(325),o=r(181)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),n(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e,r){var n=r(177);t.exports=function(t){return Object(n(t))}},function(t,e,r){var n=r(180),i=r(177);t.exports=function(t){return function(e,r){var o,a,s=String(i(e)),u=n(r),c=s.length;return u<0||u>=c?t?"":void 0:(o=s.charCodeAt(u))<55296||o>56319||u+1===c||(a=s.charCodeAt(u+1))<56320||a>57343?t?s.charAt(u):o:t?s.slice(u,u+2):a-56320+(o-55296<<10)+65536}}},function(t,e,r){var n=r(80),i=r(241);t.exports=r(60).getIterator=function(t){var e=i(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return n(e.call(t))}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e){},function(t,e,r){"use strict";var n,i,o,a,s=r(178),u=r(58),c=r(148),l=r(242),f=r(107),p=r(89),d=r(149),h=r(385),v=r(386),y=r(298),m=r(299).set,b=r(390)(),g=r(205),O=r(300),_=r(391),w=r(301),k=u.TypeError,S=u.process,j=S&&S.versions,x=j&&j.v8||"",$=u.Promise,C="process"==l(S),A=function(){},R=i=g.f,E=!!function(){try{var t=$.resolve(1),e=(t.constructor={})[r(61)("species")]=function(t){t(A,A)};return(C||"function"==typeof PromiseRejectionEvent)&&t.then(A)instanceof e&&0!==x.indexOf("6.6")&&-1===_.indexOf("Chrome/66")}catch(t){}}(),Q=function(t){var e;return!(!p(t)||"function"!=typeof(e=t.then))&&e},P=function(t,e){if(!t._n){t._n=!0;var r=t._c;b((function(){for(var n=t._v,i=1==t._s,o=0,a=function(e){var r,o,a,s=i?e.ok:e.fail,u=e.resolve,c=e.reject,l=e.domain;try{s?(i||(2==t._h&&q(t),t._h=1),!0===s?r=n:(l&&l.enter(),r=s(n),l&&(l.exit(),a=!0)),r===e.promise?c(k("Promise-chain cycle")):(o=Q(r))?o.call(r,u,c):u(r)):c(n)}catch(t){l&&!a&&l.exit(),c(t)}};r.length>o;)a(r[o++]);t._c=[],t._n=!1,e&&!t._h&&M(t)}))}},M=function(t){m.call(u,(function(){var e,r,n,i=t._v,o=I(t);if(o&&(e=O((function(){C?S.emit("unhandledRejection",i,t):(r=u.onunhandledrejection)?r({promise:t,reason:i}):(n=u.console)&&n.error&&n.error("Unhandled promise rejection",i)})),t._h=C||I(t)?2:1),t._a=void 0,o&&e.e)throw e.v}))},I=function(t){return 1!==t._h&&0===(t._a||t._c).length},q=function(t){m.call(u,(function(){var e;C?S.emit("rejectionHandled",t):(e=u.onrejectionhandled)&&e({promise:t,reason:t._v})}))},D=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),P(e,!0))},T=function(t){var e,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===t)throw k("Promise can't be resolved itself");(e=Q(t))?b((function(){var n={_w:r,_d:!1};try{e.call(t,c(T,n,1),c(D,n,1))}catch(t){D.call(n,t)}})):(r._v=t,r._s=1,P(r,!1))}catch(t){D.call({_w:r,_d:!1},t)}}};E||($=function(t){h(this,$,"Promise","_h"),d(t),n.call(this);try{t(c(T,this,1),c(D,this,1))}catch(t){D.call(this,t)}},(n=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=r(392)($.prototype,{then:function(t,e){var r=R(y(this,$));return r.ok="function"!=typeof t||t,r.fail="function"==typeof e&&e,r.domain=C?S.domain:void 0,this._c.push(r),this._a&&this._a.push(r),this._s&&P(this,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new n;this.promise=t,this.resolve=c(T,t,1),this.reject=c(D,t,1)},g.f=R=function(t){return t===$||t===a?new o(t):i(t)}),f(f.G+f.W+f.F*!E,{Promise:$}),r(183)($,"Promise"),r(393)("Promise"),a=r(60).Promise,f(f.S+f.F*!E,"Promise",{reject:function(t){var e=R(this);return(0,e.reject)(t),e.promise}}),f(f.S+f.F*(s||!E),"Promise",{resolve:function(t){return w(s&&this===a?$:this,t)}}),f(f.S+f.F*!(E&&r(394)((function(t){$.all(t).catch(A)}))),"Promise",{all:function(t){var e=this,r=R(e),n=r.resolve,i=r.reject,o=O((function(){var r=[],o=0,a=1;v(t,!1,(function(t){var s=o++,u=!1;r.push(void 0),a++,e.resolve(t).then((function(t){u||(u=!0,r[s]=t,--a||n(r))}),i)})),--a||n(r)}));return o.e&&i(o.v),r.promise},race:function(t){var e=this,r=R(e),n=r.reject,i=O((function(){v(t,!1,(function(t){e.resolve(t).then(r.resolve,n)}))}));return i.e&&n(i.v),r.promise}})},function(t,e){t.exports=function(t,e,r,n){if(!(t instanceof e)||void 0!==n&&n in t)throw TypeError(r+": incorrect invocation!");return t}},function(t,e,r){var n=r(148),i=r(387),o=r(388),a=r(80),s=r(236),u=r(241),c={},l={};(e=t.exports=function(t,e,r,f,p){var d,h,v,y,m=p?function(){return t}:u(t),b=n(r,f,e?2:1),g=0;if("function"!=typeof m)throw TypeError(t+" is not iterable!");if(o(m)){for(d=s(t.length);d>g;g++)if((y=e?b(a(h=t[g])[0],h[1]):b(t[g]))===c||y===l)return y}else for(v=m.call(t);!(h=v.next()).done;)if((y=i(v,b,h.value,e))===c||y===l)return y}).BREAK=c,e.RETURN=l},function(t,e,r){var n=r(80);t.exports=function(t,e,r,i){try{return i?e(n(r)[0],r[1]):e(r)}catch(e){var o=t.return;throw void 0!==o&&n(o.call(t)),e}}},function(t,e,r){var n=r(117),i=r(61)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(n.Array===t||o[i]===t)}},function(t,e){t.exports=function(t,e,r){var n=void 0===r;switch(e.length){case 0:return n?t():t.call(r);case 1:return n?t(e[0]):t.call(r,e[0]);case 2:return n?t(e[0],e[1]):t.call(r,e[0],e[1]);case 3:return n?t(e[0],e[1],e[2]):t.call(r,e[0],e[1],e[2]);case 4:return n?t(e[0],e[1],e[2],e[3]):t.call(r,e[0],e[1],e[2],e[3])}return t.apply(r,e)}},function(t,e,r){var n=r(58),i=r(299).set,o=n.MutationObserver||n.WebKitMutationObserver,a=n.process,s=n.Promise,u="process"==r(147)(a);t.exports=function(){var t,e,r,c=function(){var n,i;for(u&&(n=a.domain)&&n.exit();t;){i=t.fn,t=t.next;try{i()}catch(n){throw t?r():e=void 0,n}}e=void 0,n&&n.enter()};if(u)r=function(){a.nextTick(c)};else if(!o||n.navigator&&n.navigator.standalone)if(s&&s.resolve){var l=s.resolve(void 0);r=function(){l.then(c)}}else r=function(){i.call(n,c)};else{var f=!0,p=document.createTextNode("");new o(c).observe(p,{characterData:!0}),r=function(){p.data=f=!f}}return function(n){var i={fn:n,next:void 0};e&&(e.next=i),t||(t=i,r()),e=i}}},function(t,e,r){var n=r(58).navigator;t.exports=n&&n.userAgent||""},function(t,e,r){var n=r(108);t.exports=function(t,e,r){for(var i in e)r&&t[i]?t[i]=e[i]:n(t,i,e[i]);return t}},function(t,e,r){"use strict";var n=r(58),i=r(60),o=r(118),a=r(109),s=r(61)("species");t.exports=function(t){var e="function"==typeof i[t]?i[t]:n[t];a&&e&&!e[s]&&o.f(e,s,{configurable:!0,get:function(){return this}})}},function(t,e,r){var n=r(61)("iterator"),i=!1;try{var o=[7][n]();o.return=function(){i=!0},Array.from(o,(function(){throw 2}))}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var r=!1;try{var o=[7],a=o[n]();a.next=function(){return{done:r=!0}},o[n]=function(){return a},t(o)}catch(t){}return r}},function(t,e,r){"use strict";var n=r(107),i=r(60),o=r(58),a=r(298),s=r(301);n(n.P+n.R,"Promise",{finally:function(t){var e=a(this,i.Promise||o.Promise),r="function"==typeof t;return this.then(r?function(r){return s(e,t()).then((function(){return r}))}:t,r?function(r){return s(e,t()).then((function(){throw r}))}:t)}})},function(t,e,r){"use strict";var n=r(107),i=r(205),o=r(300);n(n.S,"Promise",{try:function(t){var e=i.f(this),r=o(t);return(r.e?e.reject:e.resolve)(r.v),e.promise}})},function(t,e,r){var n=r(107);n(n.S+n.F*!r(109),"Object",{defineProperties:r(235)})},function(t,e,r){var n=r(89),i=r(399).onFreeze;r(400)("freeze",(function(t){return function(e){return t&&n(e)?t(i(e)):e}}))}
vendor: 729 bytes, line 39588
39588,function(t,e,r){var n=r(182)("meta"),i=r(89),o=r(119),a=r(118).f,s=0,u=Object.isExtensible||function(){return!0},c=!r(150)((function(){return u(Object.preventExtensions({}))})),l=function(t){a(t,n,{value:{i:"O"+ ++s,w:{}}})},f=t.exports={KEY:n,NEED:!1,fastKey:function(t,e){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,n)){if(!u(t))return"F";if(!e)return"E";l(t)}return t[n].i},getWeak:function(t,e){if(!o(t,n)){if(!u(t))return!0;if(!e)return!1;l(t)}return t[n].w},onFreeze:function(t){return c&&f.NEED&&u(t)&&!o(t,n)&&l(t),t}}},function(t,e,r){var n=r(107),i=r(60),o=r(150);t.exports=function(t,e){var r=(i.Object||{})[t]||Object[t],a={};a[t]=e(r),n(n.S+n.F*o((function(){r(1)})),"Object",a)}}]]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.