(function(g){var f=window.AmazonUIPageJS||window.P,l=f._namespace||f.attributeErrors,n=l?l("CustomerReviewsCommonAssets",""):f;n.guardFatal?n.guardFatal(g)(n,window):n.execute(function(){g(n,window)})})(function(g,f,l){function n(){}g.when("A","cr-log-utils","cr-streaming-utils").register("cr-ajax-model",function(b,d,c){function a(a){m[a]&&(m[a].abort(),delete m[a])}function e(t,h,p,q,r,u,g,l){h=h||{};h.params=h.params||{};u=u?u:v++;r=r?r:h.error||function(){};q=q?q:0;p=p?p:2;l=l?l:"FATAL";var A=
"FATAL"===l?0:1,n=h.finallyCallback||function(){};g||(g="reviewsAjax"+k++,f.uet&&f.uet("tc",g));var x=b.state("cr-weblab-state"),w;for(w in x)x.hasOwnProperty(w)&&(h.params[w]=x[w]);h.params.scope=g;h.contentType=h.contentType||"application/x-www-form-urlencoded;charset\x3dUTF-8";var y=h.success||function(){};h.success=function(a){delete m[u];"function"===typeof y&&y(a);"function"===typeof n&&n(a)};h.error=function(k,b,c){k=k||{};var m=(k.http||{}).status||"[]";if(401===m){var v=k;var w=r,z=v.http.getResponseHeader("x-amz-re-authentication-url");
z?("function"===typeof w&&w(v),"function"===typeof n&&n(v),d.logCount("AjaxRedirectToReAuthenticationUrl",1),f.location=z,v=!0):v=!1;if(v)return;q=p}a(u);q++;q<p?(b="AJAX Post to "+t+" from "+f.location.href+" failed, status code passed through parameter was: "+b+", status code extracted from XHR HTTP object was: "+m+", attempt "+q+" of "+p+", error message was: \n "+c,d.logError(b,"WARN"),e(t,h,p,q,r,u,g,l)):(b="AJAX Post to "+t+" from "+f.location.href+" failed, status code passed through parameter was: "+
b+", status code extracted from XHR HTTP object was: "+m+", exhausted "+p+" attempt(s), error message was: \n "+c,d.logError(b,l),d.logCount("AjaxFailureFatal",A),"function"===typeof r&&r(k),"function"===typeof n&&n(k))};"function"!==typeof h.chunk&&(h.chunk=function(a){"appendFadeIn"===a[0]?c.appendFadeIn(a):"replace"===a[0]&&c.replace(a)});m[u]=b.post(t,h);return u}var k=0,v=1,m={};return{abort:a,post:e,postWithoutFatals:function(a,k,b,c,r,d,m){return e(a,k,b,c,r,d,m,"WARN")}}});"use strict";g.when("A",
"cr-jQuery","cr-log-utils","cr-number-utils").register("cr-A",function(b,d,c,a){b.getListFromState=function(a){var k=b.map(d("#cr-state-object, .cr-state-object"),function(a){return d(a).data("state")});return b.reduce(k,function(k,b){b!==l&&b[a]!==l&&k.push(b[a]);return k},[])};b.getValueFromState=function(a){var k=b.getListFromState(a);1<k.length&&c.logError("More than one  value defined for key: "+a,"ERROR");return k[0]};var e={top:-100,left:-100};b.inView=function(a){a=a||d();if("function"===
typeof a.offset){var b=(a.offset()||e).top-d(f).scrollTop();a=0<=b;b=b<d(f).height();return a&&b}return!1};b.onScreenAndVisible=function(b,c){b=b||d();c=a.isFiniteNumber(c)?c:0;if(b instanceof d||b.jquery){if(!b.is(":visible"))return!1;b=b[0].getBoundingClientRect();return b.top>=0-c&&b.left>=0-c&&b.bottom<=d(f).height()+c&&b.right<=d(f).width()+c}return!1};b.compositeEventWrapper=function(a,e,d){var k=a;d&&(k=b.throttle(k,d,{trailing:!1}));return c.jsGuard(function(a){a&&(k(a),e&&a.$event&&a.$event.preventDefault())})};
b.freeze=function(a){return"undefined"!==typeof Object&&"function"===typeof Object.freeze?Object.freeze(a):a};b.isFrozen=function(a){return"undefined"!==typeof Object&&"function"===typeof Object.isFrozen?Object.isFrozen(a):!1};return b});"use strict";g.when("jQuery").register("cr-jQuery",function(b){return b});"use strict";g.declare("reviews-constants",{PUSH_STATE:!0,REPLACE_STATE:!1,RATING_SERVICE_CONTEXT_ID:"ReviewsConsumption",data:{REFTAG:"data-reftag",CSM_COUNTER:"data-csm-counter",getReviews:{STANDARD:"data-reviews-state-param",
CHECKED:"data-reviews-param-checked",UNCHECKED:"data-reviews-param-unchecked"}},events:{CONTENT_CHANGED:"reviews:content-changed",RELOAD:"reviews:content-reload",RELOAD_COMPLETE:"reviews:content-reload-complete",AUTOSCROLL_COMPLETE:"reviews:autoscroll-complete",FILTER_FIRE_AGGREGATE:"reviews:filter-action:aggregate:trigger",FILTER_FIRE_UPDATE:"reviews:filter-action:trigger",FILTER_AGGREGATE:"reviews:filter-action:aggregate",FILTER_PUSH:"reviews:filter-action:push-state",FILTER_REPLACE:"reviews:filter-action:replace-state",
PAGINATION:"reviews:page-action",SEARCH_TEXTBOX:"reviews:search-textbox",SEARCH_BUTTON:"reviews:search-button",VOTE:"reviews:vote-action",TOGGLE_CLASS_CLICK:"reviews:toggle-class:click",AJAX_POST:"reviews:ajax-post",SCROLL_TO_ELEMENT_CLICK:"reviews:scroll-to-element:click",OPEN_MASH_MODAL:"reviews:open-mash-modal",FILTER_APPLY:"reviews:filter-action:apply",FILTER_CHANGE:"reviews:filter-action:change",FILTER_TAB_CLICKED:"reviews:filter-action:tab-clicked",FILTER_APPLY_BEGIN:"reviews:filter-action:apply-begin",
FILTER_APPLY_SUCCESS:"reviews:filter-action:apply-success",FILTER_APPLY_ERROR:"reviews:filter-action:apply-error",FILTER_APPLY_DONE:"reviews:filter-action:apply-done",INPUT_COMMENT:"reviews:input-comment",SUBMIT_COMMENT:"reviews:submit-comment",OPEN_SUBMISSION_COMMENT:"reviews:open-comment-submission",SORT_COMMENTS:"reviews:sort-comments",MORE_COMMENTS:"reviews:more-comments",EDIT_COMMENT:"reviews:edit-comment",CANCEL_EDIT_COMMENT:"reviews:cancel-edit-comment",DELETE_COMMENT:"reviews:delete-comment",
SUBMIT_EDIT_COMMENT:"reviews:submit-edit-comment",MODIFY_EDIT_COMMENT:"reviews:modify-edit-comment",INPUT_PRODUCT_LINK:"reviews:input-product-link",SELECT_PRODUCT_LINK:"reviews:select-product-link",STAR_RATING_CLICK:"ryp:star-rating-click",STAR_RATING_CLEAR:"ryp:star-rating-clear-click",TRIGGER_WEBLAB:"reviews:trigger-weblab",REFTAG_TRIGGER:"reviews:trigger-reftag"},filterOptions:{SORT_KEY:"sortBy",HELPFUL:"helpful",RECENT:"recent",LEGACY_HELPFUL:"byRankDescending",LEGACY_RECENT:"bySubmissionDateDescending",
MOBILE_HELPFUL:"sh",MOBILE_RECENT:"sd",STAR_KEY:"filterByStar",ALL_STARS:"all_stars",ONE_STAR:"one_star",TWO_STAR:"two_star",THREE_STAR:"three_star",FOUR_STAR:"four_star",FIVE_STAR:"five_star",POSTIVE:"positive",CRITICAL:"critical",FORMAT_KEY:"formatType",ALL_FORMATS:"all_formats",CURRENT_FORMAT:"current_format",AVP_KEY:"reviewerType",ALL_REVIEWS:"all_reviews",AVP_ONLY:"avp_only_reviews",MEDIA_KEY:"mediaType",ALL_CONTENTS:"all_contents",MEDIA_ONLY:"media_reviews_only",LANGUAGE_KEY:"filterByLanguage",
HEIGHT_KEY:"filterByHeight",WEIGHT_KEY:"filterByWeight"},keycodes:{ENTER:13,BACK_SPACE:8,SPACE:32},aui:{HIDDEN:"aok-hidden",NOWRAP:"aok-nowrap"}});"use strict";g.when("A","cr-string-utils","cr-log-utils").register("cr-popup",function(b,d,c){function a(a){var e={};a&&a.data&&(e=a.data);var g=d.defaultIfBlank(e.url,a.$target.find("a").andSelf().filter("a").attr("href")),m=d.defaultIfBlank(e.title,"CustomerReviews");m=""+m;var t="";b.each({width:null,height:null,resizable:"1",scrollbars:"1",toolbar:"0",
status:"1"},function(a,b){var c=e[b];a=null===c||c===l?a:c;null!==a&&(t+=b+"\x3d"+a+",")});t=t.slice(0,-1);var h=null;try{(h=f.open(g,m,t))?h.focus():c.logError("Unable to move focus to popup window with data: "+d.stringify(e),"ERROR"),a.$event.preventDefault()}catch(p){c.logError("Unable to open window with parameters: "+d.stringify(e),"FATAL",p)}return h}b.declarative("cr-popup",["click"],c.jsGuard(a));return{popup:a}});"use strict";g.when("A","cr-jQuery","reviews-constants","cr-ajax-model","cr-string-utils",
"cr-global-view").register("cr-generic-declarative-actions",function(b,d,c,a,e,k){function g(a){h(a)&&a.data.selector&&a.data.cssClass&&(d(a.data.selector).toggleClass(a.data.cssClass),a.$event.preventDefault(),b.trigger("a:pageUpdate"))}function m(a){h(a)&&a.data.scrollToSelector&&(k.scrollTo(a.data.scrollToSelector,0),a.$event.preventDefault())}function f(c){if(h(c)&&c.data.url&&c.data.params){c.$event.preventDefault();b.declarative.remove(c.$currentTarget,q.AJAX_POST);c=c.data;var e=c.params,k=
d(c.indicatorSelector)[0],m=p(d.fn.hide,c.hideOnSuccessSelector),r=p(d.fn.show,c.showOnFailureSelector);d(c.removeOnLoadSelector).remove();a.post(c.url,{params:e,indicator:k,success:m,error:r})}}function h(a){return a&&a.data&&a.$event&&"function"===typeof a.$event.preventDefault}function p(a,b){if(b&&"function"===typeof a)return function(){var c=d(b);0<c.length&&a.call(c)}}var q=c.events;b.declarative(q.TOGGLE_CLASS_CLICK,"click",g);b.declarative(q.SCROLL_TO_ELEMENT_CLICK,"click",m);b.declarative(q.AJAX_POST,
"click",f);return{toggleCssClass:g,scrollToElement:m,ajaxPost:f}});"use strict";g.register("cr-global-model",function(){return{generateUrl:function(b,d){b&&"/"!==b.charAt(b.length-1)&&(b+="/");b&&d&&(b=b+"ref\x3d"+d);return b}}});"use strict";g.when("A","a-expander","cr-jQuery","reviews-constants","cr-string-utils").register("cr-global-view",function(b,d,c,a,e){function k(a){var b="";if(a&&a.closest!==l){var c=a.closest("*["+h.REFTAG+"]");c&&(b=c.attr(h.REFTAG))}e.isBlank(b)&&a&&a.closest!==l&&(a=
a.closest("*[rel]"))&&(b=a.attr("rel"));return e.defaultIfBlank(b,"cm_cr_unknown")}function g(a){return a&&"function"===typeof a.is?a.is("*["+h.getReviews.CHECKED+"]")&&a.is("*["+h.getReviews.UNCHECKED+"]"):!1}function m(a){return a&&a.has!==l&&a.is!==l?0<a.find(":checked").length||a.is(":checked"):!1}function f(a,b){return a&&a.attr!==l&&b?e.parseJSON(a.attr(b))||{}:{}}var h=a.data;b.on("a:pageUpdate",function(){d!==l&&d.initializeExpanders()});b.on(a.events.RELOAD_COMPLETE,function(){b.trigger("a:image:lazyLoad")});
return{getReviewsStateParamsFromElement:function(a){var c=b.reduce(h.getReviews,function(a,b){return a+"*["+b+"],"},"").slice(0,-1),e;c&&a&&a.closest!==l&&(e=a.closest(c));return g(e)?m(e)?f(e,h.getReviews.CHECKED):f(e,h.getReviews.UNCHECKED):f(e,h.getReviews.STANDARD)},getReftag:function(a){if(a&&a.$target)var b=a.$target;a&&a.id&&(b=c("#"+a.id));a&&a.expander&&a.expander.$expander&&(b=a.expander.$expander);b=k(b);"cm_cr_unknown"===b&&a&&a.data&&a.data.reftag&&(b=a.data.reftag);return b},getReftagByDom:k,
scrollTo:function(a,b){a=c(a).offset();b=b||0;var e=c("#cr-state-object").data("state");e=e!==l&&e.disableScroll;a&&a.top!==l&&!e&&(c("html,body").stop(),c("html,body").animate({scrollTop:a.top-b},{queue:!1,duration:500}))}}});"use strict";g.when("cr-A","cr-jQuery","cr-lazy-widget-model","cr-lazy-widget-view","cr-log-utils","cr-number-utils","cr-string-utils","cr-uri-utils","ready").register("cr-lazy-widget-controller",function(b,d,c,a,e,k,g,m){function f(d){var k=b.getValueFromState("lazyWidgetDomainWhitelist"),
h=m.getCurrentHostname();if(k)b:{for(var f=0;f<k.length;f++)if(g.endsWith(h,k[f])){e.logCount("LazyWidgetInvalidDomain",0);break b}e.logError("AJAX triggered from invalid domain: "+h,"WARN");e.logCount("LazyWidgetInvalidDomain",1)}else e.logCount("LazyWidgetInvalidDomain",1),e.logError("AJAX triggered with null whitelist from domain: "+h,"WARN");c.loadLazyWidgets(a.getLazyWidgetStubs())&&(e.logCount("LazyWidgetTrigger",1),e.logCount("LazyWidgetTrigger:"+d,1))}var h={};h.bufferPixels=k.convertToInteger(b.getValueFromState("lazyWidgetLoaderBufferPixels"),
1E3);h.delayBeforeTriggering=k.convertToInteger(b.getValueFromState("lazyWidgetLoaderDelayBeforeTriggering"),5E3);h.triggerLazyLoadIfWidgetWithinBuffer=function(e){c.lazyLoadHasTriggered()||a.getLazyWidgetStubs().each(function(a,c){if(b.onScreen(d(c),h.bufferPixels))return f("scroll"),b.off("scroll",h.triggerLazyLoadIfWidgetWithinBuffer),!1})};var l={};h.logVisibleStubMetrics=function(c){a.getLazyWidgetStubs().each(function(a,c){a=d(c);c=a.data("widget-name");!l[c]&&b.onScreen(a)&&(e.logCount("VisibleLazyWidgetStub",
1),e.logCount("VisibleLazyWidgetStub:"+c,1),l[c]=!0)})};b.on("scroll",h.logVisibleStubMetrics);b.on("scroll",h.triggerLazyLoadIfWidgetWithinBuffer);d(a.getHoverTargets()).mouseenter(function(){f("hover")});e.logCount("LazyWidgetTrigger",0);return b.freeze(h)});"use strict";g.when("cr-A","cr-ajax-model","cr-uri-utils","ready").register("cr-lazy-widget-model",function(b,d,c){var a={},e=b.getValueFromState("lazyWidgetLoaderUrl"),k=!1;a.loadLazyWidgets=function(a){if(!k&&0<a.length){k=!0;var m=b.getValueFromState("asin"),
f=b.getValueFromState("lazyWidgetCsrfToken"),h=b.getValueFromState("languageOfPreference");a=b.reduce(a,function(a,c){return a+"\x26lazyWidget\x3d"+b.$(c).data("widget-name")},e+"?asin\x3d"+m+"\x26csrf\x3d"+f+"\x26language\x3d"+h);d.postWithoutFatals(a,{success:n,cache:!1,headers:{"cache-control":"no-cache"},params:c.getUrlParametersMap()||{}});return!0}return!1};a.lazyLoadHasTriggered=function(){return k};return b.freeze(a)});"use strict";g.when("cr-A","cr-jQuery","ready").register("cr-lazy-widget-view",
function(b,d){var c={},a=b.getValueFromState("lazyWidgetLoaderHoverTargetsSelector")||"";c.getLazyWidgetStubs=function(){return d(".cr-lazy-widget")};c.getHoverTargets=function(){d(a)};return b.freeze(c)});"use strict";g.when("A").register("cr-log-utils",function(b){function d(a,b,c){f.ueLogError&&("string"!==typeof b&&(b="FATAL"),c?f.ueLogError(c,{message:a,logLevel:b.toUpperCase(),attribution:"CustomerReviewsJS"}):f.ueLogError({message:a},{logLevel:b.toUpperCase(),attribution:"CustomerReviewsJS"}))}
function c(a,b){return"string"===typeof b?b+a:"CustomerReviews:"+a}return{logError:d,jsGuard:function(a){if("function"===typeof a)return function(){try{return a.apply(this,arguments)}catch(e){d("Uncaught Error in function","FATAL",e)}};d("Unable to wrap non-function","ERROR");return a},incrementCount:function(a,b){f.ue&&(a=c(a,b),b=f.ue.count(a)||0,f.ue.count(a,b+1))},logCount:function(a,b,d){f.ue&&(a=c(a,d),f.ue.count(a,b))}}});"use strict";g.when("A","reviews-constants").register("cr-mash-utils",
function(b,d){function c(a){g.when("mash").execute(function(b){b.navstack.begin().modalOpen(a).end()})}var a=!1;g.when("mash").execute(function(){a=!0});b.declarative(d.events.OPEN_MASH_MODAL,"click",function(a){c(a.data.url);a.$event.preventDefault()});return{isMash:function(){return a},openModal:c}});"use strict";g.when("A","cr-log-utils").register("cr-number-utils",function(b,d){return{convertToInteger:function(b,a){if(b===parseInt(b,10))return b;if(null!==b&&"string"===typeof b&&""!==b)return parseInt(b.replace(/[^0-9]/g,
""),10);if(a!==l)return a;d.logError("convertToInteger","Cannot convert "+b+" to Integer");return 0},isFiniteNumber:function(b){return"number"===typeof b&&!isNaN(b)&&isFinite(b)}}});"use strict";g.when("cr-A","reviews-constants","cr-ajax-model","cr-global-model").register("cr-reftag-utils",function(b,d,c,a){function e(a){c.postWithoutFatals(a)}b.declarative(d.events.REFTAG_TRIGGER,"click",function(a){a.data.refMarker&&a.data.reftagTriggerUrl&&e(a.data.reftagTriggerUrl+"/ref\x3d"+a.data.refMarker)});
return{triggerRefTagWithUrl:e,triggerRefTag:function(c){var d=b.getValueFromState("reftagTriggerUrl");d&&c&&e(a.generateUrl(d,c))}}});"use strict";g.when("A","cr-jQuery").register("cr-streaming-utils",function(b,d){return{appendFadeIn:function(c){if(null!==c&&2<c.length&&null!==c[1]&&null!==c[2]){var a=c[1];c=d(c[2]).hide();d(a).append(c);b.fadeIn(c,500,"ease-in-out",function(){})}},replace:function(b){if(null!==b&&2<b.length&&null!==b[1]&&null!==b[2]){var a=b[2];d(b[1]).replaceWith(d(a))}}}});"use strict";
g.when("A","cr-log-utils").register("cr-string-utils",function(b,d){function c(a){return null===a||a===l?!0:0===b.trim(a).length}return{defaultIfBlank:function(a,b){return c(a)?b:a},isBlank:c,parseJSON:function(a){try{return b.parseJSON(a)}catch(e){d.logError("Unable to parse JSON object","ERROR",e)}return null},startsWith:function(a,b){return a===b?!0:null===a||null===b?!1:0===a.indexOf(b)},endsWith:function(a,b){if(a===b)return!0;if(null===a||null===b)return!1;var c=a.lastIndexOf(b);return-1!==
c&&c===a.length-b.length},stringify:function(a){return f.JSON&&f.JSON.stringify?f.JSON.stringify(a):a}}});"use strict";g.when("A").register("cr-uri-utils",function(b){function d(){return f.location.hostname}function c(a){a=a||f.location.href;var c={},d=a.indexOf("?"),g=a.indexOf("#");a=a.slice(d+1,g>d?g:l)||"";d=[];-1<a.indexOf("\x26")?d=a.split("\x26"):-1<a.indexOf("\x3d")&&(d=[a]);b.each(d,function(a,b){0<a.indexOf("\x3d")&&(a=a.split("\x3d"),c[a[0]]=a[1])});return c}return{getUrlParametersMap:c,
addKeyValuePair:function(a,b,d){d=d||0;if(c(a)[b]===d||!a||!b)return a;b="?"+b+"\x3d"+d;return-1<a.indexOf("?")?a.replace("?",b+"\x26"):a+b},getCurrentHostname:d,getDomainRealmBaseUrl:function(a){a=a||d();if(-1!==a.indexOf(".corp.amazon.com"))return"https://development.amazon.com/";if(-1!==a.indexOf(".proxy.amazon.com")){a=a.split(".")[1];var b={dub:"https://pre-prod.amazon.co.uk/",pdx:"https://pre-prod.amazon.co.jp/",pek:"https://pre-prod.amazon.cn/"};return b[a]!==l?b[a]:"https://pre-prod.amazon.com/"}return"/"}}});
"use strict";g.when("A","reviews-constants").register("cr-weblab-utils",function(b,d){function c(a){f.ue&&f.ue.trigger&&f.ue.trigger(a.weblabID,a.treatment)}b.declarative(d.events.TRIGGER_WEBLAB,"click",function(a){a.data.weblab&&a.data.treatment&&c({weblabID:a.data.weblab,treatment:a.data.treatment})});return{triggerWeblab:c}});"use strict";g.when("A","cr-uri-utils","cr-string-utils","3p-urijs","cr-jQuery").register("cr-extended-uri-utils",function(b,d,c,a,e){function g(){return a(f.location.href)}
function l(){return g().query()}return e.extend(d,{getCurrentUri:g,getCurrentQueryString:l,getCurrentQueryParameters:function(){return a.parseQuery(l())},isAmazonDomain:function(b){if("string"===typeof b||b instanceof String)b=a(b);var d=c.startsWith(b.domain(),"amazon");!1===d&&(b=b.hostname(),b=b.substring(b.indexOf(".")+1),d=c.startsWith(b,"amazon"));return d},setQueryParameters:function(d,e){if("string"===typeof d||d instanceof String)d=a(d);b.each(e,function(a,b){c.isBlank(a)?d.removeSearch(b):
d=d.setSearch(b,a)});return d},setReftag:function(b,d){if("string"===typeof b||b instanceof String)b=a(b);for(var e=b.segment(),g=!1,f=e.length-1;0<=f;f--)if(c.startsWith(e[f],"ref\x3d")){g=!0;e[f]="ref\x3d"+d;break}g||e.push("ref\x3d"+d);b.segment(e);return b}})});"use strict";g.when("A","cr-jQuery","cr-lazy-widget-controller").register("histogram-trigger",function(b,d,c){function a(){b.onScreen(d("#histogramTable"))&&(c.logVisibleStubMetrics(),c.triggerLazyLoadIfWidgetWithinBuffer())}b.on.afterLoad(a);
return{triggerHistogram:a}})});
/* ******** */
(function(a){var b=window.AmazonUIPageJS||window.P,f=b._namespace||b.attributeErrors,e=f?f("CustomerReviewsMedleyAssets",""):b;e.guardFatal?e.guardFatal(a)(e,window):e.execute(function(){a(e,window)})})(function(a,b,f){a.when("A","reviews-constants","medley-twister-view","medley-twister-model","ready").register("medley-twister-controller",function(e,b,d,a){function c(c){c=a.getASIN();var g=d.getDisplayedASIN();g&&c!==g&&(d.fadeReviews(!0),a.getReviews(g,function(){a.setASIN(g)},function(){},function(){d.fadeReviews(!1);
e.trigger(b.events.RELOAD_COMPLETE)}))}var f=d.getLoadedASIN();a.setASIN(f);e.on("a:pageUpdate",c);return{onTwist:c}});"use strict";a.when("A","cr-jQuery").register("medley-twister-view",function(a,c){return{getDisplayedASIN:function(){var a=String(c("#ASIN").val()||"");!a&&b&&b.TwisterState&&(a=b.TwisterState.asin||"");return a},getLoadedASIN:function(){return(c("#cr-state-object").data("state")||{}).asin||""},fadeReviews:function(a){!1===a?c("#cm-cr-review-list .review,#most-recent-reviews-content .review").css("opacity",
1):c("#cm-cr-review-list .review,#most-recent-reviews-content .review").css("opacity",.5)}}});"use strict";a.when("A","cr-global-model","cr-ajax-model","cr-uri-utils","cr-jQuery").register("medley-twister-model",function(a,c,b,f,h){function e(a){var b=f.getUrlParametersMap()||{};b.asin=a;return b}var d;return{setASIN:function(a){d=a||""},getASIN:function(){return d},getReviews:function(a,c,f,d){var g=h("#cr-state-object").data("state");"string"===typeof a&&10===a.length?b.post(g.medleyReviewsAjaxUrl,
{params:e(a),attribution:"getMedleyReviews",success:c,error:f,finallyCallback:d}):"function"===typeof d&&d()}}})});
/* ******** */
(function(h){var q=window.AmazonUIPageJS||window.P,t=q._namespace||q.attributeErrors,b=t?t("CustomerReviewsVotingAssets",""):q;b.guardFatal?b.guardFatal(h)(b,window):b.execute(function(){h(b,window)})})(function(h,q,t){h.when("A","cr-jQuery","a-checkbox","a-modal","3p-urijs","cr-extended-uri-utils","cr-log-utils").register("report-abusive-review-controller",function(b,g,a,k,h,m,l){function n(c){var r=[];b.each(g("[id^\x3dcr-report-abusive-review-reason-"+c+"]"),function(c,d){a(c).isChecked()&&r.push(c.value)});
return r}function e(c){var a=c.data,p=h(a.reportAbuseFeedbackUrl);if(a.isSignedIn){var d=n(a.reviewId);p.setSearch("customerSelections",d.join(","));k.get(g("#report-abusive-review-modal-popover-"+a.reviewId)).update({url:p.toString()}).lock().show()}else a=a.reviewId,d=m.getCurrentUri(),d.hash(a),p.setSearch("openid.return_to",encodeURI(d)),q.location.href=p.toString();c.$event.preventDefault()}function f(a){var c=a.data,p=a.$target;c={url:c.url,width:c.width,header:c.header,name:c.name};var d=k.get(p);
d?d.update(c).refresh():d=k.create(p,c);d.show();a.$event.preventDefault()}b.declarative("reviews:report-abusive-review-submit-action","click",e);b.declarative("reviews:report-abusive-review-modal-button","click",f);b.on("a:popover:ajaxFail",function(a){(a=a.popover)&&a.name&&0==a.name.indexOf("report-abusive-review-modal-popover-")&&l.logCount("AjaxFailure:ReportAbusiveReview",1)});b.on("a:popover:invisible",function(a){(a=a.popover)&&a.name&&0==a.name.indexOf("report-abusive-review-modal-popover-")&&
k.remove(a)});return{submitAbusiveReviewReport:e,showReportAbusiveReviewModal:f}});"use strict";h.when("A","cr-jQuery","a-checkbox","a-sheet","vote-model","vote-view","cr-log-utils").register("report-abusive-review-mobile-controller",function(b,g,a,k,h,m,l){function n(c){var d=[];b.each(g("[id^\x3dcr-report-abusive-review-reason-"+c+"]"),function(c,p){a(c).isChecked()&&d.push(c.value)});return d}function e(a){a=k.get("report-abusive-review-bottom-sheet-"+a);k.hideSheet(a)}function f(a,d){c(a,d);m.showElementByCssSelector(a,
d.inFlight)}function c(a,c){m.hideElementByCssSelector(a,c.hideVoteComponents);c.hideAbuseComponents&&m.hideElementByCssSelector(a,c.hideAbuseComponents)}function r(a,d){var b=n(d.reviewId);d.additionalAjaxParams={customerSelections:b.join(",")};e(d.reviewId);a=g("#report-abusive-review-button-"+d.reviewId);f(a,d.cssSelectors);h.submitVote(d,function(b){if(!0===b){b=a;var e=d.cssSelectors;c(b,e);m.showElementByCssSelector(b,e.onSuccess)}else b=a,e=d.cssSelectors,c(b,e),m.showElementByCssSelector(b,
e.onError)},function(b){if(401===b.http.status){if(b.http.getResponseHeader("x-amz-re-authentication-url")){l.logCount("Ajax401WithReAuthUrl:SubmitVote",1);return}l.logCount("Ajax401WithoutReAuthUrl:SubmitVote",1)}b=a;var e=d.cssSelectors;c(b,e);m.showElementByCssSelector(b,e.onError)})}b.declarative("reviews:vote-action-multi-selection","click",function(a){r(a.$target,a.data);a.$event.preventDefault()});return{submitVote:r}});"use strict";h.when("A","vote-model","vote-view","a-modal","cr-log-utils").register("vote-controller",
function(b,g,a,k,h){function m(b,f){l(b,f);a.showElementByCssSelector(b,f.inFlight)}function l(b,f){a.hideElementByCssSelector(b,f.hideVoteComponents);f.hideAbuseComponents&&a.hideElementByCssSelector(b,f.hideAbuseComponents)}function n(e,f){f.isReportAbuse&&(e=b.$("#mobile-abuse-"+f.reviewId),k.get(e).hide());m(e,f.cssSelectors);g.submitVote(f,function(c){if(!0===c){c=e;var b=f.cssSelectors;l(c,b);a.showElementByCssSelector(c,b.onSuccess)}else c=e,b=f.cssSelectors,l(c,b),a.showElementByCssSelector(c,
b.onError)},function(b){if(401===b.http.status){if(b.http.getResponseHeader("x-amz-re-authentication-url")){h.logCount("Ajax401WithReAuthUrl:SubmitVote",1);return}h.logCount("Ajax401WithoutReAuthUrl:SubmitVote",1)}b=e;var c=f.cssSelectors;l(b,c);a.showElementByCssSelector(b,c.onError)})}b.declarative("reviews:vote-action","click",function(a){n(a.$target,a.data);a.$event.preventDefault()});return{submitVote:n}});"use strict";h.when("A","cr-ajax-model").register("vote-model",function(b,g){return{submitVote:function(a,
b,h){var k={"anti-csrftoken-a2z":a.csrfT};a.physicalId&&a.imageExtension&&(k["x-amz-extra-params"]=[a.physicalId,a.imageExtension]);var l={reviewId:a.reviewId},n;for(n in a.additionalAjaxParams)l[n]=a.additionalAjaxParams[n];g.post(a.ajaxUrl,{params:l,attribution:"submitVote",success:b,error:h,headers:k})}}});"use strict";h.when("A").register("vote-view",function(b){function g(a,b){return a.closest(".cr-vote").find(b)}return{hideThankYouAlert:function(a){g(a,".cr-vote-success").addClass("aok-hidden")},
showThankYouAlert:function(a){g(a,".cr-vote-success").removeClass("aok-hidden")},showErrorAlert:function(a){g(a,".cr-vote-error").removeClass("aok-hidden")},showFeedback:function(a){g(a,".cr-vote-feedback").removeClass("aok-hidden")},hideFeedback:function(a){g(a,".cr-vote-feedback").addClass("aok-hidden")},hideButtons:function(a){g(a,".cr-vote-buttons").addClass("aok-hidden")},hideElementByCssSelector:function(a,b){g(a,b).addClass("aok-hidden")},showElementByCssSelector:function(a,b){g(a,b).removeClass("aok-hidden")}}})});
/* ******** */
(function(h){var z=window.AmazonUIPageJS||window.P,G=z._namespace||z.attributeErrors,f=G?G("CustomerReviewsGalleryAssets",""):z;f.guardFatal?f.guardFatal(h)(f,window):f.execute(function(){h(f,window)})})(function(h,z,G){h.when("A","cr-jQuery","cr-log-utils","reviews-constants","review-image-assets-loaded").register("review-image-binder",function(f,b,e,c){function n(a,c,d,m,k){if(!(a&&c&&d instanceof b&&m instanceof b&&k instanceof b))return e.logError("Invalid parameters for imageBinder.initializeEventHandlers with ASIN: "+
a+", galleryName: "+c+", $popoverTrigger: "+d+", $thumbnails: "+m+", $galleryLink: "+k,"FATAL"),!1;var f="reviewsLightbox-ready-"+c;m.click(function(){g(a,c);var e=m.index(this);d.click();h.when(f).execute(function(){b("#"+c).trigger("jumpToImageAtIndex",e)})});k.click(function(){g(a,c);d.click();h.when(f).execute(function(){b("#"+c).trigger("hideImmersiveView")})});return!0}function g(b,c){if(!b||!c)return e.logError("Invalid parameters for imageBinder.initializeImageGallery with ASIN: "+b+", galleryName: "+
c,"FATAL"),!1;if(x)return!0;(new ReviewsLightbox(c,"DESKTOP")).initializeForAsin(b);return x=!0}var x=!1,p={};h.when("reviewsLightbox-js").execute(function(){var a=b("#reviews-image-gallery-container"),e=a.attr("data-asin");0<a.length&&e&&n(e,"reviews-image-gallery",a.find(".a-popover-trigger"),a.find(".review-image-tile"),a.find(".reviews-image-gallery-link"))});f.on(c.events.RELOAD_COMPLETE,function(){p={}});return{bindReview:function(a,e,c){var d=new ReviewGallery(c,"DESKTOP"),k=b("#"+e);k.find(".review-image-tile").each(function(e){b(this).click(function(){p[a]||
(d.initializeForReview(a),p[a]=!0);k.find(".a-popover-trigger").click();h.when("reviewsLightbox-ready-"+c).execute(function(){d.render();d.showImageAtIndex(e)})})})},initializeImageGallery:g,initializeEventHandlers:n}});"use strict";h.when("A","cr-jQuery","cr-image-popover-data-fetcher","cr-see-all-images-controller").register("cr-image-popover-controller",function(f,b,e,c){function n(){for(var a=0;a<u.length;a++)a!=q&&(b(u[a]).unbind("click"),b(u[a]).removeClass("cr-lightbox-selected")),b(u[a]).click(g(a))}
function g(b){return function(){a(b)}}function x(){b(C).unbind("click");b(D).unbind("click");b(C).click(function(){var b=parseInt(q,10)+1;a(b);p()});b(D).click(function(){var b=parseInt(q,10)-1;a(b);p()});b(I).mouseenter(function(){p()}).mouseleave(function(){h.animate({opacity:0},100);O.animate({opacity:0},100)})}function p(){var a=.25,J=.25;b(C).css("cursor","pointer");b(D).css("cursor","pointer");var c=e.getReviewIds();if(!v&&q===y.length-1||v&&q===y.length-1&&c.indexOf(B)==c.length-1)a=0,b(C).css("cursor",
"auto");c=e.getReviewIds();if(!v&&0===q||v&&0===q&&0==c.indexOf(B))J=0,b(D).css("cursor","auto");h.animate({opacity:a},100);O.animate({opacity:J},100)}function a(a){if(0<=a&&a<y.length)H.attr("src",y[a]),b(u[q]).removeClass("cr-lightbox-selected"),b(u[a]).addClass("cr-lightbox-selected"),q=a;else if(v){var J=e.getReviewList(),c=e.getReviewIds(),d=c.indexOf(B),k={popover:{$trigger:{context:{}}}};a>q?(d++,d<c.length&&(k.popover.$trigger.context.id=c[d]+"-0",m(k))):(d--,-1<d&&(k.popover.$trigger.context.id=
c[d]+"-"+(J[c[d]].images.length-1),m(k)))}}function w(a){b(K).empty();a.forEach(function(a,c){c===q?b(K).append('\x3cimg src\x3d"'+a+'" class\x3d"cr-lightbox-image-thumbnail cr-lightbox-selected" /\x3e'):b(K).append('\x3cimg src\x3d"'+a+'" class\x3d"cr-lightbox-image-thumbnail"/\x3e')});u=r.find(".cr-lightbox-image-thumbnail");n()}function d(c,J,e,d){r=(v=d||!1)?b("#cr_customers_image_gallery"):b("#"+c+"_image_popover");h=r.find(".cr-lightbox-navigator-button__next");O=r.find(".cr-lightbox-navigator-button__back");
C=r.find(".cr-lightbox-navigator-container__next");D=r.find(".cr-lightbox-navigator-container__back");u=r.find(".cr-lightbox-image-thumbnail");I=r.find(".cr-lightbox-image-viewer");H=I.find(".cr-lightbox-main-image");E=r.find(".cr-lightbox-review-title");L=r.find(".cr-lightbox-review-body");M=r.find(".cr-lightbox-review-origin");P=r.find(".cr-lightbox-review-rating");K=r.find(".cr-lightbox-image-thumbnails");v&&(N=r.find(".cr-lightbox-customer-profile"),T=r.find(".cr-lightbox-customer-profile .a-profile-name"),
z=r.find(".cr-lightbox-customer-profile .a-profile-avatar \x3e img"),R=P.find(".a-icon-alt"));y=J;"string"===typeof J&&(y=J.substring(1,J.length-1).split(","));n();a(k(e).thumbnailId||0);x()}function m(b){var a=e.getReviewList();e.getReviewIds();for(var c=k(b).reviewId,m=[],g=[],f=0;f<a[c].images.length;f++)m.push(a[c].images[f].source),g.push(a[c].images[f].lowResSource);B=c;d(c,m,b,!0);b=B;E.text(a[b].title);P.removeClass();P.addClass("a-icon a-icon-star a-star-"+a[b].starRating+" cr-lightbox-review-rating");
R.text(R.text().replace(/\d([.,]\d)?/,a[b].starRating+".0"));w(g);L.text(a[b].reviewText);M.text(a[b].originDescription);v&&(a=a[b],null===a.customerProfileLink||0===a.customerProfileLink.length?N.css("cursor","initial"):N.css("cursor",""),N.attr("href",a.customerProfileLink),T.text(a.customerName),z.attr("src",a.customerProfileImage));l(!1)}function k(b){return b&&b.popover&&b.popover.$trigger&&b.popover.$trigger.context&&(b=b.popover.$trigger.context.id)&&(b=b.split("-"),1<b.length)?{reviewId:b[0],
thumbnailId:parseInt(b[1],10),seeAllImages:!1}:{seeAllImages:!0}}function A(b){k(b).seeAllImages?l(!0):m(b)}function l(a){r=b("#cr_customers_image_gallery");a?(r.hide(),Q.show(),c.updateSeeAllImages(Q,m),H&&H.attr("src","")):(r.show(),Q.hide(),t.hide(),S.show(),G.removeClass("cr-lightbox-review-row-no-display"),G.addClass("cr-lightbox-review-row"))}var y,q=0,h,O,C,D,u,I,H,B,v=!1,F=!1,E,L,M,P,K,N,T,z,R,Q=b("#seeAllImagesContainer"),r=b("#cr_customers_image_gallery"),t=b(".cr-large-loadingIcon"),G=
b("#crReviewRow"),S=b("#crViewAllImagesLink");return{initImagePopover:d,loadDataAndInitImageGalleryPopover:function(b,a,c,d){e.isDataLoaded()?A(b):e.fetchData(c,a,d,function(a,d){if(a=!F)a:{a=e.getReviewIds();for(d=0;d<c.length;d++)if(0>a.indexOf(c[d])){a=!1;break a}a=!0}a&&(A(b),F=!0)})},toggleSeeAllView:l}});"use strict";h.when("A","cr-jQuery","cr-image-popover-data-fetcher","cr-ranking-see-all-images-controller").register("cr-ranking-image-popover-controller",function(f,b,e,c){function n(){for(var a=
0;a<u.length;a++)a!=q&&(b(u[a]).unbind("click"),b(u[a]).removeClass("cr-lightbox-selected")),b(u[a]).click(g(a))}function g(b){return function(){a(b)}}function x(){b(C).unbind("click");b(D).unbind("click");b(C).click(function(){var b=parseInt(q,10)+1;a(b);p()});b(D).click(function(){var b=parseInt(q,10)-1;a(b);p()});b(I).mouseenter(function(){p()}).mouseleave(function(){h.animate({opacity:0},100);O.animate({opacity:0},100)})}function p(){var a=.25,c=.25;b(C).css("cursor","pointer");b(D).css("cursor",
"pointer");var d=e.getReviewIds();if(!F&&q===y.length-1||F&&q===y.length-1&&d.indexOf(v)==d.length-1)a=0,b(C).css("cursor","auto");d=e.getReviewIds();if(!F&&0===q||F&&0===q&&0==d.indexOf(v))c=0,b(D).css("cursor","auto");h.animate({opacity:a},100);O.animate({opacity:c},100)}function a(a){if(0<=a&&a<y.length)H.attr("src",y[a]),b(u[q]).removeClass("cr-lightbox-selected"),b(u[a]).addClass("cr-lightbox-selected"),q=a;else if(F){e.getReviewList();var c=e.getReviewIds(),d=c.indexOf(v),k={popover:{$trigger:{context:{}}}};
a>q?(a=B[c[d]],d++,d<c.length&&(k.popover.$trigger.context.dataset={reviewid:c[d],physicalid:Object.keys(a)[0]},m(k))):(d--,-1<d&&(a=B[c[d]],k.popover.$trigger.context.dataset={reviewid:c[d],physicalid:Object.keys(a)[Object.keys(a).length-1]},m(k)))}}function w(a){b(N).empty();a.forEach(function(a,c){c===q?b(N).append('\x3cimg src\x3d"'+a+'" class\x3d"cr-lightbox-image-thumbnail cr-lightbox-selected" /\x3e'):b(N).append('\x3cimg src\x3d"'+a+'" class\x3d"cr-lightbox-image-thumbnail"/\x3e')});u=t.find(".cr-lightbox-image-thumbnail");
n()}function d(c,d,e,m){t=(F=m||!1)?b("#cr_customers_image_gallery"):b("#"+c+"_image_popover");h=t.find(".cr-lightbox-navigator-button__next");O=t.find(".cr-lightbox-navigator-button__back");C=t.find(".cr-lightbox-navigator-container__next");D=t.find(".cr-lightbox-navigator-container__back");u=t.find(".cr-lightbox-image-thumbnail");I=t.find(".cr-lightbox-image-viewer");H=I.find(".cr-lightbox-main-image");L=t.find(".cr-lightbox-review-title");M=t.find(".cr-lightbox-review-body");P=t.find(".cr-lightbox-review-origin");
K=t.find(".cr-lightbox-review-rating");N=t.find(".cr-lightbox-image-thumbnails");F&&(z=t.find(".cr-lightbox-customer-profile"),G=t.find(".cr-lightbox-customer-profile .a-profile-name"),R=t.find(".cr-lightbox-customer-profile .a-profile-avatar \x3e img"),Q=K.find(".a-icon-alt"));y=d;"string"===typeof d&&(y=d.substring(1,d.length-1).split(","));n();a(k(e).thumbnailId||0);x()}function m(a){var b=e.getReviewList();e.getReviewIds();for(var c=k(a).reviewId,m=[],f=[],g=0;g<b[c].images.length;g++)m.push(b[c].images[g].source),
f.push(b[c].images[g].lowResSource);v=c;d(c,m,a,!0);a=v;L.text(b[a].title);K.removeClass();K.addClass("a-icon a-icon-star a-star-"+b[a].starRating+" cr-lightbox-review-rating");Q.text(Q.text().replace(/\d([.,]\d)?/,b[a].starRating+".0"));w(f);M.text(b[a].reviewText);P.text(b[a].originDescription);F&&(b=b[a],null===b.customerProfileLink||0===b.customerProfileLink.length?z.css("cursor","initial"):z.css("cursor",""),z.attr("href",b.customerProfileLink),G.text(b.customerName),R.attr("src",b.customerProfileImage));
l(!1)}function k(b){if(b&&b.popover&&b.popover.$trigger&&b.popover.$trigger.context&&b.popover.$trigger.context.dataset){var a=b.popover.$trigger.context.dataset.reviewid,c=b.popover.$trigger.context.dataset.physicalid;if(!b.popover.$trigger.context.dataset.seemore&&a&&c)return{reviewId:a,thumbnailId:B[a][c],seeAllImages:!1}}return{seeAllImages:!0}}function A(b){k(b).seeAllImages?l(!0):m(b)}function l(a){t=b("#cr_customers_image_gallery");a?(t.hide(),r.show(),c.updateSeeAllImages(r,m),H&&H.attr("src",
"")):(t.show(),r.hide(),V.hide(),U.show(),S.removeClass("cr-lightbox-review-row-no-display"),S.addClass("cr-lightbox-review-row"))}var y,q=0,h,O,C,D,u,I,H,B={},v,F=!1,E=!1,L,M,P,K,N,z,G,R,Q,r=b("#seeAllImagesContainer"),t=b("#cr_customers_image_gallery"),V=b(".cr-large-loadingIcon"),S=b("#crReviewRow"),U=b("#crViewAllImagesLink");return{initImagePopover:d,loadDataAndInitImageGalleryPopover:function(b,a,c,d){e.isDataLoaded()?A(b):e.fetchData(c,a,d,function(a,d){if(a=!E)a:{a=e.getReviewIds();for(d=
0;d<c.length;d++)if(0>a.indexOf(c[d])){a=!1;break a}a=!0}if(a){a=e.getReviewList();for(var m in a){d={};for(var k=0;k<a[m].images.length;k++){var g=a[m].images[k].source;var f=g.lastIndexOf("/")+1;g=g.substring(f);f=g.lastIndexOf(".");f=g.substring(0,f);d[f]=k}B[a[m].reviewId]=d}A(b);E=!0}})},toggleSeeAllView:l,setReviewToPhysicalIdAndIndexMap:function(a){B=a}}});"use strict";h.when("A","cr-jQuery","cr-log-utils").register("cr-image-popover-data-fetcher",function(f,b,e){function c(a,b,c){a="/hz/reviews-render/get-reviews-with-media?mediaType\x3dimage\x26asin\x3d"+
a+"\x26csrfToken\x3d"+b;c!==G&&(a+="\x26nextToken\x3d"+c);return a}function n(a,b,m,k,A,l){m=c(b,m,l);f.ajax(m,{method:"get",success:function(c){for(var d in c.reviewsWithMediaList)p[d]=c.reviewsWithMediaList[d];d=Object.keys(p);x=a.slice();for(var e=0;e<d.length;e++)0>a.indexOf(d[e])&&x.push(d[e]);"function"===typeof k&&k(p,x);c.nextToken?n(a,b,c.csrfToken,k,A,c.nextToken):g=!0},error:function(a){e.logCount("ReviewWithImages-DataFetcher-Error");"function"===typeof A&&A()}})}var g=!1,x=[],p={},a=
null;return{fetchData:n,getReviewList:function(){return p},getReviewIds:function(){return x},isDataLoaded:function(){return g},getCustomerImageAltText:function(){a||(a=b(".review-with-images-section .cr-customer-image-thumbnail")[0].getAttribute("alt"));return a}}});"use strict";h.when("A","cr-jQuery","cr-image-popover-data-fetcher").register("cr-see-all-images-controller",function(f,b,e){function c(a,c,d,m){a=b("\x3cdiv\x3e",{class:"cr-thumbnail-preview-tile",css:{background:"url("+a+") 50% 50% no-repeat"},
role:"img",alt:e.getCustomerImageAltText()});a.click(function(){m({popover:{$trigger:{context:{id:c+"-"+d}}}})});return a}function n(a,b,d){for(var m=e.getReviewList(),k=e.getReviewIds(),f=g;g<f+d;){var l=k[p];if(l&&m[l]){p++;for(var n=0;n<m[l].images.length;n++){var q="undefined"===typeof x[l+n]?!0:!1;q&&(a.append(c(m[l].images[n].lowResSource,l,n,b)),g++,0==g%7&&a.append("\x3cbr /\x3e"),x[l+n]=l+n)}}else break}}var g=0,x={},p=0;return{updateSeeAllImages:function(a,b){n(a,b,50);var c=0;a.scroll(function(){var d=
a.scrollTop();200<d-c&&(c=d,n(a,b,50))})}}});"use strict";h.when("A","cr-jQuery","cr-image-popover-data-fetcher").register("cr-ranking-see-all-images-controller",function(f,b,e){function c(a,c,d,f){a=b("\x3cdiv\x3e",{class:"cr-thumbnail-preview-tile",css:{background:"url("+a+") 50% 50% no-repeat"},role:"img",alt:e.getCustomerImageAltText()});a.click(function(){f({popover:{$trigger:{context:{dataset:{reviewid:c,physicalid:d}}}}})});return a}function n(a,b,d){for(var f=e.getReviewList(),k=e.getReviewIds(),
n=g;g<n+d;){var l=k[p];if(l&&f[l]){p++;for(var h=0;h<f[l].images.length;h++){var q="undefined"===typeof x[l+h]?!0:!1;if(q){var w=f[l].images[h].source;q=w.lastIndexOf("/")+1;w=w.substring(q);q=w.lastIndexOf(".");q=w.substring(0,q);a.append(c(f[l].images[h].lowResSource,l,q,b));g++;0==g%7&&a.append("\x3cbr /\x3e");x[l+h]=l+h}}}else break}}var g=0,x={},p=0;return{updateSeeAllImages:function(a,b){n(a,b,50);var c=0;a.scroll(function(){var d=a.scrollTop();200<d-c&&(c=d,n(a,b,50))})}}});"use strict";h.when("A",
"cr-jQuery").register("cr-mobile-image-popover-controller",function(f,b){function e(a,b){return 0<=a&&a<b.length}function c(){var a=B.prop("scrollHeight"),b=B.prop("clientHeight");return a>b}function n(){return y.hasClass("cr-mg-image-popover-expand-full-cr")}function g(){c()?(v.removeClass("cr-mg-image-popover-reviews-expand-hide"),v.addClass("cr-mg-image-popover-reviews-expand-show")):(v.removeClass("cr-mg-image-popover-reviews-expand-show"),v.addClass("cr-mg-image-popover-reviews-expand-hide"))}
function h(){F.removeClass("cr-mg-image-popover-reviews-content-expand-container-short")}function p(){y.removeClass("cr-mg-image-popover-expand-full-cr");h();B.scrollTop(0);L||A.removeClass("button-hide");M||k.removeClass("button-hide")}function a(){y.addClass("cr-mg-image-popover-expand-full-cr");h();c()||F.addClass("cr-mg-image-popover-reviews-content-expand-container-short");k.addClass("button-hide");A.addClass("button-hide")}function w(a,b){q.text(b[a].title);z.removeClass();z.addClass("cr-mg-image-popover-reviews-star-rating a-icon a-icon-star-small a-star-small-"+
b[a].starRating);G.text(b[a].reviewText);C.empty();C.append(b[a].richReviewText);D.empty();D.append('\x3cimg src\x3d"'+b[a].image+'" class\x3d"cr-mg-image-element" /\x3e');u.text(b[a].authorName);I.empty();I.append('\x3cimg src\x3d"'+b[a].authorAvatarImage+'" data-src\x3d"'+b[a].authorAvatarImage+'"/\x3e \x3cnoscript\x3e\x3cimg src\x3d"'+b[a].authorAvatarImage+'"/\x3e\x3c/noscript\x3e');H.attr("href",b[a].authorProfileLink);a+1==b.length?k.addClass("button-hide"):k.removeClass("button-hide");0==a?
A.addClass("button-hide"):A.removeClass("button-hide");g()}function d(a){M=L=0;0==E&&(L=1);E+1==a.length&&(M=1)}function m(a,c){k.unbind("click");A.unbind("click");E=a;d(c);b(k).click(function(){e(E+1,c)&&(E++,w(E,c),d(c))});b(A).click(function(){e(E-1,c)&&(E--,w(E,c),d(c))})}var k,A,l,y,q,z,G,C,D,u,I,H,B,v,F,E,L,M;f.declarative("cr-mg-image-popover-expand-review-content","click",function(b){c()&&!n()&&a()});f.declarative("cr-mg-image-popover-reviews-collapse-review-content","click",function(a){p()});
f.on("resize",function(){var b=l?l.is(":visible"):!1;b&&(n()?(p(),g(),c()&&a()):g())});return{initializePopover:function(a,c){a=parseInt(a,10);e(a,c)&&(l=b("#cr-mg-immsersive-view-container-"+a),y=l.find(".cr-mg-image-popover-overlay"),k=l.find(".next-button-mobile"),A=l.find(".back-button-mobile"),q=l.find(".cr-mg-image-popover-review-title"),z=l.find(".cr-mg-image-popover-reviews-star-rating"),G=l.find(".cr-mg-image-popover-reviews-plain-text"),C=l.find(".cr-mg-image-popover-reviews-rich-text"),
D=l.find(".cr-mg-image-view"),B=l.find(".cr-mg-image-popover-reviews-content-wrapper"),v=l.find(".cr-mg-image-popover-reviews-expand-container"),F=l.find(".cr-mg-image-popover-reviews-content-expand-container"),u=l.find(".cr-mg-image-popover-reviews-reviewer-text"),I=l.find(".a-profile-avatar"),H=l.find(".cr-mg-image-popover-reviews-author-profile-image"),w(a,c),m(a,c))}}});"use strict";h.when("cr-A","cr-jQuery","cr-streaming-utils","cr-media-gallery-view","cr-media-gallery-model").register("cr-media-gallery-controller",
function(f,b,e,c,n){function g(){return 480<b(z).width()?3:2}function h(){var a=c.getCurrentMasonryItems(),b=g();0<a.length&&(a=c.getPreciseMaxMasonryListHeightItems(a,b),c.setMasonryListHeight(a.heightInPixelOfColumn,"px",a.nItemInColumn*w))}function p(a){if(!f.objectIsEmpty(a)&&!f.objectIsEmpty(a.data)){c.toggleMediaListLoadingState(!0);var b=n.updateMediaType(a.data.mediaType);c.updateFilterBar(b);n.getMedia(a.data,function(){},function(){},function(){c.toggleMediaListLoadingState(!1)},function(a){"appendFadeIn"===
a[0]&&(c.removeMasonryItemLoadingElements(),e.appendFadeIn(a))})}}function a(){b(".a-manually-loaded.cr-mg-image-element").not("[src]").each(function(){var a=b(this);a.is(":visible")&&f.onScreen(a,m)&&f.loadImageManually(a)})}f.on("resize",function(){c.isMediaGalleryPageVisible()?h():d=!0});f.on("scroll",a);var w=8,d=!1,m=500;return{initialize:h,getNoOfColumns:g,initializeAfterPopoverHide:function(){d&&h();d=!1},initializeMediaFilters:function(a,b){n.setInitialParams(a,b);f.declarative("cr:media-filter",
"click",f.compositeEventWrapper(p,!0,100))},manualLazyLoadImages:a}});"use strict";h.when("A","cr-jQuery").register("cr-media-gallery-view",function(f,b){return{getCurrentMasonryItems:function(){return b(".cr-mg-masonry-list").find(".cr-mg-masonry-item")},setMasonryListHeight:function(e,c,f){var g=b(".cr-mg-masonry-list-height-control").get(0);g&&(g.style.setProperty("--height-to-column-width",e+c),g.style.setProperty("--height-in-pixel",f+"px"))},getPreciseMaxMasonryListHeightItems:function(e,c){for(var f=
Array(c),g=Array(c),h=0;h<c;h++)f[h]=0,g[h]=0;var p=0;e.each(function(){var a=b(this).children(".cr-mg-ratio-control");f[p%c]+=a.get(0).getBoundingClientRect().height;g[p%c]+=1;p++});e=f.indexOf(Math.max.apply(Math,f));return{heightInPixelOfColumn:f[e],nItemInColumn:g[e]}},isMediaGalleryPageVisible:function(){var e=b(".cr-mg-masonry-list-height-control");return e?e.is(":visible"):!1},updateFilterBar:function(e){var c="image"===e;e="video"===e;b(".cr-mg-filter-btn-vid").toggleClass("cr-mg-filter-btn-selected",
e);b(".cr-mg-filter-btn-img").toggleClass("cr-mg-filter-btn-selected",c)},toggleMediaListLoadingState:function(e){b(".cr-mg-masonry-list-loading").toggleClass("aok-hidden",!e)},removeMasonryItemLoadingElements:function(){b(".cr-mg-masonry-item-loading").remove()}}});"use strict";h.when("cr-A","cr-log-utils","cr-ajax-model").register("cr-media-gallery-model",function(f,b,e){var c={},h;return{setInitialParams:function(b,e){c.asin=b;c.mediaType=e},updateMediaType:function(b){if("image"===b||"video"===
b)c.mediaType=b;return c.mediaType},getMedia:function(g,n,p,a,w){h&&e.abort(h);var d=f.now();b.logCount("GetMedia:Count",1);h=e.post("/hz/reviews-render/ajax/media/get/?ie\x3dUTF8",{params:c,attribution:"getMedia",headers:{"anti-csrftoken-a2z":g.csrfToken},success:function(){var a=f.now()-d;b.logCount("GetMedia:Status",1);b.logCount("GetMedia:RequestTime",a);n()},error:function(){b.logCount("GetMedia:Status",0);p()},finallyCallback:function(){a();h=0},timeout:3E4,chunk:w,cache:!0},1)}}});"use strict";
h.when("A","cr-jQuery").register("cr-review-inline-images-controller",function(f,b){function e(c){return b("#%s-cr-inline-images-preview".replace("%s",c)).find(".cr-review-inline-images-main-image")}f.declarative("cr-review-inline-images-thumbnail-click","click",function(b){var c=b.data.imageSrc;e(b.data.reviewId).attr("src",c)});return{getMainImage:e,getAllThumbnails:function(c){return b("#%s-cr-inline-images-preview".replace("%s",c)).find(".cr-review-inline-images-thumbnails .cr-review-inline-images-thumbnail")}}});
"use strict";h.when("cr-inline-videos-controller","ready").register("cr-inline-videos-module",function(f){f.initialize(!0)});"use strict";h.when("A","reviews-constants","cr-log-utils","cr-inline-videos-view","cr-vse-brila-player-gateway").register("cr-inline-videos-controller",function(f,b,e,c,h){function g(b){c.getPlayerPlaceholders().each(function(d,e){d=f.$(e);if(!c.isPlayerRequestPending(d)&&(!b||b&&c.isPlayerPlaceholderInViewport(d))){c.markPlayerRequestAsPending(d);e=c.extractVideoAsset(d);
var g=f.$("#cr-state-object").data("state");e={videoUrl:e.videoUrl,thumbnailUrl:e.thumbnailUrl,reviewId:e.reviewId,closedCaptions:e.closedCaptions,vseContentId:e.vseContentId,marketplaceId:g.marketplaceId,locale:g.locale,page:g.page||"cr_page",placement:g.page?g.page+"_cr_inline_review":"cr_inline_review"};h.getVideoPlayer("vse_reviews_desktop_"+e.reviewId+"_"+f.now(),e,n(e),p(d),a(d))}})}function n(a){return!f.objectIsEmpty(a)&&!f.objectIsEmpty(a.vseContentId)&&""!=a.vseContentId}function p(a){return function(b){c.markPlayerRequestAsDone(a);
c.renderPlayer(a,b)}}function a(a){return function(b){c.markPlayerRequestAsDone(a);c.showErrorMessage(a);e.logError("Failed loading inline video player: "+JSON.stringify(b),"ERROR")}}function w(a){if(a)f.on(f.constants.BROWSER_EVENTS.SCROLL,function(){g(!0)});f.on(b.events.RELOAD_COMPLETE,function(){g(a)})}return{initialize:function(a){g(a);w(a)},fetchVideoPlayers:g}});"use strict";h.when("A").register("cr-inline-videos-view",function(f){return{getPlayerPlaceholders:function(){return f.$(".cr-video-desktop-placeholder")},
extractVideoAsset:function(b){b=b.data();return{reviewId:b.reviewId,videoUrl:b.videoUrl,thumbnailUrl:b.thumbnailUrl,closedCaptions:b.closedCaptions,vseContentId:b.vseContentId}},markPlayerRequestAsPending:function(b){b.data("playerRequestPending",!0)},markPlayerRequestAsDone:function(b){b.removeData("playerRequestPending");b.removeClass("cr-video-desktop-placeholder")},isPlayerRequestPending:function(b){b=b.data("playerRequestPending");return"undefined"!==b&&b},isPlayerPlaceholderInViewport:function(b){return f.onScreen(b,
800)},renderPlayer:function(b,e){b.html(e)},showErrorMessage:function(b){b.addClass("cr-media-show-error-msg")}}});"use strict";h.when("A","cr-uri-utils","cr-log-utils","cr-ajax-model").register("cr-vse-brila-player-gateway",function(f,b,e,c){function n(b,a,c){var d={requester:"vse_reviews_desktop",clientPrefix:b,marketplaceID:a.marketplaceId,locale:a.locale,page:a.page,placement:a.placement};c&&a.vseContentId?d.video={contentID:a.vseContentId,contentIDType:"VIDEO_ID"}:(a.videoUrl&&a.thumbnailUrl&&
a.reviewId||e.logCount(g("vse_player:${placement}:incomplete_video_payload",a),1),d.video={videoURL:a.videoUrl,imageURL:a.thumbnailUrl,contentID:a.reviewId,contentIDType:"EXTERNAL_VIDEO_ID"},f.objectIsEmpty(a.closedCaptions)||""==a.closedCaptions||(d.video.closedCaptions=a.closedCaptions));h.now("Brila").execute("vse-assets-check",function(a){a!==G&&(d.excludeAssets=["Brila","VSEPlayer"])});return d}function g(b,a){return b.replace("${placement}",a.placement)}var x=b.getDomainRealmBaseUrl()+"vap/ew/subcomponent/vseplayer";
return{getVideoPlayer:function(b,a,h,d,m){var k=f.now();b={params:n(b,a,h),paramsFormat:"json",crossDomain:!0,method:"post",contentType:"application/json",withCredentials:!0,timeout:4E3,success:function(b){var c=f.now()-k;e.logCount(g("vse_player:${placement}:load:status",a),1);e.logCount(g("vse_player:${placement}:load:request_time",a),c);"function"===typeof d&&d(b)},error:function(b){e.logCount(g("vse_player:${placement}:load:status",a),0);"function"===typeof m&&m(b)}};e.logCount(g("vse_player:${placement}:load:count",
a),1);c.post(x,b,2)}}})});
/* ******** */
(function(g){var m=window.AmazonUIPageJS||window.P,n=m._namespace||m.attributeErrors,e=n?n("CustomerReviewsFilteringAssets",""):m;e.guardFatal?e.guardFatal(g)(e,window):e.execute(function(){g(e,window)})})(function(g,m,n){g.when("cr-A","cr-jQuery","cr-filtering-view","cr-filtering-model","cr-global-view","reviews-constants","cr-streaming-utils").register("cr-filtering-controller",function(e,f,a,c,l,d,k){function p(h){var b=!1,d=!1;h.toggleFilters&&(d=!0);c.setASIN(a.getLoadedFilterParam("asin"));
b=c.setReviewerType(h.reviewerType,d)||b;b=c.setFormatType(h.formatType,d)||b;b=c.setFilterByKeyword(h.filterByKeyword,d)||b;b=c.setFilterByLanguage(h.filterByLanguage,d)||b;b=c.setSortOrder(h.sortOrder,d)||b;b=c.setStarFilter(h.filterByStar,d)||b;b=c.setPageNumber(h.pageNumber,d)||b;b=c.setHeightFilter(h.filterByHeight,d)||b;b=c.setWeightFilter(h.filterByWeight,d)||b;b=c.setAgeFilter(h.filterByAge,d)||b;return b=c.setMediaFilter(h.mediaType,d)||b}function r(b){if(p(b.data)||b.data.forceReload){b.data.sortOrder&&
a.setSortDropdown(b.data.sortOrder);a.hideReviewLoadError();a.hideReviews();a.showLoadingSpinner();e.trigger(d.events.FILTER_APPLY_BEGIN,b);var h=a.getLoadedFilterParam("newDPFiltersTreatment",!1);null!==h&&"C"!==h&&(h=c.getFilterParams(),n(h));c.getReviews(function(){a.showReviews();var h=document.querySelector("#cm-cr-filters");h&&e.onScreen(h,0)||!h||!h.scrollIntoView||h.scrollIntoView();"filterByHeight"===c.getActiveTab()&&a.scrollToFilterIndex("filterByHeight");"filterByWeight"===c.getActiveTab()&&
a.scrollToFilterIndex("filterByWeight");"filterByAge"===c.getActiveTab()&&a.scrollToFilterIndex("filterByAge");"filterByStar"===c.getActiveTab()&&a.scrollToFilterIndex("filterByStar");e.trigger(d.events.FILTER_APPLY_SUCCESS,b)},function(){a.showReviewLoadError();e.trigger(d.events.FILTER_APPLY_ERROR,b)},function(){a.hideLoadingSpinner();e.trigger(d.events.FILTER_APPLY_DONE,b);e.trigger(d.events.RELOAD_COMPLETE)},function(b){"appendFadeIn"===b[0]?k.appendFadeIn(b):"replace"===b[0]&&k.replace(b)},l.getReftag(b));
b.data.scrollToSelector&&l.scrollTo(b.data.scrollToSelector,0);b.data.filterByAge&&a.setAgeDropdown(b.data.filterByAge)}}function g(b){b&&b.data&&r(b)}function b(b){b&&b.data&&b.$target&&b.data.filterType&&(b.data[b.data.filterType]=b.$target.val(),r(b))}function q(b){b&&b.data&&b.data.filterType&&(a.deactivateFilterTabHeaders(),a.activateFilterTabHeader(b.data.filterType),a.changeFilterOptionsTo(b.data.filterType),c.setActiveTab(b.data.filterType),"filterByHeight"!==b.data.filterType&&"filterByWeight"!==
b.data.filterType&&"filterByAge"!==b.data.filterType&&"filterByStar"!==b.data.filterType||a.scrollToFilterIndex(b.data.filterType))}function n(b){var a=[d.filterOptions.STAR_KEY,d.filterOptions.AVP_KEY,d.filterOptions.MEDIA_KEY,d.filterOptions.LANGUAGE_KEY,d.filterOptions.HEIGHT_KEY,d.filterOptions.WEIGHT_KEY,"filterByAge"],c=!1,q;for(q in b)a.includes(q)&&"CLEAR_VALUE"!==b[q]&&(c=!0);c?f(".cr-widget-MobileGlobalReviews").addClass("aok-hidden"):f(".cr-widget-MobileGlobalReviews").removeClass("aok-hidden")}
c.setReviewsAjaxUrl(a.getReviewsAjaxUrl());a.enableDesktopDPFilterDropdown();e.declarative(d.events.FILTER_APPLY,"click",e.compositeEventWrapper(g,!0,100));e.declarative(d.events.FILTER_CHANGE,"change",e.compositeEventWrapper(b,!0,100));e.declarative(d.events.FILTER_TAB_CLICKED,"click",q);c.setReviewerType(a.getLoadedFilterParam("reviewerType"),!1);c.setFormatType(a.getLoadedFilterParam("formatType"),!1);c.setFilterByKeyword(a.getLoadedFilterParam("filterByKeyword"),!1);c.setFilterByLanguage(a.getLoadedFilterParam("filterByLanguage"),
!1);c.setStarFilter(a.getLoadedFilterParam("filterByStar"),!1);c.setSortOrder(a.getLoadedFilterParam("sortOrder"),!1);c.setPageNumber(a.getLoadedFilterParam("pageNumber"),!1);c.setHeightFilter(a.getLoadedFilterParam("filterByHeight"),!1);c.setWeightFilter(a.getLoadedFilterParam("filterByWeight"),!1);c.setAgeFilter(a.getLoadedFilterParam("filterByAge"),!1);c.setLanguage(a.getLoadedFilterParam("languageOfPreference"));c.setMediaFilter(a.getLoadedFilterParam("mediaType"),!1);var t=a.getLoadedFilterParam("newDPFiltersTreatment",
!1);null!==t&&"C"!==t?a.getLoadedFilterParam("showStarFilter")?c.setActiveTab("filterByStar"):a.getLoadedFilterParam("showLanguageFilter")?c.setActiveTab("filterByLanguage"):a.getLoadedFilterParam("showHeightFilter")?(c.setActiveTab("filterByHeight"),a.scrollToFilterIndex("filterByHeight")):a.getLoadedFilterParam("showAgeFilter")&&c.setActiveTab("filterByAge"):a.getLoadedFilterParam("showLanguageFilter")?c.setActiveTab("filterByLanguage"):a.getLoadedFilterParam("showHeightFilter")?(c.setActiveTab("filterByHeight"),
a.scrollToFilterIndex("filterByHeight")):a.getLoadedFilterParam("showAgeFilter")?c.setActiveTab("filterByAge"):a.getLoadedFilterParam("showStarFilter")&&c.setActiveTab("filterByStar");return{setFilterParams:p,onFilterApply:g,onFilterChange:b,onFilterTabClicked:q}});"use strict";g.when("A","cr-ajax-model","ready").register("cr-filtering-model",function(e,f){function a(){return p.asin||""}function c(){return g||""}function l(b,a){a?p[b]=a:delete p[b]}function d(b,a,d){var c=!1;b&&a!==n&&(c=k(b)!==a,
!c&&d&&(a="CLEAR_VALUE",c=!0),l(b,a));return c}function k(b){return p[b]||""}var p={},g="",m;return{getReviews:function(b,a,d,c,e){var l=g;m&&f.abort(m);e&&(l+="ref\x3d"+e);m=f.post(l,{params:p,attribution:"getFilteredReviews",success:b,error:a,finallyCallback:function(){d();m=0},chunk:c})},setASIN:function(b){var d=a()!==b;l("asin",b);return d},getASIN:a,setReviewsAjaxUrl:function(b){var a=c()!==b;g=b||"";return a},getReviewsAjaxUrl:c,setReviewerType:function(b,a){return d("reviewerType",b,a)},getReviewerType:function(){return k("reviewerType")},
setFormatType:function(b,a){return d("formatType",b,a)},getFormatType:function(){return k("formatType")},setFilterByKeyword:function(b,a){return d("filterByKeyword",b,a)},getFilterByKeyword:function(){return k("filterByKeyword")},setFilterByLanguage:function(b,a){return d("filterByLanguage",b,a)},getFilterByLanguage:function(){return k("filterByLanguage")},setSortOrder:function(b,a){return d("sortBy",b,a)},getSortOrder:function(){return k("sortBy")},setStarFilter:function(b,a){return d("filterByStar",
b,a)},getStarFilter:function(){return k("filterByStar")},setPageNumber:function(b,a){return d("pageNumber",b,a)},getPageNumber:function(){return k("pageNumber")},setHeightFilter:function(b,a){return d("filterByHeight",b,a)},getHeightFilter:function(){return k("filterByHeight")},setWeightFilter:function(b,a){return d("filterByWeight",b,a)},getWeightFilter:function(){return k("filterByWeight")},setAgeFilter:function(b,a){return d("filterByAge",b,a)},getAgeFilter:function(){return k("filterByAge")},
getFilterParams:function(){return p||{}},updateFilterParam:l,setActiveTab:function(b){return l("activeTab",b)},getActiveTab:function(){return k("activeTab")},setLanguage:function(b){return l("language",b)},setMediaFilter:function(b,a){return d("mediaType",b,a)},getMediaFilter:function(){return k("mediaType")}}});"use strict";g.when("cr-A","cr-jQuery","a-dropdown","ready").register("cr-filtering-view",function(e,f,a){function c(a){return(f("#cr-state-object").data("state")||{})[a]||""}return{getReviewsAjaxUrl:function(){return(f("#cr-state-object").data("state")||
{}).reviewsAjaxUrl||""},showLoadingSpinner:function(){var a=e.getValueFromState("onLoadShowHideElements");f(a).removeClass("aok-hidden")},hideLoadingSpinner:function(){var a=e.getValueFromState("onLoadShowHideElements");f(a).addClass("aok-hidden")},hideReviews:function(){f(".filterable-reviews-content").addClass("aok-hidden")},showReviews:function(){f(".filterable-reviews-content").removeClass("aok-hidden")},showReviewLoadError:function(){f(".review-load-error").removeClass("aok-hidden")},hideReviewLoadError:function(){f(".review-load-error").addClass("aok-hidden")},
deactivateFilterTabHeaders:function(){f(".cr-tab-header-text").removeClass("cr-tab-active").closest("li").removeClass("cr-tab-active-item")},activateFilterTabHeader:function(a){f(".cr-tab-header-text-"+a).addClass("cr-tab-active").closest("li").addClass("cr-tab-active-item")},changeFilterOptionsTo:function(a){f(".cr-tab-content").addClass("aok-hidden");f(".cr-tab-content-"+a).removeClass("aok-hidden")},getLoadedFilterParam:c,setSortDropdown:function(c){a.getSelect("cm-cr-sort-dropdown").setValue(c)},
setAgeDropdown:function(c){c="CLEAR_VALUE"===c?"":c;var d=a.getSelect("cm-cr-age-dropdown");null!==d&&d.setValue(c)},scrollToFilterIndex:function(a){var d=0;var e=c("isCardTreatmentEnabled")?f(".cr-horizontal-scroll-list-cardify-padding ul \x3e *:first-child"):f(".cr-horizontal-scroll-list-padding ul \x3e *:first-child");var g=f(m).width();a=f("ul#"+a+"-button-list")[0];if(e===n||g===n||a===n)d=-1;else{var l=parseInt(a.dataset.index);e=parseInt(e.css("padding-left").replace("px",""));if(-1!==l){d=
e-g/2;for(g=0;g<l;g++)d+=f("#"+a.children[g].firstElementChild.id).outerWidth(!0);d+=f("#"+a.children[l].firstElementChild.id).outerWidth(!0)/2}}0>d||f(".cr-filter-scroll-container").animate({scrollLeft:d},50)},enableDesktopDPFilterDropdown:function(){f("#cm-cr-dp-review-sort-type").removeClass("aok-hidden")}}});"use strict";g.when("A","jQuery","cr-log-utils").execute(function(e,f,a){e.$(".cr-filter-tab-button").live("click",function(){a.incrementCount("filters-tab-click")});e.$("#button-one_star").live("click",
function(){a.incrementCount("starRating-one-star")});e.$("#button-two_star").live("click",function(){a.incrementCount("starRating-two-star")});e.$("#button-three_star").live("click",function(){a.incrementCount("starRating-three-star")});e.$("#button-four_star").live("click",function(){a.incrementCount("starRating-four-star")});e.$("#button-five_star").live("click",function(){a.incrementCount("starRating-five-star")});e.$("#button-positive").live("click",function(){a.incrementCount("starRating-positive")});
e.$("#button-critical").live("click",function(){a.incrementCount("starRating-critical")});e.$("#button-avp_only_reviews").live("click",function(){a.incrementCount("verified-purchases-click")});e.$("#button-media_reviews_only").live("click",function(){a.incrementCount("media-filter-click")})});"use strict";g.when("cr-A","cr-lighthut-terms-view","reviews-constants","cr-log-utils").register("cr-lighthut-terms-controller",function(e,f,a,c){function g(a){a&&a.filterByKeyword!==n&&(f.setSelected(a.filterByKeyword),
c.incrementCount("LighthutTermClicked"))}e.on(a.events.FILTER_APPLY_BEGIN,e.compositeEventWrapper(function(a){a&&a.data&&g(a.data)}));return{onFilterApplied:g}});"use strict";g.when("A","cr-jQuery","ready").register("cr-lighthut-terms-view",function(e,f){return{setSelected:function(a){a=a.replace(/ /g,"_");var c=(a=f("#cr-lighthouse-term-"+a))&&a.hasClass("cr-lighthut-term-selected");f(".cr-lighthut-term-selected").removeClass("cr-lighthut-term-selected");c||a.addClass("cr-lighthut-term-selected")}}})});
/* ******** */
(function(c){var a=window.AmazonUIPageJS||window.P,d=a._namespace||a.attributeErrors,b=d?d("CustomerReviewsTwisterAssets",""):a;b.guardFatal?b.guardFatal(c)(b,window):b.execute(function(){c(b,window)})})(function(c,a,d){c.when().register("customer-reviews-twister-update",function(){return{getDisplayedASIN:function(){var b=document.querySelector("#ASIN");return b?b.value:a&&a.TwisterState&&a.TwisterState.asin?a.TwisterState.asin:""}}})});
/* ******** */
/*
 This software is used under the MIT license.

 URI.js - Mutating URLs

 Version: 1.14.1

 Author: Rodney Rehm
 Web: http://medialize.github.io/URI.js/

 Licensed under
   MIT License http://www.opensource.org/licenses/mit-license
   GPL v3 http://opensource.org/licenses/GPL-3.0

*/
P.register("3p-urijs",function(){(function(n,t){"object"===typeof exports?module.exports=t(require("./punycode"),require("./IPv6"),require("./SecondLevelDomains")):"function"===typeof define&&define.amd?define(["./punycode","./IPv6","./SecondLevelDomains"],t):n.URI=t(n.punycode,n.IPv6,n.SecondLevelDomains,n)})(this,function(n,t,r,k){function d(a,b){if(!(this instanceof d))return new d(a,b);void 0===a&&(a="undefined"!==typeof location?location.href+"":"");this.href(a);return void 0!==b?this.absoluteTo(b):
this}function q(a){return a.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function w(a){return void 0===a?"Undefined":String(Object.prototype.toString.call(a)).slice(8,-1)}function h(a){return"Array"===w(a)}function v(a,b){var c;if(h(b)){var d=0;for(c=b.length;d<c;d++)if(!v(a,b[d]))return!1;return!0}var f=w(b);d=0;for(c=a.length;d<c;d++)if("RegExp"===f){if("string"===typeof a[d]&&a[d].match(b))return!0}else if(a[d]===b)return!0;return!1}function z(a,b){if(!h(a)||!h(b)||a.length!==b.length)return!1;
a.sort();b.sort();for(var c=0,d=a.length;c<d;c++)if(a[c]!==b[c])return!1;return!0}function D(a){return escape(a)}function x(a){return encodeURIComponent(a).replace(/[!'()*]/g,D).replace(/\*/g,"%2A")}function u(a){return function(b,c){if(void 0===b)return this._parts[a]||"";this._parts[a]=b||null;this.build(!c);return this}}function A(a,b){return function(c,d){if(void 0===c)return this._parts[a]||"";null!==c&&(c+="",c.charAt(0)===b&&(c=c.substring(1)));this._parts[a]=c;this.build(!d);return this}}
var E=k&&k.URI;d.version="1.14.1";var e=d.prototype,p=Object.prototype.hasOwnProperty;d._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,duplicateQueryParameters:d.duplicateQueryParameters,escapeQuerySpace:d.escapeQuerySpace}};d.duplicateQueryParameters=!1;d.escapeQuerySpace=!0;d.protocol_expression=/^[a-z][a-z0-9.+-]*$/i;d.idn_expression=/[^a-z0-9\.-]/i;d.punycode_expression=/(xn--)/i;d.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;
d.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/;
d.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig;d.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/};d.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"};d.invalid_hostname_characters=/[^a-zA-Z0-9\.-]/;d.domAttributes={a:"href",blockquote:"cite",
link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"};d.getDomAttribute=function(a){if(a&&a.nodeName){var b=a.nodeName.toLowerCase();if("input"!==b||"image"===a.type)return d.domAttributes[b]}};d.encode=x;d.decode=decodeURIComponent;d.iso8859=function(){d.encode=escape;d.decode=unescape};d.unicode=function(){d.encode=x;d.decode=decodeURIComponent};d.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,
map:{"%24":"$","%26":"\x26","%2B":"+","%2C":",","%3B":";","%3D":"\x3d","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"\x26","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"\x3d"}}}};d.encodeQuery=function(a,b){a=d.encode(a+"");void 0===b&&
(b=d.escapeQuerySpace);return b?a.replace(/%20/g,"+"):a};d.decodeQuery=function(a,b){a+="";void 0===b&&(b=d.escapeQuerySpace);try{return d.decode(b?a.replace(/\+/g,"%20"):a)}catch(c){return a}};d.recodePath=function(a){a=(a+"").split("/");for(var b=0,c=a.length;b<c;b++)a[b]=d.encodePathSegment(d.decode(a[b]));return a.join("/")};d.decodePath=function(a){a=(a+"").split("/");for(var b=0,c=a.length;b<c;b++)a[b]=d.decodePathSegment(a[b]);return a.join("/")};var B={encode:"encode",decode:"decode"},y,C=
function(a,b){return function(c){try{return d[b](c+"").replace(d.characters[a][b].expression,function(c){return d.characters[a][b].map[c]})}catch(g){return c}}};for(y in B)d[y+"PathSegment"]=C("pathname",B[y]);d.encodeReserved=C("reserved","encode");d.parse=function(a,b){b||(b={});var c=a.indexOf("#");-1<c&&(b.fragment=a.substring(c+1)||null,a=a.substring(0,c));c=a.indexOf("?");-1<c&&(b.query=a.substring(c+1)||null,a=a.substring(0,c));"//"===a.substring(0,2)?(b.protocol=null,a=a.substring(2),a=d.parseAuthority(a,
b)):(c=a.indexOf(":"),-1<c&&(b.protocol=a.substring(0,c)||null,b.protocol&&!b.protocol.match(d.protocol_expression)?b.protocol=void 0:"//"===a.substring(c+1,c+3)?(a=a.substring(c+3),a=d.parseAuthority(a,b)):(a=a.substring(c+1),b.urn=!0)));b.path=a;return b};d.parseHost=function(a,b){var c=a.indexOf("/");-1===c&&(c=a.length);if("["===a.charAt(0)){var d=a.indexOf("]");b.hostname=a.substring(1,d)||null;b.port=a.substring(d+2,c)||null;"/"===b.port&&(b.port=null)}else a.indexOf(":")!==a.lastIndexOf(":")?
(b.hostname=a.substring(0,c)||null,b.port=null):(d=a.substring(0,c).split(":"),b.hostname=d[0]||null,b.port=d[1]||null);b.hostname&&"/"!==a.substring(c).charAt(0)&&(c++,a="/"+a);return a.substring(c)||"/"};d.parseAuthority=function(a,b){a=d.parseUserinfo(a,b);return d.parseHost(a,b)};d.parseUserinfo=function(a,b){var c=a.indexOf("/"),g=a.lastIndexOf("@",-1<c?c:a.length-1);-1<g&&(-1===c||g<c)?(c=a.substring(0,g).split(":"),b.username=c[0]?d.decode(c[0]):null,c.shift(),b.password=c[0]?d.decode(c.join(":")):
null,a=a.substring(g+1)):(b.username=null,b.password=null);return a};d.parseQuery=function(a,b){if(!a)return{};a=a.replace(/&+/g,"\x26").replace(/^\?*&*|&+$/g,"");if(!a)return{};var c={};a=a.split("\x26");for(var g=a.length,f,e,l=0;l<g;l++)f=a[l].split("\x3d"),e=d.decodeQuery(f.shift(),b),f=f.length?d.decodeQuery(f.join("\x3d"),b):null,p.call(c,e)?("string"===typeof c[e]&&(c[e]=[c[e]]),c[e].push(f)):c[e]=f;return c};d.build=function(a){var b="";a.protocol&&(b+=a.protocol+":");a.urn||!b&&!a.hostname||
(b+="//");b+=d.buildAuthority(a)||"";"string"===typeof a.path&&("/"!==a.path.charAt(0)&&"string"===typeof a.hostname&&(b+="/"),b+=a.path);"string"===typeof a.query&&a.query&&(b+="?"+a.query);"string"===typeof a.fragment&&a.fragment&&(b+="#"+a.fragment);return b};d.buildHost=function(a){var b="";if(a.hostname)b=d.ip6_expression.test(a.hostname)?b+("["+a.hostname+"]"):b+a.hostname;else return"";a.port&&(b+=":"+a.port);return b};d.buildAuthority=function(a){return d.buildUserinfo(a)+d.buildHost(a)};
d.buildUserinfo=function(a){var b="";a.username&&(b+=d.encode(a.username),a.password&&(b+=":"+d.encode(a.password)),b+="@");return b};d.buildQuery=function(a,b,c){var g="",f,e;for(f in a)if(p.call(a,f)&&f)if(h(a[f])){var l={};var m=0;for(e=a[f].length;m<e;m++)void 0!==a[f][m]&&void 0===l[a[f][m]+""]&&(g+="\x26"+d.buildQueryParameter(f,a[f][m],c),!0!==b&&(l[a[f][m]+""]=!0))}else void 0!==a[f]&&(g+="\x26"+d.buildQueryParameter(f,a[f],c));return g.substring(1)};d.buildQueryParameter=function(a,b,c){return d.encodeQuery(a,
c)+(null!==b?"\x3d"+d.encodeQuery(b,c):"")};d.addQuery=function(a,b,c){if("object"===typeof b)for(var g in b)p.call(b,g)&&d.addQuery(a,g,b[g]);else if("string"===typeof b)void 0===a[b]?a[b]=c:("string"===typeof a[b]&&(a[b]=[a[b]]),h(c)||(c=[c]),a[b]=(a[b]||[]).concat(c));else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");};d.removeQuery=function(a,b,c){var g;if(h(b))for(c=0,g=b.length;c<g;c++)a[b[c]]=void 0;else if("object"===typeof b)for(g in b)p.call(b,g)&&
d.removeQuery(a,g,b[g]);else if("string"===typeof b)if(void 0!==c)if(a[b]===c)a[b]=void 0;else{if(h(a[b])){g=a[b];var f={},e;if(h(c)){var l=0;for(e=c.length;l<e;l++)f[c[l]]=!0}else f[c]=!0;l=0;for(e=g.length;l<e;l++)void 0!==f[g[l]]&&(g.splice(l,1),e--,l--);a[b]=g}}else a[b]=void 0;else throw new TypeError("URI.addQuery() accepts an object, string as the first parameter");};d.hasQuery=function(a,b,c,g){if("object"===typeof b){for(var f in b)if(p.call(b,f)&&!d.hasQuery(a,f,b[f]))return!1;return!0}if("string"!==
typeof b)throw new TypeError("URI.hasQuery() accepts an object, string as the name parameter");switch(w(c)){case "Undefined":return b in a;case "Boolean":return a=!(h(a[b])?!a[b].length:!a[b]),c===a;case "Function":return!!c(a[b],b,a);case "Array":return h(a[b])?(g?v:z)(a[b],c):!1;case "RegExp":return h(a[b])?g?v(a[b],c):!1:!(!a[b]||!a[b].match(c));case "Number":c=String(c);case "String":return h(a[b])?g?v(a[b],c):!1:a[b]===c;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter");
}};d.commonPath=function(a,b){var c=Math.min(a.length,b.length),d;for(d=0;d<c;d++)if(a.charAt(d)!==b.charAt(d)){d--;break}if(1>d)return a.charAt(0)===b.charAt(0)&&"/"===a.charAt(0)?"/":"";if("/"!==a.charAt(d)||"/"!==b.charAt(d))d=a.substring(0,d).lastIndexOf("/");return a.substring(0,d+1)};d.withinString=function(a,b,c){c||(c={});var g=c.start||d.findUri.start,f=c.end||d.findUri.end,e=c.trim||d.findUri.trim,l=/[a-z0-9-]=["']?$/i;for(g.lastIndex=0;;){var m=g.exec(a);if(!m)break;m=m.index;if(c.ignoreHtml){var h=
a.slice(Math.max(m-3,0),m);if(h&&l.test(h))continue}h=m+a.slice(m).search(f);var k=a.slice(m,h).replace(e,"");c.ignore&&c.ignore.test(k)||(h=m+k.length,k=b(k,m,h,a),a=a.slice(0,m)+k+a.slice(h),g.lastIndex=m+k.length)}g.lastIndex=0;return a};d.ensureValidHostname=function(a){if(a.match(d.invalid_hostname_characters)){if(!n)throw new TypeError('Hostname "'+a+'" contains characters other than [A-Z0-9.-] and Punycode.js is not available');if(n.toASCII(a).match(d.invalid_hostname_characters))throw new TypeError('Hostname "'+
a+'" contains characters other than [A-Z0-9.-]');}};d.noConflict=function(a){if(a)return a={URI:this.noConflict()},k.URITemplate&&"function"===typeof k.URITemplate.noConflict&&(a.URITemplate=k.URITemplate.noConflict()),k.IPv6&&"function"===typeof k.IPv6.noConflict&&(a.IPv6=k.IPv6.noConflict()),k.SecondLevelDomains&&"function"===typeof k.SecondLevelDomains.noConflict&&(a.SecondLevelDomains=k.SecondLevelDomains.noConflict()),a;k.URI===this&&(k.URI=E);return this};e.build=function(a){if(!0===a)this._deferred_build=
!0;else if(void 0===a||this._deferred_build)this._string=d.build(this._parts),this._deferred_build=!1;return this};e.clone=function(){return new d(this)};e.valueOf=e.toString=function(){return this.build(!1)._string};e.protocol=u("protocol");e.username=u("username");e.password=u("password");e.hostname=u("hostname");e.port=u("port");e.query=A("query","?");e.fragment=A("fragment","#");e.search=function(a,b){a=this.query(a,b);return"string"===typeof a&&a.length?"?"+a:a};e.hash=function(a,b){a=this.fragment(a,
b);return"string"===typeof a&&a.length?"#"+a:a};e.pathname=function(a,b){if(void 0===a||!0===a)return b=this._parts.path||(this._parts.hostname?"/":""),a?d.decodePath(b):b;this._parts.path=a?d.recodePath(a):"/";this.build(!b);return this};e.path=e.pathname;e.href=function(a,b){var c;if(void 0===a)return this.toString();this._string="";this._parts=d._parts();var g=a instanceof d,f="object"===typeof a&&(a.hostname||a.path||a.pathname);a.nodeName&&(f=d.getDomAttribute(a),a=a[f]||"",f=!1);!g&&f&&void 0!==
a.pathname&&(a=a.toString());if("string"===typeof a||a instanceof String)this._parts=d.parse(String(a),this._parts);else if(g||f)for(c in a=g?a._parts:a,a)p.call(this._parts,c)&&(this._parts[c]=a[c]);else throw new TypeError("invalid input");this.build(!b);return this};e.is=function(a){var b=!1,c=!1,g=!1,f=!1,e=!1,l=!1,h=!1,k=!this._parts.urn;this._parts.hostname&&(k=!1,c=d.ip4_expression.test(this._parts.hostname),g=d.ip6_expression.test(this._parts.hostname),b=c||g,e=(f=!b)&&r&&r.has(this._parts.hostname),
l=f&&d.idn_expression.test(this._parts.hostname),h=f&&d.punycode_expression.test(this._parts.hostname));switch(a.toLowerCase()){case "relative":return k;case "absolute":return!k;case "domain":case "name":return f;case "sld":return e;case "ip":return b;case "ip4":case "ipv4":case "inet4":return c;case "ip6":case "ipv6":case "inet6":return g;case "idn":return l;case "url":return!this._parts.urn;case "urn":return!!this._parts.urn;case "punycode":return h}return null};var F=e.protocol,G=e.port,H=e.hostname;
e.protocol=function(a,b){if(void 0!==a&&a&&(a=a.replace(/:(\/\/)?$/,""),!a.match(d.protocol_expression)))throw new TypeError('Protocol "'+a+"\" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]");return F.call(this,a,b)};e.scheme=e.protocol;e.port=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0!==a&&(0===a&&(a=null),a&&(a+="",":"===a.charAt(0)&&(a=a.substring(1)),a.match(/[^0-9]/))))throw new TypeError('Port "'+a+'" contains characters other than [0-9]');
return G.call(this,a,b)};e.hostname=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0!==a){var c={};d.parseHost(a,c);a=c.hostname}return H.call(this,a,b)};e.host=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a)return this._parts.hostname?d.buildHost(this._parts):"";d.parseHost(a,this._parts);this.build(!b);return this};e.authority=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a)return this._parts.hostname?d.buildAuthority(this._parts):
"";d.parseAuthority(a,this._parts);this.build(!b);return this};e.userinfo=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a){if(!this._parts.username)return"";a=d.buildUserinfo(this._parts);return a.substring(0,a.length-1)}"@"!==a[a.length-1]&&(a+="@");d.parseUserinfo(a,this._parts);this.build(!b);return this};e.resource=function(a,b){if(void 0===a)return this.path()+this.search()+this.hash();a=d.parse(a);this._parts.path=a.path;this._parts.query=a.query;this._parts.fragment=
a.fragment;this.build(!b);return this};e.subdomain=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a){if(!this._parts.hostname||this.is("IP"))return"";a=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,a)||""}var c=this._parts.hostname.length-this.domain().length;c=this._parts.hostname.substring(0,c);c=new RegExp("^"+q(c));a&&"."!==a.charAt(a.length-1)&&(a+=".");a&&d.ensureValidHostname(a);this._parts.hostname=this._parts.hostname.replace(c,
a);this.build(!b);return this};e.domain=function(a,b){if(this._parts.urn)return void 0===a?"":this;"boolean"===typeof a&&(b=a,a=void 0);if(void 0===a){if(!this._parts.hostname||this.is("IP"))return"";if((a=this._parts.hostname.match(/\./g))&&2>a.length)return this._parts.hostname;b=this._parts.hostname.length-this.tld(b).length-1;b=this._parts.hostname.lastIndexOf(".",b-1)+1;return this._parts.hostname.substring(b)||""}if(!a)throw new TypeError("cannot set domain empty");d.ensureValidHostname(a);
if(!this._parts.hostname||this.is("IP"))this._parts.hostname=a;else{var c=new RegExp(q(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(c,a)}this.build(!b);return this};e.tld=function(a,b){if(this._parts.urn)return void 0===a?"":this;"boolean"===typeof a&&(b=a,a=void 0);if(void 0===a){if(!this._parts.hostname||this.is("IP"))return"";a=this._parts.hostname.lastIndexOf(".");a=this._parts.hostname.substring(a+1);return!0!==b&&r&&r.list[a.toLowerCase()]?r.get(this._parts.hostname)||
a:a}if(a)if(a.match(/[^a-zA-Z0-9-]/))if(r&&r.is(a)){var c=new RegExp(q(this.tld())+"$");this._parts.hostname=this._parts.hostname.replace(c,a)}else throw new TypeError('TLD "'+a+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");c=new RegExp(q(this.tld())+"$");this._parts.hostname=this._parts.hostname.replace(c,a)}else throw new TypeError("cannot set TLD empty");this.build(!b);return this};e.directory=
function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a||!0===a){if(!this._parts.path&&!this._parts.hostname)return"";if("/"===this._parts.path)return"/";b=this._parts.path.length-this.filename().length-1;b=this._parts.path.substring(0,b)||(this._parts.hostname?"/":"");return a?d.decodePath(b):b}var c=this._parts.path.length-this.filename().length;c=this._parts.path.substring(0,c);c=new RegExp("^"+q(c));this.is("relative")||(a||(a="/"),"/"!==a.charAt(0)&&(a="/"+a));a&&"/"!==a.charAt(a.length-
1)&&(a+="/");a=d.recodePath(a);this._parts.path=this._parts.path.replace(c,a);this.build(!b);return this};e.filename=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a||!0===a){if(!this._parts.path||"/"===this._parts.path)return"";b=this._parts.path.lastIndexOf("/");b=this._parts.path.substring(b+1);return a?d.decodePathSegment(b):b}var c=!1;"/"===a.charAt(0)&&(a=a.substring(1));a.match(/\.?\//)&&(c=!0);var g=new RegExp(q(this.filename())+"$");a=d.recodePath(a);this._parts.path=
this._parts.path.replace(g,a);c?this.normalizePath(b):this.build(!b);return this};e.suffix=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a||!0===a){if(!this._parts.path||"/"===this._parts.path)return"";b=this.filename();var c=b.lastIndexOf(".");if(-1===c)return"";b=b.substring(c+1);b=/^[a-z0-9%]+$/i.test(b)?b:"";return a?d.decodePathSegment(b):b}"."===a.charAt(0)&&(a=a.substring(1));c=this.suffix();if(c)var g=a?new RegExp(q(c)+"$"):new RegExp(q("."+c)+"$");else{if(!a)return this;
this._parts.path+="."+d.recodePath(a)}g&&(a=d.recodePath(a),this._parts.path=this._parts.path.replace(g,a));this.build(!b);return this};e.segment=function(a,b,c){var d=this._parts.urn?":":"/",f=this.path(),e="/"===f.substring(0,1);f=f.split(d);void 0!==a&&"number"!==typeof a&&(c=b,b=a,a=void 0);if(void 0!==a&&"number"!==typeof a)throw Error('Bad segment "'+a+'", must be 0-based integer');e&&f.shift();0>a&&(a=Math.max(f.length+a,0));if(void 0===b)return void 0===a?f:f[a];if(null===a||void 0===f[a])if(h(b)){f=
[];a=0;for(var l=b.length;a<l;a++)if(b[a].length||f.length&&f[f.length-1].length)f.length&&!f[f.length-1].length&&f.pop(),f.push(b[a])}else{if(b||"string"===typeof b)""===f[f.length-1]?f[f.length-1]=b:f.push(b)}else b?f[a]=b:f.splice(a,1);e&&f.unshift("");return this.path(f.join(d),c)};e.segmentCoded=function(a,b,c){var e;"number"!==typeof a&&(c=b,b=a,a=void 0);if(void 0===b){a=this.segment(a,b,c);if(h(a)){var f=0;for(e=a.length;f<e;f++)a[f]=d.decode(a[f])}else a=void 0!==a?d.decode(a):void 0;return a}if(h(b))for(f=
0,e=b.length;f<e;f++)b[f]=d.decode(b[f]);else b="string"===typeof b||b instanceof String?d.encode(b):b;return this.segment(a,b,c)};var I=e.query;e.query=function(a,b){if(!0===a)return d.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("function"===typeof a){var c=d.parseQuery(this._parts.query,this._parts.escapeQuerySpace);a=a.call(this,c);this._parts.query=d.buildQuery(a||c,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace);this.build(!b);return this}return void 0!==
a&&"string"!==typeof a?(this._parts.query=d.buildQuery(a,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!b),this):I.call(this,a,b)};e.setQuery=function(a,b,c){var e=d.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("string"===typeof a||a instanceof String)e[a]=void 0!==b?b:null;else if("object"===typeof a)for(var f in a)p.call(a,f)&&(e[f]=a[f]);else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");this._parts.query=
d.buildQuery(e,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace);"string"!==typeof a&&(c=b);this.build(!c);return this};e.addQuery=function(a,b,c){var e=d.parseQuery(this._parts.query,this._parts.escapeQuerySpace);d.addQuery(e,a,void 0===b?null:b);this._parts.query=d.buildQuery(e,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace);"string"!==typeof a&&(c=b);this.build(!c);return this};e.removeQuery=function(a,b,c){var e=d.parseQuery(this._parts.query,this._parts.escapeQuerySpace);
d.removeQuery(e,a,b);this._parts.query=d.buildQuery(e,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace);"string"!==typeof a&&(c=b);this.build(!c);return this};e.hasQuery=function(a,b,c){var e=d.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return d.hasQuery(e,a,b,c)};e.setSearch=e.setQuery;e.addSearch=e.addQuery;e.removeSearch=e.removeQuery;e.hasSearch=e.hasQuery;e.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizeQuery(!1).normalizeFragment(!1).build():
this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()};e.normalizeProtocol=function(a){"string"===typeof this._parts.protocol&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!a));return this};e.normalizeHostname=function(a){this._parts.hostname&&(this.is("IDN")&&n?this._parts.hostname=n.toASCII(this._parts.hostname):this.is("IPv6")&&t&&(this._parts.hostname=t.best(this._parts.hostname)),this._parts.hostname=
this._parts.hostname.toLowerCase(),this.build(!a));return this};e.normalizePort=function(a){"string"===typeof this._parts.protocol&&this._parts.port===d.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!a));return this};e.normalizePath=function(a){if(this._parts.urn||!this._parts.path||"/"===this._parts.path)return this;var b=this._parts.path,c="";if("/"!==b.charAt(0)){var e=!0;b="/"+b}b=b.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/");e&&(c=b.substring(1).match(/^(\.\.\/)+/)||
"")&&(c=c[0]);for(;;){var f=b.indexOf("/..");if(-1===f)break;else if(0===f){b=b.substring(3);continue}var h=b.substring(0,f).lastIndexOf("/");-1===h&&(h=f);b=b.substring(0,h)+b.substring(f+3)}e&&this.is("relative")&&(b=c+b.substring(1));b=d.recodePath(b);this._parts.path=b;this.build(!a);return this};e.normalizePathname=e.normalizePath;e.normalizeQuery=function(a){"string"===typeof this._parts.query&&(this._parts.query.length?this.query(d.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):
this._parts.query=null,this.build(!a));return this};e.normalizeFragment=function(a){this._parts.fragment||(this._parts.fragment=null,this.build(!a));return this};e.normalizeSearch=e.normalizeQuery;e.normalizeHash=e.normalizeFragment;e.iso8859=function(){var a=d.encode,b=d.decode;d.encode=escape;d.decode=decodeURIComponent;this.normalize();d.encode=a;d.decode=b;return this};e.unicode=function(){var a=d.encode,b=d.decode;d.encode=x;d.decode=unescape;this.normalize();d.encode=a;d.decode=b;return this};
e.readable=function(){var a=this.clone();a.username("").password("").normalize();var b="";a._parts.protocol&&(b+=a._parts.protocol+"://");a._parts.hostname&&(a.is("punycode")&&n?(b+=n.toUnicode(a._parts.hostname),a._parts.port&&(b+=":"+a._parts.port)):b+=a.host());a._parts.hostname&&a._parts.path&&"/"!==a._parts.path.charAt(0)&&(b+="/");b+=a.path(!0);if(a._parts.query){for(var c="",e=0,f=a._parts.query.split("\x26"),h=f.length;e<h;e++){var l=(f[e]||"").split("\x3d");c+="\x26"+d.decodeQuery(l[0],this._parts.escapeQuerySpace).replace(/&/g,
"%26");void 0!==l[1]&&(c+="\x3d"+d.decodeQuery(l[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}b+="?"+c.substring(1)}return b+=d.decodeQuery(a.hash(),!0)};e.absoluteTo=function(a){var b=this.clone(),c=["protocol","username","password","hostname","port"],e,f;if(this._parts.urn)throw Error("URNs do not have any generally defined hierarchical components");a instanceof d||(a=new d(a));b._parts.protocol||(b._parts.protocol=a._parts.protocol);if(this._parts.hostname)return b;for(e=0;f=c[e];e++)b._parts[f]=
a._parts[f];b._parts.path?".."===b._parts.path.substring(-2)&&(b._parts.path+="/"):(b._parts.path=a._parts.path,b._parts.query||(b._parts.query=a._parts.query));"/"!==b.path().charAt(0)&&(a=a.directory(),b._parts.path=(a?a+"/":"")+b._parts.path,b.normalizePath());b.build();return b};e.relativeTo=function(a){var b=this.clone().normalize();if(b._parts.urn)throw Error("URNs do not have any generally defined hierarchical components");a=(new d(a)).normalize();var c=b._parts;var e=a._parts;var f=b.path();
var h=a.path();if("/"!==f.charAt(0))throw Error("URI is already relative");if("/"!==h.charAt(0))throw Error("Cannot calculate a URI relative to another relative URI");c.protocol===e.protocol&&(c.protocol=null);if(c.username===e.username&&c.password===e.password&&null===c.protocol&&null===c.username&&null===c.password&&c.hostname===e.hostname&&c.port===e.port)c.hostname=null,c.port=null;else return b.build();if(f===h)return c.path="",b.build();a=d.commonPath(b.path(),a.path());if(!a)return b.build();
e=e.path.substring(a.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");c.path=e+c.path.substring(a.length);return b.build()};e.equals=function(a){var b=this.clone(),c=new d(a);a={};var e;b.normalize();c.normalize();if(b.toString()===c.toString())return!0;var f=b.query();var k=c.query();b.query("");c.query("");if(b.toString()!==c.toString()||f.length!==k.length)return!1;b=d.parseQuery(f,this._parts.escapeQuerySpace);k=d.parseQuery(k,this._parts.escapeQuerySpace);for(e in b)if(p.call(b,e)){if(!h(b[e])){if(b[e]!==
k[e])return!1}else if(!z(b[e],k[e]))return!1;a[e]=!0}for(e in k)if(p.call(k,e)&&!a[e])return!1;return!0};e.duplicateQueryParameters=function(a){this._parts.duplicateQueryParameters=!!a;return this};e.escapeQuerySpace=function(a){this._parts.escapeQuerySpace=!!a;return this};return d});return URI});
/* ******** */