CI: Website updated
diff --git a/40db5a95d875815a4fddb66504f92f51/intellij-eclipse-code-formatter-settings.png b/40db5a95d875815a4fddb66504f92f51/intellij-eclipse-code-formatter-settings.png
new file mode 100644
index 0000000..0eb0083
--- /dev/null
+++ b/40db5a95d875815a4fddb66504f92f51/intellij-eclipse-code-formatter-settings.png
Binary files differ
diff --git a/7cf1abf65faa5b6effa4c31d8fbe0f83/katacoda-logo.png b/7cf1abf65faa5b6effa4c31d8fbe0f83/katacoda-logo.png
new file mode 100644
index 0000000..c0655bc
--- /dev/null
+++ b/7cf1abf65faa5b6effa4c31d8fbe0f83/katacoda-logo.png
Binary files differ
diff --git a/app-194ea4f7bf63aa4ef2a0.js b/app-194ea4f7bf63aa4ef2a0.js
deleted file mode 100644
index 3d755c1..0000000
--- a/app-194ea4f7bf63aa4ef2a0.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{"+ZDr":function(t,e,n){"use strict";n("2Spj"),n("0l/t"),n("8+KV"),n("pIFo");var r=n("TqRt");e.__esModule=!0,e.withPrefix=d,e.withAssetPrefix=function(t){return["/jkube"].concat([t.replace(/^\//,"")]).join("/")},e.navigateTo=e.replace=e.push=e.navigate=e.default=void 0;var o=r(n("8OQS")),i=r(n("pVnL")),a=r(n("PJYZ")),c=r(n("VbXa")),u=r(n("lSNA")),s=r(n("17x9")),l=r(n("q1tI")),f=n("YwZP"),p=n("cu4x");function d(t){return function(t){return t.replace(/\/+/g,"/")}(["/jkube",t].join("/"))}e.parsePath=p.parsePath;var h={activeClassName:s.default.string,activeStyle:s.default.object,partiallyActive:s.default.bool},v=function(t){function e(e){var n;n=t.call(this,e)||this,(0,u.default)((0,a.default)(n),"defaultGetProps",(function(t){var e=t.isPartiallyCurrent,r=t.isCurrent;return(n.props.partiallyActive?e:r)?{className:[n.props.className,n.props.activeClassName].filter(Boolean).join(" "),style:(0,i.default)({},n.props.style,{},n.props.activeStyle)}:null}));var r=!1;return"undefined"!=typeof window&&window.IntersectionObserver&&(r=!0),n.state={IOSupported:r},n.handleRef=n.handleRef.bind((0,a.default)(n)),n}(0,c.default)(e,t);var n=e.prototype;return n.componentDidUpdate=function(t,e){this.props.to===t.to||this.state.IOSupported||___loader.enqueue((0,p.parsePath)(this.props.to).pathname)},n.componentDidMount=function(){this.state.IOSupported||___loader.enqueue((0,p.parsePath)(this.props.to).pathname)},n.componentWillUnmount=function(){if(this.io){var t=this.io,e=t.instance,n=t.el;e.unobserve(n),e.disconnect()}},n.handleRef=function(t){var e,n,r,o=this;this.props.innerRef&&this.props.innerRef.hasOwnProperty("current")?this.props.innerRef.current=t:this.props.innerRef&&this.props.innerRef(t),this.state.IOSupported&&t&&(this.io=(e=t,n=function(){___loader.enqueue((0,p.parsePath)(o.props.to).pathname)},(r=new window.IntersectionObserver((function(t){t.forEach((function(t){e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(r.unobserve(e),r.disconnect(),n())}))}))).observe(e),{instance:r,el:e}))},n.render=function(){var t=this,e=this.props,n=e.to,r=e.getProps,a=void 0===r?this.defaultGetProps:r,c=e.onClick,u=e.onMouseEnter,s=(e.activeClassName,e.activeStyle,e.innerRef,e.partiallyActive,e.state),h=e.replace,v=(0,o.default)(e,["to","getProps","onClick","onMouseEnter","activeClassName","activeStyle","innerRef","partiallyActive","state","replace"]);var g=d(n);return l.default.createElement(f.Link,(0,i.default)({to:g,state:s,getProps:a,innerRef:this.handleRef,onMouseEnter:function(t){u&&u(t),___loader.hovering((0,p.parsePath)(n).pathname)},onClick:function(e){return c&&c(e),0!==e.button||t.props.target||e.defaultPrevented||e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||(e.preventDefault(),y(n,{state:s,replace:h})),!0}},v))},e}(l.default.Component);v.propTypes=(0,i.default)({},h,{onClick:s.default.func,to:s.default.string.isRequired,replace:s.default.bool});var g=function(t,e,n){return console.warn('The "'+t+'" method is now deprecated and will be removed in Gatsby v'+n+'. Please use "'+e+'" instead.')},m=l.default.forwardRef((function(t,e){return l.default.createElement(v,(0,i.default)({innerRef:e},t))}));e.default=m;var y=function(t,e){window.___navigate(d(t),e)};e.navigate=y;var w=function(t){g("push","navigate",3),window.___push(d(t))};e.push=w;e.replace=function(t){g("replace","navigate",3),window.___replace(d(t))};e.navigateTo=function(t){return g("navigateTo","navigate",3),w(t)}},"+i7v":function(t,e,n){"use strict";var r=n("TqRt");e.__esModule=!0,e.default=function(t,e){var n=(0,o.default)(t);if(void 0===e)return n?"pageXOffset"in n?n.pageXOffset:n.document.documentElement.scrollLeft:t.scrollLeft;n?n.scrollTo(e,"pageYOffset"in n?n.pageYOffset:n.document.documentElement.scrollTop):t.scrollLeft=e};var o=r(n("8Y+z"));t.exports=e.default},"+lvF":function(t,e,n){t.exports=n("VTer")("native-function-to-string",Function.toString)},"+rLv":function(t,e,n){var r=n("dyZX").document;t.exports=r&&r.documentElement},"/SS/":function(t,e,n){var r=n("XKFU");r(r.S,"Object",{setPrototypeOf:n("i5dc").set})},"/e88":function(t,e){t.exports="\t\n\v\f\r \u2028\u2029\ufeff"},"0/R4":function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},"0l/t":function(t,e,n){"use strict";var r=n("XKFU"),o=n("CkkT")(2);r(r.P+r.F*!n("LyE8")([].filter,!0),"Array",{filter:function(t){return o(this,t,arguments[1])}})},"0sh+":function(t,e,n){var r=n("quPj"),o=n("vhPU");t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(o(t))}},"16Al":function(t,e,n){"use strict";n("f3/d");var r=n("WbBG");function o(){}function i(){}i.resetWarningCache=o,t.exports=function(){function t(t,e,n,o,i,a){if(a!==r){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},"17x9":function(t,e,n){t.exports=n("16Al")()},"1MBn":function(t,e,n){var r=n("DVgA"),o=n("JiEa"),i=n("UqcF");t.exports=function(t){var e=r(t),n=o.f;if(n)for(var a,c=n(t),u=i.f,s=0;c.length>s;)u.call(t,a=c[s++])&&e.push(a);return e}},"1TsA":function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},"1fHE":function(t,e,n){"use strict";e.__esModule=!0,e.default=void 0;var r=function(){function t(){}var e=t.prototype;return e.read=function(t,e){var n=this.getStateKey(t,e);try{var r=window.sessionStorage.getItem(n);return JSON.parse(r)}catch(o){return window&&window.___GATSBY_REACT_ROUTER_SCROLL&&window.___GATSBY_REACT_ROUTER_SCROLL[n]?window.___GATSBY_REACT_ROUTER_SCROLL[n]:{}}},e.save=function(t,e,n){var r=this.getStateKey(t,e),o=JSON.stringify(n);try{window.sessionStorage.setItem(r,o)}catch(i){window&&window.___GATSBY_REACT_ROUTER_SCROLL?window.___GATSBY_REACT_ROUTER_SCROLL[r]=JSON.parse(o):(window.___GATSBY_REACT_ROUTER_SCROLL={},window.___GATSBY_REACT_ROUTER_SCROLL[r]=JSON.parse(o))}},e.getStateKey=function(t,e){var n="@@scroll|"+(t.key||t.pathname);return null==e?n:n+"|"+e},t}();e.default=r},"25dN":function(t,e,n){var r=n("XKFU");r(r.S,"Object",{is:n("g6HL")})},"2OiF":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},"2Spj":function(t,e,n){var r=n("XKFU");r(r.P,"Function",{bind:n("8MEG")})},"3Lyj":function(t,e,n){var r=n("KroJ");t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},"444f":function(t,e,n){"use strict";var r=n("TqRt");e.__esModule=!0,e.default=void 0;var o=r(n("PJYZ")),i=r(n("VbXa")),a=r(n("lSNA")),c=r(n("q1tI")),u=r(n("LHMV")),s=r(n("17x9")),l=n("9Xx/"),f=r(n("1fHE")),p={shouldUpdateScroll:s.default.func,children:s.default.element.isRequired,location:s.default.object.isRequired},d={scrollBehavior:s.default.object.isRequired},h=function(t){function e(e,n){var r;return r=t.call(this,e,n)||this,(0,a.default)((0,o.default)(r),"shouldUpdateScroll",(function(t,e){var n=r.props.shouldUpdateScroll;return!n||n.call(r.scrollBehavior,t,e)})),(0,a.default)((0,o.default)(r),"registerElement",(function(t,e,n){r.scrollBehavior.registerElement(t,e,n,r.getRouterProps())})),(0,a.default)((0,o.default)(r),"unregisterElement",(function(t){r.scrollBehavior.unregisterElement(t)})),r.scrollBehavior=new u.default({addTransitionHook:l.globalHistory.listen,stateStorage:new f.default,getCurrentLocation:function(){return r.props.location},shouldUpdateScroll:r.shouldUpdateScroll}),r}(0,i.default)(e,t);var n=e.prototype;return n.getChildContext=function(){return{scrollBehavior:this}},n.componentDidUpdate=function(t){var e=this.props.location;if(e!==t.location){var n={location:t.location};window.__navigatingToLink?e.action="PUSH":e.action="POP",this.scrollBehavior.updateScroll(n,{history:l.globalHistory,location:e})}},n.componentWillUnmount=function(){this.scrollBehavior.stop()},n.getRouterProps=function(){return{location:this.props.location,history:l.globalHistory}},n.render=function(){return c.default.Children.only(this.props.children)},e}(c.default.Component);h.propTypes=p,h.childContextTypes=d;var v=h;e.default=v},"4LiD":function(t,e,n){"use strict";var r=n("dyZX"),o=n("XKFU"),i=n("KroJ"),a=n("3Lyj"),c=n("Z6vF"),u=n("SlkY"),s=n("9gX7"),l=n("0/R4"),f=n("eeVq"),p=n("XMVh"),d=n("fyDq"),h=n("Xbzi");t.exports=function(t,e,n,v,g,m){var y=r[t],w=y,b=g?"set":"add",_=w&&w.prototype,S={},x=function(t){var e=_[t];i(_,t,"delete"==t?function(t){return!(m&&!l(t))&&e.call(this,0===t?0:t)}:"has"==t?function(t){return!(m&&!l(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return m&&!l(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof w&&(m||_.forEach&&!f((function(){(new w).entries().next()})))){var P=new w,O=P[b](m?{}:-0,1)!=P,E=f((function(){P.has(1)})),R=p((function(t){new w(t)})),j=!m&&f((function(){for(var t=new w,e=5;e--;)t[b](e,e);return!t.has(-0)}));R||((w=e((function(e,n){s(e,w,t);var r=h(new y,e,w);return null!=n&&u(n,g,r[b],r),r}))).prototype=_,_.constructor=w),(E||j)&&(x("delete"),x("has"),g&&x("get")),(j||O)&&x(b),m&&_.clear&&delete _.clear}else w=v.getConstructor(e,t,g,b),a(w.prototype,n),c.NEED=!0;return d(w,t),S[t]=w,o(o.G+o.W+o.F*(w!=y),S),m||v.setStrong(w,t,g),w}},"4R4u":function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"5yr3":function(t,e,n){"use strict";n("bWfx"),n("V+eJ"),n("hHhE");var r=function(t){return t=t||Object.create(null),{on:function(e,n){(t[e]||(t[e]=[])).push(n)},off:function(e,n){t[e]&&t[e].splice(t[e].indexOf(n)>>>0,1)},emit:function(e,n){(t[e]||[]).slice().map((function(t){t(n)})),(t["*"]||[]).slice().map((function(t){t(e,n)}))}}}();e.a=r},"69bn":function(t,e,n){var r=n("y3w9"),o=n("2OiF"),i=n("K0xU")("species");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||null==(n=r(a)[i])?e:o(n)}},"6DQo":function(t,e,n){"use strict";n("pIFo");t.exports=function(){}},"6FMO":function(t,e,n){var r=n("0/R4"),o=n("EWmC"),i=n("K0xU")("species");t.exports=function(t){var e;return o(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!o(e.prototype)||(e=void 0),r(e)&&null===(e=e[i])&&(e=void 0)),void 0===e?Array:e}},"7hJ6":function(t,e,n){"use strict";var r=n("TqRt"),o=r(n("444f")),i=r(n("IVHb"));e.ScrollContainer=i.default,e.ScrollContext=o.default},"8+KV":function(t,e,n){"use strict";var r=n("XKFU"),o=n("CkkT")(0),i=n("LyE8")([].forEach,!0);r(r.P+r.F*!i,"Array",{forEach:function(t){return o(this,t,arguments[1])}})},"8MEG":function(t,e,n){"use strict";var r=n("2OiF"),o=n("0/R4"),i=n("MfQN"),a=[].slice,c={},u=function(t,e,n){if(!(e in c)){for(var r=[],o=0;o<e;o++)r[o]="a["+o+"]";c[e]=Function("F,a","return new F("+r.join(",")+")")}return c[e](t,n)};t.exports=Function.bind||function(t){var e=r(this),n=a.call(arguments,1),c=function(){var r=n.concat(a.call(arguments));return this instanceof c?u(e,r.length,r):i(e,r,t)};return o(e.prototype)&&(c.prototype=e.prototype),c}},"8OQS":function(t,e){t.exports=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r<i.length;r++)n=i[r],e.indexOf(n)>=0||(o[n]=t[n]);return o}},"8Y+z":function(t,e,n){"use strict";e.__esModule=!0,e.default=function(t){return t===t.window?t:9===t.nodeType&&(t.defaultView||t.parentWindow)},t.exports=e.default},"8a7r":function(t,e,n){"use strict";var r=n("hswa"),o=n("RjD/");t.exports=function(t,e,n){e in t?r.f(t,e,o(0,n)):t[e]=n}},"91GP":function(t,e,n){var r=n("XKFU");r(r.S+r.F,"Object",{assign:n("czNK")})},"94VI":function(t,e){e.polyfill=function(t){return t}},"9AAn":function(t,e,n){"use strict";var r=n("wmvG"),o=n("s5qY");t.exports=n("4LiD")("Map",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{get:function(t){var e=r.getEntry(o(this,"Map"),t);return e&&e.v},set:function(t,e){return r.def(o(this,"Map"),0===t?0:t,e)}},r,!0)},"9Xx/":function(t,e,n){"use strict";n.r(e),n.d(e,"globalHistory",(function(){return u})),n.d(e,"navigate",(function(){return s})),n.d(e,"createHistory",(function(){return i})),n.d(e,"createMemorySource",(function(){return a}));n("KKXr"),n("8+KV"),n("VRzm"),n("Btvt"),n("eM6i"),n("pIFo"),n("0l/t"),n("91GP");var r=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},o=function(t){return r({},t.location,{state:t.history.state,key:t.history.state&&t.history.state.key||"initial"})},i=function(t,e){var n=[],i=o(t),a=!1,c=function(){};return{get location(){return i},get transitioning(){return a},_onTransitionComplete:function(){a=!1,c()},listen:function(e){n.push(e);var r=function(){i=o(t),e({location:i,action:"POP"})};return t.addEventListener("popstate",r),function(){t.removeEventListener("popstate",r),n=n.filter((function(t){return t!==e}))}},navigate:function(e){var u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=u.state,l=u.replace,f=void 0!==l&&l;s=r({},s,{key:Date.now()+""});try{a||f?t.history.replaceState(s,null,e):t.history.pushState(s,null,e)}catch(d){t.location[f?"replace":"assign"](e)}i=o(t),a=!0;var p=new Promise((function(t){return c=t}));return n.forEach((function(t){return t({location:i,action:"PUSH"})})),p}}},a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",e=0,n=[{pathname:t,search:""}],r=[];return{get location(){return n[e]},addEventListener:function(t,e){},removeEventListener:function(t,e){},history:{get entries(){return n},get index(){return e},get state(){return r[e]},pushState:function(t,o,i){var a=i.split("?"),c=a[0],u=a[1],s=void 0===u?"":u;e++,n.push({pathname:c,search:s}),r.push(t)},replaceState:function(t,o,i){var a=i.split("?"),c=a[0],u=a[1],s=void 0===u?"":u;n[e]={pathname:c,search:s},r[e]=t}}}},c=!("undefined"==typeof window||!window.document||!window.document.createElement),u=i(c?window:a()),s=u.navigate},"9gX7":function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},A5AN:function(t,e,n){"use strict";var r=n("AvRE")(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},Afnz:function(t,e,n){"use strict";var r=n("LQAc"),o=n("XKFU"),i=n("KroJ"),a=n("Mukb"),c=n("hPIQ"),u=n("QaDb"),s=n("fyDq"),l=n("OP3Y"),f=n("K0xU")("iterator"),p=!([].keys&&"next"in[].keys()),d=function(){return this};t.exports=function(t,e,n,h,v,g,m){u(n,e,h);var y,w,b,_=function(t){if(!p&&t in O)return O[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+" Iterator",x="values"==v,P=!1,O=t.prototype,E=O[f]||O["@@iterator"]||v&&O[v],R=E||_(v),j=v?x?_("entries"):R:void 0,k="Array"==e&&O.entries||E;if(k&&(b=l(k.call(new t)))!==Object.prototype&&b.next&&(s(b,S,!0),r||"function"==typeof b[f]||a(b,f,d)),x&&E&&"values"!==E.name&&(P=!0,R=function(){return E.call(this)}),r&&!m||!p&&!P&&O[f]||a(O,f,R),c[e]=R,c[S]=d,v)if(y={values:x?R:_("values"),keys:g?R:_("keys"),entries:j},m)for(w in y)w in O||i(O,w,y[w]);else o(o.P+o.F*(p||P),e,y);return y}},AvRE:function(t,e,n){var r=n("RYi7"),o=n("vhPU");t.exports=function(t){return function(e,n){var i,a,c=String(o(e)),u=r(n),s=c.length;return u<0||u>=s?t?"":void 0:(i=c.charCodeAt(u))<55296||i>56319||u+1===s||(a=c.charCodeAt(u+1))<56320||a>57343?t?c.charAt(u):i:t?c.slice(u,u+2):a-56320+(i-55296<<10)+65536}}},Bp9Y:function(t,e,n){"use strict";e.__esModule=!0,e.default=void 0;var r=!("undefined"==typeof window||!window.document||!window.document.createElement);e.default=r,t.exports=e.default},Btvt:function(t,e,n){"use strict";var r=n("I8a+"),o={};o[n("K0xU")("toStringTag")]="z",o+""!="[object z]"&&n("KroJ")(Object.prototype,"toString",(function(){return"[object "+r(this)+"]"}),!0)},"C/va":function(t,e,n){"use strict";var r=n("y3w9");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},CkkT:function(t,e,n){var r=n("m0Pp"),o=n("Ymqv"),i=n("S/j/"),a=n("ne8i"),c=n("zRwo");t.exports=function(t,e){var n=1==t,u=2==t,s=3==t,l=4==t,f=6==t,p=5==t||f,d=e||c;return function(e,c,h){for(var v,g,m=i(e),y=o(m),w=r(c,h,3),b=a(y.length),_=0,S=n?d(e,b):u?d(e,0):void 0;b>_;_++)if((p||_ in y)&&(g=w(v=y[_],_,m),t))if(n)S[_]=g;else if(g)switch(t){case 3:return!0;case 5:return v;case 6:return _;case 2:S.push(v)}else if(l)return!1;return f?-1:s||l?l:S}}},DNiP:function(t,e,n){"use strict";var r=n("XKFU"),o=n("eyMr");r(r.P+r.F*!n("LyE8")([].reduce,!0),"Array",{reduce:function(t){return o(this,t,arguments.length,arguments[1],!1)}})},DVgA:function(t,e,n){var r=n("zhAb"),o=n("4R4u");t.exports=Object.keys||function(t){return r(t,o)}},EK0E:function(t,e,n){"use strict";var r,o=n("dyZX"),i=n("CkkT")(0),a=n("KroJ"),c=n("Z6vF"),u=n("czNK"),s=n("ZD67"),l=n("0/R4"),f=n("s5qY"),p=n("s5qY"),d=!o.ActiveXObject&&"ActiveXObject"in o,h=c.getWeak,v=Object.isExtensible,g=s.ufstore,m=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},y={get:function(t){if(l(t)){var e=h(t);return!0===e?g(f(this,"WeakMap")).get(t):e?e[this._i]:void 0}},set:function(t,e){return s.def(f(this,"WeakMap"),t,e)}},w=t.exports=n("4LiD")("WeakMap",m,y,s,!0,!0);p&&d&&(u((r=s.getConstructor(m,"WeakMap")).prototype,y),c.NEED=!0,i(["delete","has","get","set"],(function(t){var e=w.prototype,n=e[t];a(e,t,(function(e,o){if(l(e)&&!v(e)){this._f||(this._f=new r);var i=this._f[t](e,o);return"set"==t?this:i}return n.call(this,e,o)}))})))},EWmC:function(t,e,n){var r=n("LZWt");t.exports=Array.isArray||function(t){return"Array"==r(t)}},EemH:function(t,e,n){var r=n("UqcF"),o=n("RjD/"),i=n("aCFj"),a=n("apmT"),c=n("aagx"),u=n("xpql"),s=Object.getOwnPropertyDescriptor;e.f=n("nh4g")?s:function(t,e){if(t=i(t),e=a(e,!0),u)try{return s(t,e)}catch(n){}if(c(t,e))return o(!r.f.call(t,e),t[e])}},FJW5:function(t,e,n){var r=n("hswa"),o=n("y3w9"),i=n("DVgA");t.exports=n("nh4g")?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),c=a.length,u=0;c>u;)r.f(t,n=a[u++],e[n]);return t}},GZEu:function(t,e,n){var r,o,i,a=n("m0Pp"),c=n("MfQN"),u=n("+rLv"),s=n("Iw71"),l=n("dyZX"),f=l.process,p=l.setImmediate,d=l.clearImmediate,h=l.MessageChannel,v=l.Dispatch,g=0,m={},y=function(){var t=+this;if(m.hasOwnProperty(t)){var e=m[t];delete m[t],e()}},w=function(t){y.call(t.data)};p&&d||(p=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return m[++g]=function(){c("function"==typeof t?t:Function(t),e)},r(g),g},d=function(t){delete m[t]},"process"==n("LZWt")(f)?r=function(t){f.nextTick(a(y,t,1))}:v&&v.now?r=function(t){v.now(a(y,t,1))}:h?(i=(o=new h).port2,o.port1.onmessage=w,r=a(i.postMessage,i,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(r=function(t){l.postMessage(t+"","*")},l.addEventListener("message",w,!1)):r="onreadystatechange"in s("script")?function(t){u.appendChild(s("script")).onreadystatechange=function(){u.removeChild(this),y.call(t)}}:function(t){setTimeout(a(y,t,1),0)}),t.exports={set:p,clear:d}},H6hf:function(t,e,n){var r=n("y3w9");t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(a){var i=t.return;throw void 0!==i&&r(i.call(t)),a}}},"HAE/":function(t,e,n){var r=n("XKFU");r(r.S+r.F*!n("nh4g"),"Object",{defineProperty:n("hswa").f})},HEwt:function(t,e,n){"use strict";var r=n("m0Pp"),o=n("XKFU"),i=n("S/j/"),a=n("H6hf"),c=n("M6Qj"),u=n("ne8i"),s=n("8a7r"),l=n("J+6e");o(o.S+o.F*!n("XMVh")((function(t){Array.from(t)})),"Array",{from:function(t){var e,n,o,f,p=i(t),d="function"==typeof this?this:Array,h=arguments.length,v=h>1?arguments[1]:void 0,g=void 0!==v,m=0,y=l(p);if(g&&(v=r(v,h>2?arguments[2]:void 0,2)),null==y||d==Array&&c(y))for(n=new d(e=u(p.length));e>m;m++)s(n,m,g?v(p[m],m):p[m]);else for(f=y.call(p),n=new d;!(o=f.next()).done;m++)s(n,m,g?a(f,v,[o.value,m],!0):o.value);return n.length=m,n}})},"I8a+":function(t,e,n){var r=n("LZWt"),o=n("K0xU")("toStringTag"),i="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(n){}}(e=Object(t),o))?n:i?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},IOVJ:function(t,e,n){"use strict";n("91GP");var r=n("q1tI"),o=n.n(r),i=n("emEt"),a=n("xtsi");var c=function(t){var e,n;function o(){return t.apply(this,arguments)||this}return n=t,(e=o).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,o.prototype.render=function(){var t=Object.assign({},this.props,{pathContext:this.props.pageContext}),e=Object(a.apiRunner)("replaceComponentRenderer",{props:this.props,loader:i.publicLoader})[0]||Object(r.createElement)(this.props.pageResources.component,Object.assign({},t,{key:this.props.path||this.props.pageResources.page.path}));return Object(a.apiRunner)("wrapPageElement",{element:e,props:t},e,(function(e){return{element:e.result,props:t}})).pop()},o}(o.a.Component);e.a=c},"IU+Z":function(t,e,n){"use strict";n("sMXx");var r=n("KroJ"),o=n("Mukb"),i=n("eeVq"),a=n("vhPU"),c=n("K0xU"),u=n("Ugos"),s=c("species"),l=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),f=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var p=c(t),d=!i((function(){var e={};return e[p]=function(){return 7},7!=""[t](e)})),h=d?!i((function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[s]=function(){return n}),n[p](""),!e})):void 0;if(!d||!h||"replace"===t&&!l||"split"===t&&!f){var v=/./[p],g=n(a,p,""[t],(function(t,e,n,r,o){return e.exec===u?d&&!o?{done:!0,value:v.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}})),m=g[0],y=g[1];r(String.prototype,t,m),o(RegExp.prototype,p,2==e?function(t,e){return y.call(t,this,e)}:function(t){return y.call(t,this)})}}},IVHb:function(t,e,n){"use strict";var r=n("TqRt");e.__esModule=!0,e.default=void 0;var o=r(n("PJYZ")),i=r(n("VbXa")),a=r(n("lSNA")),c=r(n("q1tI")),u=r(n("i8i4")),s=r(n("6DQo")),l=r(n("17x9")),f={scrollKey:l.default.string.isRequired,shouldUpdateScroll:l.default.func,children:l.default.element.isRequired},p={scrollBehavior:l.default.object},d=function(t){function e(e,n){var r;return r=t.call(this,e,n)||this,(0,a.default)((0,o.default)(r),"shouldUpdateScroll",(function(t,e){var n=r.props.shouldUpdateScroll;return!n||n.call(r.context.scrollBehavior.scrollBehavior,t,e)})),r.scrollKey=e.scrollKey,r}(0,i.default)(e,t);var n=e.prototype;return n.componentDidMount=function(){this.context.scrollBehavior.registerElement(this.props.scrollKey,u.default.findDOMNode(this),this.shouldUpdateScroll)},n.componentDidUpdate=function(t){(0,s.default)(t.scrollKey===this.props.scrollKey,"<ScrollContainer> does not support changing scrollKey.")},n.componentWillUnmount=function(){this.context.scrollBehavior.unregisterElement(this.scrollKey)},n.render=function(){return this.props.children},e}(c.default.Component);d.propTypes=f,d.contextTypes=p;var h=d;e.default=h},Iw71:function(t,e,n){var r=n("0/R4"),o=n("dyZX").document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},"J+6e":function(t,e,n){var r=n("I8a+"),o=n("K0xU")("iterator"),i=n("hPIQ");t.exports=n("g3g5").getIteratorMethod=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},JiEa:function(t,e){e.f=Object.getOwnPropertySymbols},K0xU:function(t,e,n){var r=n("VTer")("wks"),o=n("ylqs"),i=n("dyZX").Symbol,a="function"==typeof i;(t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)("Symbol."+t))}).store=r},KKXr:function(t,e,n){"use strict";var r=n("quPj"),o=n("y3w9"),i=n("69bn"),a=n("A5AN"),c=n("ne8i"),u=n("Xxuz"),s=n("Ugos"),l=n("eeVq"),f=Math.min,p=[].push,d=!l((function(){RegExp(4294967295,"y")}));n("IU+Z")("split",2,(function(t,e,n,l){var h;return h="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var o=String(this);if(void 0===t&&0===e)return[];if(!r(t))return n.call(o,t,e);for(var i,a,c,u=[],l=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),f=0,d=void 0===e?4294967295:e>>>0,h=new RegExp(t.source,l+"g");(i=s.call(h,o))&&!((a=h.lastIndex)>f&&(u.push(o.slice(f,i.index)),i.length>1&&i.index<o.length&&p.apply(u,i.slice(1)),c=i[0].length,f=a,u.length>=d));)h.lastIndex===i.index&&h.lastIndex++;return f===o.length?!c&&h.test("")||u.push(""):u.push(o.slice(f)),u.length>d?u.slice(0,d):u}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,r){var o=t(this),i=null==n?void 0:n[e];return void 0!==i?i.call(n,o,r):h.call(String(o),n,r)},function(t,e){var r=l(h,t,this,e,h!==n);if(r.done)return r.value;var s=o(t),p=String(this),v=i(s,RegExp),g=s.unicode,m=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(d?"y":"g"),y=new v(d?s:"^(?:"+s.source+")",m),w=void 0===e?4294967295:e>>>0;if(0===w)return[];if(0===p.length)return null===u(y,p)?[p]:[];for(var b=0,_=0,S=[];_<p.length;){y.lastIndex=d?_:0;var x,P=u(y,d?p:p.slice(_));if(null===P||(x=f(c(y.lastIndex+(d?0:_)),p.length))===b)_=a(p,_,g);else{if(S.push(p.slice(b,_)),S.length===w)return S;for(var O=1;O<=P.length-1;O++)if(S.push(P[O]),S.length===w)return S;_=b=x}}return S.push(p.slice(b)),S}]}))},KroJ:function(t,e,n){var r=n("dyZX"),o=n("Mukb"),i=n("aagx"),a=n("ylqs")("src"),c=n("+lvF"),u=(""+c).split("toString");n("g3g5").inspectSource=function(t){return c.call(t)},(t.exports=function(t,e,n,c){var s="function"==typeof n;s&&(i(n,"name")||o(n,"name",e)),t[e]!==n&&(s&&(i(n,a)||o(n,a,t[e]?""+t[e]:u.join(String(e)))),t===r?t[e]=n:c?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,"toString",(function(){return"function"==typeof this&&this[a]||c.call(this)}))},Kuth:function(t,e,n){var r=n("y3w9"),o=n("FJW5"),i=n("4R4u"),a=n("YTvA")("IE_PROTO"),c=function(){},u=function(){var t,e=n("Iw71")("iframe"),r=i.length;for(e.style.display="none",n("+rLv").appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),u=t.F;r--;)delete u.prototype[i[r]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(c.prototype=r(t),n=new c,c.prototype=null,n[a]=t):n=u(),void 0===e?n:o(n,e)}},L9s1:function(t,e,n){"use strict";var r=n("XKFU"),o=n("0sh+");r(r.P+r.F*n("UUeW")("includes"),"String",{includes:function(t){return!!~o(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},LHMV:function(t,e,n){"use strict";n("LK8F"),n("rGqo"),n("yt8O"),n("RW0V"),n("8+KV"),n("VRzm"),n("Btvt"),e.__esModule=!0,e.default=void 0;var r=s(n("c0Fl")),o=s(n("raBC")),i=s(n("+i7v")),a=s(n("ZfQF")),c=s(n("q5+k")),u=(s(n("QLaP")),n("OysZ"));function s(t){return t&&t.__esModule?t:{default:t}}var l=2,f=function(){function t(t){var e=this,n=t.addTransitionHook,r=t.stateStorage,s=t.getCurrentLocation,f=t.shouldUpdateScroll;if(this._restoreScrollRestoration=function(){if(e._oldScrollRestoration)try{window.history.scrollRestoration=e._oldScrollRestoration}catch(t){}},this._onWindowScroll=function(){if(!e._ignoreScrollEvents&&(e._saveWindowPositionHandle||(e._saveWindowPositionHandle=(0,c.default)(e._saveWindowPosition)),e._windowScrollTarget)){var t=e._windowScrollTarget,n=t[0],r=t[1],o=(0,i.default)(window),u=(0,a.default)(window);o===n&&u===r&&(e._windowScrollTarget=null,e._cancelCheckWindowScroll())}},this._saveWindowPosition=function(){e._saveWindowPositionHandle=null,e._savePosition(null,window)},this._checkWindowScrollPosition=function(){return e._checkWindowScrollHandle=null,e._windowScrollTarget?(e.scrollToTarget(window,e._windowScrollTarget),++e._numWindowScrollAttempts,e._numWindowScrollAttempts>=l?(e._windowScrollTarget=null,Promise.resolve()):new Promise((function(t){e._checkWindowScrollHandle=(0,c.default)((function(){return t(e._checkWindowScrollPosition())}))}))):Promise.resolve()},this._stateStorage=r,this._getCurrentLocation=s,this._shouldUpdateScroll=f,"scrollRestoration"in window.history&&!(0,u.isMobileSafari)()){this._oldScrollRestoration=window.history.scrollRestoration;try{window.history.scrollRestoration="manual",(0,o.default)(window,"beforeunload",this._restoreScrollRestoration)}catch(p){this._oldScrollRestoration=null}}else this._oldScrollRestoration=null;this._saveWindowPositionHandle=null,this._checkWindowScrollHandle=null,this._windowScrollTarget=null,this._numWindowScrollAttempts=0,this._ignoreScrollEvents=!1,this._scrollElements={},(0,o.default)(window,"scroll",this._onWindowScroll),this._removeTransitionHook=n((function(){c.default.cancel(e._saveWindowPositionHandle),e._saveWindowPositionHandle=null,Object.keys(e._scrollElements).forEach((function(t){var n=e._scrollElements[t];c.default.cancel(n.savePositionHandle),n.savePositionHandle=null,e._ignoreScrollEvents||e._saveElementPosition(t)}))}))}var e=t.prototype;return e.registerElement=function(t,e,n,r){var i=this;this._scrollElements[t]&&invariant(!1);var a=function(){i._saveElementPosition(t)},u={element:e,shouldUpdateScroll:n,savePositionHandle:null,onScroll:function(){u.savePositionHandle||i._ignoreScrollEvents||(u.savePositionHandle=(0,c.default)(a))}};u.savePositionHandle||this._ignoreScrollEvents||(u.savePositionHandle=(0,c.default)(a)),this._scrollElements[t]=u,(0,o.default)(e,"scroll",u.onScroll),this._updateElementScroll(t,null,r)},e.unregisterElement=function(t){this._scrollElements[t]||invariant(!1);var e=this._scrollElements[t],n=e.element,o=e.onScroll,i=e.savePositionHandle;(0,r.default)(n,"scroll",o),c.default.cancel(i),delete this._scrollElements[t]},e.updateScroll=function(t,e){var n=this;this._updateWindowScroll(t,e).then((function(){n._saveWindowPositionHandle||(n._saveWindowPositionHandle=(0,c.default)(n._saveWindowPosition))})),Object.keys(this._scrollElements).forEach((function(r){n._updateElementScroll(r,t,e)}))},e.stop=function(){this._restoreScrollRestoration(),(0,r.default)(window,"scroll",this._onWindowScroll),this._cancelCheckWindowScroll(),this._removeTransitionHook()},e.startIgnoringScrollEvents=function(){this._ignoreScrollEvents=!0},e.stopIgnoringScrollEvents=function(){this._ignoreScrollEvents=!1},e._cancelCheckWindowScroll=function(){c.default.cancel(this._checkWindowScrollHandle),this._checkWindowScrollHandle=null},e._saveElementPosition=function(t){var e=this._scrollElements[t];e.savePositionHandle=null,this._savePosition(t,e.element)},e._savePosition=function(t,e){this._stateStorage.save(this._getCurrentLocation(),t,[(0,i.default)(e),(0,a.default)(e)])},e._updateWindowScroll=function(t,e){return this._cancelCheckWindowScroll(),this._windowScrollTarget=this._getScrollTarget(null,this._shouldUpdateScroll,t,e),this._numWindowScrollAttempts=0,this._checkWindowScrollPosition()},e._updateElementScroll=function(t,e,n){var r=this._scrollElements[t],o=r.element,i=r.shouldUpdateScroll,a=this._getScrollTarget(t,i,e,n);a&&this.scrollToTarget(o,a)},e._getDefaultScrollTarget=function(t){var e=t.hash;return e&&"#"!==e?"#"===e.charAt(0)?e.slice(1):e:[0,0]},e._getScrollTarget=function(t,e,n,r){var o=!e||e.call(this,n,r);if(!o||Array.isArray(o)||"string"==typeof o)return o;var i=this._getCurrentLocation();return this._getSavedScrollTarget(t,i)||this._getDefaultScrollTarget(i)},e._getSavedScrollTarget=function(t,e){return"PUSH"===e.action?null:this._stateStorage.read(e,t)},e.scrollToTarget=function(t,e){if("string"==typeof e){var n=document.getElementById(e)||document.getElementsByName(e)[0];if(n)return void n.scrollIntoView();e=[0,0]}var r=e,o=r[0],c=r[1];(0,i.default)(t,o),(0,a.default)(t,c)},t}();e.default=f,t.exports=e.default},LK8F:function(t,e,n){var r=n("XKFU");r(r.S,"Array",{isArray:n("EWmC")})},LQAc:function(t,e){t.exports=!1},LYrO:function(t,e,n){"use strict";n.d(e,"e",(function(){return i})),n.d(e,"c",(function(){return a})),n.d(e,"b",(function(){return c})),n.d(e,"d",(function(){return u})),n.d(e,"a",(function(){return s})),n.d(e,"f",(function(){return l}));n("pIFo"),n("DNiP"),n("0l/t"),n("Vd3H"),n("V+eJ"),n("bWfx"),n("KKXr");var r=n("QLaP"),o=n.n(r),i=function(t,e){return t.substr(0,e.length)===e},a=function(t,e){for(var n=void 0,r=void 0,i=e.split("?")[0],a=v(i),c=""===a[0],u=h(t),s=0,l=u.length;s<l;s++){var p=!1,d=u[s].route;if(d.default)r={route:d,params:{},uri:e};else{for(var g=v(d.path),y={},w=Math.max(a.length,g.length),b=0;b<w;b++){var _=g[b],S=a[b];if("*"===_){y["*"]=a.slice(b).map(decodeURIComponent).join("/");break}if(void 0===S){p=!0;break}var x=f.exec(_);if(x&&!c){-1===m.indexOf(x[1])||o()(!1);var P=decodeURIComponent(S);y[x[1]]=P}else if(_!==S){p=!0;break}}if(!p){n={route:d,params:y,uri:"/"+a.slice(0,b).join("/")};break}}}return n||r||null},c=function(t,e){return a([{path:t}],e)},u=function(t,e){if(i(t,"/"))return t;var n=t.split("?"),r=n[0],o=n[1],a=e.split("?")[0],c=v(r),u=v(a);if(""===c[0])return g(a,o);if(!i(c[0],".")){var s=u.concat(c).join("/");return g(("/"===a?"":"/")+s,o)}for(var l=u.concat(c),f=[],p=0,d=l.length;p<d;p++){var h=l[p];".."===h?f.pop():"."!==h&&f.push(h)}return g("/"+f.join("/"),o)},s=function(t,e){return"/"+v(t).map((function(t){var n=f.exec(t);return n?e[n[1]]:t})).join("/")},l=function(t,e){var n=function(t){return p(t)};return v(t).filter(n).sort().join("/")===v(e).filter(n).sort().join("/")},f=/^:(.+)/,p=function(t){return f.test(t)},d=function(t,e){return{route:t,score:t.default?0:v(t.path).reduce((function(t,e){return t+=4,!function(t){return""===t}(e)?p(e)?t+=2:!function(t){return"*"===t}(e)?t+=3:t-=5:t+=1,t}),0),index:e}},h=function(t){return t.map(d).sort((function(t,e){return t.score<e.score?1:t.score>e.score?-1:t.index-e.index}))},v=function(t){return t.replace(/(^\/+|\/+$)/g,"").split("/")},g=function(t,e){return t+(e?"?"+e:"")},m=["uri","path"]},LZWt:function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},LeKB:function(t,e,n){t.exports=[{plugin:n("hUyl"),options:{plugins:[]}},{plugin:n("q9nr"),options:{plugins:[],maxWidth:590,backgroundColor:"transparent"}}]},LyE8:function(t,e,n){"use strict";var r=n("eeVq");t.exports=function(t,e){return!!t&&r((function(){e?t.call(null,(function(){}),1):t.call(null)}))}},M6Qj:function(t,e,n){var r=n("hPIQ"),o=n("K0xU")("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},MMVs:function(t,e,n){n("V+eJ"),t.exports=function(){var t=!1;-1!==navigator.appVersion.indexOf("MSIE 10")&&(t=!0);var e,n=[],r="object"==typeof document&&document,o=t?r.documentElement.doScroll():r.documentElement.doScroll,i=r&&(o?/^loaded|^c/:/^loaded|^i|^c/).test(r.readyState);return!i&&r&&r.addEventListener("DOMContentLoaded",e=function(){for(r.removeEventListener("DOMContentLoaded",e),i=1;e=n.shift();)e()}),function(t){i?setTimeout(t,0):n.push(t)}}()},MfQN:function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},MgzW:function(t,e,n){"use strict";n("rGqo"),n("yt8O"),n("Btvt"),n("RW0V"),n("KKXr"),n("8+KV"),n("bWfx"),n("91GP"),n("ioFf");var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;function a(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(t){r[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(o){return!1}}()?Object.assign:function(t,e){for(var n,c,u=a(t),s=1;s<arguments.length;s++){for(var l in n=Object(arguments[s]))o.call(n,l)&&(u[l]=n[l]);if(r){c=r(n);for(var f=0;f<c.length;f++)i.call(n,c[f])&&(u[c[f]]=n[c[f]])}}return u}},Mukb:function(t,e,n){var r=n("hswa"),o=n("RjD/");t.exports=n("nh4g")?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},N8g3:function(t,e,n){e.f=n("K0xU")},NSX3:function(t,e,n){"use strict";n.r(e);var r=n("xtsi");"https:"!==window.location.protocol&&"localhost"!==window.location.hostname?console.error("Service workers can only be used over HTTPS, or on localhost for development"):"serviceWorker"in navigator&&navigator.serviceWorker.register("/jkube/sw.js").then((function(t){t.addEventListener("updatefound",(function(){Object(r.apiRunner)("onServiceWorkerUpdateFound",{serviceWorker:t});var e=t.installing;console.log("installingWorker",e),e.addEventListener("statechange",(function(){switch(e.state){case"installed":navigator.serviceWorker.controller?(window.___swUpdated=!0,Object(r.apiRunner)("onServiceWorkerUpdateReady",{serviceWorker:t}),window.___failedResources&&(console.log("resources failed, SW updated - reloading"),window.location.reload())):(console.log("Content is now available offline!"),Object(r.apiRunner)("onServiceWorkerInstalled",{serviceWorker:t}));break;case"redundant":console.error("The installing service worker became redundant."),Object(r.apiRunner)("onServiceWorkerRedundant",{serviceWorker:t});break;case"activated":Object(r.apiRunner)("onServiceWorkerActive",{serviceWorker:t})}}))}))})).catch((function(t){console.error("Error during service worker registration:",t)}))},OEbY:function(t,e,n){n("nh4g")&&"g"!=/./g.flags&&n("hswa").f(RegExp.prototype,"flags",{configurable:!0,get:n("C/va")})},OG14:function(t,e,n){"use strict";var r=n("y3w9"),o=n("g6HL"),i=n("Xxuz");n("IU+Z")("search",1,(function(t,e,n,a){return[function(n){var r=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=a(n,t,this);if(e.done)return e.value;var c=r(t),u=String(this),s=c.lastIndex;o(s,0)||(c.lastIndex=0);var l=i(c,u);return o(c.lastIndex,s)||(c.lastIndex=s),null===l?-1:l.index}]}))},OP3Y:function(t,e,n){var r=n("aagx"),o=n("S/j/"),i=n("YTvA")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},OnI7:function(t,e,n){var r=n("dyZX"),o=n("g3g5"),i=n("LQAc"),a=n("N8g3"),c=n("hswa").f;t.exports=function(t){var e=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||c(e,t,{value:a.f(t)})}},OysZ:function(t,e,n){"use strict";e.__esModule=!0,e.isMobileSafari=function(){return/iPad|iPhone|iPod/.test(window.navigator.platform)&&/^((?!CriOS).)*Safari/.test(window.navigator.userAgent)}},PJYZ:function(t,e){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}},QLaP:function(t,e,n){"use strict";n("f3/d"),n("pIFo");t.exports=function(t,e,n,r,o,i,a,c){if(!t){var u;if(void 0===e)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var s=[n,r,o,i,a,c],l=0;(u=new Error(e.replace(/%s/g,(function(){return s[l++]})))).name="Invariant Violation"}throw u.framesToPop=1,u}}},QaDb:function(t,e,n){"use strict";var r=n("Kuth"),o=n("RjD/"),i=n("fyDq"),a={};n("Mukb")(a,n("K0xU")("iterator"),(function(){return this})),t.exports=function(t,e,n){t.prototype=r(a,{next:o(1,n)}),i(t,e+" Iterator")}},RW0V:function(t,e,n){var r=n("S/j/"),o=n("DVgA");n("Xtr8")("keys",(function(){return function(t){return o(r(t))}}))},RYi7:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},"RjD/":function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"S/j/":function(t,e,n){var r=n("vhPU");t.exports=function(t){return Object(r(t))}},SRfc:function(t,e,n){"use strict";var r=n("y3w9"),o=n("ne8i"),i=n("A5AN"),a=n("Xxuz");n("IU+Z")("match",1,(function(t,e,n,c){return[function(n){var r=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=c(n,t,this);if(e.done)return e.value;var u=r(t),s=String(this);if(!u.global)return a(u,s);var l=u.unicode;u.lastIndex=0;for(var f,p=[],d=0;null!==(f=a(u,s));){var h=String(f[0]);p[d]=h,""===h&&(u.lastIndex=i(s,o(u.lastIndex),l)),d++}return 0===d?null:p}]}))},SlkY:function(t,e,n){var r=n("m0Pp"),o=n("H6hf"),i=n("M6Qj"),a=n("y3w9"),c=n("ne8i"),u=n("J+6e"),s={},l={};(e=t.exports=function(t,e,n,f,p){var d,h,v,g,m=p?function(){return t}:u(t),y=r(n,f,e?2:1),w=0;if("function"!=typeof m)throw TypeError(t+" is not iterable!");if(i(m)){for(d=c(t.length);d>w;w++)if((g=e?y(a(h=t[w])[0],h[1]):y(t[w]))===s||g===l)return g}else for(v=m.call(t);!(h=v.next()).done;)if((g=o(v,y,h.value,e))===s||g===l)return g}).BREAK=s,e.RETURN=l},T39b:function(t,e,n){"use strict";var r=n("wmvG"),o=n("s5qY");t.exports=n("4LiD")("Set",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(t){return r.def(o(this,"Set"),t=0===t?0:t,t)}},r)},TqRt:function(t,e){t.exports=function(t){return t&&t.__esModule?t:{default:t}}},Tze0:function(t,e,n){"use strict";n("qncB")("trim",(function(t){return function(){return t(this,3)}}))},UUeW:function(t,e,n){var r=n("K0xU")("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(o){}}return!0}},Ugos:function(t,e,n){"use strict";var r,o,i=n("C/va"),a=RegExp.prototype.exec,c=String.prototype.replace,u=a,s=(r=/a/,o=/b*/g,a.call(r,"a"),a.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),l=void 0!==/()??/.exec("")[1];(s||l)&&(u=function(t){var e,n,r,o,u=this;return l&&(n=new RegExp("^"+u.source+"$(?!\\s)",i.call(u))),s&&(e=u.lastIndex),r=a.call(u,t),s&&r&&(u.lastIndex=u.global?r.index+r[0].length:e),l&&r&&r.length>1&&c.call(r[0],n,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r}),t.exports=u},UqcF:function(t,e){e.f={}.propertyIsEnumerable},UxWs:function(t,e,n){"use strict";n.r(e);n("OG14"),n("SRfc"),n("91GP");var r=n("xtsi"),o=n("q1tI"),i=n.n(o),a=n("i8i4"),c=n.n(a),u=n("YwZP"),s=n("7hJ6"),l=n("MMVs"),f=n.n(l),p=(n("pIFo"),n("emEt")),d=n("YLt+"),h=n("5yr3"),v=n("+ZDr");var g=d.reduce((function(t,e){return t[e.fromPath]=e,t}),{});function m(t){var e=g[t];return null!=e&&(window.___replace(e.toPath),!0)}var y=function(t,e){m(t.pathname)||Object(r.apiRunner)("onPreRouteUpdate",{location:t,prevLocation:e})},w=function(t,e){m(t.pathname)||(Object(r.apiRunner)("onRouteUpdate",{location:t,prevLocation:e}),window.__navigatingToLink=!1)},b=function(t,e){void 0===e&&(e={}),e.replace||(window.__navigatingToLink=!0);var n=Object(v.parsePath)(t).pathname,o=g[n];if(o&&(t=o.toPath,n=Object(v.parsePath)(t).pathname),window.___swUpdated)window.location=n;else{var i=setTimeout((function(){h.a.emit("onDelayedLoadPageResources",{pathname:n}),Object(r.apiRunner)("onRouteUpdateDelayed",{location:window.location})}),1e3);p.default.loadPage(n).then((function(r){r&&"error"!==r.status||(window.history.replaceState({},"",location.href),window.location=n),r&&r.page.webpackCompilationHash!==window.___webpackCompilationHash&&("serviceWorker"in navigator&&null!==navigator.serviceWorker.controller&&"activated"===navigator.serviceWorker.controller.state&&navigator.serviceWorker.controller.postMessage({gatsbyApi:"clearPathResources"}),console.log("Site has changed on server. Reloading browser"),window.location=n),Object(u.navigate)(t,e),clearTimeout(i)}))}};function _(t,e){var n=this,o=e.location,i=o.pathname,a=o.hash,c=Object(r.apiRunner)("shouldUpdateScroll",{prevRouterProps:t,pathname:i,routerProps:{location:o},getSavedScrollPosition:function(t){return n._stateStorage.read(t)}});if(c.length>0)return c[c.length-1];if(t&&t.location.pathname===i)return a?decodeURI(a.slice(1)):[0,0];return!0}var S=function(t){var e,n;function r(e){var n;return n=t.call(this,e)||this,y(e.location,null),n}n=t,(e=r).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var o=r.prototype;return o.componentDidMount=function(){w(this.props.location,null)},o.componentDidUpdate=function(t,e,n){n&&w(this.props.location,t.location)},o.getSnapshotBeforeUpdate=function(t){return this.props.location.pathname!==t.location.pathname&&(y(this.props.location,t.location),!0)},o.render=function(){return this.props.children},r}(i.a.Component),x=n("IOVJ"),P=n("pCP8"),O=n.n(P);function E(t,e){for(var n in t)if(!(n in e))return!0;for(var r in e)if(t[r]!==e[r])return!0;return!1}var R=function(t){var e,n;function r(e){var n;n=t.call(this)||this;var r=e.location,o=e.pageResources;return n.state={location:Object.assign({},r),pageResources:o||p.default.loadPageSync(r.pathname)},n}n=t,(e=r).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,r.getDerivedStateFromProps=function(t,e){var n=t.location;return e.location.href!==n.href?{pageResources:p.default.loadPageSync(n.pathname),location:Object.assign({},n)}:{location:Object.assign({},n)}};var o=r.prototype;return o.loadResources=function(t){var e=this;p.default.loadPage(t).then((function(n){n&&"error"!==n.status?e.setState({location:Object.assign({},window.location),pageResources:n}):(window.history.replaceState({},"",location.href),window.location=t)}))},o.shouldComponentUpdate=function(t,e){return e.pageResources?this.state.pageResources!==e.pageResources||(this.state.pageResources.component!==e.pageResources.component||(this.state.pageResources.json!==e.pageResources.json||(!(this.state.location.key===e.location.key||!e.pageResources.page||!e.pageResources.page.matchPath&&!e.pageResources.page.path)||function(t,e,n){return E(t.props,e)||E(t.state,n)}(this,t,e)))):(this.loadResources(t.location.pathname),!1)},o.render=function(){return this.props.children(this.state)},r}(i.a.Component),j=n("cSJ8"),k=n("vf9c");var T=new p.ProdLoader(O.a,k);Object(p.setLoader)(T),T.setApiRunner(r.apiRunner),window.asyncRequires=O.a,window.___emitter=h.a,window.___loader=p.publicLoader,window.__navigatingToLink=!1,window.___push=function(t){return b(t,{replace:!1})},window.___replace=function(t){return b(t,{replace:!0})},window.___navigate=function(t,e){return b(t,e)},m(window.location.pathname),Object(r.apiRunnerAsync)("onClientEntry").then((function(){Object(r.apiRunner)("registerServiceWorker").length>0&&n("NSX3");var t=function(t){return i.a.createElement(u.BaseContext.Provider,{value:{baseuri:"/",basepath:"/"}},i.a.createElement(x.a,t))},e=function(e){var n,r;function o(){return e.apply(this,arguments)||this}return r=e,(n=o).prototype=Object.create(r.prototype),n.prototype.constructor=n,n.__proto__=r,o.prototype.render=function(){var e=this,n=this.props.location;return i.a.createElement(R,{location:n},(function(n){var r=n.pageResources,o=n.location;return i.a.createElement(S,{location:o},i.a.createElement(s.ScrollContext,{location:o,shouldUpdateScroll:_},i.a.createElement(u.Router,{basepath:"/jkube",location:o,id:"gatsby-focus-wrapper"},i.a.createElement(t,Object.assign({path:"/404.html"===r.page.path?Object(j.a)(o.pathname,"/jkube"):encodeURI(r.page.matchPath||r.page.path)},e.props,{location:o,pageResources:r},r.json)))))}))},o}(i.a.Component),o=window,a=o.pagePath,l=o.location;a&&"/jkube"+a!==l.pathname&&!(T.findMatchPath(Object(j.a)(l.pathname,"/jkube"))||"/404.html"===a||a.match(/^\/404\/?$/)||a.match(/^\/offline-plugin-app-shell-fallback\/?$/))&&Object(u.navigate)("/jkube"+a+l.search+l.hash,{replace:!0}),p.publicLoader.loadPage(l.pathname).then((function(t){if(!t||"error"===t.status)throw new Error("page resources for "+l.pathname+" not found. Not rendering React");window.___webpackCompilationHash=t.page.webpackCompilationHash;var n=function(){return i.a.createElement(u.Location,null,(function(t){return i.a.createElement(e,t)}))},o=Object(r.apiRunner)("wrapRootElement",{element:i.a.createElement(n,null)},i.a.createElement(n,null),(function(t){return{element:t.result}})).pop(),a=function(){return o},s=Object(r.apiRunner)("replaceHydrateFunction",void 0,c.a.hydrate)[0];f()((function(){s(i.a.createElement(a,null),"undefined"!=typeof window?document.getElementById("___gatsby"):void 0,(function(){Object(r.apiRunner)("onInitialClientRender")}))}))}))}))},"V+eJ":function(t,e,n){"use strict";var r=n("XKFU"),o=n("w2a5")(!1),i=[].indexOf,a=!!i&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(a||!n("LyE8")(i)),"Array",{indexOf:function(t){return a?i.apply(this,arguments)||0:o(this,t,arguments[1])}})},VRzm:function(t,e,n){"use strict";var r,o,i,a,c=n("LQAc"),u=n("dyZX"),s=n("m0Pp"),l=n("I8a+"),f=n("XKFU"),p=n("0/R4"),d=n("2OiF"),h=n("9gX7"),v=n("SlkY"),g=n("69bn"),m=n("GZEu").set,y=n("gHnn")(),w=n("pbhE"),b=n("nICZ"),_=n("ol8x"),S=n("vKrd"),x=u.TypeError,P=u.process,O=P&&P.versions,E=O&&O.v8||"",R=u.Promise,j="process"==l(P),k=function(){},T=o=w.f,C=!!function(){try{var t=R.resolve(1),e=(t.constructor={})[n("K0xU")("species")]=function(t){t(k,k)};return(j||"function"==typeof PromiseRejectionEvent)&&t.then(k)instanceof e&&0!==E.indexOf("6.6")&&-1===_.indexOf("Chrome/66")}catch(r){}}(),F=function(t){var e;return!(!p(t)||"function"!=typeof(e=t.then))&&e},L=function(t,e){if(!t._n){t._n=!0;var n=t._c;y((function(){for(var r=t._v,o=1==t._s,i=0,a=function(e){var n,i,a,c=o?e.ok:e.fail,u=e.resolve,s=e.reject,l=e.domain;try{c?(o||(2==t._h&&M(t),t._h=1),!0===c?n=r:(l&&l.enter(),n=c(r),l&&(l.exit(),a=!0)),n===e.promise?s(x("Promise-chain cycle")):(i=F(n))?i.call(n,u,s):u(n)):s(r)}catch(f){l&&!a&&l.exit(),s(f)}};n.length>i;)a(n[i++]);t._c=[],t._n=!1,e&&!t._h&&A(t)}))}},A=function(t){m.call(u,(function(){var e,n,r,o=t._v,i=U(t);if(i&&(e=b((function(){j?P.emit("unhandledRejection",o,t):(n=u.onunhandledrejection)?n({promise:t,reason:o}):(r=u.console)&&r.error&&r.error("Unhandled promise rejection",o)})),t._h=j||U(t)?2:1),t._a=void 0,i&&e.e)throw e.v}))},U=function(t){return 1!==t._h&&0===(t._a||t._c).length},M=function(t){m.call(u,(function(){var e;j?P.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()),L(e,!0))},I=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw x("Promise can't be resolved itself");(e=F(t))?y((function(){var r={_w:n,_d:!1};try{e.call(t,s(I,r,1),s(D,r,1))}catch(o){D.call(r,o)}})):(n._v=t,n._s=1,L(n,!1))}catch(r){D.call({_w:n,_d:!1},r)}}};C||(R=function(t){h(this,R,"Promise","_h"),d(t),r.call(this);try{t(s(I,this,1),s(D,this,1))}catch(e){D.call(this,e)}},(r=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=n("3Lyj")(R.prototype,{then:function(t,e){var n=T(g(this,R));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=j?P.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&L(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r;this.promise=t,this.resolve=s(I,t,1),this.reject=s(D,t,1)},w.f=T=function(t){return t===R||t===a?new i(t):o(t)}),f(f.G+f.W+f.F*!C,{Promise:R}),n("fyDq")(R,"Promise"),n("elZq")("Promise"),a=n("g3g5").Promise,f(f.S+f.F*!C,"Promise",{reject:function(t){var e=T(this);return(0,e.reject)(t),e.promise}}),f(f.S+f.F*(c||!C),"Promise",{resolve:function(t){return S(c&&this===a?R:this,t)}}),f(f.S+f.F*!(C&&n("XMVh")((function(t){R.all(t).catch(k)}))),"Promise",{all:function(t){var e=this,n=T(e),r=n.resolve,o=n.reject,i=b((function(){var n=[],i=0,a=1;v(t,!1,(function(t){var c=i++,u=!1;n.push(void 0),a++,e.resolve(t).then((function(t){u||(u=!0,n[c]=t,--a||r(n))}),o)})),--a||r(n)}));return i.e&&o(i.v),n.promise},race:function(t){var e=this,n=T(e),r=n.reject,o=b((function(){v(t,!1,(function(t){e.resolve(t).then(n.resolve,r)}))}));return o.e&&r(o.v),n.promise}})},VTer:function(t,e,n){var r=n("g3g5"),o=n("dyZX"),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n("LQAc")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},VbXa:function(t,e){t.exports=function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}},Vd3H:function(t,e,n){"use strict";var r=n("XKFU"),o=n("2OiF"),i=n("S/j/"),a=n("eeVq"),c=[].sort,u=[1,2,3];r(r.P+r.F*(a((function(){u.sort(void 0)}))||!a((function(){u.sort(null)}))||!n("LyE8")(c)),"Array",{sort:function(t){return void 0===t?c.call(i(this)):c.call(i(this),o(t))}})},WbBG:function(t,e,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},XKFU:function(t,e,n){var r=n("dyZX"),o=n("g3g5"),i=n("Mukb"),a=n("KroJ"),c=n("m0Pp"),u=function(t,e,n){var s,l,f,p,d=t&u.F,h=t&u.G,v=t&u.S,g=t&u.P,m=t&u.B,y=h?r:v?r[e]||(r[e]={}):(r[e]||{}).prototype,w=h?o:o[e]||(o[e]={}),b=w.prototype||(w.prototype={});for(s in h&&(n=e),n)f=((l=!d&&y&&void 0!==y[s])?y:n)[s],p=m&&l?c(f,r):g&&"function"==typeof f?c(Function.call,f):f,y&&a(y,s,f,t&u.U),w[s]!=f&&i(w,s,p),g&&b[s]!=f&&(b[s]=f)};r.core=o,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},XMVh:function(t,e,n){var r=n("K0xU")("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,(function(){throw 2}))}catch(a){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],c=i[r]();c.next=function(){return{done:n=!0}},i[r]=function(){return c},t(i)}catch(a){}return n}},Xbzi:function(t,e,n){var r=n("0/R4"),o=n("i5dc").set;t.exports=function(t,e,n){var i,a=e.constructor;return a!==n&&"function"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(t,i),t}},XfO3:function(t,e,n){"use strict";var r=n("AvRE")(!0);n("Afnz")(String,"String",(function(t){this._t=String(t),this._i=0}),(function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})}))},Xtr8:function(t,e,n){var r=n("XKFU"),o=n("g3g5"),i=n("eeVq");t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*i((function(){n(1)})),"Object",a)}},Xxuz:function(t,e,n){"use strict";var r=n("I8a+"),o=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"==typeof n){var i=n.call(t,e);if("object"!=typeof i)throw new TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return o.call(t,e)}},"YLt+":function(t){t.exports=JSON.parse("[]")},YTvA:function(t,e,n){var r=n("VTer")("keys"),o=n("ylqs");t.exports=function(t){return r[t]||(r[t]=o(t))}},Ymqv:function(t,e,n){var r=n("LZWt");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},YwZP:function(t,e,n){"use strict";n.r(e);n("pIFo"),n("bWfx"),n("VRzm"),n("Btvt"),n("/SS/"),n("hHhE"),n("V+eJ"),n("91GP");var r=n("q1tI"),o=n.n(r),i=(n("6DQo"),n("17x9"),n("QLaP")),a=n.n(i),c=o.a.createContext,u=n("94VI"),s=n("LYrO"),l=n("9Xx/");n.d(e,"Link",(function(){return C})),n.d(e,"Location",(function(){return y})),n.d(e,"LocationProvider",(function(){return w})),n.d(e,"Match",(function(){return D})),n.d(e,"Redirect",(function(){return M})),n.d(e,"Router",(function(){return S})),n.d(e,"ServerLocation",(function(){return b})),n.d(e,"isRedirect",(function(){return L})),n.d(e,"redirectTo",(function(){return A})),n.d(e,"BaseContext",(function(){return _})),n.d(e,"createHistory",(function(){return l.createHistory})),n.d(e,"createMemorySource",(function(){return l.createMemorySource})),n.d(e,"navigate",(function(){return l.navigate})),n.d(e,"globalHistory",(function(){return l.globalHistory}));var f=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t};function p(t,e){var n={};for(var r in t)e.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}function d(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function h(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 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)}var g=function(t,e){var n=c(e);return n.Consumer.displayName=t+".Consumer",n.Provider.displayName=t+".Provider",n},m=g("Location"),y=function(t){var e=t.children;return o.a.createElement(m.Consumer,null,(function(t){return t?e(t):o.a.createElement(w,null,e)}))},w=function(t){function e(){var n,r;d(this,e);for(var o=arguments.length,i=Array(o),a=0;a<o;a++)i[a]=arguments[a];return n=r=h(this,t.call.apply(t,[this].concat(i))),r.state={context:r.getContext(),refs:{unlisten:null}},h(r,n)}return v(e,t),e.prototype.getContext=function(){var t=this.props.history;return{navigate:t.navigate,location:t.location}},e.prototype.componentDidCatch=function(t,e){if(!L(t))throw t;(0,this.props.history.navigate)(t.uri,{replace:!0})},e.prototype.componentDidUpdate=function(t,e){e.context.location!==this.state.context.location&&this.props.history._onTransitionComplete()},e.prototype.componentDidMount=function(){var t=this,e=this.state.refs,n=this.props.history;e.unlisten=n.listen((function(){Promise.resolve().then((function(){requestAnimationFrame((function(){t.unmounted||t.setState((function(){return{context:t.getContext()}}))}))}))}))},e.prototype.componentWillUnmount=function(){var t=this.state.refs;this.unmounted=!0,t.unlisten()},e.prototype.render=function(){var t=this.state.context,e=this.props.children;return o.a.createElement(m.Provider,{value:t},"function"==typeof e?e(t):e||null)},e}(o.a.Component);w.defaultProps={history:l.globalHistory};var b=function(t){var e=t.url,n=t.children;return o.a.createElement(m.Provider,{value:{location:{pathname:e,search:"",hash:""},navigate:function(){throw new Error("You can't call navigate on the server.")}}},n)},_=g("Base",{baseuri:"/",basepath:"/"}),S=function(t){return o.a.createElement(_.Consumer,null,(function(e){return o.a.createElement(y,null,(function(n){return o.a.createElement(x,f({},e,n,t))}))}))},x=function(t){function e(){return d(this,e),h(this,t.apply(this,arguments))}return v(e,t),e.prototype.render=function(){var t=this.props,e=t.location,n=t.navigate,r=t.basepath,i=t.primary,a=t.children,c=(t.baseuri,t.component),u=void 0===c?"div":c,l=p(t,["location","navigate","basepath","primary","children","baseuri","component"]),d=o.a.Children.map(a,W(r)),h=e.pathname,v=Object(s.c)(d,h);if(v){var g=v.params,m=v.uri,y=v.route,w=v.route.value;r=y.default?r:y.path.replace(/\*$/,"");var b=f({},g,{uri:m,location:e,navigate:function(t,e){return n(Object(s.d)(t,m),e)}}),x=o.a.cloneElement(w,b,w.props.children?o.a.createElement(S,{primary:i},w.props.children):void 0),P=i?O:u,E=i?f({uri:m,location:e,component:u},l):l;return o.a.createElement(_.Provider,{value:{baseuri:m,basepath:r}},o.a.createElement(P,E,x))}return null},e}(o.a.PureComponent);x.defaultProps={primary:!0};var P=g("Focus"),O=function(t){var e=t.uri,n=t.location,r=t.component,i=p(t,["uri","location","component"]);return o.a.createElement(P.Consumer,null,(function(t){return o.a.createElement(j,f({},i,{component:r,requestFocus:t,uri:e,location:n}))}))},E=!0,R=0,j=function(t){function e(){var n,r;d(this,e);for(var o=arguments.length,i=Array(o),a=0;a<o;a++)i[a]=arguments[a];return n=r=h(this,t.call.apply(t,[this].concat(i))),r.state={},r.requestFocus=function(t){r.state.shouldFocus||t.focus()},h(r,n)}return v(e,t),e.getDerivedStateFromProps=function(t,e){if(null==e.uri)return f({shouldFocus:!0},t);var n=t.uri!==e.uri,r=e.location.pathname!==t.location.pathname&&t.location.pathname===t.uri;return f({shouldFocus:n||r},t)},e.prototype.componentDidMount=function(){R++,this.focus()},e.prototype.componentWillUnmount=function(){0===--R&&(E=!0)},e.prototype.componentDidUpdate=function(t,e){t.location!==this.props.location&&this.state.shouldFocus&&this.focus()},e.prototype.focus=function(){var t=this.props.requestFocus;t?t(this.node):E?E=!1:this.node.contains(document.activeElement)||this.node.focus()},e.prototype.render=function(){var t=this,e=this.props,n=(e.children,e.style),r=(e.requestFocus,e.role),i=void 0===r?"group":r,a=e.component,c=void 0===a?"div":a,u=(e.uri,e.location,p(e,["children","style","requestFocus","role","component","uri","location"]));return o.a.createElement(c,f({style:f({outline:"none"},n),tabIndex:"-1",role:i,ref:function(e){return t.node=e}},u),o.a.createElement(P.Provider,{value:this.requestFocus},this.props.children))},e}(o.a.Component);Object(u.polyfill)(j);var k=function(){},T=o.a.forwardRef;void 0===T&&(T=function(t){return t});var C=T((function(t,e){var n=t.innerRef,r=p(t,["innerRef"]);return o.a.createElement(_.Consumer,null,(function(t){t.basepath;var i=t.baseuri;return o.a.createElement(y,null,(function(t){var a=t.location,c=t.navigate,u=r.to,l=r.state,d=r.replace,h=r.getProps,v=void 0===h?k:h,g=p(r,["to","state","replace","getProps"]),m=Object(s.d)(u,i),y=a.pathname===m,w=Object(s.e)(a.pathname,m);return o.a.createElement("a",f({ref:e||n,"aria-current":y?"page":void 0},g,v({isCurrent:y,isPartiallyCurrent:w,href:m,location:a}),{href:m,onClick:function(t){g.onClick&&g.onClick(t),K(t)&&(t.preventDefault(),c(m,{state:l,replace:d}))}}))}))}))}));function F(t){this.uri=t}var L=function(t){return t instanceof F},A=function(t){throw new F(t)},U=function(t){function e(){return d(this,e),h(this,t.apply(this,arguments))}return v(e,t),e.prototype.componentDidMount=function(){var t=this.props,e=t.navigate,n=t.to,r=(t.from,t.replace),o=void 0===r||r,i=t.state,a=(t.noThrow,p(t,["navigate","to","from","replace","state","noThrow"]));Promise.resolve().then((function(){e(Object(s.a)(n,a),{replace:o,state:i})}))},e.prototype.render=function(){var t=this.props,e=(t.navigate,t.to),n=(t.from,t.replace,t.state,t.noThrow),r=p(t,["navigate","to","from","replace","state","noThrow"]);return n||A(Object(s.a)(e,r)),null},e}(o.a.Component),M=function(t){return o.a.createElement(y,null,(function(e){return o.a.createElement(U,f({},e,t))}))},D=function(t){var e=t.path,n=t.children;return o.a.createElement(_.Consumer,null,(function(t){var r=t.baseuri;return o.a.createElement(y,null,(function(t){var o=t.navigate,i=t.location,a=Object(s.d)(e,r),c=Object(s.b)(a,i.pathname);return n({navigate:o,location:i,match:c?f({},c.params,{uri:c.uri,path:e}):null})}))}))},I=function(t){return t.replace(/(^\/+|\/+$)/g,"")},W=function(t){return function(e){if(!e)return null;if(e.props.path||e.props.default||e.type===M||a()(!1),e.type!==M||e.props.from&&e.props.to||a()(!1),e.type!==M||Object(s.f)(e.props.from,e.props.to)||a()(!1),e.props.default)return{value:e,default:!0};var n=e.type===M?e.props.from:e.props.path,r="/"===n?t:I(t)+"/"+I(n);return{value:e,default:e.props.default,path:e.props.children?I(r)+"/*":r}}},K=function(t){return!t.defaultPrevented&&0===t.button&&!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}},Z2Ku:function(t,e,n){"use strict";var r=n("XKFU"),o=n("w2a5")(!0);r(r.P,"Array",{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n("nGyu")("includes")},Z6vF:function(t,e,n){var r=n("ylqs")("meta"),o=n("0/R4"),i=n("aagx"),a=n("hswa").f,c=0,u=Object.isExtensible||function(){return!0},s=!n("eeVq")((function(){return u(Object.preventExtensions({}))})),l=function(t){a(t,r,{value:{i:"O"+ ++c,w:{}}})},f=t.exports={KEY:r,NEED:!1,fastKey:function(t,e){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!i(t,r)){if(!u(t))return"F";if(!e)return"E";l(t)}return t[r].i},getWeak:function(t,e){if(!i(t,r)){if(!u(t))return!0;if(!e)return!1;l(t)}return t[r].w},onFreeze:function(t){return s&&f.NEED&&u(t)&&!i(t,r)&&l(t),t}}},ZD67:function(t,e,n){"use strict";var r=n("3Lyj"),o=n("Z6vF").getWeak,i=n("y3w9"),a=n("0/R4"),c=n("9gX7"),u=n("SlkY"),s=n("CkkT"),l=n("aagx"),f=n("s5qY"),p=s(5),d=s(6),h=0,v=function(t){return t._l||(t._l=new g)},g=function(){this.a=[]},m=function(t,e){return p(t.a,(function(t){return t[0]===e}))};g.prototype={get:function(t){var e=m(this,t);if(e)return e[1]},has:function(t){return!!m(this,t)},set:function(t,e){var n=m(this,t);n?n[1]=e:this.a.push([t,e])},delete:function(t){var e=d(this.a,(function(e){return e[0]===t}));return~e&&this.a.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,i){var s=t((function(t,r){c(t,s,e,"_i"),t._t=e,t._i=h++,t._l=void 0,null!=r&&u(r,n,t[i],t)}));return r(s.prototype,{delete:function(t){if(!a(t))return!1;var n=o(t);return!0===n?v(f(this,e)).delete(t):n&&l(n,this._i)&&delete n[this._i]},has:function(t){if(!a(t))return!1;var n=o(t);return!0===n?v(f(this,e)).has(t):n&&l(n,this._i)}}),s},def:function(t,e,n){var r=o(i(e),!0);return!0===r?v(t).set(e,n):r[t._i]=n,t},ufstore:v}},ZfQF:function(t,e,n){"use strict";var r=n("TqRt");e.__esModule=!0,e.default=function(t,e){var n=(0,o.default)(t);if(void 0===e)return n?"pageYOffset"in n?n.pageYOffset:n.document.documentElement.scrollTop:t.scrollTop;n?n.scrollTo("pageXOffset"in n?n.pageXOffset:n.document.documentElement.scrollLeft,e):t.scrollTop=e};var o=r(n("8Y+z"));t.exports=e.default},a1Th:function(t,e,n){"use strict";n("OEbY");var r=n("y3w9"),o=n("C/va"),i=n("nh4g"),a=/./.toString,c=function(t){n("KroJ")(RegExp.prototype,"toString",t,!0)};n("eeVq")((function(){return"/a/b"!=a.call({source:"a",flags:"b"})}))?c((function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!i&&t instanceof RegExp?o.call(t):void 0)})):"toString"!=a.name&&c((function(){return a.call(this)}))},aCFj:function(t,e,n){var r=n("Ymqv"),o=n("vhPU");t.exports=function(t){return r(o(t))}},aagx:function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},apmT:function(t,e,n){var r=n("0/R4");t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},bWfx:function(t,e,n){"use strict";var r=n("XKFU"),o=n("CkkT")(1);r(r.P+r.F*!n("LyE8")([].map,!0),"Array",{map:function(t){return o(this,t,arguments[1])}})},c0Fl:function(t,e,n){"use strict";var r=n("TqRt");e.__esModule=!0,e.default=void 0;var o=function(){};r(n("Bp9Y")).default&&(o=document.addEventListener?function(t,e,n,r){return t.removeEventListener(e,n,r||!1)}:document.attachEvent?function(t,e,n){return t.detachEvent("on"+e,n)}:void 0);var i=o;e.default=i,t.exports=e.default},cSJ8:function(t,e,n){"use strict";e.a=function(t,e){return void 0===e&&(e=""),e?(e+="/",t.substr(0,e.length)===e?t.slice(e.length-1):t):t}},cu4x:function(t,e,n){"use strict";n("V+eJ"),e.__esModule=!0,e.parsePath=function(t){var e=t||"/",n="",r="",o=e.indexOf("#");-1!==o&&(r=e.substr(o),e=e.substr(0,o));var i=e.indexOf("?");-1!==i&&(n=e.substr(i),e=e.substr(0,i));return{pathname:e,search:"?"===n?"":n,hash:"#"===r?"":r}}},czNK:function(t,e,n){"use strict";var r=n("nh4g"),o=n("DVgA"),i=n("JiEa"),a=n("UqcF"),c=n("S/j/"),u=n("Ymqv"),s=Object.assign;t.exports=!s||n("eeVq")((function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach((function(t){e[t]=t})),7!=s({},t)[n]||Object.keys(s({},e)).join("")!=r}))?function(t,e){for(var n=c(t),s=arguments.length,l=1,f=i.f,p=a.f;s>l;)for(var d,h=u(arguments[l++]),v=f?o(h).concat(f(h)):o(h),g=v.length,m=0;g>m;)d=v[m++],r&&!p.call(h,d)||(n[d]=h[d]);return n}:s},"d/Gc":function(t,e,n){var r=n("RYi7"),o=Math.max,i=Math.min;t.exports=function(t,e){return(t=r(t))<0?o(t+e,0):i(t,e)}},"dZ+Y":function(t,e,n){"use strict";var r=n("XKFU"),o=n("CkkT")(3);r(r.P+r.F*!n("LyE8")([].some,!0),"Array",{some:function(t){return o(this,t,arguments[1])}})},dyZX:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},e7yV:function(t,e,n){var r=n("aCFj"),o=n("kJMx").f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?function(t){try{return o(t)}catch(e){return a.slice()}}(t):o(r(t))}},eM6i:function(t,e,n){var r=n("XKFU");r(r.S,"Date",{now:function(){return(new Date).getTime()}})},eeVq:function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},elZq:function(t,e,n){"use strict";var r=n("dyZX"),o=n("hswa"),i=n("nh4g"),a=n("K0xU")("species");t.exports=function(t){var e=r[t];i&&e&&!e[a]&&o.f(e,a,{configurable:!0,get:function(){return this}})}},emEt:function(t,e,n){"use strict";n.r(e);n("HEwt"),n("a1Th"),n("rE2o"),n("ioFf"),n("T39b"),n("rGqo"),n("yt8O"),n("XfO3"),n("9AAn"),n("Z2Ku"),n("L9s1"),n("91GP"),n("VRzm"),n("Btvt"),n("rvZc"),n("RW0V");var r=function(t){if("undefined"==typeof document)return!1;var e=document.createElement("link");try{if(e.relList&&"function"==typeof e.relList.supports)return e.relList.supports(t)}catch(n){return!1}return!1}("prefetch")?function(t,e){return new Promise((function(n,r){if("undefined"!=typeof document){var o=document.createElement("link");o.setAttribute("rel","prefetch"),o.setAttribute("href",t),Object.keys(e).forEach((function(t){o.setAttribute(t,e[t])})),o.onload=n,o.onerror=r,(document.getElementsByTagName("head")[0]||document.getElementsByName("script")[0].parentNode).appendChild(o)}else r()}))}:function(t){return new Promise((function(e,n){var r=new XMLHttpRequest;r.open("GET",t,!0),r.onload=function(){200===r.status?e():n()},r.send(null)}))},o={},i=function(t,e){return new Promise((function(n){o[t]?n():r(t,e).then((function(){n(),o[t]=!0})).catch((function(){}))}))},a=n("5yr3"),c=(n("KKXr"),n("LYrO")),u=n("cSJ8"),s=function(t){return void 0===t?t:"/"===t?"/":"/"===t.charAt(t.length-1)?t.slice(0,-1):t},l=new Map,f=[],p=function(t){var e=decodeURIComponent(t);return Object(u.a)(e,"/jkube").split("#")[0].split("?")[0]},d=function(t){f=t},h=function(t){var e=g(t),n=f,r=Array.isArray(n),o=0;for(n=r?n:n[Symbol.iterator]();;){var i;if(r){if(o>=n.length)break;i=n[o++]}else{if((o=n.next()).done)break;i=o.value}var a=i,u=a.matchPath,l=a.path;if(Object(c.b)(u,e))return s(l)}return null},v=function(t){var e=p(t);if(l.has(e))return l.get(e);var n=h(e);return n||(n=g(t)),l.set(e,n),n},g=function(t){var e=p(t);return"/index.html"===e&&(e="/"),e=s(e)};function m(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}n.d(e,"BaseLoader",(function(){return P})),n.d(e,"ProdLoader",(function(){return E})),n.d(e,"setLoader",(function(){return R})),n.d(e,"publicLoader",(function(){return j}));var y,w=function(t){return t&&t.default||t},b=function(t){var e;return"/jkube/page-data/"+("/"===t?"index":e=(e="/"===(e=t)[0]?e.slice(1):e).endsWith("/")?e.slice(0,-1):e)+"/page-data.json"},_=function(t,e){return void 0===e&&(e="GET"),new Promise((function(n,r){var o=new XMLHttpRequest;o.open(e,t,!0),o.onreadystatechange=function(){4==o.readyState&&n(o)},o.send(null)}))},S=function(t){var e=t.pagePath,n=t.retries,r=void 0===n?0:n,o=b(e);return _(o).then((function(n){var o=n.status,i=n.responseText;if(200===o)try{var a=JSON.parse(i);if(void 0===a.path)throw new Error("not a valid pageData response");return Object.assign(t,{status:"success",payload:a})}catch(c){}return 404===o||200===o?"/404.html"===e?Object.assign(t,{status:"failure"}):S(Object.assign(t,{pagePath:"/404.html",notFound:!0})):500===o?Object.assign(t,{status:"error"}):r<3?S(Object.assign(t,{retries:r+1})):Object.assign(t,{status:"error"})}))},x=function(t,e){void 0===e&&(e=null);var n={componentChunkName:t.componentChunkName,path:t.path,webpackCompilationHash:t.webpackCompilationHash,matchPath:t.matchPath};return{component:e,json:t.result,page:n}},P=function(){function t(t,e){this.pageDb=new Map,this.inFlightDb=new Map,this.pageDataDb=new Map,this.prefetchTriggered=new Set,this.prefetchCompleted=new Set,this.loadComponent=t,d(e)}var e=t.prototype;return e.setApiRunner=function(t){this.apiRunner=t,this.prefetchDisabled=t("disableCorePrefetching").some((function(t){return t}))},e.loadPageDataJson=function(t){var e=this,n=v(t);return this.pageDataDb.has(n)?Promise.resolve(this.pageDataDb.get(n)):S({pagePath:n}).then((function(t){return e.pageDataDb.set(n,t),t}))},e.findMatchPath=function(t){return h(t)},e.loadPage=function(t){var e=this,n=v(t);if(this.pageDb.has(n)){var r=this.pageDb.get(n);return Promise.resolve(r.payload)}if(this.inFlightDb.has(n))return this.inFlightDb.get(n);var o=Promise.all([this.loadAppData(),this.loadPageDataJson(n)]).then((function(t){var r=t[1];if("error"===r.status)return{status:"error"};if("failure"===r.status)throw new Error("404 page could not be found. Checkout https://www.gatsbyjs.org/docs/add-404-page/");var o=r.payload,i=o.componentChunkName;return e.loadComponent(i).then((function(i){var c,u={createdAt:new Date};return i?(u.status="success",!0===r.notFound&&(u.notFound=!0),o=Object.assign(o,{webpackCompilationHash:t[0]?t[0].webpackCompilationHash:""}),c=x(o,i),u.payload=c,a.a.emit("onPostLoadPageResources",{page:c,pageResources:c})):u.status="error",e.pageDb.set(n,u),c}))})).then((function(t){return e.inFlightDb.delete(n),t})).catch((function(t){throw e.inFlightDb.delete(n),t}));return this.inFlightDb.set(n,o),o},e.loadPageSync=function(t){var e=v(t);if(this.pageDb.has(e))return this.pageDb.get(e).payload},e.shouldPrefetch=function(t){return!!function(){if("connection"in navigator&&void 0!==navigator.connection){if((navigator.connection.effectiveType||"").includes("2g"))return!1;if(navigator.connection.saveData)return!1}return!0}()&&!this.pageDb.has(t)},e.prefetch=function(t){var e=this;if(!this.shouldPrefetch(t))return!1;if(this.prefetchTriggered.has(t)||(this.apiRunner("onPrefetchPathname",{pathname:t}),this.prefetchTriggered.add(t)),this.prefetchDisabled)return!1;var n=v(t);return this.doPrefetch(n).then((function(){e.prefetchCompleted.has(t)||(e.apiRunner("onPostPrefetchPathname",{pathname:t}),e.prefetchCompleted.add(t))})),!0},e.doPrefetch=function(t){throw new Error("doPrefetch not implemented")},e.hovering=function(t){this.loadPage(t)},e.getResourceURLsForPathname=function(t){var e=v(t),n=this.pageDataDb.get(e);if(n){var r=x(n.payload);return[].concat(m(O(r.page.componentChunkName)),[b(e)])}return null},e.isPageNotFound=function(t){var e=v(t),n=this.pageDb.get(e);return n&&!0===n.notFound},e.loadAppData=function(t){var e=this;return void 0===t&&(t=0),_("/jkube/page-data/app-data.json").then((function(n){var r,o=n.status,i=n.responseText;if(200!==o&&t<3)return e.loadAppData(t+1);if(200===o)try{var a=JSON.parse(i);if(void 0===a.webpackCompilationHash)throw new Error("not a valid app-data response");r=a}catch(c){}return r}))},t}(),O=function(t){return window.___chunkMapping[t].map((function(t){return"/jkube"+t}))},E=function(t){var e,n;function r(e,n){return t.call(this,(function(t){return e.components[t]().then(w)}),n)||this}return n=t,(e=r).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,r.prototype.doPrefetch=function(t){var e=this,n=b(t);return i(n,{crossOrigin:"anonymous",as:"fetch"}).then((function(){return e.loadPageDataJson(t)})).then((function(t){if("success"!==t.status)return Promise.resolve();var e=t.payload,n=e.componentChunkName,r=O(n);return Promise.all(r.map(i)).then((function(){return e}))}))},r}(P),R=function(t){y=t},j={getResourcesForPathname:function(t){return console.warn("Warning: getResourcesForPathname is deprecated. Use loadPage instead"),y.i.loadPage(t)},getResourcesForPathnameSync:function(t){return console.warn("Warning: getResourcesForPathnameSync is deprecated. Use loadPageSync instead"),y.i.loadPageSync(t)},enqueue:function(t){return y.prefetch(t)},getResourceURLsForPathname:function(t){return y.getResourceURLsForPathname(t)},loadPage:function(t){return y.loadPage(t)},loadPageSync:function(t){return y.loadPageSync(t)},prefetch:function(t){return y.prefetch(t)},isPageNotFound:function(t){return y.isPageNotFound(t)},hovering:function(t){return y.hovering(t)},loadAppData:function(){return y.loadAppData()}};e.default=j},eyMr:function(t,e,n){var r=n("2OiF"),o=n("S/j/"),i=n("Ymqv"),a=n("ne8i");t.exports=function(t,e,n,c,u){r(e);var s=o(t),l=i(s),f=a(s.length),p=u?f-1:0,d=u?-1:1;if(n<2)for(;;){if(p in l){c=l[p],p+=d;break}if(p+=d,u?p<0:f<=p)throw TypeError("Reduce of empty array with no initial value")}for(;u?p>=0:f>p;p+=d)p in l&&(c=e(c,l[p],p,s));return c}},"f3/d":function(t,e,n){var r=n("hswa").f,o=Function.prototype,i=/^\s*function ([^ (]*)/;"name"in o||n("nh4g")&&r(o,"name",{configurable:!0,get:function(){try{return(""+this).match(i)[1]}catch(t){return""}}})},fyDq:function(t,e,n){var r=n("hswa").f,o=n("aagx"),i=n("K0xU")("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},g3g5:function(t,e){var n=t.exports={version:"2.6.11"};"number"==typeof __e&&(__e=n)},g6HL:function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},gHnn:function(t,e,n){var r=n("dyZX"),o=n("GZEu").set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,c=r.Promise,u="process"==n("LZWt")(a);t.exports=function(){var t,e,n,s=function(){var r,o;for(u&&(r=a.domain)&&r.exit();t;){o=t.fn,t=t.next;try{o()}catch(i){throw t?n():e=void 0,i}}e=void 0,r&&r.enter()};if(u)n=function(){a.nextTick(s)};else if(!i||r.navigator&&r.navigator.standalone)if(c&&c.resolve){var l=c.resolve(void 0);n=function(){l.then(s)}}else n=function(){o.call(r,s)};else{var f=!0,p=document.createTextNode("");new i(s).observe(p,{characterData:!0}),n=function(){p.data=f=!f}}return function(r){var o={fn:r,next:void 0};e&&(e.next=o),t||(t=o,n()),e=o}}},h7Nl:function(t,e,n){var r=Date.prototype,o=r.toString,i=r.getTime;new Date(NaN)+""!="Invalid Date"&&n("KroJ")(r,"toString",(function(){var t=i.call(this);return t==t?o.call(this):"Invalid Date"}))},hHhE:function(t,e,n){var r=n("XKFU");r(r.S,"Object",{create:n("Kuth")})},hPIQ:function(t,e){t.exports={}},hUyl:function(t,e,n){"use strict";n("pIFo");var r=0,o=function(t){var e=window.decodeURI(t.replace("#",""));if(""!==e){var n=document.getElementById(e);if(n)return n.offsetTop-r}return null};e.onInitialClientRender=function(t,e){e.offsetY&&(r=e.offsetY),requestAnimationFrame((function(){var t=o(window.location.hash);null!==t&&window.scrollTo(0,t)}))},e.shouldUpdateScroll=function(t){var e=t.routerProps.location,n=o(e.hash);return null===n||[0,n]}},hswa:function(t,e,n){var r=n("y3w9"),o=n("xpql"),i=n("apmT"),a=Object.defineProperty;e.f=n("nh4g")?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(c){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},i5dc:function(t,e,n){var r=n("0/R4"),o=n("y3w9"),i=function(t,e){if(o(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{(r=n("m0Pp")(Function.call,n("EemH").f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(o){e=!0}return function(t,n){return i(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:i}},ioFf:function(t,e,n){"use strict";var r=n("dyZX"),o=n("aagx"),i=n("nh4g"),a=n("XKFU"),c=n("KroJ"),u=n("Z6vF").KEY,s=n("eeVq"),l=n("VTer"),f=n("fyDq"),p=n("ylqs"),d=n("K0xU"),h=n("N8g3"),v=n("OnI7"),g=n("1MBn"),m=n("EWmC"),y=n("y3w9"),w=n("0/R4"),b=n("S/j/"),_=n("aCFj"),S=n("apmT"),x=n("RjD/"),P=n("Kuth"),O=n("e7yV"),E=n("EemH"),R=n("JiEa"),j=n("hswa"),k=n("DVgA"),T=E.f,C=j.f,F=O.f,L=r.Symbol,A=r.JSON,U=A&&A.stringify,M=d("_hidden"),D=d("toPrimitive"),I={}.propertyIsEnumerable,W=l("symbol-registry"),K=l("symbols"),q=l("op-symbols"),X=Object.prototype,V="function"==typeof L&&!!R.f,H=r.QObject,N=!H||!H.prototype||!H.prototype.findChild,Y=i&&s((function(){return 7!=P(C({},"a",{get:function(){return C(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=T(X,e);r&&delete X[e],C(t,e,n),r&&t!==X&&C(X,e,r)}:C,Z=function(t){var e=K[t]=P(L.prototype);return e._k=t,e},B=V&&"symbol"==typeof L.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof L},J=function(t,e,n){return t===X&&J(q,e,n),y(t),e=S(e,!0),y(n),o(K,e)?(n.enumerable?(o(t,M)&&t[M][e]&&(t[M][e]=!1),n=P(n,{enumerable:x(0,!1)})):(o(t,M)||C(t,M,x(1,{})),t[M][e]=!0),Y(t,e,n)):C(t,e,n)},G=function(t,e){y(t);for(var n,r=g(e=_(e)),o=0,i=r.length;i>o;)J(t,n=r[o++],e[n]);return t},z=function(t){var e=I.call(this,t=S(t,!0));return!(this===X&&o(K,t)&&!o(q,t))&&(!(e||!o(this,t)||!o(K,t)||o(this,M)&&this[M][t])||e)},Q=function(t,e){if(t=_(t),e=S(e,!0),t!==X||!o(K,e)||o(q,e)){var n=T(t,e);return!n||!o(K,e)||o(t,M)&&t[M][e]||(n.enumerable=!0),n}},$=function(t){for(var e,n=F(_(t)),r=[],i=0;n.length>i;)o(K,e=n[i++])||e==M||e==u||r.push(e);return r},tt=function(t){for(var e,n=t===X,r=F(n?q:_(t)),i=[],a=0;r.length>a;)!o(K,e=r[a++])||n&&!o(X,e)||i.push(K[e]);return i};V||(c((L=function(){if(this instanceof L)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===X&&e.call(q,n),o(this,M)&&o(this[M],t)&&(this[M][t]=!1),Y(this,t,x(1,n))};return i&&N&&Y(X,t,{configurable:!0,set:e}),Z(t)}).prototype,"toString",(function(){return this._k})),E.f=Q,j.f=J,n("kJMx").f=O.f=$,n("UqcF").f=z,R.f=tt,i&&!n("LQAc")&&c(X,"propertyIsEnumerable",z,!0),h.f=function(t){return Z(d(t))}),a(a.G+a.W+a.F*!V,{Symbol:L});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),nt=0;et.length>nt;)d(et[nt++]);for(var rt=k(d.store),ot=0;rt.length>ot;)v(rt[ot++]);a(a.S+a.F*!V,"Symbol",{for:function(t){return o(W,t+="")?W[t]:W[t]=L(t)},keyFor:function(t){if(!B(t))throw TypeError(t+" is not a symbol!");for(var e in W)if(W[e]===t)return e},useSetter:function(){N=!0},useSimple:function(){N=!1}}),a(a.S+a.F*!V,"Object",{create:function(t,e){return void 0===e?P(t):G(P(t),e)},defineProperty:J,defineProperties:G,getOwnPropertyDescriptor:Q,getOwnPropertyNames:$,getOwnPropertySymbols:tt});var it=s((function(){R.f(1)}));a(a.S+a.F*it,"Object",{getOwnPropertySymbols:function(t){return R.f(b(t))}}),A&&a(a.S+a.F*(!V||s((function(){var t=L();return"[null]"!=U([t])||"{}"!=U({a:t})||"{}"!=U(Object(t))}))),"JSON",{stringify:function(t){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=e=r[1],(w(e)||void 0!==t)&&!B(t))return m(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!B(e))return e}),r[1]=e,U.apply(A,r)}}),L.prototype[D]||n("Mukb")(L.prototype,D,L.prototype.valueOf),f(L,"Symbol"),f(Math,"Math",!0),f(r.JSON,"JSON",!0)},kJMx:function(t,e,n){var r=n("zhAb"),o=n("4R4u").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},lSNA:function(t,e){t.exports=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},m0Pp:function(t,e,n){var r=n("2OiF");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},nGyu:function(t,e,n){var r=n("K0xU")("unscopables"),o=Array.prototype;null==o[r]&&n("Mukb")(o,r,{}),t.exports=function(t){o[r][t]=!0}},nICZ:function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(e){return{e:!0,v:e}}}},ne8i:function(t,e,n){var r=n("RYi7"),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},nh4g:function(t,e,n){t.exports=!n("eeVq")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},nwwn:function(t,e,n){"use strict";e.DEFAULT_OPTIONS={maxWidth:650,wrapperStyle:"",backgroundColor:"white",linkImagesToOriginal:!0,showCaptions:!1,markdownCaptions:!1,withWebp:!1,tracedSVG:!1,loading:"lazy",disableBgImageOnAlpha:!1,disableBgImage:!1},e.imageClass="gatsby-resp-image-image",e.imageWrapperClass="gatsby-resp-image-wrapper",e.imageBackgroundClass="gatsby-resp-image-background-image"},ol8x:function(t,e,n){var r=n("dyZX").navigator;t.exports=r&&r.userAgent||""},pCP8:function(t,e,n){e.components={"component---src-templates-main-jsx":function(){return Promise.all([n.e(1),n.e(0),n.e(4)]).then(n.bind(null,"2ggT"))},"component---src-templates-doc-jsx":function(){return Promise.all([n.e(1),n.e(0),n.e(3)]).then(n.bind(null,"DjDE"))}}},pIFo:function(t,e,n){"use strict";var r=n("y3w9"),o=n("S/j/"),i=n("ne8i"),a=n("RYi7"),c=n("A5AN"),u=n("Xxuz"),s=Math.max,l=Math.min,f=Math.floor,p=/\$([$&`']|\d\d?|<[^>]*>)/g,d=/\$([$&`']|\d\d?)/g;n("IU+Z")("replace",2,(function(t,e,n,h){return[function(r,o){var i=t(this),a=null==r?void 0:r[e];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},function(t,e){var o=h(n,t,this,e);if(o.done)return o.value;var f=r(t),p=String(this),d="function"==typeof e;d||(e=String(e));var g=f.global;if(g){var m=f.unicode;f.lastIndex=0}for(var y=[];;){var w=u(f,p);if(null===w)break;if(y.push(w),!g)break;""===String(w[0])&&(f.lastIndex=c(p,i(f.lastIndex),m))}for(var b,_="",S=0,x=0;x<y.length;x++){w=y[x];for(var P=String(w[0]),O=s(l(a(w.index),p.length),0),E=[],R=1;R<w.length;R++)E.push(void 0===(b=w[R])?b:String(b));var j=w.groups;if(d){var k=[P].concat(E,O,p);void 0!==j&&k.push(j);var T=String(e.apply(void 0,k))}else T=v(P,p,O,E,j,e);O>=S&&(_+=p.slice(S,O)+T,S=O+P.length)}return _+p.slice(S)}];function v(t,e,r,i,a,c){var u=r+t.length,s=i.length,l=d;return void 0!==a&&(a=o(a),l=p),n.call(c,l,(function(n,o){var c;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(u);case"<":c=a[o.slice(1,-1)];break;default:var l=+o;if(0===l)return n;if(l>s){var p=f(l/10);return 0===p?n:p<=s?void 0===i[p-1]?o.charAt(1):i[p-1]+o.charAt(1):n}c=i[l-1]}return void 0===c?"":c}))}}))},pVnL:function(t,e){function n(){return t.exports=n=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},n.apply(this,arguments)}t.exports=n},pbhE:function(t,e,n){"use strict";var r=n("2OiF");function o(t){var e,n;this.promise=new t((function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r})),this.resolve=r(e),this.reject=r(n)}t.exports.f=function(t){return new o(t)}},"q5+k":function(t,e,n){"use strict";n("dZ+Y");var r=n("TqRt");e.__esModule=!0,e.default=void 0;var o,i=r(n("Bp9Y")),a="clearTimeout",c=function(t){var e=(new Date).getTime(),n=Math.max(0,16-(e-s)),r=setTimeout(t,n);return s=e,r},u=function(t,e){return t+(t?e[0].toUpperCase()+e.substr(1):e)+"AnimationFrame"};i.default&&["","webkit","moz","o","ms"].some((function(t){var e=u(t,"request");if(e in window)return a=u(t,"cancel"),c=function(t){return window[e](t)}}));var s=(new Date).getTime();(o=function(t){return c(t)}).cancel=function(t){window[a]&&"function"==typeof window[a]&&window[a](t)};var l=o;e.default=l,t.exports=e.default},q9nr:function(t,e,n){"use strict";n("91GP");var r=n("nwwn"),o=r.DEFAULT_OPTIONS,i=r.imageClass,a=r.imageBackgroundClass,c=r.imageWrapperClass;e.onRouteUpdate=function(t,e){for(var n=Object.assign({},o,e),r=document.querySelectorAll("."+c),u=function(t){var e=r[t],o=e.querySelector("."+a),c=e.querySelector("."+i),u=function(){o.style.transition="opacity 0.5s 0.5s",c.style.transition="opacity 0.5s",s()},s=function t(){o.style.opacity=0,c.style.opacity=1,c.style.color="inherit",c.style.boxShadow="inset 0px 0px 0px 400px "+n.backgroundColor,c.removeEventListener("load",u),c.removeEventListener("error",t)};c.style.opacity=0,c.addEventListener("load",u),c.addEventListener("error",s),c.complete&&s()},s=0;s<r.length;s++)u(s)}},qncB:function(t,e,n){var r=n("XKFU"),o=n("vhPU"),i=n("eeVq"),a=n("/e88"),c="["+a+"]",u=RegExp("^"+c+c+"*"),s=RegExp(c+c+"*$"),l=function(t,e,n){var o={},c=i((function(){return!!a[t]()||"
"!="
"[t]()})),u=o[t]=c?e(f):a[t];n&&(o[n]=u),r(r.P+r.F*c,"String",o)},f=l.trim=function(t,e){return t=String(o(t)),1&e&&(t=t.replace(u,"")),2&e&&(t=t.replace(s,"")),t};t.exports=l},quPj:function(t,e,n){var r=n("0/R4"),o=n("LZWt"),i=n("K0xU")("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==o(t))}},rE2o:function(t,e,n){n("OnI7")("asyncIterator")},rGqo:function(t,e,n){for(var r=n("yt8O"),o=n("DVgA"),i=n("KroJ"),a=n("dyZX"),c=n("Mukb"),u=n("hPIQ"),s=n("K0xU"),l=s("iterator"),f=s("toStringTag"),p=u.Array,d={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},h=o(d),v=0;v<h.length;v++){var g,m=h[v],y=d[m],w=a[m],b=w&&w.prototype;if(b&&(b[l]||c(b,l,p),b[f]||c(b,f,m),u[m]=p,y))for(g in r)b[g]||i(b,g,r[g],!0)}},raBC:function(t,e,n){"use strict";var r=n("TqRt");e.__esModule=!0,e.default=void 0;var o=function(){};r(n("Bp9Y")).default&&(o=document.addEventListener?function(t,e,n,r){return t.addEventListener(e,n,r||!1)}:document.attachEvent?function(t,e,n){return t.attachEvent("on"+e,(function(e){(e=e||window.event).target=e.target||e.srcElement,e.currentTarget=t,n.call(t,e)}))}:void 0);var i=o;e.default=i,t.exports=e.default},rvZc:function(t,e,n){"use strict";var r=n("XKFU"),o=n("ne8i"),i=n("0sh+"),a="".endsWith;r(r.P+r.F*n("UUeW")("endsWith"),"String",{endsWith:function(t){var e=i(this,t,"endsWith"),n=arguments.length>1?arguments[1]:void 0,r=o(e.length),c=void 0===n?r:Math.min(o(n),r),u=String(t);return a?a.call(e,u,c):e.slice(c-u.length,c)===u}})},s5qY:function(t,e,n){var r=n("0/R4");t.exports=function(t,e){if(!r(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},sMXx:function(t,e,n){"use strict";var r=n("Ugos");n("XKFU")({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},vKrd:function(t,e,n){var r=n("y3w9"),o=n("0/R4"),i=n("pbhE");t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t);return(0,n.resolve)(e),n.promise}},vf9c:function(t){t.exports=JSON.parse("[]")},vhPU:function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},w2a5:function(t,e,n){var r=n("aCFj"),o=n("ne8i"),i=n("d/Gc");t.exports=function(t){return function(e,n,a){var c,u=r(e),s=o(u.length),l=i(a,s);if(t&&n!=n){for(;s>l;)if((c=u[l++])!=c)return!0}else for(;s>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}}},wCsR:function(t,e,n){"use strict";var r=n("ZD67"),o=n("s5qY");n("4LiD")("WeakSet",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(t){return r.def(o(this,"WeakSet"),t,!0)}},r,!1,!0)},wmvG:function(t,e,n){"use strict";var r=n("hswa").f,o=n("Kuth"),i=n("3Lyj"),a=n("m0Pp"),c=n("9gX7"),u=n("SlkY"),s=n("Afnz"),l=n("1TsA"),f=n("elZq"),p=n("nh4g"),d=n("Z6vF").fastKey,h=n("s5qY"),v=p?"_s":"size",g=function(t,e){var n,r=d(e);if("F"!==r)return t._i[r];for(n=t._f;n;n=n.n)if(n.k==e)return n};t.exports={getConstructor:function(t,e,n,s){var l=t((function(t,r){c(t,l,e,"_i"),t._t=e,t._i=o(null),t._f=void 0,t._l=void 0,t[v]=0,null!=r&&u(r,n,t[s],t)}));return i(l.prototype,{clear:function(){for(var t=h(this,e),n=t._i,r=t._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];t._f=t._l=void 0,t[v]=0},delete:function(t){var n=h(this,e),r=g(n,t);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[v]--}return!!r},forEach:function(t){h(this,e);for(var n,r=a(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(t){return!!g(h(this,e),t)}}),p&&r(l.prototype,"size",{get:function(){return h(this,e)[v]}}),l},def:function(t,e,n){var r,o,i=g(t,e);return i?i.v=n:(t._l=i={i:o=d(e,!0),k:e,v:n,p:r=t._l,n:void 0,r:!1},t._f||(t._f=i),r&&(r.n=i),t[v]++,"F"!==o&&(t._i[o]=i)),t},getEntry:g,setStrong:function(t,e,n){s(t,e,(function(t,n){this._t=h(t,e),this._k=n,this._l=void 0}),(function(){for(var t=this._k,e=this._l;e&&e.r;)e=e.p;return this._t&&(this._l=e=e?e.n:this._t._f)?l(0,"keys"==t?e.k:"values"==t?e.v:[e.k,e.v]):(this._t=void 0,l(1))}),n?"entries":"values",!n,!0),f(e)}}},xpql:function(t,e,n){t.exports=!n("nh4g")&&!n("eeVq")((function(){return 7!=Object.defineProperty(n("Iw71")("div"),"a",{get:function(){return 7}}).a}))},xtsi:function(t,e,n){n("VRzm"),n("Btvt");var r=n("LeKB"),o=n("emEt").publicLoader,i=o.getResourcesForPathname,a=o.getResourcesForPathnameSync,c=o.getResourceURLsForPathname,u=o.loadPage,s=o.loadPageSync;e.apiRunner=function(t,e,n,o){void 0===e&&(e={});var l=r.map((function(n){if(n.plugin[t]){e.getResourcesForPathnameSync=a,e.getResourcesForPathname=i,e.getResourceURLsForPathname=c,e.loadPage=u,e.loadPageSync=s;var r=n.plugin[t](e,n.options);return r&&o&&(e=o({args:e,result:r,plugin:n})),r}}));return(l=l.filter((function(t){return void 0!==t}))).length>0?l:n?[n]:[]},e.apiRunnerAsync=function(t,e,n){return r.reduce((function(n,r){return r.plugin[t]?n.then((function(){return r.plugin[t](e,r.options)})):n}),Promise.resolve())}},y3w9:function(t,e,n){var r=n("0/R4");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},ylqs:function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},yt8O:function(t,e,n){"use strict";var r=n("nGyu"),o=n("1TsA"),i=n("hPIQ"),a=n("aCFj");t.exports=n("Afnz")(Array,"Array",(function(t,e){this._t=a(t),this._i=0,this._k=e}),(function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,o(1)):o(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])}),"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},zRwo:function(t,e,n){var r=n("6FMO");t.exports=function(t,e){return new(r(t))(e)}},zhAb:function(t,e,n){var r=n("aagx"),o=n("aCFj"),i=n("w2a5")(!1),a=n("YTvA")("IE_PROTO");t.exports=function(t,e){var n,c=o(t),u=0,s=[];for(n in c)n!=a&&r(c,n)&&s.push(n);for(;e.length>u;)r(c,n=e[u++])&&(~i(s,n)||s.push(n));return s}}},[["UxWs",5,0]]]);
-//# sourceMappingURL=app-194ea4f7bf63aa4ef2a0.js.map
\ No newline at end of file
diff --git a/app-194ea4f7bf63aa4ef2a0.js.map b/app-194ea4f7bf63aa4ef2a0.js.map
deleted file mode 100644
index ca3a637..0000000
--- a/app-194ea4f7bf63aa4ef2a0.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./node_modules/gatsby-link/index.js","webpack:///./node_modules/dom-helpers/query/scrollLeft.js","webpack:///./node_modules/core-js/modules/_function-to-string.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/es6.array.filter.js","webpack:///./node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/gatsby-react-router-scroll/StateStorage.js","webpack:///./node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/es6.function.bind.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/gatsby-react-router-scroll/ScrollBehaviorContext.js","webpack:///./node_modules/core-js/modules/_collection.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/mitt/dist/mitt.es.js","webpack:///./.cache/emitter.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/warning/browser.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/gatsby-react-router-scroll/index.js","webpack:///./node_modules/core-js/modules/es6.array.for-each.js","webpack:///./node_modules/core-js/modules/_bind.js","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack:///./node_modules/dom-helpers/query/isWindow.js","webpack:///./node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/core-js/modules/es6.object.assign.js","webpack:///./.cache/react-lifecycles-compat.js","webpack:///./node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/@reach/router/es/lib/history.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_advance-string-index.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/dom-helpers/util/inDOM.js","webpack:///./node_modules/core-js/modules/es6.object.to-string.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/es6.array.reduce.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_task.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./.cache/page-renderer.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/gatsby-react-router-scroll/ScrollContainer.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/scroll-behavior/lib/index.js","webpack:///./node_modules/core-js/modules/es6.array.is-array.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/@reach/router/es/lib/utils.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./.cache/api-runner-browser-plugins.js","webpack:///./node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/@mikaelkristiansson/domready/ready.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./.cache/register-service-worker.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/scroll-behavior/lib/utils.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./node_modules/invariant/browser.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/core-js/modules/es6.string.trim.js","webpack:///./node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./.cache/navigation.js","webpack:///./node_modules/shallow-compare/es/index.js","webpack:///./.cache/ensure-resources.js","webpack:///./.cache/production-app.js","webpack:///./node_modules/core-js/modules/es6.array.index-of.js","webpack:///./node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack:///./node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./.cache/create-react-context.js","webpack:///./node_modules/@reach/router/es/index.js","webpack:///./node_modules/core-js/modules/es7.array.includes.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/dom-helpers/query/scrollTop.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/es6.array.map.js","webpack:///./node_modules/dom-helpers/events/off.js","webpack:///./.cache/strip-prefix.js","webpack:///./node_modules/gatsby-link/parse-path.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/es6.array.some.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/es6.date.now.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./.cache/prefetch.js","webpack:///./.cache/normalize-page-path.js","webpack:///./.cache/find-path.js","webpack:///./.cache/loader.js","webpack:///./node_modules/core-js/modules/_array-reduce.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/core-js/modules/es6.object.create.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/gatsby-remark-autolink-headers/gatsby-browser.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/modules/_perform.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/gatsby-remark-images/constants.js","webpack:///./node_modules/core-js/modules/_user-agent.js","webpack:///./.cache/async-requires.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/@babel/runtime/helpers/extends.js","webpack:///./node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/dom-helpers/util/requestAnimationFrame.js","webpack:///./node_modules/gatsby-remark-images/gatsby-browser.js","webpack:///./node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/core-js/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/modules/web.dom.iterable.js","webpack:///./node_modules/dom-helpers/events/on.js","webpack:///./node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/core-js/modules/_validate-collection.js","webpack:///./node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/es6.weak-set.js","webpack:///./node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./.cache/api-runner-browser.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js"],"names":["_interopRequireDefault","exports","__esModule","withPrefix","withAssetPrefix","path","concat","replace","join","navigateTo","push","navigate","_objectWithoutPropertiesLoose2","_extends2","_assertThisInitialized2","_inheritsLoose2","_defineProperty2","_propTypes","_react","_router","_parsePath","normalizePath","parsePath","NavLinkPropTypes","activeClassName","string","activeStyle","object","partiallyActive","bool","GatsbyLink","_React$Component","props","_this","call","this","_ref","isPartiallyCurrent","isCurrent","className","filter","Boolean","style","IOSupported","window","IntersectionObserver","state","handleRef","bind","_proto","prototype","componentDidUpdate","prevProps","prevState","to","___loader","enqueue","pathname","componentDidMount","componentWillUnmount","io","_this$io","instance","el","unobserve","disconnect","ref","cb","_this2","innerRef","hasOwnProperty","current","entries","forEach","entry","target","isIntersecting","intersectionRatio","observe","render","_this3","_this$props","_this$props$getProps","getProps","defaultGetProps","_onClick","onClick","_onMouseEnter","onMouseEnter","rest","prefixedTo","createElement","Link","e","hovering","button","defaultPrevented","metaKey","altKey","ctrlKey","shiftKey","preventDefault","Component","propTypes","func","isRequired","showDeprecationWarning","functionName","altFunctionName","version","console","warn","_default","forwardRef","options","___navigate","___push","___replace","node","val","win","_isWindow","undefined","pageXOffset","document","documentElement","scrollLeft","scrollTo","pageYOffset","scrollTop","module","Function","toString","$export","S","setPrototypeOf","set","it","$filter","P","F","callbackfn","arguments","isRegExp","defined","that","searchString","NAME","TypeError","String","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","location","propFullName","secret","err","Error","name","getShim","ReactPropTypes","array","number","symbol","any","arrayOf","element","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","getKeys","gOPS","pIE","result","getSymbols","f","key","symbols","isEnum","i","length","done","value","SessionStorage","read","stateKey","getStateKey","sessionStorage","getItem","JSON","parse","save","storedValue","stringify","setItem","stateKeyBase","is","redefine","src","safe","_scrollBehavior","_history","_StateStorage","shouldUpdateScroll","children","childContextTypes","scrollBehavior","ScrollContext","context","prevRouterProps","routerProps","registerElement","getRouterProps","unregisterElement","addTransitionHook","globalHistory","listen","stateStorage","getCurrentLocation","getChildContext","__navigatingToLink","action","updateScroll","history","stop","Children","only","global","redefineAll","meta","forOf","anInstance","isObject","fails","$iterDetect","setToStringTag","inheritIfRequired","wrapper","methods","common","IS_MAP","IS_WEAK","Base","C","ADDER","proto","O","fixMethod","KEY","fn","a","b","next","HASNT_CHAINING","THROWS_ON_PRIMITIVES","has","ACCEPT_ITERABLES","iter","BUGGY_ZERO","$instance","index","iterable","constructor","clear","getConstructor","NEED","G","W","setStrong","split","emitter","all","Object","create","on","type","handler","off","splice","indexOf","emit","evt","slice","map","mitt","anObject","aFunction","SPECIES","D","isArray","original","Array","_ScrollBehaviorContext","_ScrollContainer","ScrollContainer","$forEach","STRICT","invoke","arraySlice","factories","construct","len","args","n","partArgs","bound","source","excluded","sourceKeys","keys","nodeType","defaultView","parentWindow","$defineProperty","createDesc","assign","polyfill","strong","validate","get","getEntry","v","def","_extends","getLocation","createHistory","listeners","transitioning","resolveTransition","_onTransitionComplete","listener","popstateListener","addEventListener","removeEventListener","_ref$replace","Date","now","replaceState","pushState","transition","Promise","res","createMemorySource","initialPathname","stack","search","states","_","uri","_uri$split","_uri$split$","_uri$split2","_uri$split2$","canUseDOM","Constructor","forbiddenField","at","unicode","LIBRARY","hide","Iterators","$iterCreate","getPrototypeOf","ITERATOR","BUGGY","returnThis","DEFAULT","IS_SET","FORCED","IteratorPrototype","getMethod","kind","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","values","toInteger","TO_STRING","pos","s","l","charCodeAt","charAt","classof","test","ignoreCase","multiline","sticky","ctx","IObject","toObject","toLength","asc","TYPE","$create","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","self","$reduce","reduce","$keys","enumBugKeys","InternalMap","each","weak","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","getWeak","isExtensible","uncaughtFrozenStore","ufstore","data","_i","$WeakMap","method","_f","cof","arg","toIObject","toPrimitive","IE8_DOM_DEFINE","gOPD","getOwnPropertyDescriptor","dP","defineProperties","Properties","defer","channel","port","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","run","id","event","nextTick","port2","port1","onmessage","postMessage","importScripts","appendChild","removeChild","setTimeout","iterator","ret","defineProperty","isArrayIter","createProperty","getIterFn","from","arrayLike","step","aLen","mapfn","mapping","iterFn","ARG","T","B","tryGet","callee","PageRenderer","pathContext","pageContext","pageElement","apiRunner","loader","publicLoader","pageResources","component","page","pop","React","wks","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","exec","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","apply","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","regexp","str","arg2","forceStringMethod","strfn","rxfn","RegExp","_reactDom","_warning","scrollKey","contextTypes","findDOMNode","getIteratorMethod","getOwnPropertySymbols","store","uid","Symbol","USE_SYMBOL","speciesConstructor","advanceStringIndex","callRegExpExec","$min","Math","min","$push","SUPPORTS_Y","SPLIT","$split","maybeCallNative","internalSplit","separator","limit","match","lastIndex","lastLength","output","flags","lastLastIndex","splitLimit","separatorCopy","splitter","rx","unicodeMatching","lim","p","q","A","z","SRC","$toString","TPL","inspectSource","isFunction","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","display","contentWindow","open","write","lt","close","includes","_off","_on","_scrollLeft","_scrollTop","_requestAnimationFrame","_utils","obj","MAX_SCROLL_ATTEMPTS","ScrollBehavior","_restoreScrollRestoration","_oldScrollRestoration","scrollRestoration","_onWindowScroll","_ignoreScrollEvents","_saveWindowPositionHandle","_saveWindowPosition","_windowScrollTarget","_this$_windowScrollTa","xTarget","yTarget","x","y","_cancelCheckWindowScroll","_savePosition","_checkWindowScrollPosition","_checkWindowScrollHandle","scrollToTarget","_numWindowScrollAttempts","resolve","_stateStorage","_getCurrentLocation","_shouldUpdateScroll","isMobileSafari","_scrollElements","_removeTransitionHook","cancel","scrollElement","savePositionHandle","_saveElementPosition","invariant","saveElementPosition","onScroll","_updateElementScroll","_this$_scrollElements","prevContext","_updateWindowScroll","then","startIgnoringScrollEvents","stopIgnoringScrollEvents","_getScrollTarget","_this$_scrollElements2","scrollTarget","_getDefaultScrollTarget","hash","_getSavedScrollTarget","targetElement","getElementById","getElementsByName","scrollIntoView","_target","left","top","startsWith","substr","pick","routes","default_","uriPathname","uriSegments","segmentize","isRootUri","ranked","rankRoutes","missed","route","params","routeSegments","max","routeSegment","uriSegment","decodeURIComponent","dynamicMatch","paramRe","reservedNames","base","_to$split","toPathname","toQuery","basePathname","toSegments","baseSegments","addQuery","allSegments","segments","segment","insertParams","validateRedirect","isDynamic","sort","rankRoute","score","isRootSegment","isSplat","SEGMENT_POINTS","query","plugin","require","ArrayProto","ie10","navigator","appVersion","_listener","doc","hack","doScroll","loaded","readyState","shift","definition","un","propIsEnumerable","propertyIsEnumerable","test1","getOwnPropertyNames","test2","fromCharCode","test3","letter","shouldUseNative","protocol","hostname","error","serviceWorker","register","__BASE_PATH__","reg","installingWorker","installing","log","controller","___swUpdated","___failedResources","reload","catch","configurable","sameValue","regExpExec","SEARCH","$search","previousLastIndex","ObjectProto","core","wksExt","$Symbol","platform","userAgent","ReferenceError","condition","format","c","d","argIndex","framesToPop","descriptor","ceil","floor","isNaN","bitmap","enumerable","writable","MATCH","$match","fullUnicode","matchStr","BREAK","RETURN","add","$trim","re1","re2","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","reCopy","redirectMap","redirects","redirect","fromPath","maybeRedirect","toPath","onPreRouteUpdate","prevLocation","onRouteUpdate","timeoutId","loadPage","status","href","webpackCompilationHash","___webpackCompilationHash","gatsbyApi","reachNavigate","clearTimeout","results","getSavedScrollPosition","decodeURI","RouteUpdates","shouldFireRouteUpdate","getSnapshotBeforeUpdate","shallowDiffers","EnsureResources","loadPageSync","getDerivedStateFromProps","loadResources","rawPath","setState","shouldComponentUpdate","nextProps","nextState","json","matchPath","shallowCompare","ProdLoader","asyncRequires","matchPaths","setLoader","setApiRunner","___emitter","apiRunnerAsync","RouteHandler","Provider","baseuri","basepath","LocationHandler","stripPrefix","encodeURI","pagePath","browserLoc","findMatchPath","Root","locationContext","WrappedRoot","NewRoot","renderer","ReactDOM","hydrate","domReady","$indexOf","NEGATIVE_ZERO","searchElement","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","task","microtask","newPromiseCapabilityModule","perform","promiseResolve","versions","v8","$Promise","isNode","empty","newPromiseCapability","USE_NATIVE","promise","FakePromise","PromiseRejectionEvent","isThenable","notify","isReject","_n","chain","_c","_v","ok","_s","reaction","exited","fail","reject","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","unhandled","isUnhandled","onunhandledrejection","reason","_a","onrejectionhandled","$reject","_d","_w","$resolve","executor","onFulfilled","onRejected","r","capability","$$reject","remaining","$index","alreadyCalled","race","mode","copyright","subClass","superClass","__proto__","$sort","comparefn","own","out","exp","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","IS_BIND","expProto","U","R","SAFE_CLOSING","riter","skipClosing","arr","$at","iterated","_t","point","builtinExec","shared","_objectWithoutProperties","_classCallCheck","_possibleConstructorReturn","_inherits","defaultValue","Ctx","Consumer","displayName","LocationContext","LocationProvider","_temp","_len","_key","getContext","refs","unlisten","_props$history","componentDidCatch","info","isRedirect","_navigate","requestAnimationFrame","unmounted","defaultProps","_ref2","url","BaseContext","baseContext","_React$PureComponent","RouterImpl","_props","_navigate2","primary","_props$component","domProps","clone","cloneElement","FocusWrapper","wrapperProps","PureComponent","FocusContext","_ref3","requestFocus","initialRender","focusHandlerCount","_React$Component2","FocusHandlerImpl","_temp2","_this4","_len2","_key2","shouldFocus","focus","myURIChanged","navigatedUpToMe","contains","activeElement","_this5","_props2","_props2$role","role","_props2$component","Comp","outline","tabIndex","k","_ref4","_ref5","_ref6","_props$getProps","anchorProps","shouldNavigate","RedirectRequest","o","redirectTo","_React$Component3","RedirectImpl","_props3","_props3$replace","noThrow","_props4","_ref7","_ref8","_ref9","resolvedPath","stripSlashes","elementPath","$includes","META","setDesc","FREEZE","preventExtensions","setMeta","w","fastKey","onFreeze","createArrayMethod","$has","arrayFind","arrayFindIndex","_l","UncaughtFrozenStore","findUncaughtFrozen","$flags","DESCRIPTORS","define","valueOf","$map","eventName","capture","attachEvent","detachEvent","prefix","hashIndex","searchIndex","$assign","K","j","$some","some","__g","gOPN","windowNames","getWindowNames","getTime","supportedPrefetchStrategy","feature","fakeLink","relList","supports","support","link","setAttribute","onload","onerror","getElementsByTagName","parentNode","req","XMLHttpRequest","send","preFetched","prefetch","pathCache","Map","trimPathname","rawPathname","setMatchPaths","trimmedPathname","cleanPath","normalizePagePath","findPath","foundPath","preferDefault","m","default","createPageDataUrl","__PATH_PREFIX__","endsWith","doFetch","onreadystatechange","loadPageDataJson","loadObj","retries","responseText","jsonPayload","payload","notFound","toPageResources","pageData","componentChunkName","BaseLoader","loadComponent","pageDb","inFlightDb","pageDataDb","prefetchTriggered","Set","prefetchCompleted","prefetchDisabled","inFlight","loadAppData","allData","finalResult","createdAt","response","delete","shouldPrefetch","connection","effectiveType","saveData","doesConnectionSupportPrefetch","realPath","doPrefetch","getResourceURLsForPathname","createComponentUrls","isPageNotFound","appData","___chunkMapping","chunk","chunkName","components","pageDataUrl","prefetchHelper","crossOrigin","as","componentUrls","_loader","getResourcesForPathname","getResourcesForPathnameSync","memo","isRight","FProto","nameRE","tag","stat","__e","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","last","flush","parent","standalone","toggle","createTextNode","characterData","DateProto","NaN","offsetY","getTargetOffset","offsetTop","onInitialClientRender","pluginOptions","offset","Attributes","check","buggy","$fails","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$GOPS","$DP","$JSON","_stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","_k","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","names","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","replacer","$replacer","hiddenKeys","UNSCOPABLES","DEFAULT_OPTIONS","maxWidth","wrapperStyle","backgroundColor","linkImagesToOriginal","showCaptions","markdownCaptions","withWebp","tracedSVG","loading","disableBgImageOnAlpha","disableBgImage","imageClass","imageWrapperClass","imageBackgroundClass","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","$replace","searchValue","replaceValue","functionalReplace","accumulatedResult","nextSourcePosition","matched","position","captures","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","ch","PromiseCapability","$$resolve","compatRaf","_inDOM","raf","curr","ms","prev","getKey","vendor","toUpperCase","rafKey","_require","apiCallbackContext","imageWrappers","querySelectorAll","_loop","imageWrapper","backgroundElement","querySelector","imageElement","onImageLoad","onImageComplete","opacity","color","boxShadow","complete","spaces","space","ltrim","rtrim","exporter","ALIAS","FORCE","trim","$iterators","TO_STRING_TAG","ArrayValues","DOMIterables","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","collections","explicit","Collection","srcElement","currentTarget","$endsWith","endPosition","end","forced","promiseCapability","toAbsoluteIndex","IS_INCLUDES","fromIndex","$iterDefine","setSpecies","SIZE","plugins","api","defaultReturn","argTransform","previous","px","random","addToUnscopables","Arguments","arrayIndexOf"],"mappings":"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","file":"app-194ea4f7bf63aa4ef2a0.js","sourcesContent":["\"use strict\";\n\nrequire(\"core-js/modules/es6.function.bind\");\n\nrequire(\"core-js/modules/es6.array.filter\");\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.regexp.replace\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.withPrefix = withPrefix;\nexports.withAssetPrefix = withAssetPrefix;\nexports.navigateTo = exports.replace = exports.push = exports.navigate = exports[\"default\"] = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _router = require(\"@reach/router\");\n\nvar _parsePath = require(\"./parse-path\");\n\nexports.parsePath = _parsePath.parsePath;\n\nfunction withPrefix(path) {\n return normalizePath([typeof __BASE_PATH__ !== \"undefined\" ? __BASE_PATH__ : __PATH_PREFIX__, path].join(\"/\"));\n}\n\nfunction withAssetPrefix(path) {\n return [__PATH_PREFIX__].concat([path.replace(/^\\//, \"\")]).join(\"/\");\n}\n\nfunction normalizePath(path) {\n return path.replace(/\\/+/g, \"/\");\n}\n\nvar NavLinkPropTypes = {\n activeClassName: _propTypes[\"default\"].string,\n activeStyle: _propTypes[\"default\"].object,\n partiallyActive: _propTypes[\"default\"].bool\n}; // Set up IntersectionObserver\n\nvar createIntersectionObserver = function createIntersectionObserver(el, cb) {\n var io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (el === entry.target) {\n // Check if element is within viewport, remove listener, destroy observer, and run link callback.\n // MSEdge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(el);\n io.disconnect();\n cb();\n }\n }\n });\n }); // Add element to the observer\n\n io.observe(el);\n return {\n instance: io,\n el: el\n };\n};\n\nvar GatsbyLink =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2[\"default\"])(GatsbyLink, _React$Component);\n\n function GatsbyLink(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // Default to no support for IntersectionObserver\n\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"defaultGetProps\", function (_ref) {\n var isPartiallyCurrent = _ref.isPartiallyCurrent,\n isCurrent = _ref.isCurrent;\n\n if (_this.props.partiallyActive ? isPartiallyCurrent : isCurrent) {\n return {\n className: [_this.props.className, _this.props.activeClassName].filter(Boolean).join(\" \"),\n style: (0, _extends2[\"default\"])({}, _this.props.style, {}, _this.props.activeStyle)\n };\n }\n\n return null;\n });\n var IOSupported = false;\n\n if (typeof window !== \"undefined\" && window.IntersectionObserver) {\n IOSupported = true;\n }\n\n _this.state = {\n IOSupported: IOSupported\n };\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n var _proto = GatsbyLink.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Preserve non IO functionality if no support\n if (this.props.to !== prevProps.to && !this.state.IOSupported) {\n ___loader.enqueue((0, _parsePath.parsePath)(this.props.to).pathname);\n }\n };\n\n _proto.componentDidMount = function componentDidMount() {\n // Preserve non IO functionality if no support\n if (!this.state.IOSupported) {\n ___loader.enqueue((0, _parsePath.parsePath)(this.props.to).pathname);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (!this.io) {\n return;\n }\n\n var _this$io = this.io,\n instance = _this$io.instance,\n el = _this$io.el;\n instance.unobserve(el);\n instance.disconnect();\n };\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.props.innerRef && this.props.innerRef.hasOwnProperty(\"current\")) {\n this.props.innerRef.current = ref;\n } else if (this.props.innerRef) {\n this.props.innerRef(ref);\n }\n\n if (this.state.IOSupported && ref) {\n // If IO supported and element reference found, setup Observer functionality\n this.io = createIntersectionObserver(ref, function () {\n ___loader.enqueue((0, _parsePath.parsePath)(_this2.props.to).pathname);\n });\n }\n };\n\n _proto.render = function render() {\n var _this3 = this;\n\n var _this$props = this.props,\n to = _this$props.to,\n _this$props$getProps = _this$props.getProps,\n getProps = _this$props$getProps === void 0 ? this.defaultGetProps : _this$props$getProps,\n _onClick = _this$props.onClick,\n _onMouseEnter = _this$props.onMouseEnter,\n $activeClassName = _this$props.activeClassName,\n $activeStyle = _this$props.activeStyle,\n $innerRef = _this$props.innerRef,\n partiallyActive = _this$props.partiallyActive,\n state = _this$props.state,\n replace = _this$props.replace,\n rest = (0, _objectWithoutPropertiesLoose2[\"default\"])(_this$props, [\"to\", \"getProps\", \"onClick\", \"onMouseEnter\", \"activeClassName\", \"activeStyle\", \"innerRef\", \"partiallyActive\", \"state\", \"replace\"]);\n var LOCAL_URL = /^\\/(?!\\/)/;\n\n if (process.env.NODE_ENV !== \"production\" && !LOCAL_URL.test(to)) {\n console.warn(\"External link \" + to + \" was detected in a Link component. Use the Link component only for internal links. See: https://gatsby.dev/internal-links\");\n }\n\n var prefixedTo = withPrefix(to);\n return _react[\"default\"].createElement(_router.Link, (0, _extends2[\"default\"])({\n to: prefixedTo,\n state: state,\n getProps: getProps,\n innerRef: this.handleRef,\n onMouseEnter: function onMouseEnter(e) {\n if (_onMouseEnter) {\n _onMouseEnter(e);\n }\n\n ___loader.hovering((0, _parsePath.parsePath)(to).pathname);\n },\n onClick: function onClick(e) {\n if (_onClick) {\n _onClick(e);\n }\n\n if (e.button === 0 && // ignore right clicks\n !_this3.props.target && // let browser handle \"target=_blank\"\n !e.defaultPrevented && // onClick prevented default\n !e.metaKey && // ignore clicks with modifier keys...\n !e.altKey && !e.ctrlKey && !e.shiftKey) {\n e.preventDefault(); // Make sure the necessary scripts and data are\n // loaded before continuing.\n\n navigate(to, {\n state: state,\n replace: replace\n });\n }\n\n return true;\n }\n }, rest));\n };\n\n return GatsbyLink;\n}(_react[\"default\"].Component);\n\nGatsbyLink.propTypes = (0, _extends2[\"default\"])({}, NavLinkPropTypes, {\n onClick: _propTypes[\"default\"].func,\n to: _propTypes[\"default\"].string.isRequired,\n replace: _propTypes[\"default\"].bool\n});\n\nvar showDeprecationWarning = function showDeprecationWarning(functionName, altFunctionName, version) {\n return console.warn(\"The \\\"\" + functionName + \"\\\" method is now deprecated and will be removed in Gatsby v\" + version + \". Please use \\\"\" + altFunctionName + \"\\\" instead.\");\n};\n\nvar _default = _react[\"default\"].forwardRef(function (props, ref) {\n return _react[\"default\"].createElement(GatsbyLink, (0, _extends2[\"default\"])({\n innerRef: ref\n }, props));\n});\n\nexports[\"default\"] = _default;\n\nvar navigate = function navigate(to, options) {\n window.___navigate(withPrefix(to), options);\n};\n\nexports.navigate = navigate;\n\nvar push = function push(to) {\n showDeprecationWarning(\"push\", \"navigate\", 3);\n\n window.___push(withPrefix(to));\n};\n\nexports.push = push;\n\nvar replace = function replace(to) {\n showDeprecationWarning(\"replace\", \"navigate\", 3);\n\n window.___replace(withPrefix(to));\n}; // TODO: Remove navigateTo for Gatsby v3\n\n\nexports.replace = replace;\n\nvar navigateTo = function navigateTo(to) {\n showDeprecationWarning(\"navigateTo\", \"navigate\", 3);\n return push(to);\n};\n\nexports.navigateTo = navigateTo;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = scrollTop;\n\nvar _isWindow = _interopRequireDefault(require(\"./isWindow\"));\n\nfunction scrollTop(node, val) {\n var win = (0, _isWindow[\"default\"])(node);\n if (val === undefined) return win ? 'pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft : node.scrollLeft;\n if (win) win.scrollTo(val, 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop);else node.scrollLeft = val;\n}\n\nmodule.exports = exports[\"default\"];","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nrequire(\"core-js/modules/es6.function.name\");\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\n\nfunction emptyFunctionWithReset() {}\n\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function () {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n\n var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n ;\n shim.isRequired = shim;\n\n function getShim() {\n return shim;\n }\n\n ; // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n ReactPropTypes.PropTypes = ReactPropTypes;\n return ReactPropTypes;\n};","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is'); // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n\n\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\n\nvar SessionStorage =\n/*#__PURE__*/\nfunction () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return JSON.parse(value);\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return {};\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n\n _proto.getStateKey = function getStateKey(location, key) {\n var locationKey = location.key || location.pathname;\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + locationKey;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n\n return SessionStorage;\n}();\n\nexports[\"default\"] = SessionStorage;","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _scrollBehavior = _interopRequireDefault(require(\"scroll-behavior\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _history = require(\"@reach/router/lib/history\");\n\nvar _StateStorage = _interopRequireDefault(require(\"./StateStorage\"));\n\nvar propTypes = {\n shouldUpdateScroll: _propTypes[\"default\"].func,\n children: _propTypes[\"default\"].element.isRequired,\n location: _propTypes[\"default\"].object.isRequired\n};\nvar childContextTypes = {\n scrollBehavior: _propTypes[\"default\"].object.isRequired\n};\n\nvar ScrollContext =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2[\"default\"])(ScrollContext, _React$Component);\n\n function ScrollContext(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"shouldUpdateScroll\", function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing scrollBehavior._stateStorage.\n\n\n return shouldUpdateScroll.call(_this.scrollBehavior, prevRouterProps, routerProps);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"registerElement\", function (key, element, shouldUpdateScroll) {\n _this.scrollBehavior.registerElement(key, element, shouldUpdateScroll, _this.getRouterProps());\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"unregisterElement\", function (key) {\n _this.scrollBehavior.unregisterElement(key);\n });\n _this.scrollBehavior = new _scrollBehavior[\"default\"]({\n addTransitionHook: _history.globalHistory.listen,\n stateStorage: new _StateStorage[\"default\"](),\n getCurrentLocation: function getCurrentLocation() {\n return _this.props.location;\n },\n shouldUpdateScroll: _this.shouldUpdateScroll\n });\n return _this;\n }\n\n var _proto = ScrollContext.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n scrollBehavior: this\n };\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var location = this.props.location;\n var prevLocation = prevProps.location;\n\n if (location === prevLocation) {\n return;\n }\n\n var prevRouterProps = {\n location: prevProps.location\n }; // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n // Temp hack while awaiting https://github.com/reach/router/issues/119\n\n if (window.__navigatingToLink) {\n location.action = \"PUSH\";\n } else {\n location.action = \"POP\";\n }\n\n this.scrollBehavior.updateScroll(prevRouterProps, {\n history: _history.globalHistory,\n location: location\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.scrollBehavior.stop();\n };\n\n _proto.getRouterProps = function getRouterProps() {\n var location = this.props.location;\n return {\n location: location,\n history: _history.globalHistory\n };\n };\n\n _proto.render = function render() {\n return _react[\"default\"].Children.only(this.props.children);\n };\n\n return ScrollContext;\n}(_react[\"default\"].Component);\n\nScrollContext.propTypes = propTypes;\nScrollContext.childContextTypes = childContextTypes;\nvar _default = ScrollContext;\nexports[\"default\"] = _default;","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.array.index-of\";\nimport \"core-js/modules/es6.object.create\";\n\n// \n// An event handler can take an optional event argument\n// and should not return a value\n// An array of all currently registered event handlers for a type\n// A map of event types and their corresponding event handlers.\n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all) {\n all = all || Object.create(null);\n return {\n /**\n * Register an event handler for the given type.\n *\n * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n * @param {Function} handler Function to call in response to given event\n * @memberOf mitt\n */\n on: function on(type, handler) {\n (all[type] || (all[type] = [])).push(handler);\n },\n\n /**\n * Remove an event handler for the given type.\n *\n * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n * @param {Function} handler Handler function to remove\n * @memberOf mitt\n */\n off: function off(type, handler) {\n if (all[type]) {\n all[type].splice(all[type].indexOf(handler) >>> 0, 1);\n }\n },\n\n /**\n * Invoke all handlers for the given type.\n * If present, `\"*\"` handlers are invoked after type-matched handlers.\n *\n * @param {String} type The event type to invoke\n * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n * @memberOf mitt\n */\n emit: function emit(type, evt) {\n (all[type] || []).slice().map(function (handler) {\n handler(evt);\n });\n (all['*'] || []).slice().map(function (handler) {\n handler(type, evt);\n });\n }\n };\n}\n\nexport default mitt;","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n'use strict';\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nrequire(\"core-js/modules/es6.regexp.replace\");\n\nvar warning = function warning() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function warning(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.length < 10 || /^[s\\W]*$/.test(format)) {\n throw new Error('The warning format should be able to uniquely identify this ' + 'warning. Please, use a more descriptive format than: ' + format);\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n };\n}\n\nmodule.exports = warning;","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _ScrollBehaviorContext = _interopRequireDefault(require(\"./ScrollBehaviorContext\"));\n\nvar _ScrollContainer = _interopRequireDefault(require(\"./ScrollContainer\"));\n\nexports.ScrollContainer = _ScrollContainer[\"default\"];\nexports.ScrollContext = _ScrollBehaviorContext[\"default\"];","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = getWindow;\n\nfunction getWindow(node) {\n return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","exports.polyfill = Component => Component\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","import \"core-js/modules/es6.regexp.split\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.promise\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.date.now\";\nimport \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/es6.object.assign\";\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar getLocation = function getLocation(source) {\n return _extends({}, source.location, {\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n });\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: \"POP\"\n });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n state = _extends({}, state, {\n key: Date.now() + \"\"\n }); // try...catch iOS Safari limits to 100 pushState calls\n\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({\n location: location,\n action: \"PUSH\"\n });\n });\n return transition;\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\n\n\nvar createMemorySource = function createMemorySource() {\n var initialPathname = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var index = 0;\n var stack = [{\n pathname: initialPathname,\n search: \"\"\n }];\n var states = [];\n return {\n get location() {\n return stack[index];\n },\n\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n\n get index() {\n return index;\n },\n\n get state() {\n return states[index];\n },\n\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({\n pathname: pathname,\n search: search\n });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = {\n pathname: pathname,\n search: search\n };\n states[index] = state;\n }\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\n\n\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate; ////////////////////////////////////////////////////////////////////////////////\n\nexport { globalHistory, navigate, createHistory, createMemorySource };","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexports[\"default\"] = _default;\nmodule.exports = exports[\"default\"];","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","import React, { createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { publicLoader } from \"./loader\"\nimport { apiRunner } from \"./api-runner-browser\"\n\n// Renders page\nclass PageRenderer extends React.Component {\n render() {\n const props = {\n ...this.props,\n pathContext: this.props.pageContext,\n }\n\n const [replacementElement] = apiRunner(`replaceComponentRenderer`, {\n props: this.props,\n loader: publicLoader,\n })\n\n const pageElement =\n replacementElement ||\n createElement(this.props.pageResources.component, {\n ...props,\n key: this.props.path || this.props.pageResources.page.path,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n { element: pageElement, props },\n pageElement,\n ({ result }) => {\n return { element: result, props }\n }\n ).pop()\n\n return wrappedPage\n }\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _warning = _interopRequireDefault(require(\"warning\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar propTypes = {\n scrollKey: _propTypes[\"default\"].string.isRequired,\n shouldUpdateScroll: _propTypes[\"default\"].func,\n children: _propTypes[\"default\"].element.isRequired\n};\nvar contextTypes = {\n // This is necessary when rendering on the client. However, when rendering on\n // the server, this container will do nothing, and thus does not require the\n // scroll behavior context.\n scrollBehavior: _propTypes[\"default\"].object\n};\n\nvar ScrollContainer =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2[\"default\"])(ScrollContainer, _React$Component);\n\n function ScrollContainer(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this; // We don't re-register if the scroll key changes, so make sure we\n // unregister with the initial scroll key just in case the user changes it.\n\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"shouldUpdateScroll\", function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing scrollBehavior._stateStorage.\n\n\n return shouldUpdateScroll.call(_this.context.scrollBehavior.scrollBehavior, prevRouterProps, routerProps);\n });\n _this.scrollKey = props.scrollKey;\n return _this;\n }\n\n var _proto = ScrollContainer.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.context.scrollBehavior.registerElement(this.props.scrollKey, _reactDom[\"default\"].findDOMNode(this), // eslint-disable-line react/no-find-dom-node\n this.shouldUpdateScroll); // Only keep around the current DOM node in development, as this is only\n // for emitting the appropriate warning.\n\n if (process.env.NODE_ENV !== \"production\") {\n this.domNode = _reactDom[\"default\"].findDOMNode(this); // eslint-disable-line react/no-find-dom-node\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n (0, _warning[\"default\"])(prevProps.scrollKey === this.props.scrollKey, \"<ScrollContainer> does not support changing scrollKey.\");\n\n if (process.env.NODE_ENV !== \"production\") {\n var prevDomNode = this.domNode;\n this.domNode = _reactDom[\"default\"].findDOMNode(this); // eslint-disable-line react/no-find-dom-node\n\n (0, _warning[\"default\"])(this.domNode === prevDomNode, \"<ScrollContainer> does not support changing DOM node.\");\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.context.scrollBehavior.unregisterElement(this.scrollKey);\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return ScrollContainer;\n}(_react[\"default\"].Component);\n\nScrollContainer.propTypes = propTypes;\nScrollContainer.contextTypes = contextTypes;\nvar _default = ScrollContainer;\nexports[\"default\"] = _default;","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","\"use strict\";\n\nrequire(\"core-js/modules/es6.array.is-array\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.promise\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _off = _interopRequireDefault(require(\"dom-helpers/events/off\"));\n\nvar _on = _interopRequireDefault(require(\"dom-helpers/events/on\"));\n\nvar _scrollLeft = _interopRequireDefault(require(\"dom-helpers/query/scrollLeft\"));\n\nvar _scrollTop = _interopRequireDefault(require(\"dom-helpers/query/scrollTop\"));\n\nvar _requestAnimationFrame = _interopRequireDefault(require(\"dom-helpers/util/requestAnimationFrame\"));\n\nvar _invariant = _interopRequireDefault(require(\"invariant\"));\n\nvar _utils = require(\"./utils\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n/* eslint-disable no-underscore-dangle */\n// Try at most this many times to scroll, to avoid getting stuck.\n\n\nvar MAX_SCROLL_ATTEMPTS = 2;\n\nvar ScrollBehavior =\n/*#__PURE__*/\nfunction () {\n function ScrollBehavior(_ref) {\n var _this = this;\n\n var addTransitionHook = _ref.addTransitionHook,\n stateStorage = _ref.stateStorage,\n getCurrentLocation = _ref.getCurrentLocation,\n shouldUpdateScroll = _ref.shouldUpdateScroll;\n\n this._restoreScrollRestoration = function () {\n /* istanbul ignore if: not supported by any browsers on Travis */\n if (_this._oldScrollRestoration) {\n try {\n window.history.scrollRestoration = _this._oldScrollRestoration;\n } catch (e) {\n /* silence */\n }\n }\n };\n\n this._onWindowScroll = function () {\n if (_this._ignoreScrollEvents) {\n // Don't save the scroll position until the transition is complete\n return;\n } // It's possible that this scroll operation was triggered by what will be a\n // `POP` transition. Instead of updating the saved location immediately, we\n // have to enqueue the update, then potentially cancel it if we observe a\n // location update.\n\n\n if (!_this._saveWindowPositionHandle) {\n _this._saveWindowPositionHandle = (0, _requestAnimationFrame[\"default\"])(_this._saveWindowPosition);\n }\n\n if (_this._windowScrollTarget) {\n var _this$_windowScrollTa = _this._windowScrollTarget,\n xTarget = _this$_windowScrollTa[0],\n yTarget = _this$_windowScrollTa[1];\n var x = (0, _scrollLeft[\"default\"])(window);\n var y = (0, _scrollTop[\"default\"])(window);\n\n if (x === xTarget && y === yTarget) {\n _this._windowScrollTarget = null;\n\n _this._cancelCheckWindowScroll();\n }\n }\n };\n\n this._saveWindowPosition = function () {\n _this._saveWindowPositionHandle = null;\n\n _this._savePosition(null, window);\n };\n\n this._checkWindowScrollPosition = function () {\n _this._checkWindowScrollHandle = null; // We can only get here if scrollTarget is set. Every code path that unsets\n // scroll target also cancels the handle to avoid calling this handler.\n // Still, check anyway just in case.\n\n /* istanbul ignore if: paranoid guard */\n\n if (!_this._windowScrollTarget) {\n return Promise.resolve();\n }\n\n _this.scrollToTarget(window, _this._windowScrollTarget);\n\n ++_this._numWindowScrollAttempts;\n /* istanbul ignore if: paranoid guard */\n\n if (_this._numWindowScrollAttempts >= MAX_SCROLL_ATTEMPTS) {\n // This might happen if the scroll position was already set to the target\n _this._windowScrollTarget = null;\n return Promise.resolve();\n }\n\n return new Promise(function (resolve) {\n _this._checkWindowScrollHandle = (0, _requestAnimationFrame[\"default\"])(function () {\n return resolve(_this._checkWindowScrollPosition());\n });\n });\n };\n\n this._stateStorage = stateStorage;\n this._getCurrentLocation = getCurrentLocation;\n this._shouldUpdateScroll = shouldUpdateScroll; // This helps avoid some jankiness in fighting against the browser's\n // default scroll behavior on `POP` transitions.\n\n /* istanbul ignore else: Travis browsers all support this */\n\n if ('scrollRestoration' in window.history && // Unfortunately, Safari on iOS freezes for 2-6s after the user swipes to\n // navigate through history with scrollRestoration being 'manual', so we\n // need to detect this browser and exclude it from the following code\n // until this bug is fixed by Apple.\n !(0, _utils.isMobileSafari)()) {\n this._oldScrollRestoration = window.history.scrollRestoration;\n\n try {\n window.history.scrollRestoration = 'manual'; // Scroll restoration persists across page reloads. We want to reset\n // this to the original value, so that we can let the browser handle\n // restoring the initial scroll position on server-rendered pages.\n\n (0, _on[\"default\"])(window, 'beforeunload', this._restoreScrollRestoration);\n } catch (e) {\n this._oldScrollRestoration = null;\n }\n } else {\n this._oldScrollRestoration = null;\n }\n\n this._saveWindowPositionHandle = null;\n this._checkWindowScrollHandle = null;\n this._windowScrollTarget = null;\n this._numWindowScrollAttempts = 0;\n this._ignoreScrollEvents = false;\n this._scrollElements = {}; // We have to listen to each window scroll update rather than to just\n // location updates, because some browsers will update scroll position\n // before emitting the location change.\n\n (0, _on[\"default\"])(window, 'scroll', this._onWindowScroll);\n this._removeTransitionHook = addTransitionHook(function () {\n _requestAnimationFrame[\"default\"].cancel(_this._saveWindowPositionHandle);\n\n _this._saveWindowPositionHandle = null;\n Object.keys(_this._scrollElements).forEach(function (key) {\n var scrollElement = _this._scrollElements[key];\n\n _requestAnimationFrame[\"default\"].cancel(scrollElement.savePositionHandle);\n\n scrollElement.savePositionHandle = null; // It's fine to save element scroll positions here, though; the browser\n // won't modify them.\n\n if (!_this._ignoreScrollEvents) {\n _this._saveElementPosition(key);\n }\n });\n });\n }\n\n var _proto = ScrollBehavior.prototype;\n\n _proto.registerElement = function registerElement(key, element, shouldUpdateScroll, context) {\n var _this2 = this;\n\n !!this._scrollElements[key] ? process.env.NODE_ENV !== \"production\" ? (0, _invariant[\"default\"])(false, 'ScrollBehavior: There is already an element registered for `%s`.', key) : invariant(false) : void 0;\n\n var saveElementPosition = function saveElementPosition() {\n _this2._saveElementPosition(key);\n };\n\n var scrollElement = {\n element: element,\n shouldUpdateScroll: shouldUpdateScroll,\n savePositionHandle: null,\n onScroll: function onScroll() {\n if (!scrollElement.savePositionHandle && !_this2._ignoreScrollEvents) {\n scrollElement.savePositionHandle = (0, _requestAnimationFrame[\"default\"])(saveElementPosition);\n }\n }\n }; // In case no scrolling occurs, save the initial position\n\n if (!scrollElement.savePositionHandle && !this._ignoreScrollEvents) {\n scrollElement.savePositionHandle = (0, _requestAnimationFrame[\"default\"])(saveElementPosition);\n }\n\n this._scrollElements[key] = scrollElement;\n (0, _on[\"default\"])(element, 'scroll', scrollElement.onScroll);\n\n this._updateElementScroll(key, null, context);\n };\n\n _proto.unregisterElement = function unregisterElement(key) {\n !this._scrollElements[key] ? process.env.NODE_ENV !== \"production\" ? (0, _invariant[\"default\"])(false, 'ScrollBehavior: There is no element registered for `%s`.', key) : invariant(false) : void 0;\n var _this$_scrollElements = this._scrollElements[key],\n element = _this$_scrollElements.element,\n onScroll = _this$_scrollElements.onScroll,\n savePositionHandle = _this$_scrollElements.savePositionHandle;\n (0, _off[\"default\"])(element, 'scroll', onScroll);\n\n _requestAnimationFrame[\"default\"].cancel(savePositionHandle);\n\n delete this._scrollElements[key];\n };\n\n _proto.updateScroll = function updateScroll(prevContext, context) {\n var _this3 = this;\n\n this._updateWindowScroll(prevContext, context).then(function () {\n // Save the position immediately after a transition so that if no\n // scrolling occurs, there is still a saved position\n if (!_this3._saveWindowPositionHandle) {\n _this3._saveWindowPositionHandle = (0, _requestAnimationFrame[\"default\"])(_this3._saveWindowPosition);\n }\n });\n\n Object.keys(this._scrollElements).forEach(function (key) {\n _this3._updateElementScroll(key, prevContext, context);\n });\n };\n\n _proto.stop = function stop() {\n this._restoreScrollRestoration();\n\n (0, _off[\"default\"])(window, 'scroll', this._onWindowScroll);\n\n this._cancelCheckWindowScroll();\n\n this._removeTransitionHook();\n };\n\n _proto.startIgnoringScrollEvents = function startIgnoringScrollEvents() {\n this._ignoreScrollEvents = true;\n };\n\n _proto.stopIgnoringScrollEvents = function stopIgnoringScrollEvents() {\n this._ignoreScrollEvents = false;\n };\n\n _proto._cancelCheckWindowScroll = function _cancelCheckWindowScroll() {\n _requestAnimationFrame[\"default\"].cancel(this._checkWindowScrollHandle);\n\n this._checkWindowScrollHandle = null;\n };\n\n _proto._saveElementPosition = function _saveElementPosition(key) {\n var scrollElement = this._scrollElements[key];\n scrollElement.savePositionHandle = null;\n\n this._savePosition(key, scrollElement.element);\n };\n\n _proto._savePosition = function _savePosition(key, element) {\n this._stateStorage.save(this._getCurrentLocation(), key, [(0, _scrollLeft[\"default\"])(element), (0, _scrollTop[\"default\"])(element)]);\n };\n\n _proto._updateWindowScroll = function _updateWindowScroll(prevContext, context) {\n // Whatever we were doing before isn't relevant any more.\n this._cancelCheckWindowScroll();\n\n this._windowScrollTarget = this._getScrollTarget(null, this._shouldUpdateScroll, prevContext, context); // Updating the window scroll position is really flaky. Just trying to\n // scroll it isn't enough. Instead, try to scroll a few times until it\n // works.\n\n this._numWindowScrollAttempts = 0;\n return this._checkWindowScrollPosition();\n };\n\n _proto._updateElementScroll = function _updateElementScroll(key, prevContext, context) {\n var _this$_scrollElements2 = this._scrollElements[key],\n element = _this$_scrollElements2.element,\n shouldUpdateScroll = _this$_scrollElements2.shouldUpdateScroll;\n\n var scrollTarget = this._getScrollTarget(key, shouldUpdateScroll, prevContext, context);\n\n if (!scrollTarget) {\n return;\n } // Unlike with the window, there shouldn't be any flakiness to deal with\n // here.\n\n\n this.scrollToTarget(element, scrollTarget);\n };\n\n _proto._getDefaultScrollTarget = function _getDefaultScrollTarget(location) {\n var hash = location.hash;\n\n if (hash && hash !== '#') {\n return hash.charAt(0) === '#' ? hash.slice(1) : hash;\n }\n\n return [0, 0];\n };\n\n _proto._getScrollTarget = function _getScrollTarget(key, shouldUpdateScroll, prevContext, context) {\n var scrollTarget = shouldUpdateScroll ? shouldUpdateScroll.call(this, prevContext, context) : true;\n\n if (!scrollTarget || Array.isArray(scrollTarget) || typeof scrollTarget === 'string') {\n return scrollTarget;\n }\n\n var location = this._getCurrentLocation();\n\n return this._getSavedScrollTarget(key, location) || this._getDefaultScrollTarget(location);\n };\n\n _proto._getSavedScrollTarget = function _getSavedScrollTarget(key, location) {\n if (location.action === 'PUSH') {\n return null;\n }\n\n return this._stateStorage.read(location, key);\n };\n\n _proto.scrollToTarget = function scrollToTarget(element, target) {\n if (typeof target === 'string') {\n var targetElement = document.getElementById(target) || document.getElementsByName(target)[0];\n\n if (targetElement) {\n targetElement.scrollIntoView();\n return;\n } // Fallback to scrolling to top when target fragment doesn't exist.\n\n\n target = [0, 0]; // eslint-disable-line no-param-reassign\n }\n\n var _target = target,\n left = _target[0],\n top = _target[1];\n (0, _scrollLeft[\"default\"])(element, left);\n (0, _scrollTop[\"default\"])(element, top);\n };\n\n return ScrollBehavior;\n}();\n\nexports[\"default\"] = ScrollBehavior;\nmodule.exports = exports[\"default\"];","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","module.exports = false;\n","import \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/es6.array.reduce\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/es6.array.sort\";\nimport \"core-js/modules/es6.array.index-of\";\nimport \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.regexp.split\";\nimport invariant from \"invariant\"; ////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\n\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n}; ////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\n\n\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route[\"default\"]) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n var _isSplat = routeSegment === \"*\";\n\n if (_isSplat) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n params[\"*\"] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<Router> dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : invariant(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n}; ////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\n\n\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n}; ////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// <Link to=\"deeper\"/>\n// // instead of\n// <Link to=`{${props.uri}/deeper}`/>\n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\n\n\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname); // ?a=b, /users?b=c => /users?a=b\n\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n } // profile, /users/789 => /users/789/profile\n\n\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n } // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n\n\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n}; ////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\n\nvar insertParams = function insertParams(path, params) {\n var segments = segmentize(path);\n return \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\n\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\n\nvar isSplat = function isSplat(segment) {\n return segment === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route[\"default\"] ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return {\n route: route,\n score: score,\n index: index\n };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname, query) {\n return pathname + (query ? \"?\" + query : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"]; ////////////////////////////////////////////////////////////////////////////////\n\nexport { startsWith, pick, match, resolve, insertParams, validateRedirect };","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","module.exports = [{\n plugin: require('../node_modules/gatsby-remark-autolink-headers/gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby-remark-images/gatsby-browser.js'),\n options: {\"plugins\":[],\"maxWidth\":590,\"backgroundColor\":\"transparent\"},\n }]\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","require(\"core-js/modules/es6.array.index-of\");\n\n/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n * ie10 fix - Mikael Kristiansson 2019\n */\n!function (name, definition) {\n if (typeof module != 'undefined') module.exports = definition();else if (typeof define == 'function' && typeof define.amd == 'object') define(definition);else this[name] = definition();\n}('domready', function () {\n var ie10 = false;\n\n if (navigator.appVersion.indexOf(\"MSIE 10\") !== -1) {\n ie10 = true;\n }\n\n var fns = [],\n _listener,\n doc = typeof document === 'object' && document,\n hack = ie10 ? doc.documentElement.doScroll() : doc.documentElement.doScroll,\n domContentLoaded = 'DOMContentLoaded',\n loaded = doc && (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);\n\n if (!loaded && doc) doc.addEventListener(domContentLoaded, _listener = function listener() {\n doc.removeEventListener(domContentLoaded, _listener);\n loaded = 1;\n\n while (_listener = fns.shift()) {\n _listener();\n }\n });\n return function (fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn);\n };\n});","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n'use strict';\n/* eslint-disable no-unused-vars */\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\nrequire(\"core-js/modules/es6.regexp.split\");\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.array.map\");\n\nrequire(\"core-js/modules/es6.object.assign\");\n\nrequire(\"core-js/modules/es6.symbol\");\n\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined');\n }\n\n return Object(val);\n}\n\nfunction shouldUseNative() {\n try {\n if (!Object.assign) {\n return false;\n } // Detect buggy property enumeration order in older V8 versions.\n // https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\n\n var test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\n test1[5] = 'de';\n\n if (Object.getOwnPropertyNames(test1)[0] === '5') {\n return false;\n } // https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\n\n var test2 = {};\n\n for (var i = 0; i < 10; i++) {\n test2['_' + String.fromCharCode(i)] = i;\n }\n\n var order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n return test2[n];\n });\n\n if (order2.join('') !== '0123456789') {\n return false;\n } // https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\n\n var test3 = {};\n 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n test3[letter] = letter;\n });\n\n if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') {\n return false;\n }\n\n return true;\n } catch (err) {\n // We don't expect any of the above to throw, but better to be safe.\n return false;\n }\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n var from;\n var to = toObject(target);\n var symbols;\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]];\n }\n }\n }\n }\n\n return to;\n};","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","exports.f = require('./_wks');\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function(reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function(e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","\"use strict\";\n\nexports.__esModule = true;\nexports.isMobileSafari = isMobileSafari;\n\nfunction isMobileSafari() {\n return /iPad|iPhone|iPod/.test(window.navigator.platform) && /^((?!CriOS).)*Safari/.test(window.navigator.userAgent);\n}","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nrequire(\"core-js/modules/es6.function.name\");\n\nrequire(\"core-js/modules/es6.regexp.replace\");\n\nvar invariant = function invariant(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n\n throw error;\n }\n};\n\nmodule.exports = invariant;","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","exports.f = {}.propertyIsEnumerable;\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader from \"./loader\"\nimport redirects from \"./redirects.json\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { navigate as reachNavigate } from \"@reach/router\"\nimport { parsePath } from \"gatsby-link\"\n\n// Convert to a map for faster lookup in maybeRedirect()\nconst redirectMap = redirects.reduce((map, redirect) => {\n map[redirect.fromPath] = redirect\n return map\n}, {})\n\nfunction maybeRedirect(pathname) {\n const redirect = redirectMap[pathname]\n\n if (redirect != null) {\n if (process.env.NODE_ENV !== `production`) {\n const pageResources = loader.loadPageSync(pathname)\n\n if (pageResources != null) {\n console.error(\n `The route \"${pathname}\" matches both a page and a redirect; this is probably not intentional.`\n )\n }\n }\n\n window.___replace(redirect.toPath)\n return true\n } else {\n return false\n }\n}\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n\n // Temp hack while awaiting https://github.com/reach/router/issues/119\n window.__navigatingToLink = false\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Temp hack while awaiting https://github.com/reach/router/issues/119\n if (!options.replace) {\n window.__navigatingToLink = true\n }\n\n let { pathname } = parsePath(to)\n const redirect = redirectMap[pathname]\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath\n pathname = parsePath(to).pathname\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === `error`) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n }\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n console.log(`Site has changed on server. Reloading browser`)\n window.location = pathname\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => this._stateStorage.read(args),\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // Temp hack while awaiting https://github.com/reach/router/issues/119\n window.__navigatingToLink = false\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n\n // Check for initial page-load redirect\n maybeRedirect(window.location.pathname)\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n componentDidUpdate(prevProps, prevState, shouldFireRouteUpdate) {\n if (shouldFireRouteUpdate) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n getSnapshotBeforeUpdate(prevProps) {\n if (this.props.location.pathname !== prevProps.location.pathname) {\n onPreRouteUpdate(this.props.location, prevProps.location)\n return true\n }\n\n return false\n }\n\n render() {\n return this.props.children\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }\n\n for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }\n\n return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources: pageResources || loader.loadPageSync(location.pathname),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(location.pathname)\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== `error`) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(nextProps.location.pathname)\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport { Router, navigate, Location, BaseContext } from \"@reach/router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport domReady from \"@mikaelkristiansson/domready\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"./async-requires\"\nimport { setLoader, ProdLoader, publicLoader } from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"./match-paths.json\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n <BaseContext.Provider\n value={{\n baseuri: `/`,\n basepath: `/`,\n }}\n >\n <PageRenderer {...props} />\n </BaseContext.Provider>\n )\n\n class LocationHandler extends React.Component {\n render() {\n const { location } = this.props\n return (\n <EnsureResources location={location}>\n {({ pageResources, location }) => (\n <RouteUpdates location={location}>\n <ScrollContext\n location={location}\n shouldUpdateScroll={shouldUpdateScroll}\n >\n <Router\n basepath={__BASE_PATH__}\n location={location}\n id=\"gatsby-focus-wrapper\"\n >\n <RouteHandler\n path={\n pageResources.page.path === `/404.html`\n ? stripPrefix(location.pathname, __BASE_PATH__)\n : encodeURI(\n pageResources.page.matchPath ||\n pageResources.page.path\n )\n }\n {...this.props}\n location={location}\n pageResources={pageResources}\n {...pageResources.json}\n />\n </Router>\n </ScrollContext>\n </RouteUpdates>\n )}\n </EnsureResources>\n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). But\n // only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !== browserLoc.pathname &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath === `/404.html` ||\n pagePath.match(/^\\/404\\/?$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(__BASE_PATH__ + pagePath + browserLoc.search + browserLoc.hash, {\n replace: true,\n })\n }\n\n publicLoader.loadPage(browserLoc.pathname).then(page => {\n if (!page || page.status === `error`) {\n throw new Error(\n `page resources for ${browserLoc.pathname} not found. Not rendering React`\n )\n }\n\n window.___webpackCompilationHash = page.page.webpackCompilationHash\n\n const Root = () => (\n <Location>\n {locationContext => <LocationHandler {...locationContext} />}\n </Location>\n )\n\n const WrappedRoot = apiRunner(\n `wrapRootElement`,\n { element: <Root /> },\n <Root />,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n let NewRoot = () => WrappedRoot\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n ReactDOM.hydrate\n )[0]\n\n domReady(() => {\n renderer(\n <NewRoot />,\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : void 0,\n () => {\n apiRunner(`onInitialClientRender`)\n }\n )\n })\n })\n})\n","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\nmodule.exports = ReactPropTypesSecret;","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","import React from \"react\"\n\nexport default React.createContext\n","import \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.promise\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.object.set-prototype-of\";\nimport \"core-js/modules/es6.object.create\";\nimport \"core-js/modules/es6.array.index-of\";\nimport \"core-js/modules/es6.object.assign\";\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n/* eslint-disable jsx-a11y/anchor-has-content */\n\n\nimport React from \"react\";\nimport warning from \"warning\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"invariant\";\nimport createContext from \"create-react-context\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { startsWith, pick, resolve, match, insertParams, validateRedirect } from \"./lib/utils\";\nimport { globalHistory, navigate, createHistory, createMemorySource } from \"./lib/history\"; ////////////////////////////////////////////////////////////////////////////////\n\nvar createNamedContext = function createNamedContext(name, defaultValue) {\n var Ctx = createContext(defaultValue);\n Ctx.Consumer.displayName = name + \".Consumer\";\n Ctx.Provider.displayName = name + \".Provider\";\n return Ctx;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Location Context/Provider\n\n\nvar LocationContext = createNamedContext(\"Location\"); // sets up a listener if there isn't one already so apps don't need to be\n// wrapped in some top level provider\n\nvar Location = function Location(_ref) {\n var children = _ref.children;\n return React.createElement(LocationContext.Consumer, null, function (context) {\n return context ? children(context) : React.createElement(LocationProvider, null, children);\n });\n};\n\nvar LocationProvider = function (_React$Component) {\n _inherits(LocationProvider, _React$Component);\n\n function LocationProvider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, LocationProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n context: _this.getContext(),\n refs: {\n unlisten: null\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n LocationProvider.prototype.getContext = function getContext() {\n var _props$history = this.props.history,\n navigate = _props$history.navigate,\n location = _props$history.location;\n return {\n navigate: navigate,\n location: location\n };\n };\n\n LocationProvider.prototype.componentDidCatch = function componentDidCatch(error, info) {\n if (isRedirect(error)) {\n var _navigate = this.props.history.navigate;\n\n _navigate(error.uri, {\n replace: true\n });\n } else {\n throw error;\n }\n };\n\n LocationProvider.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevState.context.location !== this.state.context.location) {\n this.props.history._onTransitionComplete();\n }\n };\n\n LocationProvider.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n var refs = this.state.refs,\n history = this.props.history;\n refs.unlisten = history.listen(function () {\n Promise.resolve().then(function () {\n // TODO: replace rAF with react deferred update API when it's ready https://github.com/facebook/react/issues/13306\n requestAnimationFrame(function () {\n if (!_this2.unmounted) {\n _this2.setState(function () {\n return {\n context: _this2.getContext()\n };\n });\n }\n });\n });\n });\n };\n\n LocationProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n var refs = this.state.refs;\n this.unmounted = true;\n refs.unlisten();\n };\n\n LocationProvider.prototype.render = function render() {\n var context = this.state.context,\n children = this.props.children;\n return React.createElement(LocationContext.Provider, {\n value: context\n }, typeof children === \"function\" ? children(context) : children || null);\n };\n\n return LocationProvider;\n}(React.Component); ////////////////////////////////////////////////////////////////////////////////\n\n\nLocationProvider.defaultProps = {\n history: globalHistory\n};\nprocess.env.NODE_ENV !== \"production\" ? LocationProvider.propTypes = {\n history: PropTypes.object.isRequired\n} : void 0;\n\nvar ServerLocation = function ServerLocation(_ref2) {\n var url = _ref2.url,\n children = _ref2.children;\n return React.createElement(LocationContext.Provider, {\n value: {\n location: {\n pathname: url,\n search: \"\",\n hash: \"\"\n },\n navigate: function navigate() {\n throw new Error(\"You can't call navigate on the server.\");\n }\n }\n }, children);\n}; ////////////////////////////////////////////////////////////////////////////////\n// Sets baseuri and basepath for nested routers and links\n\n\nvar BaseContext = createNamedContext(\"Base\", {\n baseuri: \"/\",\n basepath: \"/\"\n}); ////////////////////////////////////////////////////////////////////////////////\n// The main event, welcome to the show everybody.\n\nvar Router = function Router(props) {\n return React.createElement(BaseContext.Consumer, null, function (baseContext) {\n return React.createElement(Location, null, function (locationContext) {\n return React.createElement(RouterImpl, _extends({}, baseContext, locationContext, props));\n });\n });\n};\n\nvar RouterImpl = function (_React$PureComponent) {\n _inherits(RouterImpl, _React$PureComponent);\n\n function RouterImpl() {\n _classCallCheck(this, RouterImpl);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n RouterImpl.prototype.render = function render() {\n var _props = this.props,\n location = _props.location,\n _navigate2 = _props.navigate,\n basepath = _props.basepath,\n primary = _props.primary,\n children = _props.children,\n baseuri = _props.baseuri,\n _props$component = _props.component,\n component = _props$component === undefined ? \"div\" : _props$component,\n domProps = _objectWithoutProperties(_props, [\"location\", \"navigate\", \"basepath\", \"primary\", \"children\", \"baseuri\", \"component\"]);\n\n var routes = React.Children.map(children, createRoute(basepath));\n var pathname = location.pathname;\n var match = pick(routes, pathname);\n\n if (match) {\n var params = match.params,\n uri = match.uri,\n route = match.route,\n element = match.route.value; // remove the /* from the end for child routes relative paths\n\n basepath = route[\"default\"] ? basepath : route.path.replace(/\\*$/, \"\");\n\n var props = _extends({}, params, {\n uri: uri,\n location: location,\n navigate: function navigate(to, options) {\n return _navigate2(resolve(to, uri), options);\n }\n });\n\n var clone = React.cloneElement(element, props, element.props.children ? React.createElement(Router, {\n primary: primary\n }, element.props.children) : undefined); // using 'div' for < 16.3 support\n\n var FocusWrapper = primary ? FocusHandler : component; // don't pass any props to 'div'\n\n var wrapperProps = primary ? _extends({\n uri: uri,\n location: location,\n component: component\n }, domProps) : domProps;\n return React.createElement(BaseContext.Provider, {\n value: {\n baseuri: uri,\n basepath: basepath\n }\n }, React.createElement(FocusWrapper, wrapperProps, clone));\n } else {\n // Not sure if we want this, would require index routes at every level\n // warning(\n // false,\n // `<Router basepath=\"${basepath}\">\\n\\nNothing matched:\\n\\t${\n // location.pathname\n // }\\n\\nPaths checked: \\n\\t${routes\n // .map(route => route.path)\n // .join(\n // \"\\n\\t\"\n // )}\\n\\nTo get rid of this warning, add a default NotFound component as child of Router:\n // \\n\\tlet NotFound = () => <div>Not Found!</div>\n // \\n\\t<Router>\\n\\t <NotFound default/>\\n\\t {/* ... */}\\n\\t</Router>`\n // );\n return null;\n }\n };\n\n return RouterImpl;\n}(React.PureComponent);\n\nRouterImpl.defaultProps = {\n primary: true\n};\nvar FocusContext = createNamedContext(\"Focus\");\n\nvar FocusHandler = function FocusHandler(_ref3) {\n var uri = _ref3.uri,\n location = _ref3.location,\n component = _ref3.component,\n domProps = _objectWithoutProperties(_ref3, [\"uri\", \"location\", \"component\"]);\n\n return React.createElement(FocusContext.Consumer, null, function (requestFocus) {\n return React.createElement(FocusHandlerImpl, _extends({}, domProps, {\n component: component,\n requestFocus: requestFocus,\n uri: uri,\n location: location\n }));\n });\n}; // don't focus on initial render\n\n\nvar initialRender = true;\nvar focusHandlerCount = 0;\n\nvar FocusHandlerImpl = function (_React$Component2) {\n _inherits(FocusHandlerImpl, _React$Component2);\n\n function FocusHandlerImpl() {\n var _temp2, _this4, _ret2;\n\n _classCallCheck(this, FocusHandlerImpl);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this4 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this4), _this4.state = {}, _this4.requestFocus = function (node) {\n if (!_this4.state.shouldFocus) {\n node.focus();\n }\n }, _temp2), _possibleConstructorReturn(_this4, _ret2);\n }\n\n FocusHandlerImpl.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var initial = prevState.uri == null;\n\n if (initial) {\n return _extends({\n shouldFocus: true\n }, nextProps);\n } else {\n var myURIChanged = nextProps.uri !== prevState.uri;\n var navigatedUpToMe = prevState.location.pathname !== nextProps.location.pathname && nextProps.location.pathname === nextProps.uri;\n return _extends({\n shouldFocus: myURIChanged || navigatedUpToMe\n }, nextProps);\n }\n };\n\n FocusHandlerImpl.prototype.componentDidMount = function componentDidMount() {\n focusHandlerCount++;\n this.focus();\n };\n\n FocusHandlerImpl.prototype.componentWillUnmount = function componentWillUnmount() {\n focusHandlerCount--;\n\n if (focusHandlerCount === 0) {\n initialRender = true;\n }\n };\n\n FocusHandlerImpl.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.location !== this.props.location && this.state.shouldFocus) {\n this.focus();\n }\n };\n\n FocusHandlerImpl.prototype.focus = function focus() {\n if (process.env.NODE_ENV === \"test\") {\n // getting cannot read property focus of null in the tests\n // and that bit of global `initialRender` state causes problems\n // should probably figure it out!\n return;\n }\n\n var requestFocus = this.props.requestFocus;\n\n if (requestFocus) {\n requestFocus(this.node);\n } else {\n if (initialRender) {\n initialRender = false;\n } else {\n // React polyfills [autofocus] and it fires earlier than cDM,\n // so we were stealing focus away, this line prevents that.\n if (!this.node.contains(document.activeElement)) {\n this.node.focus();\n }\n }\n }\n };\n\n FocusHandlerImpl.prototype.render = function render() {\n var _this5 = this;\n\n var _props2 = this.props,\n children = _props2.children,\n style = _props2.style,\n requestFocus = _props2.requestFocus,\n _props2$role = _props2.role,\n role = _props2$role === undefined ? \"group\" : _props2$role,\n _props2$component = _props2.component,\n Comp = _props2$component === undefined ? \"div\" : _props2$component,\n uri = _props2.uri,\n location = _props2.location,\n domProps = _objectWithoutProperties(_props2, [\"children\", \"style\", \"requestFocus\", \"role\", \"component\", \"uri\", \"location\"]);\n\n return React.createElement(Comp, _extends({\n style: _extends({\n outline: \"none\"\n }, style),\n tabIndex: \"-1\",\n role: role,\n ref: function ref(n) {\n return _this5.node = n;\n }\n }, domProps), React.createElement(FocusContext.Provider, {\n value: this.requestFocus\n }, this.props.children));\n };\n\n return FocusHandlerImpl;\n}(React.Component);\n\npolyfill(FocusHandlerImpl);\n\nvar k = function k() {}; ////////////////////////////////////////////////////////////////////////////////\n\n\nvar forwardRef = React.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = function forwardRef(C) {\n return C;\n };\n}\n\nvar Link = forwardRef(function (_ref4, ref) {\n var innerRef = _ref4.innerRef,\n props = _objectWithoutProperties(_ref4, [\"innerRef\"]);\n\n return React.createElement(BaseContext.Consumer, null, function (_ref5) {\n var basepath = _ref5.basepath,\n baseuri = _ref5.baseuri;\n return React.createElement(Location, null, function (_ref6) {\n var location = _ref6.location,\n navigate = _ref6.navigate;\n\n var to = props.to,\n state = props.state,\n replace = props.replace,\n _props$getProps = props.getProps,\n getProps = _props$getProps === undefined ? k : _props$getProps,\n anchorProps = _objectWithoutProperties(props, [\"to\", \"state\", \"replace\", \"getProps\"]);\n\n var href = resolve(to, baseuri);\n var isCurrent = location.pathname === href;\n var isPartiallyCurrent = startsWith(location.pathname, href);\n return React.createElement(\"a\", _extends({\n ref: ref || innerRef,\n \"aria-current\": isCurrent ? \"page\" : undefined\n }, anchorProps, getProps({\n isCurrent: isCurrent,\n isPartiallyCurrent: isPartiallyCurrent,\n href: href,\n location: location\n }), {\n href: href,\n onClick: function onClick(event) {\n if (anchorProps.onClick) anchorProps.onClick(event);\n\n if (shouldNavigate(event)) {\n event.preventDefault();\n navigate(href, {\n state: state,\n replace: replace\n });\n }\n }\n }));\n });\n });\n}); ////////////////////////////////////////////////////////////////////////////////\n\nfunction RedirectRequest(uri) {\n this.uri = uri;\n}\n\nvar isRedirect = function isRedirect(o) {\n return o instanceof RedirectRequest;\n};\n\nvar redirectTo = function redirectTo(to) {\n throw new RedirectRequest(to);\n};\n\nvar RedirectImpl = function (_React$Component3) {\n _inherits(RedirectImpl, _React$Component3);\n\n function RedirectImpl() {\n _classCallCheck(this, RedirectImpl);\n\n return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments));\n } // Support React < 16 with this hook\n\n\n RedirectImpl.prototype.componentDidMount = function componentDidMount() {\n var _props3 = this.props,\n navigate = _props3.navigate,\n to = _props3.to,\n from = _props3.from,\n _props3$replace = _props3.replace,\n replace = _props3$replace === undefined ? true : _props3$replace,\n state = _props3.state,\n noThrow = _props3.noThrow,\n props = _objectWithoutProperties(_props3, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\"]);\n\n Promise.resolve().then(function () {\n navigate(insertParams(to, props), {\n replace: replace,\n state: state\n });\n });\n };\n\n RedirectImpl.prototype.render = function render() {\n var _props4 = this.props,\n navigate = _props4.navigate,\n to = _props4.to,\n from = _props4.from,\n replace = _props4.replace,\n state = _props4.state,\n noThrow = _props4.noThrow,\n props = _objectWithoutProperties(_props4, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\"]);\n\n if (!noThrow) redirectTo(insertParams(to, props));\n return null;\n };\n\n return RedirectImpl;\n}(React.Component);\n\nvar Redirect = function Redirect(props) {\n return React.createElement(Location, null, function (locationContext) {\n return React.createElement(RedirectImpl, _extends({}, locationContext, props));\n });\n};\n\nprocess.env.NODE_ENV !== \"production\" ? Redirect.propTypes = {\n from: PropTypes.string,\n to: PropTypes.string.isRequired\n} : void 0; ////////////////////////////////////////////////////////////////////////////////\n\nvar Match = function Match(_ref7) {\n var path = _ref7.path,\n children = _ref7.children;\n return React.createElement(BaseContext.Consumer, null, function (_ref8) {\n var baseuri = _ref8.baseuri;\n return React.createElement(Location, null, function (_ref9) {\n var navigate = _ref9.navigate,\n location = _ref9.location;\n var resolvedPath = resolve(path, baseuri);\n var result = match(resolvedPath, location.pathname);\n return children({\n navigate: navigate,\n location: location,\n match: result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null\n });\n });\n });\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar stripSlashes = function stripSlashes(str) {\n return str.replace(/(^\\/+|\\/+$)/g, \"\");\n};\n\nvar createRoute = function createRoute(basepath) {\n return function (element) {\n if (!element) {\n return null;\n }\n\n !(element.props.path || element.props[\"default\"] || element.type === Redirect) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<Router>: Children of <Router> must have a `path` or `default` prop, or be a `<Redirect>`. None found on element type `\" + element.type + \"`\") : invariant(false) : void 0;\n !!(element.type === Redirect && (!element.props.from || !element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<Redirect from=\\\"\" + element.props.from + \" to=\\\"\" + element.props.to + \"\\\"/> requires both \\\"from\\\" and \\\"to\\\" props when inside a <Router>.\") : invariant(false) : void 0;\n !!(element.type === Redirect && !validateRedirect(element.props.from, element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<Redirect from=\\\"\" + element.props.from + \" to=\\\"\" + element.props.to + \"\\\"/> has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.\") : invariant(false) : void 0;\n\n if (element.props[\"default\"]) {\n return {\n value: element,\n \"default\": true\n };\n }\n\n var elementPath = element.type === Redirect ? element.props.from : element.props.path;\n var path = elementPath === \"/\" ? basepath : stripSlashes(basepath) + \"/\" + stripSlashes(elementPath);\n return {\n value: element,\n \"default\": element.props[\"default\"],\n path: element.props.children ? stripSlashes(path) + \"/*\" : path\n };\n };\n};\n\nvar shouldNavigate = function shouldNavigate(event) {\n return !event.defaultPrevented && event.button === 0 && !(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}; ////////////////////////////////////////////////////////////////////////\n\n\nexport { Link, Location, LocationProvider, Match, Redirect, Router, ServerLocation, createHistory, createMemorySource, isRedirect, navigate, redirectTo, globalHistory , BaseContext };","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = scrollTop;\n\nvar _isWindow = _interopRequireDefault(require(\"./isWindow\"));\n\nfunction scrollTop(node, val) {\n var win = (0, _isWindow[\"default\"])(node);\n if (val === undefined) return win ? 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop : node.scrollTop;\n if (win) win.scrollTo('pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft, val);else node.scrollTop = val;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar off = function off() {};\n\nif (_inDOM[\"default\"]) {\n off = function () {\n if (document.addEventListener) return function (node, eventName, handler, capture) {\n return node.removeEventListener(eventName, handler, capture || false);\n };else if (document.attachEvent) return function (node, eventName, handler) {\n return node.detachEvent('on' + eventName, handler);\n };\n }();\n}\n\nvar _default = off;\nexports[\"default\"] = _default;\nmodule.exports = exports[\"default\"];","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default (str, prefix = ``) => {\n if (!prefix) {\n return str\n }\n\n prefix += `/`\n\n if (str.substr(0, prefix.length) === prefix) {\n return str.slice(prefix.length - 1)\n }\n\n return str\n}\n","\"use strict\";\n\nrequire(\"core-js/modules/es6.array.index-of\");\n\nexports.__esModule = true;\nexports.parsePath = parsePath;\n\nfunction parsePath(path) {\n var pathname = path || \"/\";\n var search = \"\";\n var hash = \"\";\n var hashIndex = pathname.indexOf(\"#\");\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf(\"?\");\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === \"?\" ? \"\" : search,\n hash: hash === \"#\" ? \"\" : hash\n };\n}","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","const support = function(feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function(url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function(url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function(url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","export default path => {\n if (path === undefined) {\n return path\n }\n if (path === `/`) {\n return `/`\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1)\n }\n return path\n}\n","import { match } from \"@reach/router/lib/utils\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n const pathname = decodeURIComponent(rawPathname)\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(pathname, __BASE_PATH__)\n // Remove any hashfragment\n .split(`#`)[0]\n // Remove search query\n .split(`?`)[0]\n\n return trimmedPathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n for (const { matchPath, path } of matchPaths) {\n if (match(matchPath, trimmedPathname)) {\n return normalizePagePath(path)\n }\n }\n\n return null\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(rawPathname)\n\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(rawPathname)\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","import prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = path => {\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json`\n}\n\nconst doFetch = (url, method = `GET`) =>\n new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n\nconst loadPageDataJson = loadObj => {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return doFetch(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n return Object.assign(loadObj, {\n status: `success`,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404 page and it doesn't exist, we're done\n if (pagePath === `/404.html`) {\n return Object.assign(loadObj, {\n status: `failure`,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return loadPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return Object.assign(loadObj, {\n status: `error`,\n })\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return loadPageDataJson(Object.assign(loadObj, { retries: retries + 1 }))\n }\n\n // Retried 3 times already, result is a failure.\n return Object.assign(loadObj, {\n status: `error`,\n })\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\nconst toPageResources = (pageData, component = null) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n }\n\n return {\n component,\n json: pageData.result,\n page,\n }\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: `success` || `error`,\n // payload: PageResources, // undefined if `error`\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // }\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.pageDataDb = new Map()\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n return Promise.resolve(this.pageDataDb.get(pagePath))\n }\n\n return loadPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n return Promise.resolve(page.payload)\n }\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const inFlight = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ])\n .then(allData => {\n const result = allData[1]\n if (result.status === `error`) {\n return {\n status: `error`,\n }\n }\n if (result.status === `failure`) {\n // throw an error so error trackers can pick this up\n throw new Error(\n `404 page could not be found. Checkout https://www.gatsbyjs.org/docs/add-404-page/`\n )\n }\n\n let pageData = result.payload\n const { componentChunkName } = pageData\n return this.loadComponent(componentChunkName).then(component => {\n const finalResult = { createdAt: new Date() }\n let pageResources\n if (!component) {\n finalResult.status = `error`\n } else {\n finalResult.status = `success`\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: allData[0]\n ? allData[0].webpackCompilationHash\n : ``,\n })\n pageResources = toPageResources(pageData, component)\n finalResult.payload = pageResources\n emitter.emit(`onPostLoadPageResources`, {\n page: pageResources,\n pageResources,\n })\n }\n this.pageDb.set(pagePath, finalResult)\n // undefined if final result is an error\n return pageResources\n })\n })\n // prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n .then(response => {\n this.inFlightDb.delete(pagePath)\n return response\n })\n .catch(err => {\n this.inFlightDb.delete(pagePath)\n throw err\n })\n\n this.inFlightDb.set(pagePath, inFlight)\n return inFlight\n }\n\n // returns undefined if loading page ran into errors\n loadPageSync(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n return this.pageDb.get(pagePath).payload\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return false\n }\n\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return false\n }\n\n const realPath = findPath(pagePath)\n // Todo make doPrefetch logic cacheable\n // eslint-disable-next-line consistent-return\n this.doPrefetch(realPath).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n })\n\n return true\n }\n\n doPrefetch(pagePath) {\n throw new Error(`doPrefetch not implemented`)\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return page && page.notFound === true\n }\n\n loadAppData(retries = 0) {\n return doFetch(`${__PATH_PREFIX__}/page-data/app-data.json`).then(req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of failures\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n })\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n window.___chunkMapping[componentChunkName].map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths) {\n const loadComponent = chunkName =>\n asyncRequires.components[chunkName]().then(preferDefault)\n\n super(loadComponent, matchPaths)\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n })\n .then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n .then(result => {\n if (result.status !== `success`) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(\n () => pageData\n )\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n // Deprecated methods. As far as we're aware, these are only used by\n // core gatsby and the offline plugin, however there's a very small\n // chance they're called by others.\n getResourcesForPathname: rawPath => {\n console.warn(\n `Warning: getResourcesForPathname is deprecated. Use loadPage instead`\n )\n return instance.i.loadPage(rawPath)\n },\n getResourcesForPathnameSync: rawPath => {\n console.warn(\n `Warning: getResourcesForPathnameSync is deprecated. Use loadPageSync instead`\n )\n return instance.i.loadPageSync(rawPath)\n },\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n loadPageSync: rawPath => instance.loadPageSync(rawPath),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var core = module.exports = { version: '2.6.11' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","module.exports = {};\n","\"use strict\";\n\nvar offsetY = 0;\n\nvar getTargetOffset = function getTargetOffset(hash) {\n var id = window.decodeURI(hash.replace(\"#\", \"\"));\n\n if (id !== \"\") {\n var element = document.getElementById(id);\n\n if (element) {\n return element.offsetTop - offsetY;\n }\n }\n\n return null;\n};\n\nexports.onInitialClientRender = function (_, pluginOptions) {\n if (pluginOptions.offsetY) {\n offsetY = pluginOptions.offsetY;\n }\n\n requestAnimationFrame(function () {\n var offset = getTargetOffset(window.location.hash);\n\n if (offset !== null) {\n window.scrollTo(0, offset);\n }\n });\n};\n\nexports.shouldUpdateScroll = function (_ref) {\n var location = _ref.routerProps.location;\n var offset = getTargetOffset(location.hash);\n return offset !== null ? [0, offset] : true;\n};","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","\"use strict\";\n\nexports.DEFAULT_OPTIONS = {\n maxWidth: 650,\n wrapperStyle: \"\",\n backgroundColor: \"white\",\n linkImagesToOriginal: true,\n showCaptions: false,\n markdownCaptions: false,\n withWebp: false,\n tracedSVG: false,\n loading: \"lazy\",\n disableBgImageOnAlpha: false,\n disableBgImage: false\n};\nexports.imageClass = \"gatsby-resp-image-image\";\nexports.imageWrapperClass = \"gatsby-resp-image-wrapper\";\nexports.imageBackgroundClass = \"gatsby-resp-image-background-image\";","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","// prefer default export if available\nconst preferDefault = m => m && m.default || m\n\nexports.components = {\n \"component---src-templates-main-jsx\": () => import(\"./../src/templates/main.jsx\" /* webpackChunkName: \"component---src-templates-main-jsx\" */),\n \"component---src-templates-doc-jsx\": () => import(\"./../src/templates/doc.jsx\" /* webpackChunkName: \"component---src-templates-doc-jsx\" */)\n}\n\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es6.array.some\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"./inDOM\"));\n\nvar vendors = ['', 'webkit', 'moz', 'o', 'ms'];\nvar cancel = 'clearTimeout';\nvar raf = fallback;\nvar compatRaf;\n\nvar getKey = function getKey(vendor, k) {\n return vendor + (!vendor ? k : k[0].toUpperCase() + k.substr(1)) + 'AnimationFrame';\n};\n\nif (_inDOM[\"default\"]) {\n vendors.some(function (vendor) {\n var rafKey = getKey(vendor, 'request');\n\n if (rafKey in window) {\n cancel = getKey(vendor, 'cancel');\n return raf = function raf(cb) {\n return window[rafKey](cb);\n };\n }\n });\n}\n/* https://github.com/component/raf */\n\n\nvar prev = new Date().getTime();\n\nfunction fallback(fn) {\n var curr = new Date().getTime(),\n ms = Math.max(0, 16 - (curr - prev)),\n req = setTimeout(fn, ms);\n prev = curr;\n return req;\n}\n\ncompatRaf = function compatRaf(cb) {\n return raf(cb);\n};\n\ncompatRaf.cancel = function (id) {\n window[cancel] && typeof window[cancel] === 'function' && window[cancel](id);\n};\n\nvar _default = compatRaf;\nexports[\"default\"] = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _require = require(\"./constants\"),\n DEFAULT_OPTIONS = _require.DEFAULT_OPTIONS,\n imageClass = _require.imageClass,\n imageBackgroundClass = _require.imageBackgroundClass,\n imageWrapperClass = _require.imageWrapperClass;\n\nexports.onRouteUpdate = function (apiCallbackContext, pluginOptions) {\n var options = Object.assign({}, DEFAULT_OPTIONS, pluginOptions);\n var imageWrappers = document.querySelectorAll(\".\" + imageWrapperClass); // https://css-tricks.com/snippets/javascript/loop-queryselectorall-matches/\n // for cross-browser looping through NodeList without polyfills\n\n var _loop = function _loop(i) {\n var imageWrapper = imageWrappers[i];\n var backgroundElement = imageWrapper.querySelector(\".\" + imageBackgroundClass);\n var imageElement = imageWrapper.querySelector(\".\" + imageClass);\n\n var onImageLoad = function onImageLoad() {\n backgroundElement.style.transition = \"opacity 0.5s 0.5s\";\n imageElement.style.transition = \"opacity 0.5s\";\n onImageComplete();\n };\n\n var onImageComplete = function onImageComplete() {\n backgroundElement.style.opacity = 0;\n imageElement.style.opacity = 1;\n imageElement.style.color = \"inherit\";\n imageElement.style.boxShadow = \"inset 0px 0px 0px 400px \" + options.backgroundColor;\n imageElement.removeEventListener(\"load\", onImageLoad);\n imageElement.removeEventListener(\"error\", onImageComplete);\n };\n\n imageElement.style.opacity = 0;\n imageElement.addEventListener(\"load\", onImageLoad);\n imageElement.addEventListener(\"error\", onImageComplete);\n\n if (imageElement.complete) {\n onImageComplete();\n }\n };\n\n for (var i = 0; i < imageWrappers.length; i++) {\n _loop(i);\n }\n};","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","require('./_wks-define')('asyncIterator');\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar on = function on() {};\n\nif (_inDOM[\"default\"]) {\n on = function () {\n if (document.addEventListener) return function (node, eventName, handler, capture) {\n return node.addEventListener(eventName, handler, capture || false);\n };else if (document.attachEvent) return function (node, eventName, handler) {\n return node.attachEvent('on' + eventName, function (e) {\n e = e || window.event;\n e.target = e.target || e.srcElement;\n e.currentTarget = node;\n handler.call(node, e);\n });\n };\n }();\n}\n\nvar _default = on;\nexports[\"default\"] = _default;\nmodule.exports = exports[\"default\"];","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","const plugins = require(`./api-runner-browser-plugins`)\nconst {\n getResourcesForPathname,\n getResourcesForPathnameSync,\n getResourceURLsForPathname,\n loadPage,\n loadPageSync,\n} = require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n // Deprecated April 2019. Use `loadPageSync` instead\n args.getResourcesForPathnameSync = getResourcesForPathnameSync\n // Deprecated April 2019. Use `loadPage` instead\n args.getResourcesForPathname = getResourcesForPathname\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/app-ea12b9b536627f4c1462.js b/app-ea12b9b536627f4c1462.js
new file mode 100644
index 0000000..8a59950
--- /dev/null
+++ b/app-ea12b9b536627f4c1462.js
@@ -0,0 +1,2 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{"+ZDr":function(t,e,n){"use strict";var r=n("TqRt");e.__esModule=!0,e.withPrefix=h,e.withAssetPrefix=function(t){return h(t,v())},e.navigateTo=e.replace=e.push=e.navigate=e.default=void 0;var o=r(n("8OQS")),a=r(n("pVnL")),i=r(n("PJYZ")),u=r(n("VbXa")),c=r(n("17x9")),s=r(n("q1tI")),l=n("YwZP"),p=n("LYrO"),f=n("cu4x");e.parsePath=f.parsePath;var d=function(t){return null==t?void 0:t.startsWith("/")};function h(t,e){var n,r;if(void 0===e&&(e=m()),!g(t))return t;if(t.startsWith("./")||t.startsWith("../"))return t;var o=null!==(n=null!==(r=e)&&void 0!==r?r:v())&&void 0!==n?n:"/";return""+((null==o?void 0:o.endsWith("/"))?o.slice(0,-1):o)+(t.startsWith("/")?t:"/"+t)}var v=function(){return"/jkube"},m=function(){return"/jkube"},g=function(t){return t&&!t.startsWith("http://")&&!t.startsWith("https://")&&!t.startsWith("//")};var y=function(t,e){return"number"==typeof t?t:g(t)?d(t)?h(t):function(t,e){return d(t)?t:(0,p.resolve)(t,e)}(t,e):t},w={activeClassName:c.default.string,activeStyle:c.default.object,partiallyActive:c.default.bool},b=function(t){function e(e){var n;(n=t.call(this,e)||this).defaultGetProps=function(t){var e=t.isPartiallyCurrent,r=t.isCurrent;return(n.props.partiallyActive?e:r)?{className:[n.props.className,n.props.activeClassName].filter(Boolean).join(" "),style:(0,a.default)({},n.props.style,n.props.activeStyle)}:null};var r=!1;return"undefined"!=typeof window&&window.IntersectionObserver&&(r=!0),n.state={IOSupported:r},n.handleRef=n.handleRef.bind((0,i.default)(n)),n}(0,u.default)(e,t);var n=e.prototype;return n.componentDidUpdate=function(t,e){this.props.to===t.to||this.state.IOSupported||___loader.enqueue((0,f.parsePath)(y(this.props.to,window.location.pathname)).pathname)},n.componentDidMount=function(){this.state.IOSupported||___loader.enqueue((0,f.parsePath)(y(this.props.to,window.location.pathname)).pathname)},n.componentWillUnmount=function(){if(this.io){var t=this.io,e=t.instance,n=t.el;e.unobserve(n),e.disconnect()}},n.handleRef=function(t){var e,n,r,o=this;this.props.innerRef&&this.props.innerRef.hasOwnProperty("current")?this.props.innerRef.current=t:this.props.innerRef&&this.props.innerRef(t),this.state.IOSupported&&t&&(this.io=(e=t,n=function(){___loader.enqueue((0,f.parsePath)(y(o.props.to,window.location.pathname)).pathname)},(r=new window.IntersectionObserver((function(t){t.forEach((function(t){e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(r.unobserve(e),r.disconnect(),n())}))}))).observe(e),{instance:r,el:e}))},n.render=function(){var t=this,e=this.props,n=e.to,r=e.getProps,i=void 0===r?this.defaultGetProps:r,u=e.onClick,c=e.onMouseEnter,p=(e.activeClassName,e.activeStyle,e.innerRef,e.partiallyActive,e.state),d=e.replace,h=(0,o.default)(e,["to","getProps","onClick","onMouseEnter","activeClassName","activeStyle","innerRef","partiallyActive","state","replace"]);return s.default.createElement(l.Location,null,(function(e){var r=e.location,o=y(n,r.pathname);return g(o)?s.default.createElement(l.Link,(0,a.default)({to:o,state:p,getProps:i,innerRef:t.handleRef,onMouseEnter:function(t){c&&c(t),___loader.hovering((0,f.parsePath)(o).pathname)},onClick:function(e){if(u&&u(e),!(0!==e.button||t.props.target||e.defaultPrevented||e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)){e.preventDefault();var n=d,r=encodeURI(o)===window.location.pathname;"boolean"!=typeof d&&r&&(n=!0),window.___navigate(o,{state:p,replace:n})}return!0}},h)):s.default.createElement("a",(0,a.default)({href:o},h))}))},e}(s.default.Component);b.propTypes=(0,a.default)({},w,{onClick:c.default.func,to:c.default.string.isRequired,replace:c.default.bool,state:c.default.object});var P=function(t,e,n){return console.warn('The "'+t+'" method is now deprecated and will be removed in Gatsby v'+n+'. Please use "'+e+'" instead.')},R=s.default.forwardRef((function(t,e){return s.default.createElement(b,(0,a.default)({innerRef:e},t))}));e.default=R;e.navigate=function(t,e){window.___navigate(y(t,window.location.pathname),e)};var S=function(t){P("push","navigate",3),window.___push(y(t,window.location.pathname))};e.push=S;e.replace=function(t){P("replace","navigate",3),window.___replace(y(t,window.location.pathname))};e.navigateTo=function(t){return P("navigateTo","navigate",3),S(t)}},"/hTd":function(t,e,n){"use strict";e.__esModule=!0,e.SessionStorage=void 0;var r=function(){function t(){}var e=t.prototype;return e.read=function(t,e){var n=this.getStateKey(t,e);try{var r=window.sessionStorage.getItem(n);return r?JSON.parse(r):0}catch(o){return window&&window.___GATSBY_REACT_ROUTER_SCROLL&&window.___GATSBY_REACT_ROUTER_SCROLL[n]?window.___GATSBY_REACT_ROUTER_SCROLL[n]:0}},e.save=function(t,e,n){var r=this.getStateKey(t,e),o=JSON.stringify(n);try{window.sessionStorage.setItem(r,o)}catch(a){window&&window.___GATSBY_REACT_ROUTER_SCROLL||(window.___GATSBY_REACT_ROUTER_SCROLL={}),window.___GATSBY_REACT_ROUTER_SCROLL[r]=JSON.parse(o)}},e.getStateKey=function(t,e){var n="@@scroll|"+t.pathname;return null==e?n:n+"|"+e},t}();e.SessionStorage=r},"284h":function(t,e,n){var r=n("cDf5");function o(){if("function"!=typeof WeakMap)return null;var t=new WeakMap;return o=function(){return t},t}t.exports=function(t){if(t&&t.__esModule)return t;if(null===t||"object"!==r(t)&&"function"!=typeof t)return{default:t};var e=o();if(e&&e.has(t))return e.get(t);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var u=a?Object.getOwnPropertyDescriptor(t,i):null;u&&(u.get||u.set)?Object.defineProperty(n,i,u):n[i]=t[i]}return n.default=t,e&&e.set(t,n),n}},"3uz+":function(t,e,n){"use strict";e.__esModule=!0,e.useScrollRestoration=function(t){var e=(0,a.useLocation)(),n=(0,o.useContext)(r.ScrollContext),i=(0,o.useRef)();return(0,o.useLayoutEffect)((function(){if(i.current){var r=n.read(e,t);i.current.scrollTo(0,r||0)}}),[]),{ref:i,onScroll:function(){i.current&&n.save(e,t,i.current.scrollTop)}}};var r=n("Enzk"),o=n("q1tI"),a=n("YwZP")},"5yr3":function(t,e,n){"use strict";var r=function(t){return t=t||Object.create(null),{on:function(e,n){(t[e]||(t[e]=[])).push(n)},off:function(e,n){t[e]&&t[e].splice(t[e].indexOf(n)>>>0,1)},emit:function(e,n){(t[e]||[]).slice().map((function(t){t(n)})),(t["*"]||[]).slice().map((function(t){t(e,n)}))}}}();e.a=r},"6qGY":function(t,e){t.exports=Object.assign},"7hJ6":function(t,e,n){"use strict";e.__esModule=!0,e.useScrollRestoration=e.ScrollContainer=e.ScrollContext=void 0;var r=n("Enzk");e.ScrollContext=r.ScrollHandler;var o=n("hd9s");e.ScrollContainer=o.ScrollContainer;var a=n("3uz+");e.useScrollRestoration=a.useScrollRestoration},"8OQS":function(t,e){t.exports=function(t,e){if(null==t)return{};var n,r,o={},a=Object.keys(t);for(r=0;r<a.length;r++)n=a[r],e.indexOf(n)>=0||(o[n]=t[n]);return o}},"94VI":function(t,e){e.polyfill=function(t){return t}},"9Xx/":function(t,e,n){"use strict";n.d(e,"c",(function(){return c})),n.d(e,"d",(function(){return s})),n.d(e,"a",(function(){return a})),n.d(e,"b",(function(){return i}));var r=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},o=function(t){var e=t.location,n=e.search,r=e.hash,o=e.href,a=e.origin,i=e.protocol,c=e.host,s=e.hostname,l=e.port,p=t.location.pathname;!p&&o&&u&&(p=new URL(o).pathname);return{pathname:encodeURI(decodeURI(p)),search:n,hash:r,href:o,origin:a,protocol:i,host:c,hostname:s,port:l,state:t.history.state,key:t.history.state&&t.history.state.key||"initial"}},a=function(t,e){var n=[],a=o(t),i=!1,u=function(){};return{get location(){return a},get transitioning(){return i},_onTransitionComplete:function(){i=!1,u()},listen:function(e){n.push(e);var r=function(){a=o(t),e({location:a,action:"POP"})};return t.addEventListener("popstate",r),function(){t.removeEventListener("popstate",r),n=n.filter((function(t){return t!==e}))}},navigate:function(e){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=c.state,l=c.replace,p=void 0!==l&&l;if("number"==typeof e)t.history.go(e);else{s=r({},s,{key:Date.now()+""});try{i||p?t.history.replaceState(s,null,e):t.history.pushState(s,null,e)}catch(d){t.location[p?"replace":"assign"](e)}}a=o(t),i=!0;var f=new Promise((function(t){return u=t}));return n.forEach((function(t){return t({location:a,action:"PUSH"})})),f}}},i=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",e=t.indexOf("?"),n={pathname:e>-1?t.substr(0,e):t,search:e>-1?t.substr(e):""},r=0,o=[n],a=[null];return{get location(){return o[r]},addEventListener:function(t,e){},removeEventListener:function(t,e){},history:{get entries(){return o},get index(){return r},get state(){return a[r]},pushState:function(t,e,n){var i=n.split("?"),u=i[0],c=i[1],s=void 0===c?"":c;r++,o.push({pathname:u,search:s.length?"?"+s:s}),a.push(t)},replaceState:function(t,e,n){var i=n.split("?"),u=i[0],c=i[1],s=void 0===c?"":c;o[r]={pathname:u,search:s},a[r]=t},go:function(t){var e=r+t;e<0||e>a.length-1||(r=e)}}}},u=!("undefined"==typeof window||!window.document||!window.document.createElement),c=a(u?window:i()),s=c.navigate},Enzk:function(t,e,n){"use strict";var r=n("284h"),o=n("TqRt");e.__esModule=!0,e.ScrollHandler=e.ScrollContext=void 0;var a=o(n("PJYZ")),i=o(n("VbXa")),u=r(n("q1tI")),c=o(n("17x9")),s=n("/hTd"),l=u.createContext(new s.SessionStorage);e.ScrollContext=l,l.displayName="GatsbyScrollContext";var p=function(t){function e(){for(var e,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(e=t.call.apply(t,[this].concat(r))||this)._stateStorage=new s.SessionStorage,e.scrollListener=function(){var t=e.props.location.key;t&&e._stateStorage.save(e.props.location,t,window.scrollY)},e.windowScroll=function(t,n){e.shouldUpdateScroll(n,e.props)&&window.scrollTo(0,t)},e.scrollToHash=function(t,n){var r=document.getElementById(t.substring(1));r&&e.shouldUpdateScroll(n,e.props)&&r.scrollIntoView()},e.shouldUpdateScroll=function(t,n){var r=e.props.shouldUpdateScroll;return!r||r.call((0,a.default)(e),t,n)},e}(0,i.default)(e,t);var n=e.prototype;return n.componentDidMount=function(){var t;window.addEventListener("scroll",this.scrollListener);var e=this.props.location,n=e.key,r=e.hash;n&&(t=this._stateStorage.read(this.props.location,n)),t?this.windowScroll(t,void 0):r&&this.scrollToHash(decodeURI(r),void 0)},n.componentWillUnmount=function(){window.removeEventListener("scroll",this.scrollListener)},n.componentDidUpdate=function(t){var e,n=this.props.location,r=n.hash,o=n.key;o&&(e=this._stateStorage.read(this.props.location,o)),r&&0===e?this.scrollToHash(decodeURI(r),t):this.windowScroll(e,t)},n.render=function(){return u.createElement(l.Provider,{value:this._stateStorage},this.props.children)},e}(u.Component);e.ScrollHandler=p,p.propTypes={shouldUpdateScroll:c.default.func,children:c.default.element.isRequired,location:c.default.object.isRequired}},IOVJ:function(t,e,n){"use strict";var r=n("dI71"),o=n("q1tI"),a=n.n(o),i=n("emEt"),u=n("xtsi"),c=function(t){function e(){return t.apply(this,arguments)||this}return Object(r.a)(e,t),e.prototype.render=function(){var t=Object.assign({},this.props,{pathContext:this.props.pageContext}),e=Object(u.apiRunner)("replaceComponentRenderer",{props:this.props,loader:i.publicLoader})[0]||Object(o.createElement)(this.props.pageResources.component,Object.assign({},t,{key:this.props.path||this.props.pageResources.page.path}));return Object(u.apiRunner)("wrapPageElement",{element:e,props:t},e,(function(e){return{element:e.result,props:t}})).pop()},e}(a.a.Component);e.a=c},LYrO:function(t,e,n){"use strict";n.r(e),n.d(e,"startsWith",(function(){return a})),n.d(e,"pick",(function(){return i})),n.d(e,"match",(function(){return u})),n.d(e,"resolve",(function(){return c})),n.d(e,"insertParams",(function(){return s})),n.d(e,"validateRedirect",(function(){return l})),n.d(e,"shallowCompare",(function(){return w}));var r=n("QLaP"),o=n.n(r),a=function(t,e){return t.substr(0,e.length)===e},i=function(t,e){for(var n=void 0,r=void 0,a=e.split("?")[0],i=m(a),u=""===i[0],c=v(t),s=0,l=c.length;s<l;s++){var f=!1,h=c[s].route;if(h.default)r={route:h,params:{},uri:e};else{for(var g=m(h.path),w={},b=Math.max(i.length,g.length),P=0;P<b;P++){var R=g[P],S=i[P];if(d(R)){w[R.slice(1)||"*"]=i.slice(P).map(decodeURIComponent).join("/");break}if(void 0===S){f=!0;break}var O=p.exec(R);if(O&&!u){-1===y.indexOf(O[1])||o()(!1);var j=decodeURIComponent(S);w[O[1]]=j}else if(R!==S){f=!0;break}}if(!f){n={route:h,params:w,uri:"/"+i.slice(0,P).join("/")};break}}}return n||r||null},u=function(t,e){return i([{path:t}],e)},c=function(t,e){if(a(t,"/"))return t;var n=t.split("?"),r=n[0],o=n[1],i=e.split("?")[0],u=m(r),c=m(i);if(""===u[0])return g(i,o);if(!a(u[0],".")){var s=c.concat(u).join("/");return g(("/"===i?"":"/")+s,o)}for(var l=c.concat(u),p=[],f=0,d=l.length;f<d;f++){var h=l[f];".."===h?p.pop():"."!==h&&p.push(h)}return g("/"+p.join("/"),o)},s=function(t,e){var n=t.split("?"),r=n[0],o=n[1],a=void 0===o?"":o,i="/"+m(r).map((function(t){var n=p.exec(t);return n?e[n[1]]:t})).join("/"),u=e.location,c=(u=void 0===u?{}:u).search,s=(void 0===c?"":c).split("?")[1]||"";return i=g(i,a,s)},l=function(t,e){var n=function(t){return f(t)};return m(t).filter(n).sort().join("/")===m(e).filter(n).sort().join("/")},p=/^:(.+)/,f=function(t){return p.test(t)},d=function(t){return t&&"*"===t[0]},h=function(t,e){return{route:t,score:t.default?0:m(t.path).reduce((function(t,e){return t+=4,!function(t){return""===t}(e)?f(e)?t+=2:d(e)?t-=5:t+=3:t+=1,t}),0),index:e}},v=function(t){return t.map(h).sort((function(t,e){return t.score<e.score?1:t.score>e.score?-1:t.index-e.index}))},m=function(t){return t.replace(/(^\/+|\/+$)/g,"").split("/")},g=function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return t+((n=n.filter((function(t){return t&&t.length>0})))&&n.length>0?"?"+n.join("&"):"")},y=["uri","path"],w=function(t,e){var n=Object.keys(t);return n.length===Object.keys(e).length&&n.every((function(n){return e.hasOwnProperty(n)&&t[n]===e[n]}))}},LeKB:function(t,e,n){t.exports=[{plugin:n("hUyl"),options:{plugins:[]}}]},MMVs:function(t,e,n){t.exports=function(){var t=!1;-1!==navigator.appVersion.indexOf("MSIE 10")&&(t=!0);var e,n=[],r="object"==typeof document&&document,o=t?r.documentElement.doScroll("left"):r.documentElement.doScroll,a=r&&(o?/^loaded|^c/:/^loaded|^i|^c/).test(r.readyState);return!a&&r&&r.addEventListener("DOMContentLoaded",e=function(){for(r.removeEventListener("DOMContentLoaded",e),a=1;e=n.shift();)e()}),function(t){a?setTimeout(t,0):n.push(t)}}()},NSX3:function(t,e,n){"use strict";n.r(e);var r=n("xtsi");"https:"!==window.location.protocol&&"localhost"!==window.location.hostname?console.error("Service workers can only be used over HTTPS, or on localhost for development"):"serviceWorker"in navigator&&navigator.serviceWorker.register("/jkube/sw.js").then((function(t){t.addEventListener("updatefound",(function(){Object(r.apiRunner)("onServiceWorkerUpdateFound",{serviceWorker:t});var e=t.installing;console.log("installingWorker",e),e.addEventListener("statechange",(function(){switch(e.state){case"installed":navigator.serviceWorker.controller?(window.___swUpdated=!0,Object(r.apiRunner)("onServiceWorkerUpdateReady",{serviceWorker:t}),window.___failedResources&&(console.log("resources failed, SW updated - reloading"),window.location.reload())):(console.log("Content is now available offline!"),Object(r.apiRunner)("onServiceWorkerInstalled",{serviceWorker:t}));break;case"redundant":console.error("The installing service worker became redundant."),Object(r.apiRunner)("onServiceWorkerRedundant",{serviceWorker:t});break;case"activated":Object(r.apiRunner)("onServiceWorkerActive",{serviceWorker:t})}}))}))})).catch((function(t){console.error("Error during service worker registration:",t)}))},PJYZ:function(t,e){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}},QLaP:function(t,e,n){"use strict";t.exports=function(t,e,n,r,o,a,i,u){if(!t){var c;if(void 0===e)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var s=[n,r,o,a,i,u],l=0;(c=new Error(e.replace(/%s/g,(function(){return s[l++]})))).name="Invariant Violation"}throw c.framesToPop=1,c}}},TqRt:function(t,e){t.exports=function(t){return t&&t.__esModule?t:{default:t}}},UxWs:function(t,e,n){"use strict";n.r(e);var r=n("dI71"),o=n("xtsi"),a=n("q1tI"),i=n.n(a),u=n("i8i4"),c=n.n(u),s=n("YwZP"),l=n("7hJ6"),p=n("MMVs"),f=n.n(p),d=n("Wbzz"),h=n("emEt"),v=n("YLt+"),m=n("5yr3"),g={id:"gatsby-announcer",style:{position:"absolute",top:0,width:1,height:1,padding:0,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},"aria-live":"assertive","aria-atomic":"true"},y=n("9Xx/"),w=n("+ZDr"),b=v.reduce((function(t,e){return t[e.fromPath]=e,t}),{});function P(t){var e=b[t];return null!=e&&(window.___replace(e.toPath),!0)}var R=function(t,e){P(t.pathname)||Object(o.apiRunner)("onPreRouteUpdate",{location:t,prevLocation:e})},S=function(t,e){P(t.pathname)||Object(o.apiRunner)("onRouteUpdate",{location:t,prevLocation:e})},O=function(t,e){if(void 0===e&&(e={}),"number"!=typeof t){var n=Object(w.parsePath)(t).pathname,r=b[n];if(r&&(t=r.toPath,n=Object(w.parsePath)(t).pathname),window.___swUpdated)window.location=n;else{var a=setTimeout((function(){m.a.emit("onDelayedLoadPageResources",{pathname:n}),Object(o.apiRunner)("onRouteUpdateDelayed",{location:window.location})}),1e3);h.default.loadPage(n).then((function(r){if(!r||r.status===h.PageResourceStatus.Error)return window.history.replaceState({},"",location.href),window.location=n,void clearTimeout(a);r&&r.page.webpackCompilationHash!==window.___webpackCompilationHash&&("serviceWorker"in navigator&&null!==navigator.serviceWorker.controller&&"activated"===navigator.serviceWorker.controller.state&&navigator.serviceWorker.controller.postMessage({gatsbyApi:"clearPathResources"}),console.log("Site has changed on server. Reloading browser"),window.location=n),Object(s.navigate)(t,e),clearTimeout(a)}))}}else y.c.navigate(t)};function j(t,e){var n=this,r=e.location,a=r.pathname,i=r.hash,u=Object(o.apiRunner)("shouldUpdateScroll",{prevRouterProps:t,pathname:a,routerProps:{location:r},getSavedScrollPosition:function(t){return n._stateStorage.read(t)}});if(u.length>0)return u[u.length-1];if(t&&t.location.pathname===a)return i?decodeURI(i.slice(1)):[0,0];return!0}var E=function(t){function e(e){var n;return(n=t.call(this,e)||this).announcementRef=i.a.createRef(),n}Object(r.a)(e,t);var n=e.prototype;return n.componentDidUpdate=function(t,e){var n=this;requestAnimationFrame((function(){var t="new page at "+n.props.location.pathname;document.title&&(t=document.title);var e=document.querySelectorAll("#gatsby-focus-wrapper h1");e&&e.length&&(t=e[0].textContent);var r="Navigated to "+t;n.announcementRef.current&&(n.announcementRef.current.innerText!==r&&(n.announcementRef.current.innerText=r))}))},n.render=function(){return i.a.createElement("div",Object.assign({},g,{ref:this.announcementRef}))},e}(i.a.Component),_=function(t){function e(e){var n;return n=t.call(this,e)||this,R(e.location,null),n}Object(r.a)(e,t);var n=e.prototype;return n.componentDidMount=function(){S(this.props.location,null)},n.componentDidUpdate=function(t,e,n){n&&S(this.props.location,t.location)},n.getSnapshotBeforeUpdate=function(t){return this.props.location.pathname!==t.location.pathname&&(R(this.props.location,t.location),!0)},n.render=function(){return i.a.createElement(i.a.Fragment,null,this.props.children,i.a.createElement(E,{location:location}))},e}(i.a.Component),C=n("IOVJ"),k=n("WM4P"),x=n.n(k);function L(t,e){for(var n in t)if(!(n in e))return!0;for(var r in e)if(t[r]!==e[r])return!0;return!1}var D=function(t){function e(e){var n;n=t.call(this)||this;var r=e.location,o=e.pageResources;return n.state={location:Object.assign({},r),pageResources:o||h.default.loadPageSync(r.pathname)},n}Object(r.a)(e,t),e.getDerivedStateFromProps=function(t,e){var n=t.location;return e.location.href!==n.href?{pageResources:h.default.loadPageSync(n.pathname),location:Object.assign({},n)}:{location:Object.assign({},n)}};var n=e.prototype;return n.loadResources=function(t){var e=this;h.default.loadPage(t).then((function(n){n&&n.status!==h.PageResourceStatus.Error?e.setState({location:Object.assign({},window.location),pageResources:n}):(window.history.replaceState({},"",location.href),window.location=t)}))},n.shouldComponentUpdate=function(t,e){return e.pageResources?this.state.pageResources!==e.pageResources||(this.state.pageResources.component!==e.pageResources.component||(this.state.pageResources.json!==e.pageResources.json||(!(this.state.location.key===e.location.key||!e.pageResources.page||!e.pageResources.page.matchPath&&!e.pageResources.page.path)||function(t,e,n){return L(t.props,e)||L(t.state,n)}(this,t,e)))):(this.loadResources(t.location.pathname),!1)},n.render=function(){return this.props.children(this.state)},e}(i.a.Component),T=n("cSJ8"),U=n("Vd8h"),I=new h.ProdLoader(x.a,U);Object(h.setLoader)(I),I.setApiRunner(o.apiRunner),window.asyncRequires=x.a,window.___emitter=m.a,window.___loader=h.publicLoader,y.c.listen((function(t){t.location.action=t.action})),window.___push=function(t){return O(t,{replace:!1})},window.___replace=function(t){return O(t,{replace:!0})},window.___navigate=function(t,e){return O(t,e)},P(window.location.pathname),Object(o.apiRunnerAsync)("onClientEntry").then((function(){Object(o.apiRunner)("registerServiceWorker").length>0&&n("NSX3");var t=function(t){return i.a.createElement(s.BaseContext.Provider,{value:{baseuri:"/",basepath:"/"}},i.a.createElement(C.a,t))},e=i.a.createContext({}),a=function(t){function n(){return t.apply(this,arguments)||this}return Object(r.a)(n,t),n.prototype.render=function(){var t=this.props.children;return i.a.createElement(s.Location,null,(function(n){var r=n.location;return i.a.createElement(D,{location:r},(function(n){var r=n.pageResources,o=n.location;return i.a.createElement(d.b.Provider,{value:r.staticQueryResults},i.a.createElement(e.Provider,{value:{pageResources:r,location:o}},t))}))}))},n}(i.a.Component),u=function(n){function o(){return n.apply(this,arguments)||this}return Object(r.a)(o,n),o.prototype.render=function(){var n=this;return i.a.createElement(e.Consumer,null,(function(e){var r=e.pageResources,o=e.location;return i.a.createElement(_,{location:o},i.a.createElement(l.ScrollContext,{location:o,shouldUpdateScroll:j},i.a.createElement(s.Router,{basepath:"/jkube",location:o,id:"gatsby-focus-wrapper"},i.a.createElement(t,Object.assign({path:"/404.html"===r.page.path?Object(T.a)(o.pathname,"/jkube"):encodeURI(r.page.matchPath||r.page.path)},n.props,{location:o,pageResources:r},r.json)))))}))},o}(i.a.Component),p=window,v=p.pagePath,m=p.location;v&&"/jkube"+v!==m.pathname&&!(I.findMatchPath(Object(T.a)(m.pathname,"/jkube"))||"/404.html"===v||v.match(/^\/404\/?$/)||v.match(/^\/offline-plugin-app-shell-fallback\/?$/))&&Object(s.navigate)("/jkube"+v+m.search+m.hash,{replace:!0}),h.publicLoader.loadPage(m.pathname).then((function(t){if(!t||t.status===h.PageResourceStatus.Error)throw new Error("page resources for "+m.pathname+" not found. Not rendering React");window.___webpackCompilationHash=t.page.webpackCompilationHash;var e=Object(o.apiRunner)("wrapRootElement",{element:i.a.createElement(u,null)},i.a.createElement(u,null),(function(t){return{element:t.result}})).pop(),n=function(){return i.a.createElement(a,null,e)},r=Object(o.apiRunner)("replaceHydrateFunction",void 0,c.a.hydrate)[0];f()((function(){r(i.a.createElement(n,null),"undefined"!=typeof window?document.getElementById("___gatsby"):void 0,(function(){Object(o.apiRunner)("onInitialClientRender")}))}))}))}))},VbXa:function(t,e){t.exports=function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}},Vd8h:function(t){t.exports=JSON.parse("[]")},WM4P:function(t,e,n){e.components={"component---src-templates-doc-jsx":function(){return Promise.all([n.e(1),n.e(0),n.e(4)]).then(n.bind(null,"DjDE"))},"component---src-templates-main-jsx":function(){return Promise.all([n.e(1),n.e(0),n.e(5)]).then(n.bind(null,"2ggT"))}}},Wbzz:function(t,e,n){"use strict";n.d(e,"b",(function(){return u}));var r=n("q1tI"),o=n.n(r),a=n("+ZDr"),i=n.n(a);n.d(e,"a",(function(){return i.a}));n("7hJ6"),n("lw3w"),n("emEt").default.enqueue;var u=o.a.createContext({})},"YLt+":function(t){t.exports=JSON.parse("[]")},YwZP:function(t,e,n){"use strict";n.r(e),n.d(e,"Link",(function(){return D})),n.d(e,"Location",(function(){return w})),n.d(e,"LocationProvider",(function(){return b})),n.d(e,"Match",(function(){return F})),n.d(e,"Redirect",(function(){return M})),n.d(e,"Router",(function(){return S})),n.d(e,"ServerLocation",(function(){return P})),n.d(e,"isRedirect",(function(){return U})),n.d(e,"redirectTo",(function(){return I})),n.d(e,"useLocation",(function(){return W})),n.d(e,"useNavigate",(function(){return q})),n.d(e,"useParams",(function(){return N})),n.d(e,"useMatch",(function(){return J})),n.d(e,"BaseContext",(function(){return R}));var r=n("q1tI"),o=n.n(r),a=(n("17x9"),n("QLaP")),i=n.n(a),u=n("nqlD"),c=n.n(u),s=n("94VI"),l=n("LYrO");n.d(e,"matchPath",(function(){return l.match}));var p=n("9Xx/");n.d(e,"createHistory",(function(){return p.a})),n.d(e,"createMemorySource",(function(){return p.b})),n.d(e,"navigate",(function(){return p.d})),n.d(e,"globalHistory",(function(){return p.c}));var f=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t};function d(t,e){var n={};for(var r in t)e.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}function h(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function v(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 m(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)}var g=function(t,e){var n=c()(e);return n.displayName=t,n},y=g("Location"),w=function(t){var e=t.children;return o.a.createElement(y.Consumer,null,(function(t){return t?e(t):o.a.createElement(b,null,e)}))},b=function(t){function e(){var n,r;h(this,e);for(var o=arguments.length,a=Array(o),i=0;i<o;i++)a[i]=arguments[i];return n=r=v(this,t.call.apply(t,[this].concat(a))),r.state={context:r.getContext(),refs:{unlisten:null}},v(r,n)}return m(e,t),e.prototype.getContext=function(){var t=this.props.history;return{navigate:t.navigate,location:t.location}},e.prototype.componentDidCatch=function(t,e){if(!U(t))throw t;(0,this.props.history.navigate)(t.uri,{replace:!0})},e.prototype.componentDidUpdate=function(t,e){e.context.location!==this.state.context.location&&this.props.history._onTransitionComplete()},e.prototype.componentDidMount=function(){var t=this,e=this.state.refs,n=this.props.history;n._onTransitionComplete(),e.unlisten=n.listen((function(){Promise.resolve().then((function(){requestAnimationFrame((function(){t.unmounted||t.setState((function(){return{context:t.getContext()}}))}))}))}))},e.prototype.componentWillUnmount=function(){var t=this.state.refs;this.unmounted=!0,t.unlisten()},e.prototype.render=function(){var t=this.state.context,e=this.props.children;return o.a.createElement(y.Provider,{value:t},"function"==typeof e?e(t):e||null)},e}(o.a.Component);b.defaultProps={history:p.c};var P=function(t){var e=t.url,n=t.children,r=e.indexOf("?"),a=void 0,i="";return r>-1?(a=e.substring(0,r),i=e.substring(r)):a=e,o.a.createElement(y.Provider,{value:{location:{pathname:a,search:i,hash:""},navigate:function(){throw new Error("You can't call navigate on the server.")}}},n)},R=g("Base",{baseuri:"/",basepath:"/"}),S=function(t){return o.a.createElement(R.Consumer,null,(function(e){return o.a.createElement(w,null,(function(n){return o.a.createElement(O,f({},e,n,t))}))}))},O=function(t){function e(){return h(this,e),v(this,t.apply(this,arguments))}return m(e,t),e.prototype.render=function(){var t=this.props,e=t.location,n=t.navigate,r=t.basepath,a=t.primary,i=t.children,u=(t.baseuri,t.component),c=void 0===u?"div":u,s=d(t,["location","navigate","basepath","primary","children","baseuri","component"]),p=o.a.Children.toArray(i).reduce((function(t,e){var n=Y(r)(e);return t.concat(n)}),[]),h=e.pathname,v=Object(l.pick)(p,h);if(v){var m=v.params,g=v.uri,y=v.route,w=v.route.value;r=y.default?r:y.path.replace(/\*$/,"");var b=f({},m,{uri:g,location:e,navigate:function(t,e){return n(Object(l.resolve)(t,g),e)}}),P=o.a.cloneElement(w,b,w.props.children?o.a.createElement(S,{location:e,primary:a},w.props.children):void 0),O=a?E:c,j=a?f({uri:g,location:e,component:c},s):s;return o.a.createElement(R.Provider,{value:{baseuri:g,basepath:r}},o.a.createElement(O,j,P))}return null},e}(o.a.PureComponent);O.defaultProps={primary:!0};var j=g("Focus"),E=function(t){var e=t.uri,n=t.location,r=t.component,a=d(t,["uri","location","component"]);return o.a.createElement(j.Consumer,null,(function(t){return o.a.createElement(k,f({},a,{component:r,requestFocus:t,uri:e,location:n}))}))},_=!0,C=0,k=function(t){function e(){var n,r;h(this,e);for(var o=arguments.length,a=Array(o),i=0;i<o;i++)a[i]=arguments[i];return n=r=v(this,t.call.apply(t,[this].concat(a))),r.state={},r.requestFocus=function(t){!r.state.shouldFocus&&t&&t.focus()},v(r,n)}return m(e,t),e.getDerivedStateFromProps=function(t,e){if(null==e.uri)return f({shouldFocus:!0},t);var n=t.uri!==e.uri,r=e.location.pathname!==t.location.pathname&&t.location.pathname===t.uri;return f({shouldFocus:n||r},t)},e.prototype.componentDidMount=function(){C++,this.focus()},e.prototype.componentWillUnmount=function(){0===--C&&(_=!0)},e.prototype.componentDidUpdate=function(t,e){t.location!==this.props.location&&this.state.shouldFocus&&this.focus()},e.prototype.focus=function(){var t=this.props.requestFocus;t?t(this.node):_?_=!1:this.node&&(this.node.contains(document.activeElement)||this.node.focus())},e.prototype.render=function(){var t=this,e=this.props,n=(e.children,e.style),r=(e.requestFocus,e.component),a=void 0===r?"div":r,i=(e.uri,e.location,d(e,["children","style","requestFocus","component","uri","location"]));return o.a.createElement(a,f({style:f({outline:"none"},n),tabIndex:"-1",ref:function(e){return t.node=e}},i),o.a.createElement(j.Provider,{value:this.requestFocus},this.props.children))},e}(o.a.Component);Object(s.polyfill)(k);var x=function(){},L=o.a.forwardRef;void 0===L&&(L=function(t){return t});var D=L((function(t,e){var n=t.innerRef,r=d(t,["innerRef"]);return o.a.createElement(R.Consumer,null,(function(t){t.basepath;var a=t.baseuri;return o.a.createElement(w,null,(function(t){var i=t.location,u=t.navigate,c=r.to,s=r.state,p=r.replace,h=r.getProps,v=void 0===h?x:h,m=d(r,["to","state","replace","getProps"]),g=Object(l.resolve)(c,a),y=encodeURI(g),w=i.pathname===y,b=Object(l.startsWith)(i.pathname,y);return o.a.createElement("a",f({ref:e||n,"aria-current":w?"page":void 0},m,v({isCurrent:w,isPartiallyCurrent:b,href:g,location:i}),{href:g,onClick:function(t){if(m.onClick&&m.onClick(t),V(t)){t.preventDefault();var e=p;if("boolean"!=typeof p&&w){var n=f({},i.state),r=(n.key,d(n,["key"]));e=Object(l.shallowCompare)(f({},s),r)}u(g,{state:s,replace:e})}}}))}))}))}));function T(t){this.uri=t}D.displayName="Link";var U=function(t){return t instanceof T},I=function(t){throw new T(t)},A=function(t){function e(){return h(this,e),v(this,t.apply(this,arguments))}return m(e,t),e.prototype.componentDidMount=function(){var t=this.props,e=t.navigate,n=t.to,r=(t.from,t.replace),o=void 0===r||r,a=t.state,i=(t.noThrow,t.baseuri),u=d(t,["navigate","to","from","replace","state","noThrow","baseuri"]);Promise.resolve().then((function(){var t=Object(l.resolve)(n,i);e(Object(l.insertParams)(t,u),{replace:o,state:a})}))},e.prototype.render=function(){var t=this.props,e=(t.navigate,t.to),n=(t.from,t.replace,t.state,t.noThrow),r=t.baseuri,o=d(t,["navigate","to","from","replace","state","noThrow","baseuri"]),a=Object(l.resolve)(e,r);return n||I(Object(l.insertParams)(a,o)),null},e}(o.a.Component),M=function(t){return o.a.createElement(R.Consumer,null,(function(e){var n=e.baseuri;return o.a.createElement(w,null,(function(e){return o.a.createElement(A,f({},e,{baseuri:n},t))}))}))},F=function(t){var e=t.path,n=t.children;return o.a.createElement(R.Consumer,null,(function(t){var r=t.baseuri;return o.a.createElement(w,null,(function(t){var o=t.navigate,a=t.location,i=Object(l.resolve)(e,r),u=Object(l.match)(i,a.pathname);return n({navigate:o,location:a,match:u?f({},u.params,{uri:u.uri,path:e}):null})}))}))},W=function(){var t=Object(r.useContext)(y);if(!t)throw new Error("useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router");return t.location},q=function(){var t=Object(r.useContext)(y);if(!t)throw new Error("useNavigate hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router");return t.navigate},N=function(){var t=Object(r.useContext)(R);if(!t)throw new Error("useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router");var e=W(),n=Object(l.match)(t.basepath,e.pathname);return n?n.params:null},J=function(t){if(!t)throw new Error("useMatch(path: string) requires an argument of a string to match against");var e=Object(r.useContext)(R);if(!e)throw new Error("useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router");var n=W(),o=Object(l.resolve)(t,e.baseuri),a=Object(l.match)(o,n.pathname);return a?f({},a.params,{uri:a.uri,path:t}):null},H=function(t){return t.replace(/(^\/+|\/+$)/g,"")},Y=function t(e){return function(n){if(!n)return null;if(n.type===o.a.Fragment&&n.props.children)return o.a.Children.map(n.props.children,t(e));if(n.props.path||n.props.default||n.type===M||i()(!1),n.type!==M||n.props.from&&n.props.to||i()(!1),n.type!==M||Object(l.validateRedirect)(n.props.from,n.props.to)||i()(!1),n.props.default)return{value:n,default:!0};var r=n.type===M?n.props.from:n.props.path,a="/"===r?e:H(e)+"/"+H(r);return{value:n,default:n.props.default,path:n.props.children?H(a)+"/*":a}}},V=function(t){return!t.defaultPrevented&&0===t.button&&!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}},cDf5:function(t,e){function n(e){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t.exports=n=function(t){return typeof t}:t.exports=n=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(e)}t.exports=n},cSJ8:function(t,e,n){"use strict";function r(t,e){return void 0===e&&(e=""),e?t===e?"/":t.startsWith(e+"/")?t.slice(e.length):t:t}n.d(e,"a",(function(){return r}))},cu4x:function(t,e,n){"use strict";e.__esModule=!0,e.parsePath=function(t){var e=t||"/",n="",r="",o=e.indexOf("#");-1!==o&&(r=e.substr(o),e=e.substr(0,o));var a=e.indexOf("?");-1!==a&&(n=e.substr(a),e=e.substr(0,a));return{pathname:e,search:"?"===n?"":n,hash:"#"===r?"":r}}},dI71:function(t,e,n){"use strict";function r(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}n.d(e,"a",(function(){return r}))},emEt:function(t,e,n){"use strict";n.r(e),n.d(e,"PageResourceStatus",(function(){return R})),n.d(e,"BaseLoader",(function(){return C})),n.d(e,"ProdLoader",(function(){return x})),n.d(e,"setLoader",(function(){return L})),n.d(e,"publicLoader",(function(){return D}));var r=n("dI71");function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function a(t){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(t,e):void 0}}(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.")}()}var i=function(t){if("undefined"==typeof document)return!1;var e=document.createElement("link");try{if(e.relList&&"function"==typeof e.relList.supports)return e.relList.supports(t)}catch(n){return!1}return!1}("prefetch")?function(t,e){return new Promise((function(n,r){if("undefined"!=typeof document){var o=document.createElement("link");o.setAttribute("rel","prefetch"),o.setAttribute("href",t),Object.keys(e).forEach((function(t){o.setAttribute(t,e[t])})),o.onload=n,o.onerror=r,(document.getElementsByTagName("head")[0]||document.getElementsByName("script")[0].parentNode).appendChild(o)}else r()}))}:function(t){return new Promise((function(e,n){var r=new XMLHttpRequest;r.open("GET",t,!0),r.onload=function(){200===r.status?e():n()},r.send(null)}))},u={},c=function(t,e){return new Promise((function(n){u[t]?n():i(t,e).then((function(){n(),u[t]=!0})).catch((function(){}))}))},s=n("5yr3"),l=n("LYrO"),p=n("cSJ8"),f=function(t){return void 0===t?t:"/"===t?"/":"/"===t.charAt(t.length-1)?t.slice(0,-1):t};function d(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return h(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return h(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=t[Symbol.iterator]()).next.bind(n)}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var v=new Map,m=[],g=function(t){var e=decodeURIComponent(t);return Object(p.a)(e,"/jkube").split("#")[0].split("?")[0]};function y(t){return t.startsWith("/")||t.startsWith("https://")||t.startsWith("http://")?t:new URL(t,window.location.href+(window.location.href.endsWith("/")?"":"/")).pathname}var w=function(t){for(var e,n=P(t),r=d(m);!(e=r()).done;){var o=e.value,a=o.matchPath,i=o.path;if(Object(l.match)(a,n))return f(i)}return null},b=function(t){var e=g(y(t));if(v.has(e))return v.get(e);var n=w(e);return n||(n=P(t)),v.set(e,n),n},P=function(t){var e=g(y(t));return"/index.html"===e&&(e="/"),e=f(e)},R={Error:"error",Success:"success"},S=function(t){return t&&t.default||t},O=function(t){var e;return"/jkube/page-data/"+("/"===t?"index":e=(e="/"===(e=t)[0]?e.slice(1):e).endsWith("/")?e.slice(0,-1):e)+"/page-data.json"};function j(t,e){return void 0===e&&(e="GET"),new Promise((function(n,r){var o=new XMLHttpRequest;o.open(e,t,!0),o.onreadystatechange=function(){4==o.readyState&&n(o)},o.send(null)}))}var E,_=function(t,e){void 0===e&&(e=null);var n={componentChunkName:t.componentChunkName,path:t.path,webpackCompilationHash:t.webpackCompilationHash,matchPath:t.matchPath,staticQueryHashes:t.staticQueryHashes};return{component:e,json:t.result,page:n}},C=function(){function t(t,e){this.inFlightNetworkRequests=new Map,this.pageDb=new Map,this.inFlightDb=new Map,this.staticQueryDb=new Map,this.pageDataDb=new Map,this.prefetchTriggered=new Set,this.prefetchCompleted=new Set,this.loadComponent=t,m=e}var e=t.prototype;return e.memoizedGet=function(t){var e=this,n=this.inFlightNetworkRequests.get(t);return n||(n=j(t,"GET"),this.inFlightNetworkRequests.set(t,n)),n.then((function(n){return e.inFlightNetworkRequests.delete(t),n})).catch((function(n){throw e.inFlightNetworkRequests.delete(t),n}))},e.setApiRunner=function(t){this.apiRunner=t,this.prefetchDisabled=t("disableCorePrefetching").some((function(t){return t}))},e.fetchPageDataJson=function(t){var e=this,n=t.pagePath,r=t.retries,o=void 0===r?0:r,a=O(n);return this.memoizedGet(a).then((function(r){var a=r.status,i=r.responseText;if(200===a)try{var u=JSON.parse(i);if(void 0===u.path)throw new Error("not a valid pageData response");return Object.assign(t,{status:R.Success,payload:u})}catch(c){}return 404===a||200===a?"/404.html"===n?Object.assign(t,{status:R.Error}):e.fetchPageDataJson(Object.assign(t,{pagePath:"/404.html",notFound:!0})):500===a?Object.assign(t,{status:R.Error}):o<3?e.fetchPageDataJson(Object.assign(t,{retries:o+1})):Object.assign(t,{status:R.Error})}))},e.loadPageDataJson=function(t){var e=this,n=b(t);return this.pageDataDb.has(n)?Promise.resolve(this.pageDataDb.get(n)):this.fetchPageDataJson({pagePath:n}).then((function(t){return e.pageDataDb.set(n,t),t}))},e.findMatchPath=function(t){return w(t)},e.loadPage=function(t){var e=this,n=b(t);if(this.pageDb.has(n)){var r=this.pageDb.get(n);return Promise.resolve(r.payload)}if(this.inFlightDb.has(n))return this.inFlightDb.get(n);var o=Promise.all([this.loadAppData(),this.loadPageDataJson(n)]).then((function(t){var r=t[1];if(r.status===R.Error)return{status:R.Error};var o=r.payload,a=o,i=a.componentChunkName,u=a.staticQueryHashes,c=void 0===u?[]:u,l={},p=e.loadComponent(i).then((function(e){var n;return l.createdAt=new Date,e?(l.status=R.Success,!0===r.notFound&&(l.notFound=!0),o=Object.assign(o,{webpackCompilationHash:t[0]?t[0].webpackCompilationHash:""}),n=_(o,e)):l.status=R.Error,n})),f=Promise.all(c.map((function(t){if(e.staticQueryDb.has(t)){var n=e.staticQueryDb.get(t);return{staticQueryHash:t,jsonPayload:n}}return e.memoizedGet("/jkube/static/d/"+t+".json").then((function(e){var n=JSON.parse(e.responseText);return{staticQueryHash:t,jsonPayload:n}}))}))).then((function(t){var n={};return t.forEach((function(t){var r=t.staticQueryHash,o=t.jsonPayload;n[r]=o,e.staticQueryDb.set(r,o)})),n}));return Promise.all([p,f]).then((function(t){var r,o=t[0],a=t[1];return o&&(r=Object.assign({},o,{staticQueryResults:a}),l.payload=r,s.a.emit("onPostLoadPageResources",{page:r,pageResources:r})),e.pageDb.set(n,l),r}))}));return o.then((function(t){e.inFlightDb.delete(n)})).catch((function(t){throw e.inFlightDb.delete(n),t})),this.inFlightDb.set(n,o),o},e.loadPageSync=function(t){var e=b(t);if(this.pageDb.has(e))return this.pageDb.get(e).payload},e.shouldPrefetch=function(t){return!!function(){if("connection"in navigator&&void 0!==navigator.connection){if((navigator.connection.effectiveType||"").includes("2g"))return!1;if(navigator.connection.saveData)return!1}return!0}()&&!this.pageDb.has(t)},e.prefetch=function(t){var e=this;if(!this.shouldPrefetch(t))return!1;if(this.prefetchTriggered.has(t)||(this.apiRunner("onPrefetchPathname",{pathname:t}),this.prefetchTriggered.add(t)),this.prefetchDisabled)return!1;var n=b(t);return this.doPrefetch(n).then((function(){e.prefetchCompleted.has(t)||(e.apiRunner("onPostPrefetchPathname",{pathname:t}),e.prefetchCompleted.add(t))})),!0},e.doPrefetch=function(t){throw new Error("doPrefetch not implemented")},e.hovering=function(t){this.loadPage(t)},e.getResourceURLsForPathname=function(t){var e=b(t),n=this.pageDataDb.get(e);if(n){var r=_(n.payload);return[].concat(a(k(r.page.componentChunkName)),[O(e)])}return null},e.isPageNotFound=function(t){var e=b(t),n=this.pageDb.get(e);return n&&!0===n.notFound},e.loadAppData=function(t){var e=this;return void 0===t&&(t=0),this.memoizedGet("/jkube/page-data/app-data.json").then((function(n){var r,o=n.status,a=n.responseText;if(200!==o&&t<3)return e.loadAppData(t+1);if(200===o)try{var i=JSON.parse(a);if(void 0===i.webpackCompilationHash)throw new Error("not a valid app-data response");r=i}catch(u){}return r}))},t}(),k=function(t){return(window.___chunkMapping[t]||[]).map((function(t){return"/jkube"+t}))},x=function(t){function e(e,n){return t.call(this,(function(t){return e.components[t]?e.components[t]().then(S).catch((function(){return null})):Promise.resolve()}),n)||this}Object(r.a)(e,t);var n=e.prototype;return n.doPrefetch=function(t){var e=this,n=O(t);return c(n,{crossOrigin:"anonymous",as:"fetch"}).then((function(){return e.loadPageDataJson(t)})).then((function(t){if(t.status!==R.Success)return Promise.resolve();var e=t.payload,n=e.componentChunkName,r=k(n);return Promise.all(r.map(c)).then((function(){return e}))}))},n.loadPageDataJson=function(e){return t.prototype.loadPageDataJson.call(this,e).then((function(t){return t.notFound?j(e,"HEAD").then((function(e){return 200===e.status?{status:R.Error}:t})):t}))},e}(C),L=function(t){E=t},D={getResourcesForPathname:function(t){return console.warn("Warning: getResourcesForPathname is deprecated. Use loadPage instead"),E.i.loadPage(t)},getResourcesForPathnameSync:function(t){return console.warn("Warning: getResourcesForPathnameSync is deprecated. Use loadPageSync instead"),E.i.loadPageSync(t)},enqueue:function(t){return E.prefetch(t)},getResourceURLsForPathname:function(t){return E.getResourceURLsForPathname(t)},loadPage:function(t){return E.loadPage(t)},loadPageSync:function(t){return E.loadPageSync(t)},prefetch:function(t){return E.prefetch(t)},isPageNotFound:function(t){return E.isPageNotFound(t)},hovering:function(t){return E.hovering(t)},loadAppData:function(){return E.loadAppData()}};e.default=D},hUyl:function(t,e,n){"use strict";var r=0,o=function(t){var e=window.decodeURI(t.replace("#",""));if(""!==e){var n=document.getElementById(e);if(n){var o=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop,a=document.documentElement.clientTop||document.body.clientTop||0,i=window.getComputedStyle(n),u=i.getPropertyValue("scroll-margin-top")||i.getPropertyValue("scroll-snap-margin-top")||"0px";return n.getBoundingClientRect().top+o-parseInt(u,10)-a-r}}return null};e.onInitialClientRender=function(t,e){e.offsetY&&(r=e.offsetY),requestAnimationFrame((function(){var t=o(window.location.hash);null!==t&&window.scrollTo(0,t)}))},e.shouldUpdateScroll=function(t){var e=t.routerProps.location,n=o(e.hash);return null===n||[0,n]}},hd9s:function(t,e,n){"use strict";var r=n("284h"),o=n("TqRt");e.__esModule=!0,e.ScrollContainer=void 0;var a=o(n("pVnL")),i=o(n("VbXa")),u=r(n("q1tI")),c=o(n("i8i4")),s=o(n("17x9")),l=n("Enzk"),p=n("YwZP"),f={scrollKey:s.default.string.isRequired,shouldUpdateScroll:s.default.func,children:s.default.element.isRequired},d=function(t){function e(e){return t.call(this,e)||this}(0,i.default)(e,t);var n=e.prototype;return n.componentDidMount=function(){var t=this,e=c.default.findDOMNode(this),n=this.props,r=n.location,o=n.scrollKey;if(e){e.addEventListener("scroll",(function(){t.props.context.save(r,o,e.scrollTop)}));var a=this.props.context.read(r,o);e.scrollTo(0,a||0)}},n.render=function(){return this.props.children},e}(u.Component),h=function(t){return u.createElement(p.Location,null,(function(e){var n=e.location;return u.createElement(l.ScrollContext.Consumer,null,(function(e){return u.createElement(d,(0,a.default)({},t,{context:e,location:n}))}))}))};e.ScrollContainer=h,h.propTypes=f},lw3w:function(t,e,n){var r;t.exports=(r=n("rzlk"))&&r.default||r},nqlD:function(t,e,n){var r=n("q1tI").createContext;t.exports=r,t.exports.default=r},pVnL:function(t,e){function n(){return t.exports=n=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},n.apply(this,arguments)}t.exports=n},rzlk:function(t,e,n){"use strict";n.r(e);var r=n("q1tI"),o=n.n(r),a=n("IOVJ");e.default=function(t){var e=t.location,n=t.pageResources;return n?o.a.createElement(a.a,Object.assign({location:e,pageResources:n},n.json)):null}},xtsi:function(t,e,n){var r=n("LeKB"),o=n("emEt").publicLoader,a=o.getResourcesForPathname,i=o.getResourcesForPathnameSync,u=o.getResourceURLsForPathname,c=o.loadPage,s=o.loadPageSync;e.apiRunner=function(t,e,n,o){void 0===e&&(e={});var l=r.map((function(n){if(n.plugin[t]){e.getResourcesForPathnameSync=i,e.getResourcesForPathname=a,e.getResourceURLsForPathname=u,e.loadPage=c,e.loadPageSync=s;var r=n.plugin[t](e,n.options);return r&&o&&(e=o({args:e,result:r,plugin:n})),r}}));return(l=l.filter((function(t){return void 0!==t}))).length>0?l:n?[n]:[]},e.apiRunnerAsync=function(t,e,n){return r.reduce((function(n,r){return r.plugin[t]?n.then((function(){return r.plugin[t](e,r.options)})):n}),Promise.resolve())}}},[["UxWs",2,6]]]);
+//# sourceMappingURL=app-ea12b9b536627f4c1462.js.map
\ No newline at end of file
diff --git a/app-ea12b9b536627f4c1462.js.map b/app-ea12b9b536627f4c1462.js.map
new file mode 100644
index 0000000..cb449d5
--- /dev/null
+++ b/app-ea12b9b536627f4c1462.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./node_modules/gatsby-link/index.js","webpack:///./node_modules/gatsby-react-router-scroll/session-storage.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireWildcard.js","webpack:///./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack:///./node_modules/mitt/dist/mitt.es.js","webpack:///./.cache/emitter.js","webpack:///./.cache/polyfills/object-assign.js","webpack:///./node_modules/gatsby-react-router-scroll/index.js","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack:///./.cache/react-lifecycles-compat.js","webpack:///./node_modules/@reach/router/es/lib/history.js","webpack:///./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack:///./.cache/page-renderer.js","webpack:///./node_modules/@reach/router/es/lib/utils.js","webpack:///./.cache/api-runner-browser-plugins.js","webpack:///./node_modules/@mikaelkristiansson/domready/ready.js","webpack:///./.cache/register-service-worker.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./node_modules/invariant/browser.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./.cache/route-announcer-props.js","webpack:///./.cache/navigation.js","webpack:///./node_modules/shallow-compare/es/index.js","webpack:///./.cache/ensure-resources.js","webpack:///./.cache/production-app.js","webpack:///./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack:///./_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./node_modules/@reach/router/es/index.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./.cache/strip-prefix.js","webpack:///./node_modules/gatsby-link/parse-path.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./.cache/prefetch.js","webpack:///./.cache/normalize-page-path.js","webpack:///./.cache/find-path.js","webpack:///./.cache/loader.js","webpack:///./node_modules/gatsby-remark-autolink-headers/gatsby-browser.js","webpack:///./node_modules/gatsby-react-router-scroll/scroll-container.js","webpack:///./.cache/public-page-renderer.js","webpack:///./.cache/create-react-context.js","webpack:///./node_modules/@babel/runtime/helpers/extends.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./.cache/api-runner-browser.js"],"names":["_interopRequireDefault","exports","__esModule","withPrefix","withAssetPrefix","path","getGlobalPathPrefix","navigateTo","replace","push","navigate","default","_objectWithoutPropertiesLoose2","_extends2","_assertThisInitialized2","_inheritsLoose2","_propTypes","_react","_router","_utils","_parsePath","parsePath","isAbsolutePath","startsWith","prefix","_ref","_prefix","getGlobalBasePrefix","isLocalLink","base","endsWith","slice","rewriteLinkPath","relativeTo","current","resolve","absolutify","NavLinkPropTypes","activeClassName","string","activeStyle","object","partiallyActive","bool","GatsbyLink","_React$Component","props","_this","call","this","defaultGetProps","_ref2","isPartiallyCurrent","isCurrent","className","filter","Boolean","join","style","IOSupported","window","IntersectionObserver","state","handleRef","bind","_proto","prototype","componentDidUpdate","prevProps","prevState","to","___loader","enqueue","location","pathname","componentDidMount","componentWillUnmount","io","_this$io","instance","el","unobserve","disconnect","ref","cb","_this2","innerRef","hasOwnProperty","entries","forEach","entry","target","isIntersecting","intersectionRatio","observe","render","_this3","_this$props","_this$props$getProps","getProps","_onClick","onClick","_onMouseEnter","onMouseEnter","rest","createElement","Location","_ref3","prefixedTo","Link","e","hovering","button","defaultPrevented","metaKey","altKey","ctrlKey","shiftKey","preventDefault","shouldReplace","encodeURI","___navigate","href","Component","propTypes","func","isRequired","showDeprecationWarning","functionName","altFunctionName","version","console","warn","_default","forwardRef","options","___push","___replace","SessionStorage","read","key","stateKey","getStateKey","value","sessionStorage","getItem","JSON","parse","save","storedValue","stringify","setItem","stateKeyBase","_typeof","_getRequireWildcardCache","WeakMap","cache","module","obj","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","desc","set","useScrollRestoration","identifier","useLocation","useContext","_scrollHandler","ScrollContext","useRef","useLayoutEffect","position","scrollTo","onScroll","scrollTop","emitter","all","create","on","type","handler","off","splice","indexOf","emit","evt","map","mitt","assign","ScrollContainer","ScrollHandler","_scrollContainer","_useScrollRestoration","source","excluded","i","sourceKeys","keys","length","polyfill","_extends","arguments","getLocation","_source$location","search","hash","origin","protocol","host","hostname","port","canUseDOM","URL","decodeURI","history","createHistory","listeners","transitioning","resolveTransition","_onTransitionComplete","listen","listener","popstateListener","action","addEventListener","removeEventListener","fn","undefined","_ref$replace","go","Date","now","replaceState","pushState","transition","Promise","res","createMemorySource","initialPath","searchIndex","initialLocation","substr","index","stack","states","name","_","uri","_uri$split","split","_uri$split$","_uri$split2","_uri$split2$","newIndex","document","globalHistory","_interopRequireWildcard","React","_sessionStorage","createContext","displayName","_len","args","Array","_key","apply","concat","_stateStorage","scrollListener","scrollY","windowScroll","shouldUpdateScroll","scrollToHash","node","getElementById","substring","scrollIntoView","prevRouterProps","routerProps","scrollPosition","_this$props$location","_this$props$location2","Provider","children","element","PageRenderer","pathContext","pageContext","pageElement","apiRunner","loader","publicLoader","pageResources","component","page","result","pop","pick","routes","match","default_","uriPathname","uriSegments","segmentize","isRootUri","ranked","rankRoutes","l","missed","route","params","routeSegments","max","Math","routeSegment","uriSegment","isSplat","decodeURIComponent","dynamicMatch","paramRe","exec","reservedNames","_to$split","toPathname","toQuery","basePathname","toSegments","baseSegments","addQuery","allSegments","segments","segment","insertParams","_path$split","pathBase","_path$split$","query","constructedPath","_params$location","_params$location$sear","searchSplit","validateRedirect","from","isDynamic","sort","test","rankRoute","score","reduce","isRootSegment","SEGMENT_POINTS","a","b","q","shallowCompare","obj1","obj2","obj1Keys","every","plugin","require","ie10","navigator","appVersion","fns","doc","hack","documentElement","doScroll","loaded","readyState","shift","setTimeout","definition","error","serviceWorker","register","__BASE_PATH__","then","reg","installingWorker","installing","log","controller","___swUpdated","___failedResources","reload","catch","self","ReferenceError","condition","format","c","d","f","Error","argIndex","framesToPop","RouteAnnouncerProps","id","top","width","height","padding","overflow","clip","whiteSpace","border","redirectMap","redirects","redirect","fromPath","maybeRedirect","toPath","onPreRouteUpdate","prevLocation","onRouteUpdate","timeoutId","loadPage","status","PageResourceStatus","clearTimeout","webpackCompilationHash","___webpackCompilationHash","postMessage","gatsbyApi","reachNavigate","results","getSavedScrollPosition","RouteAnnouncer","announcementRef","createRef","nextProps","requestAnimationFrame","pageName","title","pageHeadings","querySelectorAll","textContent","newAnnouncement","innerText","RouteUpdates","shouldFireRouteUpdate","getSnapshotBeforeUpdate","Fragment","shallowDiffers","_i","EnsureResources","loadPageSync","getDerivedStateFromProps","loadResources","rawPath","setState","shouldComponentUpdate","nextState","json","matchPath","ProdLoader","asyncRequires","matchPaths","setLoader","setApiRunner","___emitter","apiRunnerAsync","RouteHandler","baseuri","basepath","DataContext","GatsbyRoot","staticQueryResults","LocationHandler","Consumer","stripPrefix","pagePath","browserLoc","findMatchPath","SiteRoot","App","renderer","ReactDOM","hydrate","domReady","subClass","superClass","constructor","__proto__","components","StaticQueryContext","_objectWithoutProperties","_classCallCheck","Constructor","TypeError","_possibleConstructorReturn","_inherits","enumerable","writable","configurable","setPrototypeOf","createNamedContext","defaultValue","Ctx","LocationContext","context","LocationProvider","_temp","getContext","refs","unlisten","_props$history","componentDidCatch","info","isRedirect","_navigate","unmounted","defaultProps","ServerLocation","url","BaseContext","Router","baseContext","locationContext","RouterImpl","_React$PureComponent","_props","_navigate2","primary","_props$component","domProps","Children","toArray","array","child","createRoute","clone","cloneElement","FocusWrapper","FocusHandler","wrapperProps","PureComponent","FocusContext","requestFocus","FocusHandlerImpl","initialRender","focusHandlerCount","_React$Component2","_temp2","_this4","_len2","_key2","shouldFocus","focus","myURIChanged","navigatedUpToMe","contains","activeElement","_this5","_props2","_props2$component","Comp","outline","tabIndex","n","k","C","_ref4","_ref5","_ref6","_props$getProps","anchorProps","encodedHref","event","shouldNavigate","_location$state","restState","RedirectRequest","o","redirectTo","RedirectImpl","_React$Component3","_props3","_props3$replace","noThrow","resolvedTo","_props4","Redirect","_ref7","Match","_ref8","_ref9","_ref10","resolvedPath","useNavigate","useParams","useMatch","stripSlashes","str","elementPath","Symbol","iterator","hashIndex","_inheritsLoose","_arrayLikeToArray","arr","len","arr2","_toConsumableArray","isArray","iter","minLen","toString","supportedPrefetchStrategy","feature","fakeLink","relList","supports","err","support","reject","link","setAttribute","onload","onerror","getElementsByTagName","getElementsByName","parentNode","appendChild","req","XMLHttpRequest","open","send","preFetched","prefetch","charAt","pathCache","Map","trimPathname","rawPathname","trimmedPathname","cleanPath","normalizePagePath","findPath","foundPath","Success","preferDefault","m","createPageDataUrl","s","__PATH_PREFIX__","doFetch","method","onreadystatechange","toPageResources","pageData","componentChunkName","staticQueryHashes","BaseLoader","loadComponent","inFlightNetworkRequests","pageDb","inFlightDb","staticQueryDb","pageDataDb","prefetchTriggered","Set","prefetchCompleted","memoizedGet","inFlightPromise","response","delete","prefetchDisabled","some","fetchPageDataJson","loadObj","retries","responseText","jsonPayload","payload","notFound","loadPageDataJson","loadAppData","allData","finalResult","componentChunkPromise","createdAt","staticQueryBatchPromise","staticQueryHash","staticQueryResultsMap","shouldPrefetch","connection","effectiveType","includes","saveData","doesConnectionSupportPrefetch","add","realPath","doPrefetch","getResourceURLsForPathname","createComponentUrls","isPageNotFound","appData","___chunkMapping","chunk","chunkName","pageDataUrl","prefetchHelper","crossOrigin","as","componentUrls","data","_loader","getResourcesForPathname","getResourcesForPathnameSync","offsetY","getTargetOffset","pageYOffset","body","clientTop","computedStyles","getComputedStyle","scrollMarginTop","getPropertyValue","getBoundingClientRect","parseInt","onInitialClientRender","pluginOptions","offset","_reactDom","scrollKey","ScrollContainerImplementation","findDOMNode","ProdPageRenderer","InternalPageRenderer","plugins","api","defaultReturn","argTransform","previous","next"],"mappings":"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","file":"app-ea12b9b536627f4c1462.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.withPrefix = withPrefix;\nexports.withAssetPrefix = withAssetPrefix;\nexports.navigateTo = exports.replace = exports.push = exports.navigate = exports.default = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _router = require(\"@reach/router\");\n\nvar _utils = require(\"@reach/router/lib/utils\");\n\nvar _parsePath = require(\"./parse-path\");\n\nexports.parsePath = _parsePath.parsePath;\n\nvar isAbsolutePath = function isAbsolutePath(path) {\n return path === null || path === void 0 ? void 0 : path.startsWith(\"/\");\n};\n\nfunction withPrefix(path, prefix) {\n var _ref, _prefix;\n\n if (prefix === void 0) {\n prefix = getGlobalBasePrefix();\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n if (path.startsWith(\"./\") || path.startsWith(\"../\")) {\n return path;\n }\n\n var base = (_ref = (_prefix = prefix) !== null && _prefix !== void 0 ? _prefix : getGlobalPathPrefix()) !== null && _ref !== void 0 ? _ref : \"/\";\n return \"\" + ((base === null || base === void 0 ? void 0 : base.endsWith(\"/\")) ? base.slice(0, -1) : base) + (path.startsWith(\"/\") ? path : \"/\" + path);\n} // These global values are wrapped in typeof clauses to ensure the values exist.\n// This is especially problematic in unit testing of this component.\n\n\nvar getGlobalPathPrefix = function getGlobalPathPrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __PATH_PREFIX__ !== \"undefined\" ? __PATH_PREFIX__ : undefined : __PATH_PREFIX__;\n};\n\nvar getGlobalBasePrefix = function getGlobalBasePrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __BASE_PATH__ !== \"undefined\" ? __BASE_PATH__ : undefined : __BASE_PATH__;\n};\n\nvar isLocalLink = function isLocalLink(path) {\n return path && !path.startsWith(\"http://\") && !path.startsWith(\"https://\") && !path.startsWith(\"//\");\n};\n\nfunction withAssetPrefix(path) {\n return withPrefix(path, getGlobalPathPrefix());\n}\n\nfunction absolutify(path, current) {\n // If it's already absolute, return as-is\n if (isAbsolutePath(path)) {\n return path;\n }\n\n return (0, _utils.resolve)(path, current);\n}\n\nvar rewriteLinkPath = function rewriteLinkPath(path, relativeTo) {\n if (typeof path === \"number\") {\n return path;\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n return isAbsolutePath(path) ? withPrefix(path) : absolutify(path, relativeTo);\n};\n\nvar NavLinkPropTypes = {\n activeClassName: _propTypes.default.string,\n activeStyle: _propTypes.default.object,\n partiallyActive: _propTypes.default.bool\n}; // Set up IntersectionObserver\n\nvar createIntersectionObserver = function createIntersectionObserver(el, cb) {\n var io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (el === entry.target) {\n // Check if element is within viewport, remove listener, destroy observer, and run link callback.\n // MSEdge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(el);\n io.disconnect();\n cb();\n }\n }\n });\n }); // Add element to the observer\n\n io.observe(el);\n return {\n instance: io,\n el: el\n };\n};\n\nvar GatsbyLink = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(GatsbyLink, _React$Component);\n\n function GatsbyLink(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // Default to no support for IntersectionObserver\n\n _this.defaultGetProps = function (_ref2) {\n var isPartiallyCurrent = _ref2.isPartiallyCurrent,\n isCurrent = _ref2.isCurrent;\n\n if (_this.props.partiallyActive ? isPartiallyCurrent : isCurrent) {\n return {\n className: [_this.props.className, _this.props.activeClassName].filter(Boolean).join(\" \"),\n style: (0, _extends2.default)({}, _this.props.style, _this.props.activeStyle)\n };\n }\n\n return null;\n };\n\n var IOSupported = false;\n\n if (typeof window !== \"undefined\" && window.IntersectionObserver) {\n IOSupported = true;\n }\n\n _this.state = {\n IOSupported: IOSupported\n };\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n var _proto = GatsbyLink.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Preserve non IO functionality if no support\n if (this.props.to !== prevProps.to && !this.state.IOSupported) {\n ___loader.enqueue((0, _parsePath.parsePath)(rewriteLinkPath(this.props.to, window.location.pathname)).pathname);\n }\n };\n\n _proto.componentDidMount = function componentDidMount() {\n // Preserve non IO functionality if no support\n if (!this.state.IOSupported) {\n ___loader.enqueue((0, _parsePath.parsePath)(rewriteLinkPath(this.props.to, window.location.pathname)).pathname);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (!this.io) {\n return;\n }\n\n var _this$io = this.io,\n instance = _this$io.instance,\n el = _this$io.el;\n instance.unobserve(el);\n instance.disconnect();\n };\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.props.innerRef && this.props.innerRef.hasOwnProperty(\"current\")) {\n this.props.innerRef.current = ref;\n } else if (this.props.innerRef) {\n this.props.innerRef(ref);\n }\n\n if (this.state.IOSupported && ref) {\n // If IO supported and element reference found, setup Observer functionality\n this.io = createIntersectionObserver(ref, function () {\n ___loader.enqueue((0, _parsePath.parsePath)(rewriteLinkPath(_this2.props.to, window.location.pathname)).pathname);\n });\n }\n };\n\n _proto.render = function render() {\n var _this3 = this;\n\n var _this$props = this.props,\n to = _this$props.to,\n _this$props$getProps = _this$props.getProps,\n getProps = _this$props$getProps === void 0 ? this.defaultGetProps : _this$props$getProps,\n _onClick = _this$props.onClick,\n _onMouseEnter = _this$props.onMouseEnter,\n $activeClassName = _this$props.activeClassName,\n $activeStyle = _this$props.activeStyle,\n $innerRef = _this$props.innerRef,\n partiallyActive = _this$props.partiallyActive,\n state = _this$props.state,\n replace = _this$props.replace,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props, [\"to\", \"getProps\", \"onClick\", \"onMouseEnter\", \"activeClassName\", \"activeStyle\", \"innerRef\", \"partiallyActive\", \"state\", \"replace\"]);\n\n if (process.env.NODE_ENV !== \"production\" && !isLocalLink(to)) {\n console.warn(\"External link \" + to + \" was detected in a Link component. Use the Link component only for internal links. See: https://gatsby.dev/internal-links\");\n }\n\n return /*#__PURE__*/_react.default.createElement(_router.Location, null, function (_ref3) {\n var location = _ref3.location;\n var prefixedTo = rewriteLinkPath(to, location.pathname);\n return isLocalLink(prefixedTo) ? /*#__PURE__*/_react.default.createElement(_router.Link, (0, _extends2.default)({\n to: prefixedTo,\n state: state,\n getProps: getProps,\n innerRef: _this3.handleRef,\n onMouseEnter: function onMouseEnter(e) {\n if (_onMouseEnter) {\n _onMouseEnter(e);\n }\n\n ___loader.hovering((0, _parsePath.parsePath)(prefixedTo).pathname);\n },\n onClick: function onClick(e) {\n if (_onClick) {\n _onClick(e);\n }\n\n if (e.button === 0 && // ignore right clicks\n !_this3.props.target && // let browser handle \"target=_blank\"\n !e.defaultPrevented && // onClick prevented default\n !e.metaKey && // ignore clicks with modifier keys...\n !e.altKey && !e.ctrlKey && !e.shiftKey) {\n e.preventDefault();\n var shouldReplace = replace;\n var isCurrent = encodeURI(prefixedTo) === window.location.pathname;\n\n if (typeof replace !== \"boolean\" && isCurrent) {\n shouldReplace = true;\n } // Make sure the necessary scripts and data are\n // loaded before continuing.\n\n\n window.___navigate(prefixedTo, {\n state: state,\n replace: shouldReplace\n });\n }\n\n return true;\n }\n }, rest)) : /*#__PURE__*/_react.default.createElement(\"a\", (0, _extends2.default)({\n href: prefixedTo\n }, rest));\n });\n };\n\n return GatsbyLink;\n}(_react.default.Component);\n\nGatsbyLink.propTypes = (0, _extends2.default)({}, NavLinkPropTypes, {\n onClick: _propTypes.default.func,\n to: _propTypes.default.string.isRequired,\n replace: _propTypes.default.bool,\n state: _propTypes.default.object\n});\n\nvar showDeprecationWarning = function showDeprecationWarning(functionName, altFunctionName, version) {\n return console.warn(\"The \\\"\" + functionName + \"\\\" method is now deprecated and will be removed in Gatsby v\" + version + \". Please use \\\"\" + altFunctionName + \"\\\" instead.\");\n};\n\nvar _default = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n return /*#__PURE__*/_react.default.createElement(GatsbyLink, (0, _extends2.default)({\n innerRef: ref\n }, props));\n});\n\nexports.default = _default;\n\nvar navigate = function navigate(to, options) {\n window.___navigate(rewriteLinkPath(to, window.location.pathname), options);\n};\n\nexports.navigate = navigate;\n\nvar push = function push(to) {\n showDeprecationWarning(\"push\", \"navigate\", 3);\n\n window.___push(rewriteLinkPath(to, window.location.pathname));\n};\n\nexports.push = push;\n\nvar replace = function replace(to) {\n showDeprecationWarning(\"replace\", \"navigate\", 3);\n\n window.___replace(rewriteLinkPath(to, window.location.pathname));\n}; // TODO: Remove navigateTo for Gatsby v3\n\n\nexports.replace = replace;\n\nvar navigateTo = function navigateTo(to) {\n showDeprecationWarning(\"navigateTo\", \"navigate\", 3);\n return push(to);\n};\n\nexports.navigateTo = navigateTo;","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;","var _typeof = require(\"../helpers/typeof\");\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function _getRequireWildcardCache() {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nmodule.exports = _interopRequireWildcard;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _react = require(\"react\");\n\nvar _router = require(\"@reach/router\");\n\nfunction useScrollRestoration(identifier) {\n var location = (0, _router.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)();\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, []);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","module.exports = Object.assign\n","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContainer = exports.ScrollContext = void 0;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nexports.ScrollContext = _scrollHandler.ScrollHandler;\n\nvar _scrollContainer = require(\"./scroll-container\");\n\nexports.ScrollContainer = _scrollContainer.ScrollContainer;\n\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\n\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","exports.polyfill = Component => Component\n","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({ location: location, action: \"POP\" });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, { key: Date.now() + \"\" });\n // try...catch iOS Safari limits to 100 pushState calls\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({ location: location, action: \"PUSH\" });\n });\n return transition;\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n\n return {\n get location() {\n return stack[index];\n },\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n\n history: {\n get entries() {\n return stack;\n },\n get index() {\n return index;\n },\n get state() {\n return states[index];\n },\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({ pathname: pathname, search: search.length ? \"?\" + search : search });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = { pathname: pathname, search: search };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate;\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport { globalHistory, navigate, createHistory, createMemorySource };","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sessionStorage = require(\"./session-storage\");\n\nvar ScrollContext = React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\n\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n\n function ScrollHandler() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n\n _this.scrollListener = function () {\n var key = _this.props.location.key;\n\n if (key) {\n _this._stateStorage.save(_this.props.location, key, window.scrollY);\n }\n };\n\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing this._stateStorage.\n\n\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n\n return _this;\n }\n\n var _proto = ScrollHandler.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n } else if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (hash && scrollPosition === 0) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n\n return ScrollHandler;\n}(React.Component);\n\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","import React, { createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { publicLoader } from \"./loader\"\nimport { apiRunner } from \"./api-runner-browser\"\n\n// Renders page\nclass PageRenderer extends React.Component {\n render() {\n const props = {\n ...this.props,\n pathContext: this.props.pageContext,\n }\n\n const [replacementElement] = apiRunner(`replaceComponentRenderer`, {\n props: this.props,\n loader: publicLoader,\n })\n\n const pageElement =\n replacementElement ||\n createElement(this.props.pageResources.component, {\n ...props,\n key: this.props.path || this.props.pageResources.page.path,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n { element: pageElement, props },\n pageElement,\n ({ result }) => {\n return { element: result, props }\n }\n ).pop()\n\n return wrappedPage\n }\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","import invariant from \"invariant\";\n\n////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<Router> dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : invariant(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\nvar match = function match(path, uri) {\n return pick([{ path: path }], uri);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// <Link to=\"deeper\"/>\n// // instead of\n// <Link to=`{${props.uri}/deeper}`/>\n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname);\n\n // ?a=b, /users?b=c => /users?a=b\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n }\n\n // profile, /users/789 => /users/789/profile\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n }\n\n // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar paramRe = /^:(.+)/;\n\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return { route: route, score: score, index: index };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri\n // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n};\n\n////////////////////////////////////////////////////////////////////////////////\nexport { startsWith, pick, match, resolve, insertParams, validateRedirect, shallowCompare };","module.exports = [{\n plugin: require('../node_modules/gatsby-remark-autolink-headers/gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n * ie10 fix - Mikael Kristiansson 2019\n */\n!(function(name, definition) {\n if (typeof module != \"undefined\") module.exports = definition();\n else if (typeof define == \"function\" && typeof define.amd == \"object\")\n define(definition);\n else this[name] = definition();\n})(\"domready\", function() {\n var ie10 = false;\n if (navigator.appVersion.indexOf(\"MSIE 10\") !== -1) {\n ie10 = true;\n }\n\n var fns = [],\n listener,\n doc = typeof document === \"object\" && document,\n hack = ie10\n ? doc.documentElement.doScroll(\"left\")\n : doc.documentElement.doScroll,\n domContentLoaded = \"DOMContentLoaded\",\n loaded =\n doc && (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);\n\n if (!loaded && doc)\n doc.addEventListener(\n domContentLoaded,\n (listener = function() {\n doc.removeEventListener(domContentLoaded, listener);\n loaded = 1;\n while ((listener = fns.shift())) listener();\n })\n );\n\n return function(fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn);\n };\n});\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport redirects from \"./redirects.json\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport { navigate as reachNavigate } from \"@reach/router\"\nimport { globalHistory } from \"@reach/router/lib/history\"\nimport { parsePath } from \"gatsby-link\"\n\n// Convert to a map for faster lookup in maybeRedirect()\nconst redirectMap = redirects.reduce((map, redirect) => {\n map[redirect.fromPath] = redirect\n return map\n}, {})\n\nfunction maybeRedirect(pathname) {\n const redirect = redirectMap[pathname]\n\n if (redirect != null) {\n if (process.env.NODE_ENV !== `production`) {\n if (!loader.isPageNotFound(pathname)) {\n console.error(\n `The route \"${pathname}\" matches both a page and a redirect; this is probably not intentional.`\n )\n }\n }\n\n window.___replace(redirect.toPath)\n return true\n } else {\n return false\n }\n}\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n let { pathname } = parsePath(to)\n const redirect = redirectMap[pathname]\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath\n pathname = parsePath(to).pathname\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n console.log(`Site has changed on server. Reloading browser`)\n window.location = pathname\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => this._stateStorage.read(args),\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n\n // Check for initial page-load redirect\n maybeRedirect(window.location.pathname)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return <div {...RouteAnnouncerProps} ref={this.announcementRef}></div>\n }\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n componentDidUpdate(prevProps, prevState, shouldFireRouteUpdate) {\n if (shouldFireRouteUpdate) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n getSnapshotBeforeUpdate(prevProps) {\n if (this.props.location.pathname !== prevProps.location.pathname) {\n onPreRouteUpdate(this.props.location, prevProps.location)\n return true\n }\n\n return false\n }\n\n render() {\n return (\n <React.Fragment>\n {this.props.children}\n <RouteAnnouncer location={location} />\n </React.Fragment>\n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources: pageResources || loader.loadPageSync(location.pathname),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(location.pathname)\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(nextProps.location.pathname)\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (process.env.NODE_ENV !== `production` && !this.state.pageResources) {\n throw new Error(\n `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n )\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport { Router, navigate, Location, BaseContext } from \"@reach/router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport domReady from \"@mikaelkristiansson/domready\"\nimport { StaticQueryContext } from \"gatsby\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n <BaseContext.Provider\n value={{\n baseuri: `/`,\n basepath: `/`,\n }}\n >\n <PageRenderer {...props} />\n </BaseContext.Provider>\n )\n\n const DataContext = React.createContext({})\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n <Location>\n {({ location }) => (\n <EnsureResources location={location}>\n {({ pageResources, location }) => (\n <StaticQueryContext.Provider\n value={pageResources.staticQueryResults}\n >\n <DataContext.Provider value={{ pageResources, location }}>\n {children}\n </DataContext.Provider>\n </StaticQueryContext.Provider>\n )}\n </EnsureResources>\n )}\n </Location>\n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n <DataContext.Consumer>\n {({ pageResources, location }) => (\n <RouteUpdates location={location}>\n <ScrollContext\n location={location}\n shouldUpdateScroll={shouldUpdateScroll}\n >\n <Router\n basepath={__BASE_PATH__}\n location={location}\n id=\"gatsby-focus-wrapper\"\n >\n <RouteHandler\n path={\n pageResources.page.path === `/404.html`\n ? stripPrefix(location.pathname, __BASE_PATH__)\n : encodeURI(\n pageResources.page.matchPath ||\n pageResources.page.path\n )\n }\n {...this.props}\n location={location}\n pageResources={pageResources}\n {...pageResources.json}\n />\n </Router>\n </ScrollContext>\n </RouteUpdates>\n )}\n </DataContext.Consumer>\n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). But\n // only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !== browserLoc.pathname &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath === `/404.html` ||\n pagePath.match(/^\\/404\\/?$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(__BASE_PATH__ + pagePath + browserLoc.search + browserLoc.hash, {\n replace: true,\n })\n }\n\n publicLoader.loadPage(browserLoc.pathname).then(page => {\n if (!page || page.status === PageResourceStatus.Error) {\n throw new Error(\n `page resources for ${browserLoc.pathname} not found. Not rendering React`\n )\n }\n\n window.___webpackCompilationHash = page.page.webpackCompilationHash\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: <LocationHandler /> },\n <LocationHandler />,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = () => <GatsbyRoot>{SiteRoot}</GatsbyRoot>\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n ReactDOM.hydrate\n )[0]\n\n domReady(() => {\n renderer(\n <App />,\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : void 0,\n () => {\n apiRunner(`onInitialClientRender`)\n }\n )\n })\n })\n})\n","function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;","// prefer default export if available\nconst preferDefault = m => m && m.default || m\n\nexports.components = {\n \"component---src-templates-doc-jsx\": () => import(\"./../../src/templates/doc.jsx\" /* webpackChunkName: \"component---src-templates-doc-jsx\" */),\n \"component---src-templates-main-jsx\": () => import(\"./../../src/templates/main.jsx\" /* webpackChunkName: \"component---src-templates-main-jsx\" */)\n}\n\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n withAssetPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n parsePath,\n} from \"gatsby-link\"\nimport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nimport PageRenderer from \"./public-page-renderer\"\nimport loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nconst StaticQueryContext = React.createContext({})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n <React.Fragment>\n {finalData && render(finalData)}\n {!finalData && <div>Loading (StaticQuery)</div>}\n </React.Fragment>\n )\n}\n\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n <StaticQueryContext.Consumer>\n {staticQueryData => (\n <StaticQueryDataRenderer\n data={data}\n query={query}\n render={render || children}\n staticQueryData={staticQueryData}\n />\n )}\n </StaticQueryContext.Consumer>\n )\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context?.[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withAssetPrefix,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n push, // TODO replace for v3\n replace, // TODO remove replace for v3\n navigateTo, // TODO: remove navigateTo for v3\n useScrollRestoration,\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n useStaticQuery,\n prefetchPathname,\n}\n","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* eslint-disable jsx-a11y/anchor-has-content */\nimport React, { useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"invariant\";\nimport createContext from \"create-react-context\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { startsWith, pick, resolve, match, insertParams, validateRedirect, shallowCompare } from \"./lib/utils\";\nimport { globalHistory, navigate, createHistory, createMemorySource } from \"./lib/history\";\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar createNamedContext = function createNamedContext(name, defaultValue) {\n var Ctx = createContext(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Location Context/Provider\nvar LocationContext = createNamedContext(\"Location\");\n\n// sets up a listener if there isn't one already so apps don't need to be\n// wrapped in some top level provider\nvar Location = function Location(_ref) {\n var children = _ref.children;\n return React.createElement(\n LocationContext.Consumer,\n null,\n function (context) {\n return context ? children(context) : React.createElement(\n LocationProvider,\n null,\n children\n );\n }\n );\n};\n\nvar LocationProvider = function (_React$Component) {\n _inherits(LocationProvider, _React$Component);\n\n function LocationProvider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, LocationProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n context: _this.getContext(),\n refs: { unlisten: null }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n LocationProvider.prototype.getContext = function getContext() {\n var _props$history = this.props.history,\n navigate = _props$history.navigate,\n location = _props$history.location;\n\n return { navigate: navigate, location: location };\n };\n\n LocationProvider.prototype.componentDidCatch = function componentDidCatch(error, info) {\n if (isRedirect(error)) {\n var _navigate = this.props.history.navigate;\n\n _navigate(error.uri, { replace: true });\n } else {\n throw error;\n }\n };\n\n LocationProvider.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevState.context.location !== this.state.context.location) {\n this.props.history._onTransitionComplete();\n }\n };\n\n LocationProvider.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n var refs = this.state.refs,\n history = this.props.history;\n\n history._onTransitionComplete();\n refs.unlisten = history.listen(function () {\n Promise.resolve().then(function () {\n // TODO: replace rAF with react deferred update API when it's ready https://github.com/facebook/react/issues/13306\n requestAnimationFrame(function () {\n if (!_this2.unmounted) {\n _this2.setState(function () {\n return { context: _this2.getContext() };\n });\n }\n });\n });\n });\n };\n\n LocationProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n var refs = this.state.refs;\n\n this.unmounted = true;\n refs.unlisten();\n };\n\n LocationProvider.prototype.render = function render() {\n var context = this.state.context,\n children = this.props.children;\n\n return React.createElement(\n LocationContext.Provider,\n { value: context },\n typeof children === \"function\" ? children(context) : children || null\n );\n };\n\n return LocationProvider;\n}(React.Component);\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nLocationProvider.defaultProps = {\n history: globalHistory\n};\nprocess.env.NODE_ENV !== \"production\" ? LocationProvider.propTypes = {\n history: PropTypes.object.isRequired\n} : void 0;\nvar ServerLocation = function ServerLocation(_ref2) {\n var url = _ref2.url,\n children = _ref2.children;\n\n var searchIndex = url.indexOf(\"?\");\n var searchExists = searchIndex > -1;\n var pathname = void 0;\n var search = \"\";\n var hash = \"\";\n\n if (searchExists) {\n pathname = url.substring(0, searchIndex);\n search = url.substring(searchIndex);\n } else {\n pathname = url;\n }\n\n return React.createElement(\n LocationContext.Provider,\n {\n value: {\n location: {\n pathname: pathname,\n search: search,\n hash: hash\n },\n navigate: function navigate() {\n throw new Error(\"You can't call navigate on the server.\");\n }\n }\n },\n children\n );\n};\n////////////////////////////////////////////////////////////////////////////////\n// Sets baseuri and basepath for nested routers and links\nvar BaseContext = createNamedContext(\"Base\", { baseuri: \"/\", basepath: \"/\" });\n\n////////////////////////////////////////////////////////////////////////////////\n// The main event, welcome to the show everybody.\nvar Router = function Router(props) {\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (baseContext) {\n return React.createElement(\n Location,\n null,\n function (locationContext) {\n return React.createElement(RouterImpl, _extends({}, baseContext, locationContext, props));\n }\n );\n }\n );\n};\n\nvar RouterImpl = function (_React$PureComponent) {\n _inherits(RouterImpl, _React$PureComponent);\n\n function RouterImpl() {\n _classCallCheck(this, RouterImpl);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n RouterImpl.prototype.render = function render() {\n var _props = this.props,\n location = _props.location,\n _navigate2 = _props.navigate,\n basepath = _props.basepath,\n primary = _props.primary,\n children = _props.children,\n baseuri = _props.baseuri,\n _props$component = _props.component,\n component = _props$component === undefined ? \"div\" : _props$component,\n domProps = _objectWithoutProperties(_props, [\"location\", \"navigate\", \"basepath\", \"primary\", \"children\", \"baseuri\", \"component\"]);\n\n var routes = React.Children.toArray(children).reduce(function (array, child) {\n var routes = createRoute(basepath)(child);\n return array.concat(routes);\n }, []);\n var pathname = location.pathname;\n\n\n var match = pick(routes, pathname);\n\n if (match) {\n var params = match.params,\n uri = match.uri,\n route = match.route,\n element = match.route.value;\n\n // remove the /* from the end for child routes relative paths\n\n basepath = route.default ? basepath : route.path.replace(/\\*$/, \"\");\n\n var props = _extends({}, params, {\n uri: uri,\n location: location,\n navigate: function navigate(to, options) {\n return _navigate2(resolve(to, uri), options);\n }\n });\n\n var clone = React.cloneElement(element, props, element.props.children ? React.createElement(\n Router,\n { location: location, primary: primary },\n element.props.children\n ) : undefined);\n\n // using 'div' for < 16.3 support\n var FocusWrapper = primary ? FocusHandler : component;\n // don't pass any props to 'div'\n var wrapperProps = primary ? _extends({ uri: uri, location: location, component: component }, domProps) : domProps;\n\n return React.createElement(\n BaseContext.Provider,\n { value: { baseuri: uri, basepath: basepath } },\n React.createElement(\n FocusWrapper,\n wrapperProps,\n clone\n )\n );\n } else {\n // Not sure if we want this, would require index routes at every level\n // warning(\n // false,\n // `<Router basepath=\"${basepath}\">\\n\\nNothing matched:\\n\\t${\n // location.pathname\n // }\\n\\nPaths checked: \\n\\t${routes\n // .map(route => route.path)\n // .join(\n // \"\\n\\t\"\n // )}\\n\\nTo get rid of this warning, add a default NotFound component as child of Router:\n // \\n\\tlet NotFound = () => <div>Not Found!</div>\n // \\n\\t<Router>\\n\\t <NotFound default/>\\n\\t {/* ... */}\\n\\t</Router>`\n // );\n return null;\n }\n };\n\n return RouterImpl;\n}(React.PureComponent);\n\nRouterImpl.defaultProps = {\n primary: true\n};\n\n\nvar FocusContext = createNamedContext(\"Focus\");\n\nvar FocusHandler = function FocusHandler(_ref3) {\n var uri = _ref3.uri,\n location = _ref3.location,\n component = _ref3.component,\n domProps = _objectWithoutProperties(_ref3, [\"uri\", \"location\", \"component\"]);\n\n return React.createElement(\n FocusContext.Consumer,\n null,\n function (requestFocus) {\n return React.createElement(FocusHandlerImpl, _extends({}, domProps, {\n component: component,\n requestFocus: requestFocus,\n uri: uri,\n location: location\n }));\n }\n );\n};\n\n// don't focus on initial render\nvar initialRender = true;\nvar focusHandlerCount = 0;\n\nvar FocusHandlerImpl = function (_React$Component2) {\n _inherits(FocusHandlerImpl, _React$Component2);\n\n function FocusHandlerImpl() {\n var _temp2, _this4, _ret2;\n\n _classCallCheck(this, FocusHandlerImpl);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this4 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this4), _this4.state = {}, _this4.requestFocus = function (node) {\n if (!_this4.state.shouldFocus && node) {\n node.focus();\n }\n }, _temp2), _possibleConstructorReturn(_this4, _ret2);\n }\n\n FocusHandlerImpl.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var initial = prevState.uri == null;\n if (initial) {\n return _extends({\n shouldFocus: true\n }, nextProps);\n } else {\n var myURIChanged = nextProps.uri !== prevState.uri;\n var navigatedUpToMe = prevState.location.pathname !== nextProps.location.pathname && nextProps.location.pathname === nextProps.uri;\n return _extends({\n shouldFocus: myURIChanged || navigatedUpToMe\n }, nextProps);\n }\n };\n\n FocusHandlerImpl.prototype.componentDidMount = function componentDidMount() {\n focusHandlerCount++;\n this.focus();\n };\n\n FocusHandlerImpl.prototype.componentWillUnmount = function componentWillUnmount() {\n focusHandlerCount--;\n if (focusHandlerCount === 0) {\n initialRender = true;\n }\n };\n\n FocusHandlerImpl.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.location !== this.props.location && this.state.shouldFocus) {\n this.focus();\n }\n };\n\n FocusHandlerImpl.prototype.focus = function focus() {\n if (process.env.NODE_ENV === \"test\") {\n // getting cannot read property focus of null in the tests\n // and that bit of global `initialRender` state causes problems\n // should probably figure it out!\n return;\n }\n\n var requestFocus = this.props.requestFocus;\n\n\n if (requestFocus) {\n requestFocus(this.node);\n } else {\n if (initialRender) {\n initialRender = false;\n } else if (this.node) {\n // React polyfills [autofocus] and it fires earlier than cDM,\n // so we were stealing focus away, this line prevents that.\n if (!this.node.contains(document.activeElement)) {\n this.node.focus();\n }\n }\n }\n };\n\n FocusHandlerImpl.prototype.render = function render() {\n var _this5 = this;\n\n var _props2 = this.props,\n children = _props2.children,\n style = _props2.style,\n requestFocus = _props2.requestFocus,\n _props2$component = _props2.component,\n Comp = _props2$component === undefined ? \"div\" : _props2$component,\n uri = _props2.uri,\n location = _props2.location,\n domProps = _objectWithoutProperties(_props2, [\"children\", \"style\", \"requestFocus\", \"component\", \"uri\", \"location\"]);\n\n return React.createElement(\n Comp,\n _extends({\n style: _extends({ outline: \"none\" }, style),\n tabIndex: \"-1\",\n ref: function ref(n) {\n return _this5.node = n;\n }\n }, domProps),\n React.createElement(\n FocusContext.Provider,\n { value: this.requestFocus },\n this.props.children\n )\n );\n };\n\n return FocusHandlerImpl;\n}(React.Component);\n\npolyfill(FocusHandlerImpl);\n\nvar k = function k() {};\n\n////////////////////////////////////////////////////////////////////////////////\nvar forwardRef = React.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = function forwardRef(C) {\n return C;\n };\n}\n\nvar Link = forwardRef(function (_ref4, ref) {\n var innerRef = _ref4.innerRef,\n props = _objectWithoutProperties(_ref4, [\"innerRef\"]);\n\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref5) {\n var basepath = _ref5.basepath,\n baseuri = _ref5.baseuri;\n return React.createElement(\n Location,\n null,\n function (_ref6) {\n var location = _ref6.location,\n navigate = _ref6.navigate;\n\n var to = props.to,\n state = props.state,\n replace = props.replace,\n _props$getProps = props.getProps,\n getProps = _props$getProps === undefined ? k : _props$getProps,\n anchorProps = _objectWithoutProperties(props, [\"to\", \"state\", \"replace\", \"getProps\"]);\n\n var href = resolve(to, baseuri);\n var encodedHref = encodeURI(href);\n var isCurrent = location.pathname === encodedHref;\n var isPartiallyCurrent = startsWith(location.pathname, encodedHref);\n\n return React.createElement(\"a\", _extends({\n ref: ref || innerRef,\n \"aria-current\": isCurrent ? \"page\" : undefined\n }, anchorProps, getProps({ isCurrent: isCurrent, isPartiallyCurrent: isPartiallyCurrent, href: href, location: location }), {\n href: href,\n onClick: function onClick(event) {\n if (anchorProps.onClick) anchorProps.onClick(event);\n if (shouldNavigate(event)) {\n event.preventDefault();\n var shouldReplace = replace;\n if (typeof replace !== \"boolean\" && isCurrent) {\n var _location$state = _extends({}, location.state),\n key = _location$state.key,\n restState = _objectWithoutProperties(_location$state, [\"key\"]);\n\n shouldReplace = shallowCompare(_extends({}, state), restState);\n }\n navigate(href, {\n state: state,\n replace: shouldReplace\n });\n }\n }\n }));\n }\n );\n }\n );\n});\n\nLink.displayName = \"Link\";\n\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes = {\n to: PropTypes.string.isRequired\n} : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nfunction RedirectRequest(uri) {\n this.uri = uri;\n}\n\nvar isRedirect = function isRedirect(o) {\n return o instanceof RedirectRequest;\n};\n\nvar redirectTo = function redirectTo(to) {\n throw new RedirectRequest(to);\n};\n\nvar RedirectImpl = function (_React$Component3) {\n _inherits(RedirectImpl, _React$Component3);\n\n function RedirectImpl() {\n _classCallCheck(this, RedirectImpl);\n\n return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments));\n }\n\n // Support React < 16 with this hook\n RedirectImpl.prototype.componentDidMount = function componentDidMount() {\n var _props3 = this.props,\n navigate = _props3.navigate,\n to = _props3.to,\n from = _props3.from,\n _props3$replace = _props3.replace,\n replace = _props3$replace === undefined ? true : _props3$replace,\n state = _props3.state,\n noThrow = _props3.noThrow,\n baseuri = _props3.baseuri,\n props = _objectWithoutProperties(_props3, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n Promise.resolve().then(function () {\n var resolvedTo = resolve(to, baseuri);\n navigate(insertParams(resolvedTo, props), { replace: replace, state: state });\n });\n };\n\n RedirectImpl.prototype.render = function render() {\n var _props4 = this.props,\n navigate = _props4.navigate,\n to = _props4.to,\n from = _props4.from,\n replace = _props4.replace,\n state = _props4.state,\n noThrow = _props4.noThrow,\n baseuri = _props4.baseuri,\n props = _objectWithoutProperties(_props4, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n var resolvedTo = resolve(to, baseuri);\n if (!noThrow) redirectTo(insertParams(resolvedTo, props));\n return null;\n };\n\n return RedirectImpl;\n}(React.Component);\n\nvar Redirect = function Redirect(props) {\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref7) {\n var baseuri = _ref7.baseuri;\n return React.createElement(\n Location,\n null,\n function (locationContext) {\n return React.createElement(RedirectImpl, _extends({}, locationContext, { baseuri: baseuri }, props));\n }\n );\n }\n );\n};\n\nprocess.env.NODE_ENV !== \"production\" ? Redirect.propTypes = {\n from: PropTypes.string,\n to: PropTypes.string.isRequired\n} : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nvar Match = function Match(_ref8) {\n var path = _ref8.path,\n children = _ref8.children;\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref9) {\n var baseuri = _ref9.baseuri;\n return React.createElement(\n Location,\n null,\n function (_ref10) {\n var navigate = _ref10.navigate,\n location = _ref10.location;\n\n var resolvedPath = resolve(path, baseuri);\n var result = match(resolvedPath, location.pathname);\n return children({\n navigate: navigate,\n location: location,\n match: result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null\n });\n }\n );\n }\n );\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Hooks\n\nvar useLocation = function useLocation() {\n var context = useContext(LocationContext);\n\n if (!context) {\n throw new Error(\"useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.location;\n};\n\nvar useNavigate = function useNavigate() {\n var context = useContext(LocationContext);\n\n if (!context) {\n throw new Error(\"useNavigate hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.navigate;\n};\n\nvar useParams = function useParams() {\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n\n var results = match(context.basepath, location.pathname);\n\n return results ? results.params : null;\n};\n\nvar useMatch = function useMatch(path) {\n if (!path) {\n throw new Error(\"useMatch(path: string) requires an argument of a string to match against\");\n }\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n\n var resolvedPath = resolve(path, context.baseuri);\n var result = match(resolvedPath, location.pathname);\n return result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar stripSlashes = function stripSlashes(str) {\n return str.replace(/(^\\/+|\\/+$)/g, \"\");\n};\n\nvar createRoute = function createRoute(basepath) {\n return function (element) {\n if (!element) {\n return null;\n }\n\n if (element.type === React.Fragment && element.props.children) {\n return React.Children.map(element.props.children, createRoute(basepath));\n }\n !(element.props.path || element.props.default || element.type === Redirect) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<Router>: Children of <Router> must have a `path` or `default` prop, or be a `<Redirect>`. None found on element type `\" + element.type + \"`\") : invariant(false) : void 0;\n\n !!(element.type === Redirect && (!element.props.from || !element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<Redirect from=\\\"\" + element.props.from + \"\\\" to=\\\"\" + element.props.to + \"\\\"/> requires both \\\"from\\\" and \\\"to\\\" props when inside a <Router>.\") : invariant(false) : void 0;\n\n !!(element.type === Redirect && !validateRedirect(element.props.from, element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<Redirect from=\\\"\" + element.props.from + \" to=\\\"\" + element.props.to + \"\\\"/> has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.\") : invariant(false) : void 0;\n\n if (element.props.default) {\n return { value: element, default: true };\n }\n\n var elementPath = element.type === Redirect ? element.props.from : element.props.path;\n\n var path = elementPath === \"/\" ? basepath : stripSlashes(basepath) + \"/\" + stripSlashes(elementPath);\n\n return {\n value: element,\n default: element.props.default,\n path: element.props.children ? stripSlashes(path) + \"/*\" : path\n };\n };\n};\n\nvar shouldNavigate = function shouldNavigate(event) {\n return !event.defaultPrevented && event.button === 0 && !(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n};\n\n////////////////////////////////////////////////////////////////////////\nexport { Link, Location, LocationProvider, Match, Redirect, Router, ServerLocation, createHistory, createMemorySource, isRedirect, navigate, redirectTo, globalHistory, match as matchPath, useLocation, useNavigate, useParams, useMatch , BaseContext };","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","\"use strict\";\n\nexports.__esModule = true;\nexports.parsePath = parsePath;\n\nfunction parsePath(path) {\n var pathname = path || \"/\";\n var search = \"\";\n var hash = \"\";\n var hashIndex = pathname.indexOf(\"#\");\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf(\"?\");\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === \"?\" ? \"\" : search,\n hash: hash === \"#\" ? \"\" : hash\n };\n}","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","export default path => {\n if (path === undefined) {\n return path\n }\n if (path === `/`) {\n return `/`\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1)\n }\n return path\n}\n","import { match } from \"@reach/router/lib/utils\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n const pathname = decodeURIComponent(rawPathname)\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(pathname, __BASE_PATH__)\n // Remove any hashfragment\n .split(`#`)[0]\n // Remove search query\n .split(`?`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n for (const { matchPath, path } of matchPaths) {\n if (match(matchPath, trimmedPathname)) {\n return normalizePagePath(path)\n }\n }\n\n return null\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","import prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = path => {\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json`\n}\n\nfunction doFetch(url, method = `GET`) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\nconst toPageResources = (pageData, component = null) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n }\n\n return {\n component,\n json: pageData.result,\n page,\n }\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = new Map()\n this.pageDataDb = new Map()\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404 page and it doesn't exist, we're done\n if (pagePath === `/404.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n return Promise.resolve(this.pageDataDb.get(pagePath))\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n return Promise.resolve(page.payload)\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]).then(allData => {\n const result = allData[1]\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = result.payload\n const { componentChunkName, staticQueryHashes = [] } = pageData\n\n const finalResult = {}\n\n const componentChunkPromise = this.loadComponent(componentChunkName).then(\n component => {\n finalResult.createdAt = new Date()\n let pageResources\n if (!component) {\n finalResult.status = PageResourceStatus.Error\n } else {\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: allData[0]\n ? allData[0].webpackCompilationHash\n : ``,\n })\n pageResources = toPageResources(pageData, component)\n }\n // undefined if final result is an error\n return pageResources\n }\n )\n\n const staticQueryBatchPromise = Promise.all(\n staticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb.has(staticQueryHash)) {\n const jsonPayload = this.staticQueryDb.get(staticQueryHash)\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/static/d/${staticQueryHash}.json`\n ).then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb.set(staticQueryHash, jsonPayload)\n })\n\n return staticQueryResultsMap\n })\n\n return Promise.all([componentChunkPromise, staticQueryBatchPromise]).then(\n ([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n return payload\n }\n )\n })\n\n inFlightPromise\n .then(response => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if loading page ran into errors\n loadPageSync(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath).payload\n return pageData\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return false\n }\n\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return false\n }\n\n const realPath = findPath(pagePath)\n // Todo make doPrefetch logic cacheable\n // eslint-disable-next-line consistent-return\n this.doPrefetch(realPath).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n })\n\n return true\n }\n\n doPrefetch(pagePath) {\n throw new Error(`doPrefetch not implemented`)\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return page && page.notFound === true\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths) {\n const loadComponent = chunkName =>\n asyncRequires.components[chunkName]\n ? asyncRequires.components[chunkName]()\n .then(preferDefault)\n // loader will handle the case when component is null\n .catch(() => null)\n : Promise.resolve()\n\n super(loadComponent, matchPaths)\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n })\n .then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n .then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(\n () => pageData\n )\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n // Deprecated methods. As far as we're aware, these are only used by\n // core gatsby and the offline plugin, however there's a very small\n // chance they're called by others.\n getResourcesForPathname: rawPath => {\n console.warn(\n `Warning: getResourcesForPathname is deprecated. Use loadPage instead`\n )\n return instance.i.loadPage(rawPath)\n },\n getResourcesForPathnameSync: rawPath => {\n console.warn(\n `Warning: getResourcesForPathnameSync is deprecated. Use loadPageSync instead`\n )\n return instance.i.loadPageSync(rawPath)\n },\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n loadPageSync: rawPath => instance.loadPageSync(rawPath),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n","\"use strict\";\n\nvar offsetY = 0;\n\nvar getTargetOffset = function getTargetOffset(hash) {\n var id = window.decodeURI(hash.replace(\"#\", \"\"));\n\n if (id !== \"\") {\n var element = document.getElementById(id);\n\n if (element) {\n var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;\n var clientTop = document.documentElement.clientTop || document.body.clientTop || 0;\n var computedStyles = window.getComputedStyle(element);\n var scrollMarginTop = computedStyles.getPropertyValue(\"scroll-margin-top\") || computedStyles.getPropertyValue(\"scroll-snap-margin-top\") || \"0px\";\n return element.getBoundingClientRect().top + scrollTop - parseInt(scrollMarginTop, 10) - clientTop - offsetY;\n }\n }\n\n return null;\n};\n\nexports.onInitialClientRender = function (_, pluginOptions) {\n if (pluginOptions.offsetY) {\n offsetY = pluginOptions.offsetY;\n }\n\n requestAnimationFrame(function () {\n var offset = getTargetOffset(window.location.hash);\n\n if (offset !== null) {\n window.scrollTo(0, offset);\n }\n });\n};\n\nexports.shouldUpdateScroll = function (_ref) {\n var location = _ref.routerProps.location;\n var offset = getTargetOffset(location.hash);\n return offset !== null ? [0, offset] : true;\n};","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollContainer = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _router = require(\"@reach/router\");\n\n// TODO: In Gatsby v3, this file should be removed.\n// We are deprecating this in V2 in favor of useScrollRestoration\nvar propTypes = {\n scrollKey: _propTypes.default.string.isRequired,\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired\n};\nvar hasNotWarnedDeprecation = true;\n\nvar ScrollContainerImplementation = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollContainerImplementation, _React$Component);\n\n function ScrollContainerImplementation(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n\n if (process.env.NODE_ENV !== \"production\" && hasNotWarnedDeprecation) {\n hasNotWarnedDeprecation = false;\n console.log(\"Deprecation Warning:\\n\\n Gatsby <ScrollContainer> is deprecated in Gatsby v2 and will be removed in Gatsby v3.\\n Update to the React hook alternative useScrollRestoration, like this:.\\n \\n ```\\n import React from 'react';\\n import { useScrollRestoration } from 'gatsby-react-router-scroll';\\n\\n function Component() {\\n const scrollRestoration = useScrollRestoration('\" + _this.props.scrollKey + \"');\\n\\n return <ul {...scrollRestoration} />;\\n }\\n ```\\n \");\n }\n\n return _this;\n }\n\n var _proto = ScrollContainerImplementation.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n // eslint-disable-next-line react/no-find-dom-node\n var node = _reactDom.default.findDOMNode(this);\n\n var _this$props = this.props,\n location = _this$props.location,\n scrollKey = _this$props.scrollKey;\n if (!node) return;\n node.addEventListener(\"scroll\", function () {\n _this2.props.context.save(location, scrollKey, node.scrollTop);\n });\n var position = this.props.context.read(location, scrollKey);\n node.scrollTo(0, position || 0);\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return ScrollContainerImplementation;\n}(React.Component);\n\nvar ScrollContainer = function ScrollContainer(props) {\n return /*#__PURE__*/React.createElement(_router.Location, null, function (_ref) {\n var location = _ref.location;\n return /*#__PURE__*/React.createElement(_scrollHandler.ScrollContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(ScrollContainerImplementation, (0, _extends2.default)({}, props, {\n context: context,\n location: location\n }));\n });\n });\n};\n\nexports.ScrollContainer = ScrollContainer;\nScrollContainer.propTypes = propTypes;","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","/*\n Why commonjs and not ES imports/exports?\n\n This module is used to alias `create-react-context` package, but drop the the actual implementation part\n because Gatsby requires version of react that has implementatoin baked in.\n \n Package source is using ES modules:\n - https://github.com/jamiebuilds/create-react-context/blob/v0.3.0/src/index.js\n \n But to build this package `babel-plugin-add-module-exports` is used ( https://www.npmjs.com/package/babel-plugin-add-module-exports).\n Which result in both `module.exports` and `exports.default` being set to same thing.\n\n We don't use that babel plugin so we only have `exports.default`.\n\n This cause problems in various 3rd party react components that rely on `module.exports` being set.\n See https://github.com/gatsbyjs/gatsby/issues/23645 for example of it.\n \n Instead of adding same babel plugin we mimic output here. Adding babel plugin just for this would:\n a) unnecesairly slow down compilation for all other files (if we just apply it everywhere)\n b) or complicate babel-loader configuration with overwrite specifically for this file\n*/\n\nconst { createContext } = require(`react`)\n\nmodule.exports = createContext\nmodule.exports.default = createContext\n","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location, pageResources }) => {\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const plugins = require(`./api-runner-browser-plugins`)\nconst {\n getResourcesForPathname,\n getResourcesForPathnameSync,\n getResourceURLsForPathname,\n loadPage,\n loadPageSync,\n} = require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n // Deprecated April 2019. Use `loadPageSync` instead\n args.getResourcesForPathnameSync = getResourcesForPathnameSync\n // Deprecated April 2019. Use `loadPage` instead\n args.getResourcesForPathname = getResourcesForPathname\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/chunk-map.json b/chunk-map.json
index 77a7023..3c4eb58 100644
--- a/chunk-map.json
+++ b/chunk-map.json
@@ -1 +1 @@
-{"app":["/app-194ea4f7bf63aa4ef2a0.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-509f65dc90a3e989be93.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js"]}
\ No newline at end of file
+{"polyfill":["/polyfill-2a86e29ae53b0bcd324d.js"],"app":["/app-ea12b9b536627f4c1462.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-38fb851fba733cc5515a.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"]}
\ No newline at end of file
diff --git a/commons-2e644671e1023bf8738b.js b/commons-2e644671e1023bf8738b.js
deleted file mode 100644
index 1f79b3f..0000000
--- a/commons-2e644671e1023bf8738b.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{"+wdc":function(e,t,n){"use strict";var r,l,a,i,o;if(n("eM6i"),n("HAE/"),Object.defineProperty(t,"__esModule",{value:!0}),"undefined"==typeof window||"function"!=typeof MessageChannel){var u=null,c=null,s=function e(){if(null!==u)try{var n=t.unstable_now();u(!0,n),u=null}catch(r){throw setTimeout(e,0),r}},f=Date.now();t.unstable_now=function(){return Date.now()-f},r=function(e){null!==u?setTimeout(r,0,e):(u=e,setTimeout(s,0))},l=function(e,t){c=setTimeout(e,t)},a=function(){clearTimeout(c)},i=function(){return!1},o=t.unstable_forceFrameRate=function(){}}else{var d=window.performance,p=window.Date,m=window.setTimeout,h=window.clearTimeout;if("undefined"!=typeof console){var v=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof v&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"==typeof d&&"function"==typeof d.now)t.unstable_now=function(){return d.now()};else{var y=p.now();t.unstable_now=function(){return p.now()-y}}var g=!1,b=null,E=-1,T=5,w=0;i=function(){return t.unstable_now()>=w},o=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):T=0<e?Math.floor(1e3/e):5};var k=new MessageChannel,S=k.port2;k.port1.onmessage=function(){if(null!==b){var e=t.unstable_now();w=e+T;try{b(!0,e)?S.postMessage(null):(g=!1,b=null)}catch(n){throw S.postMessage(null),n}}else g=!1},r=function(e){b=e,g||(g=!0,S.postMessage(null))},l=function(e,n){E=m((function(){e(t.unstable_now())}),n)},a=function(){h(E),E=-1}}function x(e,t){var n=e.length;e.push(t);e:for(;;){var r=Math.floor((n-1)/2),l=e[r];if(!(void 0!==l&&0<P(l,t)))break e;e[r]=t,e[n]=l,n=r}}function _(e){return void 0===(e=e[0])?null:e}function C(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,l=e.length;r<l;){var a=2*(r+1)-1,i=e[a],o=a+1,u=e[o];if(void 0!==i&&0>P(i,n))void 0!==u&&0>P(u,i)?(e[r]=u,e[o]=n,r=o):(e[r]=i,e[a]=n,r=a);else{if(!(void 0!==u&&0>P(u,n)))break e;e[r]=u,e[o]=n,r=o}}}return t}return null}function P(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var A=[],N=[],O=1,R=null,M=3,I=!1,L=!1,z=!1;function F(e){for(var t=_(N);null!==t;){if(null===t.callback)C(N);else{if(!(t.startTime<=e))break;C(N),t.sortIndex=t.expirationTime,x(A,t)}t=_(N)}}function U(e){if(z=!1,F(e),!L)if(null!==_(A))L=!0,r(D);else{var t=_(N);null!==t&&l(U,t.startTime-e)}}function D(e,n){L=!1,z&&(z=!1,a()),I=!0;var r=M;try{for(F(n),R=_(A);null!==R&&(!(R.expirationTime>n)||e&&!i());){var o=R.callback;if(null!==o){R.callback=null,M=R.priorityLevel;var u=o(R.expirationTime<=n);n=t.unstable_now(),"function"==typeof u?R.callback=u:R===_(A)&&C(A),F(n)}else C(A);R=_(A)}if(null!==R)var c=!0;else{var s=_(N);null!==s&&l(U,s.startTime-n),c=!1}return c}finally{R=null,M=r,I=!1}}function j(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var H=o;t.unstable_ImmediatePriority=1,t.unstable_UserBlockingPriority=2,t.unstable_NormalPriority=3,t.unstable_IdlePriority=5,t.unstable_LowPriority=4,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=M;M=e;try{return t()}finally{M=n}},t.unstable_next=function(e){switch(M){case 1:case 2:case 3:var t=3;break;default:t=M}var n=M;M=t;try{return e()}finally{M=n}},t.unstable_scheduleCallback=function(e,n,i){var o=t.unstable_now();if("object"==typeof i&&null!==i){var u=i.delay;u="number"==typeof u&&0<u?o+u:o,i="number"==typeof i.timeout?i.timeout:j(e)}else i=j(e),u=o;return e={id:O++,callback:n,priorityLevel:e,startTime:u,expirationTime:i=u+i,sortIndex:-1},u>o?(e.sortIndex=u,x(N,e),null===_(A)&&e===_(N)&&(z?a():z=!0,l(U,u-o))):(e.sortIndex=i,x(A,e),L||I||(L=!0,r(D))),e},t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_wrapCallback=function(e){var t=M;return function(){var n=M;M=t;try{return e.apply(this,arguments)}finally{M=n}}},t.unstable_getCurrentPriorityLevel=function(){return M},t.unstable_shouldYield=function(){var e=t.unstable_now();F(e);var n=_(A);return n!==R&&null!==R&&null!==n&&null!==n.callback&&n.startTime<=e&&n.expirationTime<R.expirationTime||i()},t.unstable_requestPaint=H,t.unstable_continueExecution=function(){L||I||(L=!0,r(D))},t.unstable_pauseExecution=function(){},t.unstable_getFirstCallbackNode=function(){return _(A)},t.unstable_Profiling=null},"8+s/":function(e,t,n){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e.default:e}n("V+eJ"),n("bWfx"),n("f3/d"),n("hHhE"),n("HAE/");var l=n("q1tI"),a=r(l),i=r(n("Gytx"));function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var u=!("undefined"==typeof window||!window.document||!window.document.createElement);e.exports=function(e,t,n){if("function"!=typeof e)throw new Error("Expected reducePropsToState to be a function.");if("function"!=typeof t)throw new Error("Expected handleStateChangeOnClient to be a function.");if(void 0!==n&&"function"!=typeof n)throw new Error("Expected mapStateOnServer to either be undefined or a function.");return function(r){if("function"!=typeof r)throw new Error("Expected WrappedComponent to be a React component.");var c,s=[];function f(){c=e(s.map((function(e){return e.props}))),d.canUseDOM?t(c):n&&(c=n(c))}var d=function(e){var t,n;function l(){return e.apply(this,arguments)||this}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,l.peek=function(){return c},l.rewind=function(){if(l.canUseDOM)throw new Error("You may only call rewind() on the server. Call peek() to read the current state.");var e=c;return c=void 0,s=[],e};var o=l.prototype;return o.shouldComponentUpdate=function(e){return!i(e,this.props)},o.componentWillMount=function(){s.push(this),f()},o.componentDidUpdate=function(){f()},o.componentWillUnmount=function(){var e=s.indexOf(this);s.splice(e,1),f()},o.render=function(){return a.createElement(r,this.props)},l}(l.Component);return o(d,"displayName","SideEffect("+function(e){return e.displayName||e.name||"Component"}(r)+")"),o(d,"canUseDOM",u),d}}},Gytx:function(e,t,n){n("2Spj"),n("rGqo"),n("yt8O"),n("Btvt"),n("RW0V"),e.exports=function(e,t,n,r){var l=n?n.call(r,e,t):void 0;if(void 0!==l)return!!l;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var a=Object.keys(e),i=Object.keys(t);if(a.length!==i.length)return!1;for(var o=Object.prototype.hasOwnProperty.bind(t),u=0;u<a.length;u++){var c=a[u];if(!o(c))return!1;var s=e[c],f=t[c];if(!1===(l=n?n.call(r,s,f,c):void 0)||void 0===l&&s!==f)return!1}return!0}},Oyvg:function(e,t,n){var r=n("dyZX"),l=n("Xbzi"),a=n("hswa").f,i=n("kJMx").f,o=n("quPj"),u=n("C/va"),c=r.RegExp,s=c,f=c.prototype,d=/a/g,p=/a/g,m=new c(d)!==d;if(n("nh4g")&&(!m||n("eeVq")((function(){return p[n("K0xU")("match")]=!1,c(d)!=d||c(p)==p||"/a/i"!=c(d,"i")})))){c=function(e,t){var n=this instanceof c,r=o(e),a=void 0===t;return!n&&r&&e.constructor===c&&a?e:l(m?new s(r&&!a?e.source:e,t):s((r=e instanceof c)?e.source:e,r&&a?u.call(e):t),n?this:f,c)};for(var h=function(e){e in c||a(c,e,{configurable:!0,get:function(){return s[e]},set:function(t){s[e]=t}})},v=i(s),y=0;v.length>y;)h(v[y++]);f.constructor=c,c.prototype=f,n("KroJ")(r,"RegExp",c)}n("elZq")("RegExp")},QCnb:function(e,t,n){"use strict";e.exports=n("+wdc")},Rb52:function(e,t,n){"use strict";var r=n("q1tI"),l=n.n(r),a=n("+ZDr"),i=n.n(a);n("lw3w"),n("emEt").default.enqueue,l.a.createContext({});var o=n("s/A6"),u=n.n(o),c=n("kiXb");t.a=function(e){var t=e.lang,n=Object(c.resolveI18nPath)(t);return l.a.createElement("header",{className:"eclipse-jkube__header"},l.a.createElement("div",{className:"eclipse-jkube__header-container"},l.a.createElement(i.a,{to:n("/"),className:"eclipse-jkube__header-logo"},l.a.createElement("div",{className:"eclipse-jkube__header-logo-image"},l.a.createElement("img",{src:u.a,alt:"Eclipse Foundation"})),l.a.createElement("div",null,"JKube")),l.a.createElement("div",{className:"eclipse-jkube__header-content"},l.a.createElement("ul",null,l.a.createElement("li",null,l.a.createElement(i.a,{to:n("/docs")},"Docs")),l.a.createElement("li",null,l.a.createElement(i.a,{to:n("/demos")},"Demos")),l.a.createElement("li",null,l.a.createElement(i.a,{to:n("/community")},"Community")),l.a.createElement("li",null,l.a.createElement(i.a,{to:n("/contributing")},"Contributing")),l.a.createElement("li",null,l.a.createElement("a",{className:"eclipse-jkube__header-stars",href:"https://github.com/eclipse/jkube",title:"eclipse/jkube",target:"_blank",rel:"nofollow noopener noreferrer"},l.a.createElement("img",{src:"https://img.shields.io/github/stars/eclipse/jkube?style=social",alt:"eclipse/jkube stargazers"})))))))}},TJpk:function(e,t,n){n("LK8F"),n("dZ+Y"),n("rGqo"),n("yt8O"),n("Btvt"),n("RW0V"),n("8+KV"),n("/SS/"),n("hHhE"),n("V+eJ"),n("HAE/"),n("91GP"),t.__esModule=!0,t.Helmet=void 0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(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)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=f(n("q1tI")),i=f(n("17x9")),o=f(n("8+s/")),u=f(n("bmMU")),c=n("v1p5"),s=n("hFT/");function f(e){return e&&e.__esModule?e:{default:e}}function d(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}var p,m,h,v=(0,o.default)(c.reducePropsToState,c.handleClientStateChange,c.mapStateOnServer)((function(){return null})),y=(p=v,h=m=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.shouldComponentUpdate=function(e){return!(0,u.default)(this.props,e)},t.prototype.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case s.TAG_NAMES.SCRIPT:case s.TAG_NAMES.NOSCRIPT:return{innerHTML:t};case s.TAG_NAMES.STYLE:return{cssText:t}}throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},t.prototype.flattenArrayTypeChildren=function(e){var t,n=e.child,l=e.arrayTypeChildren,a=e.newChildProps,i=e.nestedChildren;return r({},l,((t={})[n.type]=[].concat(l[n.type]||[],[r({},a,this.mapNestedChildrenToProps(n,i))]),t))},t.prototype.mapObjectTypeChildren=function(e){var t,n,l=e.child,a=e.newProps,i=e.newChildProps,o=e.nestedChildren;switch(l.type){case s.TAG_NAMES.TITLE:return r({},a,((t={})[l.type]=o,t.titleAttributes=r({},i),t));case s.TAG_NAMES.BODY:return r({},a,{bodyAttributes:r({},i)});case s.TAG_NAMES.HTML:return r({},a,{htmlAttributes:r({},i)})}return r({},a,((n={})[l.type]=r({},i),n))},t.prototype.mapArrayTypeChildrenToProps=function(e,t){var n=r({},t);return Object.keys(e).forEach((function(t){var l;n=r({},n,((l={})[t]=e[t],l))})),n},t.prototype.warnOnInvalidChildren=function(e,t){return!0},t.prototype.mapChildrenToProps=function(e,t){var n=this,r={};return a.default.Children.forEach(e,(function(e){if(e&&e.props){var l=e.props,a=l.children,i=d(l,["children"]),o=(0,c.convertReactPropstoHtmlAttributes)(i);switch(n.warnOnInvalidChildren(e,a),e.type){case s.TAG_NAMES.LINK:case s.TAG_NAMES.META:case s.TAG_NAMES.NOSCRIPT:case s.TAG_NAMES.SCRIPT:case s.TAG_NAMES.STYLE:r=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:r,newChildProps:o,nestedChildren:a});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:o,nestedChildren:a})}}})),t=this.mapArrayTypeChildrenToProps(r,t)},t.prototype.render=function(){var e=this.props,t=e.children,n=d(e,["children"]),l=r({},n);return t&&(l=this.mapChildrenToProps(t,l)),a.default.createElement(p,l)},l(t,null,[{key:"canUseDOM",set:function(e){p.canUseDOM=e}}]),t}(a.default.Component),m.propTypes={base:i.default.object,bodyAttributes:i.default.object,children:i.default.oneOfType([i.default.arrayOf(i.default.node),i.default.node]),defaultTitle:i.default.string,defer:i.default.bool,encodeSpecialCharacters:i.default.bool,htmlAttributes:i.default.object,link:i.default.arrayOf(i.default.object),meta:i.default.arrayOf(i.default.object),noscript:i.default.arrayOf(i.default.object),onChangeClientState:i.default.func,script:i.default.arrayOf(i.default.object),style:i.default.arrayOf(i.default.object),title:i.default.string,titleAttributes:i.default.object,titleTemplate:i.default.string},m.defaultProps={defer:!0,encodeSpecialCharacters:!0},m.peek=p.peek,m.rewind=function(){var e=p.rewind();return e||(e=(0,c.mapStateOnServer)({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),e},h);y.renderStatic=y.rewind,t.Helmet=y,t.default=y},bmMU:function(e,t,n){"use strict";n("f3/d"),n("SRfc"),n("a1Th"),n("h7Nl"),n("Oyvg"),n("rGqo"),n("yt8O"),n("Btvt"),n("RW0V"),n("LK8F");var r=Array.isArray,l=Object.keys,a=Object.prototype.hasOwnProperty,i="undefined"!=typeof Element;e.exports=function(e,t){try{return function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){var o,u,c,s=r(t),f=r(n);if(s&&f){if((u=t.length)!=n.length)return!1;for(o=u;0!=o--;)if(!e(t[o],n[o]))return!1;return!0}if(s!=f)return!1;var d=t instanceof Date,p=n instanceof Date;if(d!=p)return!1;if(d&&p)return t.getTime()==n.getTime();var m=t instanceof RegExp,h=n instanceof RegExp;if(m!=h)return!1;if(m&&h)return t.toString()==n.toString();var v=l(t);if((u=v.length)!==l(n).length)return!1;for(o=u;0!=o--;)if(!a.call(n,v[o]))return!1;if(i&&t instanceof Element&&n instanceof Element)return t===n;for(o=u;0!=o--;)if(!("_owner"===(c=v[o])&&t.$$typeof||e(t[c],n[c])))return!1;return!0}return t!=t&&n!=n}(e,t)}catch(n){if(n.message&&n.message.match(/stack|recursion/i)||-2146828260===n.number)return console.warn("Warning: react-fast-compare does not handle circular references.",n.name,n.message),!1;throw n}}},dmsj:function(e,t,n){"use strict";var r=n("q1tI"),l=n.n(r),a=n("TJpk"),i=n.n(a);t.a=function(e){var t=e.lang,n=e.title,r=e.description;return l.a.createElement(i.a,null,l.a.createElement("meta",{charSet:"UTF-8"}),l.a.createElement("html",{lang:t}),l.a.createElement("title",null,n),l.a.createElement("meta",{name:"description",content:r}))}},"hFT/":function(e,t,n){n("DNiP"),n("rGqo"),n("yt8O"),n("Btvt"),n("RW0V"),n("bWfx"),t.__esModule=!0;t.ATTRIBUTE_NAMES={BODY:"bodyAttributes",HTML:"htmlAttributes",TITLE:"titleAttributes"};var r=t.TAG_NAMES={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title"},l=(t.VALID_TAG_NAMES=Object.keys(r).map((function(e){return r[e]})),t.TAG_PROPERTIES={CHARSET:"charset",CSS_TEXT:"cssText",HREF:"href",HTTPEQUIV:"http-equiv",INNER_HTML:"innerHTML",ITEM_PROP:"itemprop",NAME:"name",PROPERTY:"property",REL:"rel",SRC:"src"},t.REACT_TAG_MAP={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"});t.HELMET_PROPS={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate"},t.HTML_TAG_MAP=Object.keys(l).reduce((function(e,t){return e[l[t]]=t,e}),{}),t.SELF_CLOSING_TAGS=[r.NOSCRIPT,r.SCRIPT,r.STYLE],t.HELMET_ATTRIBUTE="data-react-helmet"},i8i4:function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}}(),e.exports=n("yl30")},kiXb:function(e,t){e.exports={defaultLangKey:"en",resolveI18nPath:function(e){return function(t){return"en"===e?t:e+"/"+t}}}},lw3w:function(e,t,n){var r;e.exports=(r=n("rzlk"))&&r.default||r},q1tI:function(e,t,n){"use strict";e.exports=n("viRO")},rzlk:function(e,t,n){"use strict";n.r(t);n("91GP");var r=n("q1tI"),l=n.n(r),a=n("IOVJ");t.default=function(e){var t=e.location,n=e.pageResources;return n?l.a.createElement(a.a,Object.assign({location:t,pageResources:n},n.json)):null}},"s/A6":function(e,t,n){e.exports=n.p+"static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png"},v1p5:function(e,t,n){(function(e){n("dZ+Y"),n("KKXr"),n("eM6i"),n("8+KV"),n("LK8F"),n("V+eJ"),n("rGqo"),n("yt8O"),n("Btvt"),n("RW0V"),n("0l/t"),n("bWfx"),n("DNiP"),n("pIFo"),n("91GP"),n("rE2o"),n("ioFf"),t.__esModule=!0,t.warn=t.requestAnimationFrame=t.reducePropsToState=t.mapStateOnServer=t.handleClientStateChange=t.convertReactPropstoHtmlAttributes=void 0;var 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},l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=u(n("q1tI")),i=u(n("MgzW")),o=n("hFT/");function u(e){return e&&e.__esModule?e:{default:e}}var c,s=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},f=function(e){var t=v(e,o.TAG_NAMES.TITLE),n=v(e,o.HELMET_PROPS.TITLE_TEMPLATE);if(n&&t)return n.replace(/%s/g,(function(){return t}));var r=v(e,o.HELMET_PROPS.DEFAULT_TITLE);return t||r||void 0},d=function(e){return v(e,o.HELMET_PROPS.ON_CHANGE_CLIENT_STATE)||function(){}},p=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return l({},e,t)}),{})},m=function(e,t){return t.filter((function(e){return void 0!==e[o.TAG_NAMES.BASE]})).map((function(e){return e[o.TAG_NAMES.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),l=0;l<r.length;l++){var a=r[l].toLowerCase();if(-1!==e.indexOf(a)&&n[a])return t.concat(n)}return t}),[])},h=function(e,t,n){var l={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&T("Helmet: "+e+' should be of type "Array". Instead found type "'+r(t[e])+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var r={};n.filter((function(e){for(var n=void 0,a=Object.keys(e),i=0;i<a.length;i++){var u=a[i],c=u.toLowerCase();-1===t.indexOf(c)||n===o.TAG_PROPERTIES.REL&&"canonical"===e[n].toLowerCase()||c===o.TAG_PROPERTIES.REL&&"stylesheet"===e[c].toLowerCase()||(n=c),-1===t.indexOf(u)||u!==o.TAG_PROPERTIES.INNER_HTML&&u!==o.TAG_PROPERTIES.CSS_TEXT&&u!==o.TAG_PROPERTIES.ITEM_PROP||(n=u)}if(!n||!e[n])return!1;var s=e[n].toLowerCase();return l[n]||(l[n]={}),r[n]||(r[n]={}),!l[n][s]&&(r[n][s]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var a=Object.keys(r),u=0;u<a.length;u++){var c=a[u],s=(0,i.default)({},l[c],r[c]);l[c]=s}return e}),[]).reverse()},v=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.hasOwnProperty(t))return r[t]}return null},y=(c=Date.now(),function(e){var t=Date.now();t-c>16?(c=t,e(t)):setTimeout((function(){y(e)}),0)}),g=function(e){return clearTimeout(e)},b="undefined"!=typeof window?window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||y:e.requestAnimationFrame||y,E="undefined"!=typeof window?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||g:e.cancelAnimationFrame||g,T=function(e){return console&&"function"==typeof console.warn&&console.warn(e)},w=null,k=function(e,t){var n=e.baseTag,r=e.bodyAttributes,l=e.htmlAttributes,a=e.linkTags,i=e.metaTags,u=e.noscriptTags,c=e.onChangeClientState,s=e.scriptTags,f=e.styleTags,d=e.title,p=e.titleAttributes;_(o.TAG_NAMES.BODY,r),_(o.TAG_NAMES.HTML,l),x(d,p);var m={baseTag:C(o.TAG_NAMES.BASE,n),linkTags:C(o.TAG_NAMES.LINK,a),metaTags:C(o.TAG_NAMES.META,i),noscriptTags:C(o.TAG_NAMES.NOSCRIPT,u),scriptTags:C(o.TAG_NAMES.SCRIPT,s),styleTags:C(o.TAG_NAMES.STYLE,f)},h={},v={};Object.keys(m).forEach((function(e){var t=m[e],n=t.newTags,r=t.oldTags;n.length&&(h[e]=n),r.length&&(v[e]=m[e].oldTags)})),t&&t(),c(e,h,v)},S=function(e){return Array.isArray(e)?e.join(""):e},x=function(e,t){void 0!==e&&document.title!==e&&(document.title=S(e)),_(o.TAG_NAMES.TITLE,t)},_=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute(o.HELMET_ATTRIBUTE),l=r?r.split(","):[],a=[].concat(l),i=Object.keys(t),u=0;u<i.length;u++){var c=i[u],s=t[c]||"";n.getAttribute(c)!==s&&n.setAttribute(c,s),-1===l.indexOf(c)&&l.push(c);var f=a.indexOf(c);-1!==f&&a.splice(f,1)}for(var d=a.length-1;d>=0;d--)n.removeAttribute(a[d]);l.length===a.length?n.removeAttribute(o.HELMET_ATTRIBUTE):n.getAttribute(o.HELMET_ATTRIBUTE)!==i.join(",")&&n.setAttribute(o.HELMET_ATTRIBUTE,i.join(","))}},C=function(e,t){var n=document.head||document.querySelector(o.TAG_NAMES.HEAD),r=n.querySelectorAll(e+"["+o.HELMET_ATTRIBUTE+"]"),l=Array.prototype.slice.call(r),a=[],i=void 0;return t&&t.length&&t.forEach((function(t){var n=document.createElement(e);for(var r in t)if(t.hasOwnProperty(r))if(r===o.TAG_PROPERTIES.INNER_HTML)n.innerHTML=t.innerHTML;else if(r===o.TAG_PROPERTIES.CSS_TEXT)n.styleSheet?n.styleSheet.cssText=t.cssText:n.appendChild(document.createTextNode(t.cssText));else{var u=void 0===t[r]?"":t[r];n.setAttribute(r,u)}n.setAttribute(o.HELMET_ATTRIBUTE,"true"),l.some((function(e,t){return i=t,n.isEqualNode(e)}))?l.splice(i,1):a.push(n)})),l.forEach((function(e){return e.parentNode.removeChild(e)})),a.forEach((function(e){return n.appendChild(e)})),{oldTags:l,newTags:a}},P=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},A=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[o.REACT_TAG_MAP[n]||n]=e[n],t}),t)},N=function(e,t,n){switch(e){case o.TAG_NAMES.TITLE:return{toComponent:function(){return e=t.title,n=t.titleAttributes,(r={key:e})[o.HELMET_ATTRIBUTE]=!0,l=A(n,r),[a.default.createElement(o.TAG_NAMES.TITLE,l,e)];var e,n,r,l},toString:function(){return function(e,t,n,r){var l=P(n),a=S(t);return l?"<"+e+" "+o.HELMET_ATTRIBUTE+'="true" '+l+">"+s(a,r)+"</"+e+">":"<"+e+" "+o.HELMET_ATTRIBUTE+'="true">'+s(a,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case o.ATTRIBUTE_NAMES.BODY:case o.ATTRIBUTE_NAMES.HTML:return{toComponent:function(){return A(t)},toString:function(){return P(t)}};default:return{toComponent:function(){return function(e,t){return t.map((function(t,n){var r,l=((r={key:n})[o.HELMET_ATTRIBUTE]=!0,r);return Object.keys(t).forEach((function(e){var n=o.REACT_TAG_MAP[e]||e;if(n===o.TAG_PROPERTIES.INNER_HTML||n===o.TAG_PROPERTIES.CSS_TEXT){var r=t.innerHTML||t.cssText;l.dangerouslySetInnerHTML={__html:r}}else l[n]=t[e]})),a.default.createElement(e,l)}))}(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var l=Object.keys(r).filter((function(e){return!(e===o.TAG_PROPERTIES.INNER_HTML||e===o.TAG_PROPERTIES.CSS_TEXT)})).reduce((function(e,t){var l=void 0===r[t]?t:t+'="'+s(r[t],n)+'"';return e?e+" "+l:l}),""),a=r.innerHTML||r.cssText||"",i=-1===o.SELF_CLOSING_TAGS.indexOf(e);return t+"<"+e+" "+o.HELMET_ATTRIBUTE+'="true" '+l+(i?"/>":">"+a+"</"+e+">")}),"")}(e,t,n)}}}};t.convertReactPropstoHtmlAttributes=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[o.HTML_TAG_MAP[n]||n]=e[n],t}),t)},t.handleClientStateChange=function(e){w&&E(w),e.defer?w=b((function(){k(e,(function(){w=null}))})):(k(e),w=null)},t.mapStateOnServer=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,l=e.htmlAttributes,a=e.linkTags,i=e.metaTags,u=e.noscriptTags,c=e.scriptTags,s=e.styleTags,f=e.title,d=void 0===f?"":f,p=e.titleAttributes;return{base:N(o.TAG_NAMES.BASE,t,r),bodyAttributes:N(o.ATTRIBUTE_NAMES.BODY,n,r),htmlAttributes:N(o.ATTRIBUTE_NAMES.HTML,l,r),link:N(o.TAG_NAMES.LINK,a,r),meta:N(o.TAG_NAMES.META,i,r),noscript:N(o.TAG_NAMES.NOSCRIPT,u,r),script:N(o.TAG_NAMES.SCRIPT,c,r),style:N(o.TAG_NAMES.STYLE,s,r),title:N(o.TAG_NAMES.TITLE,{title:d,titleAttributes:p},r)}},t.reducePropsToState=function(e){return{baseTag:m([o.TAG_PROPERTIES.HREF],e),bodyAttributes:p(o.ATTRIBUTE_NAMES.BODY,e),defer:v(e,o.HELMET_PROPS.DEFER),encode:v(e,o.HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:p(o.ATTRIBUTE_NAMES.HTML,e),linkTags:h(o.TAG_NAMES.LINK,[o.TAG_PROPERTIES.REL,o.TAG_PROPERTIES.HREF],e),metaTags:h(o.TAG_NAMES.META,[o.TAG_PROPERTIES.NAME,o.TAG_PROPERTIES.CHARSET,o.TAG_PROPERTIES.HTTPEQUIV,o.TAG_PROPERTIES.PROPERTY,o.TAG_PROPERTIES.ITEM_PROP],e),noscriptTags:h(o.TAG_NAMES.NOSCRIPT,[o.TAG_PROPERTIES.INNER_HTML],e),onChangeClientState:d(e),scriptTags:h(o.TAG_NAMES.SCRIPT,[o.TAG_PROPERTIES.SRC,o.TAG_PROPERTIES.INNER_HTML],e),styleTags:h(o.TAG_NAMES.STYLE,[o.TAG_PROPERTIES.CSS_TEXT],e),title:f(e),titleAttributes:p(o.ATTRIBUTE_NAMES.TITLE,e)}},t.requestAnimationFrame=b,t.warn=T}).call(this,n("yLpj"))},viRO:function(e,t,n){"use strict";n("2Spj"),n("a1Th"),n("h7Nl"),n("rGqo"),n("yt8O"),n("Btvt"),n("RW0V"),n("LK8F"),n("pIFo"),n("rE2o"),n("ioFf");var r=n("MgzW"),l="function"==typeof Symbol&&Symbol.for,a=l?Symbol.for("react.element"):60103,i=l?Symbol.for("react.portal"):60106,o=l?Symbol.for("react.fragment"):60107,u=l?Symbol.for("react.strict_mode"):60108,c=l?Symbol.for("react.profiler"):60114,s=l?Symbol.for("react.provider"):60109,f=l?Symbol.for("react.context"):60110,d=l?Symbol.for("react.forward_ref"):60112,p=l?Symbol.for("react.suspense"):60113;l&&Symbol.for("react.suspense_list");var m=l?Symbol.for("react.memo"):60115,h=l?Symbol.for("react.lazy"):60116;l&&Symbol.for("react.fundamental"),l&&Symbol.for("react.responder"),l&&Symbol.for("react.scope");var v="function"==typeof Symbol&&Symbol.iterator;function y(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b={};function E(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||g}function T(){}function w(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||g}E.prototype.isReactComponent={},E.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(y(85));this.updater.enqueueSetState(this,e,t,"setState")},E.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},T.prototype=E.prototype;var k=w.prototype=new T;k.constructor=w,r(k,E.prototype),k.isPureReactComponent=!0;var S={current:null},x={current:null},_=Object.prototype.hasOwnProperty,C={key:!0,ref:!0,__self:!0,__source:!0};function P(e,t,n){var r,l={},i=null,o=null;if(null!=t)for(r in void 0!==t.ref&&(o=t.ref),void 0!==t.key&&(i=""+t.key),t)_.call(t,r)&&!C.hasOwnProperty(r)&&(l[r]=t[r]);var u=arguments.length-2;if(1===u)l.children=n;else if(1<u){for(var c=Array(u),s=0;s<u;s++)c[s]=arguments[s+2];l.children=c}if(e&&e.defaultProps)for(r in u=e.defaultProps)void 0===l[r]&&(l[r]=u[r]);return{$$typeof:a,type:e,key:i,ref:o,props:l,_owner:x.current}}function A(e){return"object"==typeof e&&null!==e&&e.$$typeof===a}var N=/\/+/g,O=[];function R(e,t,n,r){if(O.length){var l=O.pop();return l.result=e,l.keyPrefix=t,l.func=n,l.context=r,l.count=0,l}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function M(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>O.length&&O.push(e)}function I(e,t,n){return null==e?0:function e(t,n,r,l){var o=typeof t;"undefined"!==o&&"boolean"!==o||(t=null);var u=!1;if(null===t)u=!0;else switch(o){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case a:case i:u=!0}}if(u)return r(l,t,""===n?"."+L(t,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;c<t.length;c++){var s=n+L(o=t[c],c);u+=e(o,s,r,l)}else if(null===t||"object"!=typeof t?s=null:s="function"==typeof(s=v&&t[v]||t["@@iterator"])?s:null,"function"==typeof s)for(t=s.call(t),c=0;!(o=t.next()).done;)u+=e(o=o.value,s=n+L(o,c++),r,l);else if("object"===o)throw r=""+t,Error(y(31,"[object Object]"===r?"object with keys {"+Object.keys(t).join(", ")+"}":r,""));return u}(e,"",t,n)}function L(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,(function(e){return t[e]}))}(e.key):t.toString(36)}function z(e,t){e.func.call(e.context,t,e.count++)}function F(e,t,n){var r=e.result,l=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?U(e,r,n,(function(e){return e})):null!=e&&(A(e)&&(e=function(e,t){return{$$typeof:a,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,l+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(N,"$&/")+"/")+n)),r.push(e))}function U(e,t,n,r,l){var a="";null!=n&&(a=(""+n).replace(N,"$&/")+"/"),I(e,F,t=R(t,a,r,l)),M(t)}function D(){var e=S.current;if(null===e)throw Error(y(321));return e}var j={Children:{map:function(e,t,n){if(null==e)return e;var r=[];return U(e,r,null,t,n),r},forEach:function(e,t,n){if(null==e)return e;I(e,z,t=R(null,null,t,n)),M(t)},count:function(e){return I(e,(function(){return null}),null)},toArray:function(e){var t=[];return U(e,t,null,(function(e){return e})),t},only:function(e){if(!A(e))throw Error(y(143));return e}},createRef:function(){return{current:null}},Component:E,PureComponent:w,createContext:function(e,t){return void 0===t&&(t=null),(e={$$typeof:f,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},forwardRef:function(e){return{$$typeof:d,render:e}},lazy:function(e){return{$$typeof:h,_ctor:e,_status:-1,_result:null}},memo:function(e,t){return{$$typeof:m,type:e,compare:void 0===t?null:t}},useCallback:function(e,t){return D().useCallback(e,t)},useContext:function(e,t){return D().useContext(e,t)},useEffect:function(e,t){return D().useEffect(e,t)},useImperativeHandle:function(e,t,n){return D().useImperativeHandle(e,t,n)},useDebugValue:function(){},useLayoutEffect:function(e,t){return D().useLayoutEffect(e,t)},useMemo:function(e,t){return D().useMemo(e,t)},useReducer:function(e,t,n){return D().useReducer(e,t,n)},useRef:function(e){return D().useRef(e)},useState:function(e){return D().useState(e)},Fragment:o,Profiler:c,StrictMode:u,Suspense:p,createElement:P,cloneElement:function(e,t,n){if(null==e)throw Error(y(267,e));var l=r({},e.props),i=e.key,o=e.ref,u=e._owner;if(null!=t){if(void 0!==t.ref&&(o=t.ref,u=x.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(s in t)_.call(t,s)&&!C.hasOwnProperty(s)&&(l[s]=void 0===t[s]&&void 0!==c?c[s]:t[s])}var s=arguments.length-2;if(1===s)l.children=n;else if(1<s){c=Array(s);for(var f=0;f<s;f++)c[f]=arguments[f+2];l.children=c}return{$$typeof:a,type:e.type,key:i,ref:o,props:l,_owner:u}},createFactory:function(e){var t=P.bind(null,e);return t.type=e,t},isValidElement:A,version:"16.12.0",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentDispatcher:S,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:x,IsSomeRendererActing:{current:!1},assign:r}},H={default:j},B=H&&j||H;e.exports=B.default||B},yLpj:function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}e.exports=n},yl30:function(e,t,n){"use strict";n("wCsR"),n("25dN"),n("Tze0"),n("RW0V"),n("T39b"),n("EK0E"),n("2Spj"),n("eM6i"),n("a1Th"),n("h7Nl"),n("HAE/"),n("KKXr"),n("rGqo"),n("yt8O"),n("Btvt"),n("XfO3"),n("9AAn"),n("pIFo"),n("f3/d"),n("rE2o"),n("ioFf"),n("8+KV"),n("LK8F"),n("V+eJ");var r=n("q1tI"),l=n("MgzW"),a=n("QCnb");function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!r)throw Error(i(227));var o=null,u={};function c(){if(o)for(var e in u){var t=u[e],n=o.indexOf(e);if(!(-1<n))throw Error(i(96,e));if(!f[n]){if(!t.extractEvents)throw Error(i(97,e));for(var r in f[n]=t,n=t.eventTypes){var l=void 0,a=n[r],c=t,p=r;if(d.hasOwnProperty(p))throw Error(i(99,p));d[p]=a;var m=a.phasedRegistrationNames;if(m){for(l in m)m.hasOwnProperty(l)&&s(m[l],c,p);l=!0}else a.registrationName?(s(a.registrationName,c,p),l=!0):l=!1;if(!l)throw Error(i(98,r,e))}}}}function s(e,t,n){if(p[e])throw Error(i(100,e));p[e]=t,m[e]=t.eventTypes[n].dependencies}var f=[],d={},p={},m={};function h(e,t,n,r,l,a,i,o,u){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(s){this.onError(s)}}var v=!1,y=null,g=!1,b=null,E={onError:function(e){v=!0,y=e}};function T(e,t,n,r,l,a,i,o,u){v=!1,y=null,h.apply(E,arguments)}var w=null,k=null,S=null;function x(e,t,n){var r=e.type||"unknown-event";e.currentTarget=S(n),function(e,t,n,r,l,a,o,u,c){if(T.apply(this,arguments),v){if(!v)throw Error(i(198));var s=y;v=!1,y=null,g||(g=!0,b=s)}}(r,t,void 0,e),e.currentTarget=null}function _(e,t){if(null==t)throw Error(i(30));return null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function C(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}var P=null;function A(e){if(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t))for(var r=0;r<t.length&&!e.isPropagationStopped();r++)x(e,t[r],n[r]);else t&&x(e,t,n);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}function N(e){if(null!==e&&(P=_(P,e)),e=P,P=null,e){if(C(e,A),P)throw Error(i(95));if(g)throw e=b,g=!1,b=null,e}}var O={injectEventPluginOrder:function(e){if(o)throw Error(i(101));o=Array.prototype.slice.call(e),c()},injectEventPluginsByName:function(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var r=e[t];if(!u.hasOwnProperty(t)||u[t]!==r){if(u[t])throw Error(i(102,t));u[t]=r,n=!0}}n&&c()}};function R(e,t){var n=e.stateNode;if(!n)return null;var r=w(n);if(!r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(i(231,t,typeof n));return n}var M=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;M.hasOwnProperty("ReactCurrentDispatcher")||(M.ReactCurrentDispatcher={current:null}),M.hasOwnProperty("ReactCurrentBatchConfig")||(M.ReactCurrentBatchConfig={suspense:null});var I=/^(.*)[\\\/]/,L="function"==typeof Symbol&&Symbol.for,z=L?Symbol.for("react.element"):60103,F=L?Symbol.for("react.portal"):60106,U=L?Symbol.for("react.fragment"):60107,D=L?Symbol.for("react.strict_mode"):60108,j=L?Symbol.for("react.profiler"):60114,H=L?Symbol.for("react.provider"):60109,B=L?Symbol.for("react.context"):60110,G=L?Symbol.for("react.concurrent_mode"):60111,V=L?Symbol.for("react.forward_ref"):60112,W=L?Symbol.for("react.suspense"):60113,K=L?Symbol.for("react.suspense_list"):60120,q=L?Symbol.for("react.memo"):60115,$=L?Symbol.for("react.lazy"):60116;L&&Symbol.for("react.fundamental"),L&&Symbol.for("react.responder"),L&&Symbol.for("react.scope");var Q="function"==typeof Symbol&&Symbol.iterator;function Y(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=Q&&e[Q]||e["@@iterator"])?e:null}function X(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case U:return"Fragment";case F:return"Portal";case j:return"Profiler";case D:return"StrictMode";case W:return"Suspense";case K:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case B:return"Context.Consumer";case H:return"Context.Provider";case V:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case q:return X(e.type);case $:if(e=1===e._status?e._result:null)return X(e)}return null}function J(e){var t="";do{e:switch(e.tag){case 3:case 4:case 6:case 7:case 10:case 9:var n="";break e;default:var r=e._debugOwner,l=e._debugSource,a=X(e.type);n=null,r&&(n=X(r.type)),r=a,a="",l?a=" (at "+l.fileName.replace(I,"")+":"+l.lineNumber+")":n&&(a=" (created by "+n+")"),n="\n in "+(r||"Unknown")+a}t+=n,e=e.return}while(e);return t}var Z=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),ee=null,te=null,ne=null;function re(e){if(e=k(e)){if("function"!=typeof ee)throw Error(i(280));var t=w(e.stateNode);ee(e.stateNode,e.type,t)}}function le(e){te?ne?ne.push(e):ne=[e]:te=e}function ae(){if(te){var e=te,t=ne;if(ne=te=null,re(e),t)for(e=0;e<t.length;e++)re(t[e])}}function ie(e,t){return e(t)}function oe(e,t,n,r){return e(t,n,r)}function ue(){}var ce=ie,se=!1,fe=!1;function de(){null===te&&null===ne||(ue(),ae())}new Map;var pe=/^[: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][: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\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,me=Object.prototype.hasOwnProperty,he={},ve={};function ye(e,t,n,r,l,a){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a}var ge={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){ge[e]=new ye(e,0,!1,e,null,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];ge[t]=new ye(t,1,!1,e[1],null,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){ge[e]=new ye(e,2,!1,e.toLowerCase(),null,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){ge[e]=new ye(e,2,!1,e,null,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){ge[e]=new ye(e,3,!1,e.toLowerCase(),null,!1)})),["checked","multiple","muted","selected"].forEach((function(e){ge[e]=new ye(e,3,!0,e,null,!1)})),["capture","download"].forEach((function(e){ge[e]=new ye(e,4,!1,e,null,!1)})),["cols","rows","size","span"].forEach((function(e){ge[e]=new ye(e,6,!1,e,null,!1)})),["rowSpan","start"].forEach((function(e){ge[e]=new ye(e,5,!1,e.toLowerCase(),null,!1)}));var be=/[\-:]([a-z])/g;function Ee(e){return e[1].toUpperCase()}function Te(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function we(e,t,n,r){var l=ge.hasOwnProperty(t)?ge[t]:null;(null!==l?0===l.type:!r&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,l,r)&&(n=null),r||null===l?function(e){return!!me.call(ve,e)||!me.call(he,e)&&(pe.test(e)?ve[e]=!0:(he[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):l.mustUseProperty?e[l.propertyName]=null===n?3!==l.type&&"":n:(t=l.attributeName,r=l.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(l=l.type)||4===l&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}function ke(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Se(e){e._valueTracker||(e._valueTracker=function(e){var t=ke(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var l=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function xe(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=ke(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function _e(e,t){var n=t.checked;return l({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Ce(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=Te(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Pe(e,t){null!=(t=t.checked)&&we(e,"checked",t,!1)}function Ae(e,t){Pe(e,t);var n=Te(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?Oe(e,t.type,n):t.hasOwnProperty("defaultValue")&&Oe(e,t.type,Te(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Ne(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function Oe(e,t,n){"number"===t&&e.ownerDocument.activeElement===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function Re(e,t){return e=l({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function Me(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Te(n),t=null,l=0;l<e.length;l++){if(e[l].value===n)return e[l].selected=!0,void(r&&(e[l].defaultSelected=!0));null!==t||e[l].disabled||(t=e[l])}null!==t&&(t.selected=!0)}}function Ie(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return l({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Le(e,t){var n=t.value;if(null==n){if(n=t.defaultValue,null!=(t=t.children)){if(null!=n)throw Error(i(92));if(Array.isArray(t)){if(!(1>=t.length))throw Error(i(93));t=t[0]}n=t}null==n&&(n="")}e._wrapperState={initialValue:Te(n)}}function ze(e,t){var n=Te(t.value),r=Te(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function Fe(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}"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".split(" ").forEach((function(e){var t=e.replace(be,Ee);ge[t]=new ye(t,1,!1,e,null,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(be,Ee);ge[t]=new ye(t,1,!1,e,"http://www.w3.org/1999/xlink",!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(be,Ee);ge[t]=new ye(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1)})),["tabIndex","crossOrigin"].forEach((function(e){ge[e]=new ye(e,1,!1,e.toLowerCase(),null,!1)})),ge.xlinkHref=new ye("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0),["src","href","action","formAction"].forEach((function(e){ge[e]=new ye(e,1,!1,e.toLowerCase(),null,!0)}));var Ue={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function De(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function je(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?De(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var He,Be=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,l){MSApp.execUnsafeLocalFunction((function(){return e(t,n)}))}:e}((function(e,t){if(e.namespaceURI!==Ue.svg||"innerHTML"in e)e.innerHTML=t;else{for((He=He||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=He.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}));function Ge(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}function Ve(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var We={animationend:Ve("Animation","AnimationEnd"),animationiteration:Ve("Animation","AnimationIteration"),animationstart:Ve("Animation","AnimationStart"),transitionend:Ve("Transition","TransitionEnd")},Ke={},qe={};function $e(e){if(Ke[e])return Ke[e];if(!We[e])return e;var t,n=We[e];for(t in n)if(n.hasOwnProperty(t)&&t in qe)return Ke[e]=n[t];return e}Z&&(qe=document.createElement("div").style,"AnimationEvent"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),"TransitionEvent"in window||delete We.transitionend.transition);var Qe=$e("animationend"),Ye=$e("animationiteration"),Xe=$e("animationstart"),Je=$e("transitionend"),Ze="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" ");function et(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).effectTag)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function tt(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function nt(e){if(et(e)!==e)throw Error(i(188))}function rt(e){if(!(e=function(e){var t=e.alternate;if(!t){if(null===(t=et(e)))throw Error(i(188));return t!==e?null:e}for(var n=e,r=t;;){var l=n.return;if(null===l)break;var a=l.alternate;if(null===a){if(null!==(r=l.return)){n=r;continue}break}if(l.child===a.child){for(a=l.child;a;){if(a===n)return nt(l),e;if(a===r)return nt(l),t;a=a.sibling}throw Error(i(188))}if(n.return!==r.return)n=l,r=a;else{for(var o=!1,u=l.child;u;){if(u===n){o=!0,n=l,r=a;break}if(u===r){o=!0,r=l,n=a;break}u=u.sibling}if(!o){for(u=a.child;u;){if(u===n){o=!0,n=a,r=l;break}if(u===r){o=!0,r=a,n=l;break}u=u.sibling}if(!o)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(3!==n.tag)throw Error(i(188));return n.stateNode.current===n?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}var lt,at,it,ot=!1,ut=[],ct=null,st=null,ft=null,dt=new Map,pt=new Map,mt=[],ht="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit".split(" "),vt="focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture".split(" ");function yt(e,t,n,r){return{blockedOn:e,topLevelType:t,eventSystemFlags:32|n,nativeEvent:r}}function gt(e,t){switch(e){case"focus":case"blur":ct=null;break;case"dragenter":case"dragleave":st=null;break;case"mouseover":case"mouseout":ft=null;break;case"pointerover":case"pointerout":dt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":pt.delete(t.pointerId)}}function bt(e,t,n,r,l){return null===e||e.nativeEvent!==l?(e=yt(t,n,r,l),null!==t&&(null!==(t=pr(t))&&at(t)),e):(e.eventSystemFlags|=r,e)}function Et(e){var t=dr(e.target);if(null!==t){var n=et(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=tt(n)))return e.blockedOn=t,void a.unstable_runWithPriority(e.priority,(function(){it(n)}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Tt(e){if(null!==e.blockedOn)return!1;var t=On(e.topLevelType,e.eventSystemFlags,e.nativeEvent);if(null!==t){var n=pr(t);return null!==n&&at(n),e.blockedOn=t,!1}return!0}function wt(e,t,n){Tt(e)&&n.delete(t)}function kt(){for(ot=!1;0<ut.length;){var e=ut[0];if(null!==e.blockedOn){null!==(e=pr(e.blockedOn))&<(e);break}var t=On(e.topLevelType,e.eventSystemFlags,e.nativeEvent);null!==t?e.blockedOn=t:ut.shift()}null!==ct&&Tt(ct)&&(ct=null),null!==st&&Tt(st)&&(st=null),null!==ft&&Tt(ft)&&(ft=null),dt.forEach(wt),pt.forEach(wt)}function St(e,t){e.blockedOn===t&&(e.blockedOn=null,ot||(ot=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,kt)))}function xt(e){function t(t){return St(t,e)}if(0<ut.length){St(ut[0],e);for(var n=1;n<ut.length;n++){var r=ut[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==ct&&St(ct,e),null!==st&&St(st,e),null!==ft&&St(ft,e),dt.forEach(t),pt.forEach(t),n=0;n<mt.length;n++)(r=mt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<mt.length&&null===(n=mt[0]).blockedOn;)Et(n),null===n.blockedOn&&mt.shift()}function _t(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}function Ct(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function Pt(e,t,n){(t=R(e,n.dispatchConfig.phasedRegistrationNames[t]))&&(n._dispatchListeners=_(n._dispatchListeners,t),n._dispatchInstances=_(n._dispatchInstances,e))}function At(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var t=e._targetInst,n=[];t;)n.push(t),t=Ct(t);for(t=n.length;0<t--;)Pt(n[t],"captured",e);for(t=0;t<n.length;t++)Pt(n[t],"bubbled",e)}}function Nt(e,t,n){e&&n&&n.dispatchConfig.registrationName&&(t=R(e,n.dispatchConfig.registrationName))&&(n._dispatchListeners=_(n._dispatchListeners,t),n._dispatchInstances=_(n._dispatchInstances,e))}function Ot(e){e&&e.dispatchConfig.registrationName&&Nt(e._targetInst,null,e)}function Rt(e){C(e,At)}function Mt(){return!0}function It(){return!1}function Lt(e,t,n,r){for(var l in this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n,e=this.constructor.Interface)e.hasOwnProperty(l)&&((t=e[l])?this[l]=t(n):"target"===l?this.target=r:this[l]=n[l]);return this.isDefaultPrevented=(null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue)?Mt:It,this.isPropagationStopped=It,this}function zt(e,t,n,r){if(this.eventPool.length){var l=this.eventPool.pop();return this.call(l,e,t,n,r),l}return new this(e,t,n,r)}function Ft(e){if(!(e instanceof this))throw Error(i(279));e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function Ut(e){e.eventPool=[],e.getPooled=zt,e.release=Ft}l(Lt.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=Mt)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Mt)},persist:function(){this.isPersistent=Mt},isPersistent:It,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=It,this._dispatchInstances=this._dispatchListeners=null}}),Lt.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},Lt.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var a=new t;return l(a,n.prototype),n.prototype=a,n.prototype.constructor=n,n.Interface=l({},r.Interface,e),n.extend=r.extend,Ut(n),n},Ut(Lt);var Dt=Lt.extend({animationName:null,elapsedTime:null,pseudoElement:null}),jt=Lt.extend({clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Ht=Lt.extend({view:null,detail:null}),Bt=Ht.extend({relatedTarget:null});function Gt(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}var Vt={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Wt={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Kt={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function qt(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Kt[e])&&!!t[e]}function $t(){return qt}for(var Qt=Ht.extend({key:function(e){if(e.key){var t=Vt[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=Gt(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Wt[e.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:$t,charCode:function(e){return"keypress"===e.type?Gt(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?Gt(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Yt=0,Xt=0,Jt=!1,Zt=!1,en=Ht.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:$t,button:null,buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},movementX:function(e){if("movementX"in e)return e.movementX;var t=Yt;return Yt=e.screenX,Jt?"mousemove"===e.type?e.screenX-t:0:(Jt=!0,0)},movementY:function(e){if("movementY"in e)return e.movementY;var t=Xt;return Xt=e.screenY,Zt?"mousemove"===e.type?e.screenY-t:0:(Zt=!0,0)}}),tn=en.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),nn=en.extend({dataTransfer:null}),rn=Ht.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:$t}),ln=Lt.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),an=en.extend({deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null}),on=[["blur","blur",0],["cancel","cancel",0],["click","click",0],["close","close",0],["contextmenu","contextMenu",0],["copy","copy",0],["cut","cut",0],["auxclick","auxClick",0],["dblclick","doubleClick",0],["dragend","dragEnd",0],["dragstart","dragStart",0],["drop","drop",0],["focus","focus",0],["input","input",0],["invalid","invalid",0],["keydown","keyDown",0],["keypress","keyPress",0],["keyup","keyUp",0],["mousedown","mouseDown",0],["mouseup","mouseUp",0],["paste","paste",0],["pause","pause",0],["play","play",0],["pointercancel","pointerCancel",0],["pointerdown","pointerDown",0],["pointerup","pointerUp",0],["ratechange","rateChange",0],["reset","reset",0],["seeked","seeked",0],["submit","submit",0],["touchcancel","touchCancel",0],["touchend","touchEnd",0],["touchstart","touchStart",0],["volumechange","volumeChange",0],["drag","drag",1],["dragenter","dragEnter",1],["dragexit","dragExit",1],["dragleave","dragLeave",1],["dragover","dragOver",1],["mousemove","mouseMove",1],["mouseout","mouseOut",1],["mouseover","mouseOver",1],["pointermove","pointerMove",1],["pointerout","pointerOut",1],["pointerover","pointerOver",1],["scroll","scroll",1],["toggle","toggle",1],["touchmove","touchMove",1],["wheel","wheel",1],["abort","abort",2],[Qe,"animationEnd",2],[Ye,"animationIteration",2],[Xe,"animationStart",2],["canplay","canPlay",2],["canplaythrough","canPlayThrough",2],["durationchange","durationChange",2],["emptied","emptied",2],["encrypted","encrypted",2],["ended","ended",2],["error","error",2],["gotpointercapture","gotPointerCapture",2],["load","load",2],["loadeddata","loadedData",2],["loadedmetadata","loadedMetadata",2],["loadstart","loadStart",2],["lostpointercapture","lostPointerCapture",2],["playing","playing",2],["progress","progress",2],["seeking","seeking",2],["stalled","stalled",2],["suspend","suspend",2],["timeupdate","timeUpdate",2],[Je,"transitionEnd",2],["waiting","waiting",2]],un={},cn={},sn=0;sn<on.length;sn++){var fn=on[sn],dn=fn[0],pn=fn[1],mn=fn[2],hn="on"+(pn[0].toUpperCase()+pn.slice(1)),vn={phasedRegistrationNames:{bubbled:hn,captured:hn+"Capture"},dependencies:[dn],eventPriority:mn};un[pn]=vn,cn[dn]=vn}var yn={eventTypes:un,getEventPriority:function(e){return void 0!==(e=cn[e])?e.eventPriority:2},extractEvents:function(e,t,n,r){var l=cn[e];if(!l)return null;switch(e){case"keypress":if(0===Gt(n))return null;case"keydown":case"keyup":e=Qt;break;case"blur":case"focus":e=Bt;break;case"click":if(2===n.button)return null;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":e=en;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":e=nn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":e=rn;break;case Qe:case Ye:case Xe:e=Dt;break;case Je:e=ln;break;case"scroll":e=Ht;break;case"wheel":e=an;break;case"copy":case"cut":case"paste":e=jt;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":e=tn;break;default:e=Lt}return Rt(t=e.getPooled(l,t,n,r)),t}},gn=a.unstable_UserBlockingPriority,bn=a.unstable_runWithPriority,En=yn.getEventPriority,Tn=10,wn=[];function kn(e){var t=e.targetInst,n=t;do{if(!n){e.ancestors.push(n);break}var r=n;if(3===r.tag)r=r.stateNode.containerInfo;else{for(;r.return;)r=r.return;r=3!==r.tag?null:r.stateNode.containerInfo}if(!r)break;5!==(t=n.tag)&&6!==t||e.ancestors.push(n),n=dr(r)}while(n);for(n=0;n<e.ancestors.length;n++){t=e.ancestors[n];var l=_t(e.nativeEvent);r=e.topLevelType;for(var a=e.nativeEvent,i=e.eventSystemFlags,o=null,u=0;u<f.length;u++){var c=f[u];c&&(c=c.extractEvents(r,t,a,l,i))&&(o=_(o,c))}N(o)}}var Sn=!0;function xn(e,t){_n(t,e,!1)}function _n(e,t,n){switch(En(t)){case 0:var r=Cn.bind(null,t,1);break;case 1:r=Pn.bind(null,t,1);break;default:r=Nn.bind(null,t,1)}n?e.addEventListener(t,r,!0):e.addEventListener(t,r,!1)}function Cn(e,t,n){se||ue();var r=Nn,l=se;se=!0;try{oe(r,e,t,n)}finally{(se=l)||de()}}function Pn(e,t,n){bn(gn,Nn.bind(null,e,t,n))}function An(e,t,n,r){if(wn.length){var l=wn.pop();l.topLevelType=e,l.eventSystemFlags=t,l.nativeEvent=n,l.targetInst=r,e=l}else e={topLevelType:e,eventSystemFlags:t,nativeEvent:n,targetInst:r,ancestors:[]};try{if(t=kn,n=e,fe)t(n,void 0);else{fe=!0;try{ce(t,n,void 0)}finally{fe=!1,de()}}}finally{e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,wn.length<Tn&&wn.push(e)}}function Nn(e,t,n){if(Sn)if(0<ut.length&&-1<ht.indexOf(e))e=yt(null,e,t,n),ut.push(e);else{var r=On(e,t,n);null===r?gt(e,n):-1<ht.indexOf(e)?(e=yt(r,e,t,n),ut.push(e)):function(e,t,n,r){switch(t){case"focus":return ct=bt(ct,e,t,n,r),!0;case"dragenter":return st=bt(st,e,t,n,r),!0;case"mouseover":return ft=bt(ft,e,t,n,r),!0;case"pointerover":var l=r.pointerId;return dt.set(l,bt(dt.get(l)||null,e,t,n,r)),!0;case"gotpointercapture":return l=r.pointerId,pt.set(l,bt(pt.get(l)||null,e,t,n,r)),!0}return!1}(r,e,t,n)||(gt(e,n),An(e,t,n,null))}}function On(e,t,n){var r=_t(n);if(null!==(r=dr(r))){var l=et(r);if(null===l)r=null;else{var a=l.tag;if(13===a){if(null!==(r=tt(l)))return r;r=null}else if(3===a){if(l.stateNode.hydrate)return 3===l.tag?l.stateNode.containerInfo:null;r=null}else l!==r&&(r=null)}}return An(e,t,n,r),null}function Rn(e){if(!Z)return!1;var t=(e="on"+e)in document;return t||((t=document.createElement("div")).setAttribute(e,"return;"),t="function"==typeof t[e]),t}var Mn=new("function"==typeof WeakMap?WeakMap:Map);function In(e){var t=Mn.get(e);return void 0===t&&(t=new Set,Mn.set(e,t)),t}function Ln(e,t,n){if(!n.has(e)){switch(e){case"scroll":_n(t,"scroll",!0);break;case"focus":case"blur":_n(t,"focus",!0),_n(t,"blur",!0),n.add("blur"),n.add("focus");break;case"cancel":case"close":Rn(e)&&_n(t,e,!0);break;case"invalid":case"submit":case"reset":break;default:-1===Ze.indexOf(e)&&xn(e,t)}n.add(e)}}var zn={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Fn=["Webkit","ms","Moz","O"];function Un(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||zn.hasOwnProperty(e)&&zn[e]?(""+t).trim():t+"px"}function Dn(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),l=Un(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}Object.keys(zn).forEach((function(e){Fn.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),zn[t]=zn[e]}))}));var jn=l({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Hn(e,t){if(t){if(jn[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e,""));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if(!("object"==typeof t.dangerouslySetInnerHTML&&"__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(i(62,""))}}function Bn(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function Gn(e,t){var n=In(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=m[t];for(var r=0;r<t.length;r++)Ln(t[r],e,n)}function Vn(){}function Wn(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(pc){return e.body}}function Kn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function qn(e,t){var n,r=Kn(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Kn(r)}}function $n(){for(var e=window,t=Wn();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=Wn((e=t.contentWindow).document)}return t}function Qn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var Yn="$",Xn="/$",Jn="$?",Zn="$!",er=null,tr=null;function nr(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function rr(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var lr="function"==typeof setTimeout?setTimeout:void 0,ar="function"==typeof clearTimeout?clearTimeout:void 0;function ir(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function or(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if(n===Yn||n===Zn||n===Jn){if(0===t)return e;t--}else n===Xn&&t++}e=e.previousSibling}return null}var ur=Math.random().toString(36).slice(2),cr="__reactInternalInstance$"+ur,sr="__reactEventHandlers$"+ur,fr="__reactContainere$"+ur;function dr(e){var t=e[cr];if(t)return t;for(var n=e.parentNode;n;){if(t=n[fr]||n[cr]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=or(e);null!==e;){if(n=e[cr])return n;e=or(e)}return t}n=(e=n).parentNode}return null}function pr(e){return!(e=e[cr]||e[fr])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function mr(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function hr(e){return e[sr]||null}var vr=null,yr=null,gr=null;function br(){if(gr)return gr;var e,t,n=yr,r=n.length,l="value"in vr?vr.value:vr.textContent,a=l.length;for(e=0;e<r&&n[e]===l[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===l[a-t];t++);return gr=l.slice(e,1<t?1-t:void 0)}var Er=Lt.extend({data:null}),Tr=Lt.extend({data:null}),wr=[9,13,27,32],kr=Z&&"CompositionEvent"in window,Sr=null;Z&&"documentMode"in document&&(Sr=document.documentMode);var xr=Z&&"TextEvent"in window&&!Sr,_r=Z&&(!kr||Sr&&8<Sr&&11>=Sr),Cr=String.fromCharCode(32),Pr={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},Ar=!1;function Nr(e,t){switch(e){case"keyup":return-1!==wr.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function Or(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Rr=!1;var Mr={eventTypes:Pr,extractEvents:function(e,t,n,r){var l;if(kr)e:{switch(e){case"compositionstart":var a=Pr.compositionStart;break e;case"compositionend":a=Pr.compositionEnd;break e;case"compositionupdate":a=Pr.compositionUpdate;break e}a=void 0}else Rr?Nr(e,n)&&(a=Pr.compositionEnd):"keydown"===e&&229===n.keyCode&&(a=Pr.compositionStart);return a?(_r&&"ko"!==n.locale&&(Rr||a!==Pr.compositionStart?a===Pr.compositionEnd&&Rr&&(l=br()):(yr="value"in(vr=r)?vr.value:vr.textContent,Rr=!0)),a=Er.getPooled(a,t,n,r),l?a.data=l:null!==(l=Or(n))&&(a.data=l),Rt(a),l=a):l=null,(e=xr?function(e,t){switch(e){case"compositionend":return Or(t);case"keypress":return 32!==t.which?null:(Ar=!0,Cr);case"textInput":return(e=t.data)===Cr&&Ar?null:e;default:return null}}(e,n):function(e,t){if(Rr)return"compositionend"===e||!kr&&Nr(e,t)?(e=br(),gr=yr=vr=null,Rr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return _r&&"ko"!==t.locale?null:t.data;default:return null}}(e,n))?((t=Tr.getPooled(Pr.beforeInput,t,n,r)).data=e,Rt(t)):t=null,null===l?t:null===t?l:[l,t]}},Ir={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Lr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Ir[e.type]:"textarea"===t}var zr={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function Fr(e,t,n){return(e=Lt.getPooled(zr.change,e,t,n)).type="change",le(n),Rt(e),e}var Ur=null,Dr=null;function jr(e){N(e)}function Hr(e){if(xe(mr(e)))return e}function Br(e,t){if("change"===e)return t}var Gr=!1;function Vr(){Ur&&(Ur.detachEvent("onpropertychange",Wr),Dr=Ur=null)}function Wr(e){if("value"===e.propertyName&&Hr(Dr))if(e=Fr(Dr,e,_t(e)),se)N(e);else{se=!0;try{ie(jr,e)}finally{se=!1,de()}}}function Kr(e,t,n){"focus"===e?(Vr(),Dr=n,(Ur=t).attachEvent("onpropertychange",Wr)):"blur"===e&&Vr()}function qr(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Hr(Dr)}function $r(e,t){if("click"===e)return Hr(t)}function Qr(e,t){if("input"===e||"change"===e)return Hr(t)}Z&&(Gr=Rn("input")&&(!document.documentMode||9<document.documentMode));var Yr,Xr={eventTypes:zr,_isInputEventSupported:Gr,extractEvents:function(e,t,n,r){var l=t?mr(t):window,a=l.nodeName&&l.nodeName.toLowerCase();if("select"===a||"input"===a&&"file"===l.type)var i=Br;else if(Lr(l))if(Gr)i=Qr;else{i=qr;var o=Kr}else(a=l.nodeName)&&"input"===a.toLowerCase()&&("checkbox"===l.type||"radio"===l.type)&&(i=$r);if(i&&(i=i(e,t)))return Fr(i,n,r);o&&o(e,l,t),"blur"===e&&(e=l._wrapperState)&&e.controlled&&"number"===l.type&&Oe(l,"number",l.value)}},Jr={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},Zr={eventTypes:Jr,extractEvents:function(e,t,n,r,l){var a="mouseover"===e||"pointerover"===e,i="mouseout"===e||"pointerout"===e;if(a&&0==(32&l)&&(n.relatedTarget||n.fromElement)||!i&&!a)return null;if(l=r.window===r?r:(l=r.ownerDocument)?l.defaultView||l.parentWindow:window,i?(i=t,null!==(t=(t=n.relatedTarget||n.toElement)?dr(t):null)&&(t!==(a=et(t))||5!==t.tag&&6!==t.tag)&&(t=null)):i=null,i===t)return null;if("mouseout"===e||"mouseover"===e)var o=en,u=Jr.mouseLeave,c=Jr.mouseEnter,s="mouse";else"pointerout"!==e&&"pointerover"!==e||(o=tn,u=Jr.pointerLeave,c=Jr.pointerEnter,s="pointer");if(e=null==i?l:mr(i),l=null==t?l:mr(t),(u=o.getPooled(u,i,n,r)).type=s+"leave",u.target=e,u.relatedTarget=l,(r=o.getPooled(c,t,n,r)).type=s+"enter",r.target=l,r.relatedTarget=e,s=t,(o=i)&&s)e:{for(e=s,i=0,t=c=o;t;t=Ct(t))i++;for(t=0,l=e;l;l=Ct(l))t++;for(;0<i-t;)c=Ct(c),i--;for(;0<t-i;)e=Ct(e),t--;for(;i--;){if(c===e||c===e.alternate)break e;c=Ct(c),e=Ct(e)}c=null}else c=null;for(e=c,c=[];o&&o!==e&&(null===(i=o.alternate)||i!==e);)c.push(o),o=Ct(o);for(o=[];s&&s!==e&&(null===(i=s.alternate)||i!==e);)o.push(s),s=Ct(s);for(s=0;s<c.length;s++)Nt(c[s],"bubbled",u);for(s=o.length;0<s--;)Nt(o[s],"captured",r);return n===Yr?(Yr=null,[u]):(Yr=n,[u,r])}};var el="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},tl=Object.prototype.hasOwnProperty;function nl(e,t){if(el(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!tl.call(t,n[r])||!el(e[n[r]],t[n[r]]))return!1;return!0}var rl=Z&&"documentMode"in document&&11>=document.documentMode,ll={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},al=null,il=null,ol=null,ul=!1;function cl(e,t){var n=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;return ul||null==al||al!==Wn(n)?null:("selectionStart"in(n=al)&&Qn(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},ol&&nl(ol,n)?null:(ol=n,(e=Lt.getPooled(ll.select,il,e,t)).type="select",e.target=al,Rt(e),e))}var sl={eventTypes:ll,extractEvents:function(e,t,n,r){var l,a=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;if(!(l=!a)){e:{a=In(a),l=m.onSelect;for(var i=0;i<l.length;i++)if(!a.has(l[i])){a=!1;break e}a=!0}l=!a}if(l)return null;switch(a=t?mr(t):window,e){case"focus":(Lr(a)||"true"===a.contentEditable)&&(al=a,il=t,ol=null);break;case"blur":ol=il=al=null;break;case"mousedown":ul=!0;break;case"contextmenu":case"mouseup":case"dragend":return ul=!1,cl(n,r);case"selectionchange":if(rl)break;case"keydown":case"keyup":return cl(n,r)}return null}};O.injectEventPluginOrder("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" ")),w=hr,k=pr,S=mr,O.injectEventPluginsByName({SimpleEventPlugin:yn,EnterLeaveEventPlugin:Zr,ChangeEventPlugin:Xr,SelectEventPlugin:sl,BeforeInputEventPlugin:Mr}),new Set;var fl=[],dl=-1;function pl(e){0>dl||(e.current=fl[dl],fl[dl]=null,dl--)}function ml(e,t){dl++,fl[dl]=e.current,e.current=t}var hl={},vl={current:hl},yl={current:!1},gl=hl;function bl(e,t){var n=e.type.contextTypes;if(!n)return hl;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l,a={};for(l in n)a[l]=t[l];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function El(e){return null!=(e=e.childContextTypes)}function Tl(e){pl(yl),pl(vl)}function wl(e){pl(yl),pl(vl)}function kl(e,t,n){if(vl.current!==hl)throw Error(i(168));ml(vl,t),ml(yl,n)}function Sl(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var a in r=r.getChildContext())if(!(a in e))throw Error(i(108,X(t)||"Unknown",a));return l({},n,{},r)}function xl(e){var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||hl,gl=vl.current,ml(vl,t),ml(yl,yl.current),!0}function _l(e,t,n){var r=e.stateNode;if(!r)throw Error(i(169));n?(t=Sl(e,t,gl),r.__reactInternalMemoizedMergedChildContext=t,pl(yl),pl(vl),ml(vl,t)):pl(yl),ml(yl,n)}var Cl=a.unstable_runWithPriority,Pl=a.unstable_scheduleCallback,Al=a.unstable_cancelCallback,Nl=a.unstable_shouldYield,Ol=a.unstable_requestPaint,Rl=a.unstable_now,Ml=a.unstable_getCurrentPriorityLevel,Il=a.unstable_ImmediatePriority,Ll=a.unstable_UserBlockingPriority,zl=a.unstable_NormalPriority,Fl=a.unstable_LowPriority,Ul=a.unstable_IdlePriority,Dl={},jl=void 0!==Ol?Ol:function(){},Hl=null,Bl=null,Gl=!1,Vl=Rl(),Wl=1e4>Vl?Rl:function(){return Rl()-Vl};function Kl(){switch(Ml()){case Il:return 99;case Ll:return 98;case zl:return 97;case Fl:return 96;case Ul:return 95;default:throw Error(i(332))}}function ql(e){switch(e){case 99:return Il;case 98:return Ll;case 97:return zl;case 96:return Fl;case 95:return Ul;default:throw Error(i(332))}}function $l(e,t){return e=ql(e),Cl(e,t)}function Ql(e,t,n){return e=ql(e),Pl(e,t,n)}function Yl(e){return null===Hl?(Hl=[e],Bl=Pl(Il,Jl)):Hl.push(e),Dl}function Xl(){if(null!==Bl){var e=Bl;Bl=null,Al(e)}Jl()}function Jl(){if(!Gl&&null!==Hl){Gl=!0;var e=0;try{var t=Hl;$l(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),Hl=null}catch(n){throw null!==Hl&&(Hl=Hl.slice(e+1)),Pl(Il,Xl),n}finally{Gl=!1}}}var Zl=3;function ea(e,t,n){return 1073741821-(1+((1073741821-e+t/10)/(n/=10)|0))*n}function ta(e,t){if(e&&e.defaultProps)for(var n in t=l({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}var na={current:null},ra=null,la=null,aa=null;function ia(){aa=la=ra=null}function oa(e,t){var n=e.type._context;ml(na,n._currentValue),n._currentValue=t}function ua(e){var t=na.current;pl(na),e.type._context._currentValue=t}function ca(e,t){for(;null!==e;){var n=e.alternate;if(e.childExpirationTime<t)e.childExpirationTime=t,null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t);else{if(!(null!==n&&n.childExpirationTime<t))break;n.childExpirationTime=t}e=e.return}}function sa(e,t){ra=e,aa=la=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(e.expirationTime>=t&&(Vi=!0),e.firstContext=null)}function fa(e,t){if(aa!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(aa=e,t=1073741823),t={context:e,observedBits:t,next:null},null===la){if(null===ra)throw Error(i(308));la=t,ra.dependencies={expirationTime:0,firstContext:t,responders:null}}else la=la.next=t;return e._currentValue}var da=!1;function pa(e){return{baseState:e,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function ma(e){return{baseState:e.baseState,firstUpdate:e.firstUpdate,lastUpdate:e.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function ha(e,t){return{expirationTime:e,suspenseConfig:t,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function va(e,t){null===e.lastUpdate?e.firstUpdate=e.lastUpdate=t:(e.lastUpdate.next=t,e.lastUpdate=t)}function ya(e,t){var n=e.alternate;if(null===n){var r=e.updateQueue,l=null;null===r&&(r=e.updateQueue=pa(e.memoizedState))}else r=e.updateQueue,l=n.updateQueue,null===r?null===l?(r=e.updateQueue=pa(e.memoizedState),l=n.updateQueue=pa(n.memoizedState)):r=e.updateQueue=ma(l):null===l&&(l=n.updateQueue=ma(r));null===l||r===l?va(r,t):null===r.lastUpdate||null===l.lastUpdate?(va(r,t),va(l,t)):(va(r,t),l.lastUpdate=t)}function ga(e,t){var n=e.updateQueue;null===(n=null===n?e.updateQueue=pa(e.memoizedState):ba(e,n)).lastCapturedUpdate?n.firstCapturedUpdate=n.lastCapturedUpdate=t:(n.lastCapturedUpdate.next=t,n.lastCapturedUpdate=t)}function ba(e,t){var n=e.alternate;return null!==n&&t===n.updateQueue&&(t=e.updateQueue=ma(t)),t}function Ea(e,t,n,r,a,i){switch(n.tag){case 1:return"function"==typeof(e=n.payload)?e.call(i,r,a):e;case 3:e.effectTag=-4097&e.effectTag|64;case 0:if(null==(a="function"==typeof(e=n.payload)?e.call(i,r,a):e))break;return l({},r,a);case 2:da=!0}return r}function Ta(e,t,n,r,l){da=!1;for(var a=(t=ba(e,t)).baseState,i=null,o=0,u=t.firstUpdate,c=a;null!==u;){var s=u.expirationTime;s<l?(null===i&&(i=u,a=c),o<s&&(o=s)):(Cu(s,u.suspenseConfig),c=Ea(e,0,u,c,n,r),null!==u.callback&&(e.effectTag|=32,u.nextEffect=null,null===t.lastEffect?t.firstEffect=t.lastEffect=u:(t.lastEffect.nextEffect=u,t.lastEffect=u))),u=u.next}for(s=null,u=t.firstCapturedUpdate;null!==u;){var f=u.expirationTime;f<l?(null===s&&(s=u,null===i&&(a=c)),o<f&&(o=f)):(c=Ea(e,0,u,c,n,r),null!==u.callback&&(e.effectTag|=32,u.nextEffect=null,null===t.lastCapturedEffect?t.firstCapturedEffect=t.lastCapturedEffect=u:(t.lastCapturedEffect.nextEffect=u,t.lastCapturedEffect=u))),u=u.next}null===i&&(t.lastUpdate=null),null===s?t.lastCapturedUpdate=null:e.effectTag|=32,null===i&&null===s&&(a=c),t.baseState=a,t.firstUpdate=i,t.firstCapturedUpdate=s,Pu(o),e.expirationTime=o,e.memoizedState=c}function wa(e,t,n){null!==t.firstCapturedUpdate&&(null!==t.lastUpdate&&(t.lastUpdate.next=t.firstCapturedUpdate,t.lastUpdate=t.lastCapturedUpdate),t.firstCapturedUpdate=t.lastCapturedUpdate=null),ka(t.firstEffect,n),t.firstEffect=t.lastEffect=null,ka(t.firstCapturedEffect,n),t.firstCapturedEffect=t.lastCapturedEffect=null}function ka(e,t){for(;null!==e;){var n=e.callback;if(null!==n){e.callback=null;var r=t;if("function"!=typeof n)throw Error(i(191,n));n.call(r)}e=e.nextEffect}}var Sa=M.ReactCurrentBatchConfig,xa=(new r.Component).refs;function _a(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:l({},t,n),e.memoizedState=n,null!==(r=e.updateQueue)&&0===e.expirationTime&&(r.baseState=n)}var Ca={isMounted:function(e){return!!(e=e._reactInternalFiber)&&et(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternalFiber;var r=mu(),l=Sa.suspense;(l=ha(r=hu(r,e,l),l)).payload=t,null!=n&&(l.callback=n),ya(e,l),vu(e,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternalFiber;var r=mu(),l=Sa.suspense;(l=ha(r=hu(r,e,l),l)).tag=1,l.payload=t,null!=n&&(l.callback=n),ya(e,l),vu(e,r)},enqueueForceUpdate:function(e,t){e=e._reactInternalFiber;var n=mu(),r=Sa.suspense;(r=ha(n=hu(n,e,r),r)).tag=2,null!=t&&(r.callback=t),ya(e,r),vu(e,n)}};function Pa(e,t,n,r,l,a,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,i):!t.prototype||!t.prototype.isPureReactComponent||(!nl(n,r)||!nl(l,a))}function Aa(e,t,n){var r=!1,l=hl,a=t.contextType;return"object"==typeof a&&null!==a?a=fa(a):(l=El(t)?gl:vl.current,a=(r=null!=(r=t.contextTypes))?bl(e,l):hl),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=Ca,e.stateNode=t,t._reactInternalFiber=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=l,e.__reactInternalMemoizedMaskedChildContext=a),t}function Na(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Ca.enqueueReplaceState(t,t.state,null)}function Oa(e,t,n,r){var l=e.stateNode;l.props=n,l.state=e.memoizedState,l.refs=xa;var a=t.contextType;"object"==typeof a&&null!==a?l.context=fa(a):(a=El(t)?gl:vl.current,l.context=bl(e,a)),null!==(a=e.updateQueue)&&(Ta(e,a,n,l,r),l.state=e.memoizedState),"function"==typeof(a=t.getDerivedStateFromProps)&&(_a(e,t,a,n),l.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||(t=l.state,"function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount(),t!==l.state&&Ca.enqueueReplaceState(l,l.state,null),null!==(a=e.updateQueue)&&(Ta(e,a,n,l,r),l.state=e.memoizedState)),"function"==typeof l.componentDidMount&&(e.effectTag|=4)}var Ra=Array.isArray;function Ma(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(i(309));var r=n.stateNode}if(!r)throw Error(i(147,e));var l=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===l?t.ref:((t=function(e){var t=r.refs;t===xa&&(t=r.refs={}),null===e?delete t[l]:t[l]=e})._stringRef=l,t)}if("string"!=typeof e)throw Error(i(284));if(!n._owner)throw Error(i(290,e))}return e}function Ia(e,t){if("textarea"!==e.type)throw Error(i(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t,""))}function La(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.effectTag=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function l(e,t,n){return(e=$u(e,t)).index=0,e.sibling=null,e}function a(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.effectTag=2,n):r:(t.effectTag=2,n):n}function o(t){return e&&null===t.alternate&&(t.effectTag=2),t}function u(e,t,n,r){return null===t||6!==t.tag?((t=Xu(n,e.mode,r)).return=e,t):((t=l(t,n)).return=e,t)}function c(e,t,n,r){return null!==t&&t.elementType===n.type?((r=l(t,n.props)).ref=Ma(e,t,n),r.return=e,r):((r=Qu(n.type,n.key,n.props,null,e.mode,r)).ref=Ma(e,t,n),r.return=e,r)}function s(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Ju(n,e.mode,r)).return=e,t):((t=l(t,n.children||[])).return=e,t)}function f(e,t,n,r,a){return null===t||7!==t.tag?((t=Yu(n,e.mode,r,a)).return=e,t):((t=l(t,n)).return=e,t)}function d(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=Xu(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case z:return(n=Qu(t.type,t.key,t.props,null,e.mode,n)).ref=Ma(e,null,t),n.return=e,n;case F:return(t=Ju(t,e.mode,n)).return=e,t}if(Ra(t)||Y(t))return(t=Yu(t,e.mode,n,null)).return=e,t;Ia(e,t)}return null}function p(e,t,n,r){var l=null!==t?t.key:null;if("string"==typeof n||"number"==typeof n)return null!==l?null:u(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case z:return n.key===l?n.type===U?f(e,t,n.props.children,r,l):c(e,t,n,r):null;case F:return n.key===l?s(e,t,n,r):null}if(Ra(n)||Y(n))return null!==l?null:f(e,t,n,r,null);Ia(e,n)}return null}function m(e,t,n,r,l){if("string"==typeof r||"number"==typeof r)return u(t,e=e.get(n)||null,""+r,l);if("object"==typeof r&&null!==r){switch(r.$$typeof){case z:return e=e.get(null===r.key?n:r.key)||null,r.type===U?f(t,e,r.props.children,l,r.key):c(t,e,r,l);case F:return s(t,e=e.get(null===r.key?n:r.key)||null,r,l)}if(Ra(r)||Y(r))return f(t,e=e.get(n)||null,r,l,null);Ia(t,r)}return null}function h(l,i,o,u){for(var c=null,s=null,f=i,h=i=0,v=null;null!==f&&h<o.length;h++){f.index>h?(v=f,f=null):v=f.sibling;var y=p(l,f,o[h],u);if(null===y){null===f&&(f=v);break}e&&f&&null===y.alternate&&t(l,f),i=a(y,i,h),null===s?c=y:s.sibling=y,s=y,f=v}if(h===o.length)return n(l,f),c;if(null===f){for(;h<o.length;h++)null!==(f=d(l,o[h],u))&&(i=a(f,i,h),null===s?c=f:s.sibling=f,s=f);return c}for(f=r(l,f);h<o.length;h++)null!==(v=m(f,l,h,o[h],u))&&(e&&null!==v.alternate&&f.delete(null===v.key?h:v.key),i=a(v,i,h),null===s?c=v:s.sibling=v,s=v);return e&&f.forEach((function(e){return t(l,e)})),c}function v(l,o,u,c){var s=Y(u);if("function"!=typeof s)throw Error(i(150));if(null==(u=s.call(u)))throw Error(i(151));for(var f=s=null,h=o,v=o=0,y=null,g=u.next();null!==h&&!g.done;v++,g=u.next()){h.index>v?(y=h,h=null):y=h.sibling;var b=p(l,h,g.value,c);if(null===b){null===h&&(h=y);break}e&&h&&null===b.alternate&&t(l,h),o=a(b,o,v),null===f?s=b:f.sibling=b,f=b,h=y}if(g.done)return n(l,h),s;if(null===h){for(;!g.done;v++,g=u.next())null!==(g=d(l,g.value,c))&&(o=a(g,o,v),null===f?s=g:f.sibling=g,f=g);return s}for(h=r(l,h);!g.done;v++,g=u.next())null!==(g=m(h,l,v,g.value,c))&&(e&&null!==g.alternate&&h.delete(null===g.key?v:g.key),o=a(g,o,v),null===f?s=g:f.sibling=g,f=g);return e&&h.forEach((function(e){return t(l,e)})),s}return function(e,r,a,u){var c="object"==typeof a&&null!==a&&a.type===U&&null===a.key;c&&(a=a.props.children);var s="object"==typeof a&&null!==a;if(s)switch(a.$$typeof){case z:e:{for(s=a.key,c=r;null!==c;){if(c.key===s){if(7===c.tag?a.type===U:c.elementType===a.type){n(e,c.sibling),(r=l(c,a.type===U?a.props.children:a.props)).ref=Ma(e,c,a),r.return=e,e=r;break e}n(e,c);break}t(e,c),c=c.sibling}a.type===U?((r=Yu(a.props.children,e.mode,u,a.key)).return=e,e=r):((u=Qu(a.type,a.key,a.props,null,e.mode,u)).ref=Ma(e,r,a),u.return=e,e=u)}return o(e);case F:e:{for(c=a.key;null!==r;){if(r.key===c){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){n(e,r.sibling),(r=l(r,a.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Ju(a,e.mode,u)).return=e,e=r}return o(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==r&&6===r.tag?(n(e,r.sibling),(r=l(r,a)).return=e,e=r):(n(e,r),(r=Xu(a,e.mode,u)).return=e,e=r),o(e);if(Ra(a))return h(e,r,a,u);if(Y(a))return v(e,r,a,u);if(s&&Ia(e,a),void 0===a&&!c)switch(e.tag){case 1:case 0:throw e=e.type,Error(i(152,e.displayName||e.name||"Component"))}return n(e,r)}}var za=La(!0),Fa=La(!1),Ua={},Da={current:Ua},ja={current:Ua},Ha={current:Ua};function Ba(e){if(e===Ua)throw Error(i(174));return e}function Ga(e,t){ml(Ha,t),ml(ja,e),ml(Da,Ua);var n=t.nodeType;switch(n){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:je(null,"");break;default:t=je(t=(n=8===n?t.parentNode:t).namespaceURI||null,n=n.tagName)}pl(Da),ml(Da,t)}function Va(e){pl(Da),pl(ja),pl(Ha)}function Wa(e){Ba(Ha.current);var t=Ba(Da.current),n=je(t,e.type);t!==n&&(ml(ja,e),ml(Da,n))}function Ka(e){ja.current===e&&(pl(Da),pl(ja))}var qa={current:0};function $a(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||n.data===Jn||n.data===Zn))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.effectTag))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function Qa(e,t){return{responder:e,props:t}}var Ya=M.ReactCurrentDispatcher,Xa=M.ReactCurrentBatchConfig,Ja=0,Za=null,ei=null,ti=null,ni=null,ri=null,li=null,ai=0,ii=null,oi=0,ui=!1,ci=null,si=0;function fi(){throw Error(i(321))}function di(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!el(e[n],t[n]))return!1;return!0}function pi(e,t,n,r,l,a){if(Ja=a,Za=t,ti=null!==e?e.memoizedState:null,Ya.current=null===ti?Ri:Mi,t=n(r,l),ui){do{ui=!1,si+=1,ti=null!==e?e.memoizedState:null,li=ni,ii=ri=ei=null,Ya.current=Mi,t=n(r,l)}while(ui);ci=null,si=0}if(Ya.current=Oi,(e=Za).memoizedState=ni,e.expirationTime=ai,e.updateQueue=ii,e.effectTag|=oi,e=null!==ei&&null!==ei.next,Ja=0,li=ri=ni=ti=ei=Za=null,ai=0,ii=null,oi=0,e)throw Error(i(300));return t}function mi(){Ya.current=Oi,Ja=0,li=ri=ni=ti=ei=Za=null,ai=0,ii=null,oi=0,ui=!1,ci=null,si=0}function hi(){var e={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};return null===ri?ni=ri=e:ri=ri.next=e,ri}function vi(){if(null!==li)li=(ri=li).next,ti=null!==(ei=ti)?ei.next:null;else{if(null===ti)throw Error(i(310));var e={memoizedState:(ei=ti).memoizedState,baseState:ei.baseState,queue:ei.queue,baseUpdate:ei.baseUpdate,next:null};ri=null===ri?ni=e:ri.next=e,ti=ei.next}return ri}function yi(e,t){return"function"==typeof t?t(e):t}function gi(e){var t=vi(),n=t.queue;if(null===n)throw Error(i(311));if(n.lastRenderedReducer=e,0<si){var r=n.dispatch;if(null!==ci){var l=ci.get(n);if(void 0!==l){ci.delete(n);var a=t.memoizedState;do{a=e(a,l.action),l=l.next}while(null!==l);return el(a,t.memoizedState)||(Vi=!0),t.memoizedState=a,t.baseUpdate===n.last&&(t.baseState=a),n.lastRenderedState=a,[a,r]}}return[t.memoizedState,r]}r=n.last;var o=t.baseUpdate;if(a=t.baseState,null!==o?(null!==r&&(r.next=null),r=o.next):r=null!==r?r.next:null,null!==r){var u=l=null,c=r,s=!1;do{var f=c.expirationTime;f<Ja?(s||(s=!0,u=o,l=a),f>ai&&Pu(ai=f)):(Cu(f,c.suspenseConfig),a=c.eagerReducer===e?c.eagerState:e(a,c.action)),o=c,c=c.next}while(null!==c&&c!==r);s||(u=o,l=a),el(a,t.memoizedState)||(Vi=!0),t.memoizedState=a,t.baseUpdate=u,t.baseState=l,n.lastRenderedState=a}return[t.memoizedState,n.dispatch]}function bi(e){var t=hi();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={last:null,dispatch:null,lastRenderedReducer:yi,lastRenderedState:e}).dispatch=Ni.bind(null,Za,e),[t.memoizedState,e]}function Ei(e){return gi(yi)}function Ti(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===ii?(ii={lastEffect:null}).lastEffect=e.next=e:null===(t=ii.lastEffect)?ii.lastEffect=e.next=e:(n=t.next,t.next=e,e.next=n,ii.lastEffect=e),e}function wi(e,t,n,r){var l=hi();oi|=e,l.memoizedState=Ti(t,n,void 0,void 0===r?null:r)}function ki(e,t,n,r){var l=vi();r=void 0===r?null:r;var a=void 0;if(null!==ei){var i=ei.memoizedState;if(a=i.destroy,null!==r&&di(r,i.deps))return void Ti(0,n,a,r)}oi|=e,l.memoizedState=Ti(t,n,a,r)}function Si(e,t){return wi(516,192,e,t)}function xi(e,t){return ki(516,192,e,t)}function _i(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Ci(){}function Pi(e,t){return hi().memoizedState=[e,void 0===t?null:t],e}function Ai(e,t){var n=vi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&di(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ni(e,t,n){if(!(25>si))throw Error(i(301));var r=e.alternate;if(e===Za||null!==r&&r===Za)if(ui=!0,e={expirationTime:Ja,suspenseConfig:null,action:n,eagerReducer:null,eagerState:null,next:null},null===ci&&(ci=new Map),void 0===(n=ci.get(t)))ci.set(t,e);else{for(t=n;null!==t.next;)t=t.next;t.next=e}else{var l=mu(),a=Sa.suspense;a={expirationTime:l=hu(l,e,a),suspenseConfig:a,action:n,eagerReducer:null,eagerState:null,next:null};var o=t.last;if(null===o)a.next=a;else{var u=o.next;null!==u&&(a.next=u),o.next=a}if(t.last=a,0===e.expirationTime&&(null===r||0===r.expirationTime)&&null!==(r=t.lastRenderedReducer))try{var c=t.lastRenderedState,s=r(c,n);if(a.eagerReducer=r,a.eagerState=s,el(s,c))return}catch(f){}vu(e,l)}}var Oi={readContext:fa,useCallback:fi,useContext:fi,useEffect:fi,useImperativeHandle:fi,useLayoutEffect:fi,useMemo:fi,useReducer:fi,useRef:fi,useState:fi,useDebugValue:fi,useResponder:fi,useDeferredValue:fi,useTransition:fi},Ri={readContext:fa,useCallback:Pi,useContext:fa,useEffect:Si,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,wi(4,36,_i.bind(null,t,e),n)},useLayoutEffect:function(e,t){return wi(4,36,e,t)},useMemo:function(e,t){var n=hi();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=hi();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={last:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Ni.bind(null,Za,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},hi().memoizedState=e},useState:bi,useDebugValue:Ci,useResponder:Qa,useDeferredValue:function(e,t){var n=bi(e),r=n[0],l=n[1];return Si((function(){a.unstable_next((function(){var n=Xa.suspense;Xa.suspense=void 0===t?null:t;try{l(e)}finally{Xa.suspense=n}}))}),[e,t]),r},useTransition:function(e){var t=bi(!1),n=t[0],r=t[1];return[Pi((function(t){r(!0),a.unstable_next((function(){var n=Xa.suspense;Xa.suspense=void 0===e?null:e;try{r(!1),t()}finally{Xa.suspense=n}}))}),[e,n]),n]}},Mi={readContext:fa,useCallback:Ai,useContext:fa,useEffect:xi,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,ki(4,36,_i.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ki(4,36,e,t)},useMemo:function(e,t){var n=vi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&di(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)},useReducer:gi,useRef:function(){return vi().memoizedState},useState:Ei,useDebugValue:Ci,useResponder:Qa,useDeferredValue:function(e,t){var n=Ei(),r=n[0],l=n[1];return xi((function(){a.unstable_next((function(){var n=Xa.suspense;Xa.suspense=void 0===t?null:t;try{l(e)}finally{Xa.suspense=n}}))}),[e,t]),r},useTransition:function(e){var t=Ei(),n=t[0],r=t[1];return[Ai((function(t){r(!0),a.unstable_next((function(){var n=Xa.suspense;Xa.suspense=void 0===e?null:e;try{r(!1),t()}finally{Xa.suspense=n}}))}),[e,n]),n]}},Ii=null,Li=null,zi=!1;function Fi(e,t){var n=Ku(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Ui(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);case 13:default:return!1}}function Di(e){if(zi){var t=Li;if(t){var n=t;if(!Ui(e,t)){if(!(t=ir(n.nextSibling))||!Ui(e,t))return e.effectTag=-1025&e.effectTag|2,zi=!1,void(Ii=e);Fi(Ii,n)}Ii=e,Li=ir(t.firstChild)}else e.effectTag=-1025&e.effectTag|2,zi=!1,Ii=e}}function ji(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Ii=e}function Hi(e){if(e!==Ii)return!1;if(!zi)return ji(e),zi=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!rr(t,e.memoizedProps))for(t=Li;t;)Fi(e,t),t=ir(t.nextSibling);if(ji(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if(n===Xn){if(0===t){Li=ir(e.nextSibling);break e}t--}else n!==Yn&&n!==Zn&&n!==Jn||t++}e=e.nextSibling}Li=null}}else Li=Ii?ir(e.stateNode.nextSibling):null;return!0}function Bi(){Li=Ii=null,zi=!1}var Gi=M.ReactCurrentOwner,Vi=!1;function Wi(e,t,n,r){t.child=null===e?Fa(t,null,n,r):za(t,e.child,n,r)}function Ki(e,t,n,r,l){n=n.render;var a=t.ref;return sa(t,l),r=pi(e,t,n,r,a,l),null===e||Vi?(t.effectTag|=1,Wi(e,t,r,l),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=l&&(e.expirationTime=0),co(e,t,l))}function qi(e,t,n,r,l,a){if(null===e){var i=n.type;return"function"!=typeof i||qu(i)||void 0!==i.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Qu(n.type,null,r,null,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,$i(e,t,i,r,l,a))}return i=e.child,l<a&&(l=i.memoizedProps,(n=null!==(n=n.compare)?n:nl)(l,r)&&e.ref===t.ref)?co(e,t,a):(t.effectTag|=1,(e=$u(i,r)).ref=t.ref,e.return=t,t.child=e)}function $i(e,t,n,r,l,a){return null!==e&&nl(e.memoizedProps,r)&&e.ref===t.ref&&(Vi=!1,l<a)?co(e,t,a):Yi(e,t,n,r,a)}function Qi(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function Yi(e,t,n,r,l){var a=El(n)?gl:vl.current;return a=bl(t,a),sa(t,l),n=pi(e,t,n,r,a,l),null===e||Vi?(t.effectTag|=1,Wi(e,t,n,l),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=l&&(e.expirationTime=0),co(e,t,l))}function Xi(e,t,n,r,l){if(El(n)){var a=!0;xl(t)}else a=!1;if(sa(t,l),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),Aa(t,n,r),Oa(t,n,r,l),r=!0;else if(null===e){var i=t.stateNode,o=t.memoizedProps;i.props=o;var u=i.context,c=n.contextType;"object"==typeof c&&null!==c?c=fa(c):c=bl(t,c=El(n)?gl:vl.current);var s=n.getDerivedStateFromProps,f="function"==typeof s||"function"==typeof i.getSnapshotBeforeUpdate;f||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(o!==r||u!==c)&&Na(t,i,r,c),da=!1;var d=t.memoizedState;u=i.state=d;var p=t.updateQueue;null!==p&&(Ta(t,p,r,i,l),u=t.memoizedState),o!==r||d!==u||yl.current||da?("function"==typeof s&&(_a(t,n,s,r),u=t.memoizedState),(o=da||Pa(t,n,o,r,d,u,c))?(f||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.effectTag|=4)):("function"==typeof i.componentDidMount&&(t.effectTag|=4),t.memoizedProps=r,t.memoizedState=u),i.props=r,i.state=u,i.context=c,r=o):("function"==typeof i.componentDidMount&&(t.effectTag|=4),r=!1)}else i=t.stateNode,o=t.memoizedProps,i.props=t.type===t.elementType?o:ta(t.type,o),u=i.context,"object"==typeof(c=n.contextType)&&null!==c?c=fa(c):c=bl(t,c=El(n)?gl:vl.current),(f="function"==typeof(s=n.getDerivedStateFromProps)||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(o!==r||u!==c)&&Na(t,i,r,c),da=!1,u=t.memoizedState,d=i.state=u,null!==(p=t.updateQueue)&&(Ta(t,p,r,i,l),d=t.memoizedState),o!==r||u!==d||yl.current||da?("function"==typeof s&&(_a(t,n,s,r),d=t.memoizedState),(s=da||Pa(t,n,o,r,u,d,c))?(f||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,d,c),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,d,c)),"function"==typeof i.componentDidUpdate&&(t.effectTag|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.effectTag|=256)):("function"!=typeof i.componentDidUpdate||o===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=4),"function"!=typeof i.getSnapshotBeforeUpdate||o===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=256),t.memoizedProps=r,t.memoizedState=d),i.props=r,i.state=d,i.context=c,r=s):("function"!=typeof i.componentDidUpdate||o===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=4),"function"!=typeof i.getSnapshotBeforeUpdate||o===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=256),r=!1);return Ji(e,t,n,r,a,l)}function Ji(e,t,n,r,l,a){Qi(e,t);var i=0!=(64&t.effectTag);if(!r&&!i)return l&&_l(t,n,!1),co(e,t,a);r=t.stateNode,Gi.current=t;var o=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.effectTag|=1,null!==e&&i?(t.child=za(t,e.child,null,a),t.child=za(t,null,o,a)):Wi(e,t,o,a),t.memoizedState=r.state,l&&_l(t,n,!0),t.child}function Zi(e){var t=e.stateNode;t.pendingContext?kl(0,t.pendingContext,t.pendingContext!==t.context):t.context&&kl(0,t.context,!1),Ga(e,t.containerInfo)}var eo,to,no,ro,lo={dehydrated:null,retryTime:0};function ao(e,t,n){var r,l=t.mode,a=t.pendingProps,i=qa.current,o=!1;if((r=0!=(64&t.effectTag))||(r=0!=(2&i)&&(null===e||null!==e.memoizedState)),r?(o=!0,t.effectTag&=-65):null!==e&&null===e.memoizedState||void 0===a.fallback||!0===a.unstable_avoidThisFallback||(i|=1),ml(qa,1&i),null===e){if(void 0!==a.fallback&&Di(t),o){if(o=a.fallback,(a=Yu(null,l,0,null)).return=t,0==(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,a.child=e;null!==e;)e.return=a,e=e.sibling;return(n=Yu(o,l,n,null)).return=t,a.sibling=n,t.memoizedState=lo,t.child=a,n}return l=a.children,t.memoizedState=null,t.child=Fa(t,null,l,n)}if(null!==e.memoizedState){if(l=(e=e.child).sibling,o){if(a=a.fallback,(n=$u(e,e.pendingProps)).return=t,0==(2&t.mode)&&(o=null!==t.memoizedState?t.child.child:t.child)!==e.child)for(n.child=o;null!==o;)o.return=n,o=o.sibling;return(l=$u(l,a,l.expirationTime)).return=t,n.sibling=l,n.childExpirationTime=0,t.memoizedState=lo,t.child=n,l}return n=za(t,e.child,a.children,n),t.memoizedState=null,t.child=n}if(e=e.child,o){if(o=a.fallback,(a=Yu(null,l,0,null)).return=t,a.child=e,null!==e&&(e.return=a),0==(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,a.child=e;null!==e;)e.return=a,e=e.sibling;return(n=Yu(o,l,n,null)).return=t,a.sibling=n,n.effectTag|=2,a.childExpirationTime=0,t.memoizedState=lo,t.child=a,n}return t.memoizedState=null,t.child=za(t,e,a.children,n)}function io(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t),ca(e.return,t)}function oo(e,t,n,r,l,a){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,last:r,tail:n,tailExpiration:0,tailMode:l,lastEffect:a}:(i.isBackwards=t,i.rendering=null,i.last=r,i.tail=n,i.tailExpiration=0,i.tailMode=l,i.lastEffect=a)}function uo(e,t,n){var r=t.pendingProps,l=r.revealOrder,a=r.tail;if(Wi(e,t,r.children,n),0!=(2&(r=qa.current)))r=1&r|2,t.effectTag|=64;else{if(null!==e&&0!=(64&e.effectTag))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&io(e,n);else if(19===e.tag)io(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(ml(qa,r),0==(2&t.mode))t.memoizedState=null;else switch(l){case"forwards":for(n=t.child,l=null;null!==n;)null!==(e=n.alternate)&&null===$a(e)&&(l=n),n=n.sibling;null===(n=l)?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),oo(t,!1,l,n,a,t.lastEffect);break;case"backwards":for(n=null,l=t.child,t.child=null;null!==l;){if(null!==(e=l.alternate)&&null===$a(e)){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}oo(t,!0,n,null,a,t.lastEffect);break;case"together":oo(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function co(e,t,n){null!==e&&(t.dependencies=e.dependencies);var r=t.expirationTime;if(0!==r&&Pu(r),t.childExpirationTime<n)return null;if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(n=$u(e=t.child,e.pendingProps,e.expirationTime),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=$u(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}function so(e){e.effectTag|=4}function fo(e,t){switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function po(e){switch(e.tag){case 1:El(e.type)&&Tl();var t=e.effectTag;return 4096&t?(e.effectTag=-4097&t|64,e):null;case 3:if(Va(),wl(),0!=(64&(t=e.effectTag)))throw Error(i(285));return e.effectTag=-4097&t|64,e;case 5:return Ka(e),null;case 13:return pl(qa),4096&(t=e.effectTag)?(e.effectTag=-4097&t|64,e):null;case 19:return pl(qa),null;case 4:return Va(),null;case 10:return ua(e),null;default:return null}}function mo(e,t){return{value:e,source:t,stack:J(t)}}eo=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},to=function(){},no=function(e,t,n,r,a){var i=e.memoizedProps;if(i!==r){var o,u,c=t.stateNode;switch(Ba(Da.current),e=null,n){case"input":i=_e(c,i),r=_e(c,r),e=[];break;case"option":i=Re(c,i),r=Re(c,r),e=[];break;case"select":i=l({},i,{value:void 0}),r=l({},r,{value:void 0}),e=[];break;case"textarea":i=Ie(c,i),r=Ie(c,r),e=[];break;default:"function"!=typeof i.onClick&&"function"==typeof r.onClick&&(c.onclick=Vn)}for(o in Hn(n,r),n=null,i)if(!r.hasOwnProperty(o)&&i.hasOwnProperty(o)&&null!=i[o])if("style"===o)for(u in c=i[o])c.hasOwnProperty(u)&&(n||(n={}),n[u]="");else"dangerouslySetInnerHTML"!==o&&"children"!==o&&"suppressContentEditableWarning"!==o&&"suppressHydrationWarning"!==o&&"autoFocus"!==o&&(p.hasOwnProperty(o)?e||(e=[]):(e=e||[]).push(o,null));for(o in r){var s=r[o];if(c=null!=i?i[o]:void 0,r.hasOwnProperty(o)&&s!==c&&(null!=s||null!=c))if("style"===o)if(c){for(u in c)!c.hasOwnProperty(u)||s&&s.hasOwnProperty(u)||(n||(n={}),n[u]="");for(u in s)s.hasOwnProperty(u)&&c[u]!==s[u]&&(n||(n={}),n[u]=s[u])}else n||(e||(e=[]),e.push(o,n)),n=s;else"dangerouslySetInnerHTML"===o?(s=s?s.__html:void 0,c=c?c.__html:void 0,null!=s&&c!==s&&(e=e||[]).push(o,""+s)):"children"===o?c===s||"string"!=typeof s&&"number"!=typeof s||(e=e||[]).push(o,""+s):"suppressContentEditableWarning"!==o&&"suppressHydrationWarning"!==o&&(p.hasOwnProperty(o)?(null!=s&&Gn(a,o),e||c===s||(e=[])):(e=e||[]).push(o,s))}n&&(e=e||[]).push("style",n),a=e,(t.updateQueue=a)&&so(t)}},ro=function(e,t,n,r){n!==r&&so(t)};var ho="function"==typeof WeakSet?WeakSet:Set;function vo(e,t){var n=t.source,r=t.stack;null===r&&null!==n&&(r=J(n)),null!==n&&X(n.type),t=t.value,null!==e&&1===e.tag&&X(e.type);try{console.error(t)}catch(l){setTimeout((function(){throw l}))}}function yo(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(n){ju(e,n)}else t.current=null}function go(e,t){switch(t.tag){case 0:case 11:case 15:bo(2,0,t);break;case 1:if(256&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:ta(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:case 17:break;default:throw Error(i(163))}}function bo(e,t,n){if(null!==(n=null!==(n=n.updateQueue)?n.lastEffect:null)){var r=n=n.next;do{if(0!=(r.tag&e)){var l=r.destroy;r.destroy=void 0,void 0!==l&&l()}0!=(r.tag&t)&&(l=r.create,r.destroy=l()),r=r.next}while(r!==n)}}function Eo(e,t,n){switch("function"==typeof Vu&&Vu(t),t.tag){case 0:case 11:case 14:case 15:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var r=e.next;$l(97<n?97:n,(function(){var e=r;do{var n=e.destroy;if(void 0!==n){var l=t;try{n()}catch(a){ju(l,a)}}e=e.next}while(e!==r)}))}break;case 1:yo(t),"function"==typeof(n=t.stateNode).componentWillUnmount&&function(e,t){try{t.props=e.memoizedProps,t.state=e.memoizedState,t.componentWillUnmount()}catch(n){ju(e,n)}}(t,n);break;case 5:yo(t);break;case 4:So(e,t,n)}}function To(e){var t=e.alternate;e.return=null,e.child=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.alternate=null,e.firstEffect=null,e.lastEffect=null,e.pendingProps=null,e.memoizedProps=null,null!==t&&To(t)}function wo(e){return 5===e.tag||3===e.tag||4===e.tag}function ko(e){e:{for(var t=e.return;null!==t;){if(wo(t)){var n=t;break e}t=t.return}throw Error(i(160))}switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(i(161))}16&n.effectTag&&(Ge(t,""),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||wo(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var l=e;;){var a=5===l.tag||6===l.tag;if(a){var o=a?l.stateNode:l.stateNode.instance;if(n)if(r){var u=o;o=n,8===(a=t).nodeType?a.parentNode.insertBefore(u,o):a.insertBefore(u,o)}else t.insertBefore(o,n);else r?(8===(u=t).nodeType?(a=u.parentNode).insertBefore(o,u):(a=u).appendChild(o),null!=(u=u._reactRootContainer)||null!==a.onclick||(a.onclick=Vn)):t.appendChild(o)}else if(4!==l.tag&&null!==l.child){l.child.return=l,l=l.child;continue}if(l===e)break;for(;null===l.sibling;){if(null===l.return||l.return===e)return;l=l.return}l.sibling.return=l.return,l=l.sibling}}function So(e,t,n){for(var r,l,a=t,o=!1;;){if(!o){o=a.return;e:for(;;){if(null===o)throw Error(i(160));switch(r=o.stateNode,o.tag){case 5:l=!1;break e;case 3:case 4:r=r.containerInfo,l=!0;break e}o=o.return}o=!0}if(5===a.tag||6===a.tag){e:for(var u=e,c=a,s=n,f=c;;)if(Eo(u,f,s),null!==f.child&&4!==f.tag)f.child.return=f,f=f.child;else{if(f===c)break;for(;null===f.sibling;){if(null===f.return||f.return===c)break e;f=f.return}f.sibling.return=f.return,f=f.sibling}l?(u=r,c=a.stateNode,8===u.nodeType?u.parentNode.removeChild(c):u.removeChild(c)):r.removeChild(a.stateNode)}else if(4===a.tag){if(null!==a.child){r=a.stateNode.containerInfo,l=!0,a.child.return=a,a=a.child;continue}}else if(Eo(e,a,n),null!==a.child){a.child.return=a,a=a.child;continue}if(a===t)break;for(;null===a.sibling;){if(null===a.return||a.return===t)return;4===(a=a.return).tag&&(o=!1)}a.sibling.return=a.return,a=a.sibling}}function xo(e,t){switch(t.tag){case 0:case 11:case 14:case 15:bo(4,8,t);break;case 1:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps,l=null!==e?e.memoizedProps:r;e=t.type;var a=t.updateQueue;if(t.updateQueue=null,null!==a){for(n[sr]=r,"input"===e&&"radio"===r.type&&null!=r.name&&Pe(n,r),Bn(e,l),t=Bn(e,r),l=0;l<a.length;l+=2){var o=a[l],u=a[l+1];"style"===o?Dn(n,u):"dangerouslySetInnerHTML"===o?Be(n,u):"children"===o?Ge(n,u):we(n,o,u,t)}switch(e){case"input":Ae(n,r);break;case"textarea":ze(n,r);break;case"select":t=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!r.multiple,null!=(e=r.value)?Me(n,!!r.multiple,e,!1):t!==!!r.multiple&&(null!=r.defaultValue?Me(n,!!r.multiple,r.defaultValue,!0):Me(n,!!r.multiple,r.multiple?[]:"",!1))}}}break;case 6:if(null===t.stateNode)throw Error(i(162));t.stateNode.nodeValue=t.memoizedProps;break;case 3:(t=t.stateNode).hydrate&&(t.hydrate=!1,xt(t.containerInfo));break;case 12:break;case 13:if(n=t,null===t.memoizedState?r=!1:(r=!0,n=t.child,tu=Wl()),null!==n)e:for(e=n;;){if(5===e.tag)a=e.stateNode,r?"function"==typeof(a=a.style).setProperty?a.setProperty("display","none","important"):a.display="none":(a=e.stateNode,l=null!=(l=e.memoizedProps.style)&&l.hasOwnProperty("display")?l.display:null,a.style.display=Un("display",l));else if(6===e.tag)e.stateNode.nodeValue=r?"":e.memoizedProps;else{if(13===e.tag&&null!==e.memoizedState&&null===e.memoizedState.dehydrated){(a=e.child.sibling).return=e,e=a;continue}if(null!==e.child){e.child.return=e,e=e.child;continue}}if(e===n)break e;for(;null===e.sibling;){if(null===e.return||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}_o(t);break;case 19:_o(t);break;case 17:case 20:case 21:break;default:throw Error(i(163))}}function _o(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new ho),t.forEach((function(t){var r=Bu.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}var Co="function"==typeof WeakMap?WeakMap:Map;function Po(e,t,n){(n=ha(n,null)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){lu||(lu=!0,au=r),vo(e,t)},n}function Ao(e,t,n){(n=ha(n,null)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var l=t.value;n.payload=function(){return vo(e,t),r(l)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===iu?iu=new Set([this]):iu.add(this),vo(e,t));var n=t.stack;this.componentDidCatch(t.value,{componentStack:null!==n?n:""})}),n}var No,Oo=Math.ceil,Ro=M.ReactCurrentDispatcher,Mo=M.ReactCurrentOwner,Io=0,Lo=8,zo=16,Fo=32,Uo=0,Do=1,jo=2,Ho=3,Bo=4,Go=5,Vo=Io,Wo=null,Ko=null,qo=0,$o=Uo,Qo=null,Yo=1073741823,Xo=1073741823,Jo=null,Zo=0,eu=!1,tu=0,nu=500,ru=null,lu=!1,au=null,iu=null,ou=!1,uu=null,cu=90,su=null,fu=0,du=null,pu=0;function mu(){return(Vo&(zo|Fo))!==Io?1073741821-(Wl()/10|0):0!==pu?pu:pu=1073741821-(Wl()/10|0)}function hu(e,t,n){if(0==(2&(t=t.mode)))return 1073741823;var r=Kl();if(0==(4&t))return 99===r?1073741823:1073741822;if((Vo&zo)!==Io)return qo;if(null!==n)e=ea(e,0|n.timeoutMs||5e3,250);else switch(r){case 99:e=1073741823;break;case 98:e=ea(e,150,100);break;case 97:case 96:e=ea(e,5e3,250);break;case 95:e=2;break;default:throw Error(i(326))}return null!==Wo&&e===qo&&--e,e}function vu(e,t){if(50<fu)throw fu=0,du=null,Error(i(185));if(null!==(e=yu(e,t))){var n=Kl();1073741823===t?(Vo&Lo)!==Io&&(Vo&(zo|Fo))===Io?Tu(e):(bu(e),Vo===Io&&Xl()):bu(e),(4&Vo)===Io||98!==n&&99!==n||(null===su?su=new Map([[e,t]]):(void 0===(n=su.get(e))||n>t)&&su.set(e,t))}}function yu(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t);var r=e.return,l=null;if(null===r&&3===e.tag)l=e.stateNode;else for(;null!==r;){if(n=r.alternate,r.childExpirationTime<t&&(r.childExpirationTime=t),null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t),null===r.return&&3===r.tag){l=r.stateNode;break}r=r.return}return null!==l&&(Wo===l&&(Pu(t),$o===Bo&&tc(l,qo)),nc(l,t)),l}function gu(e){var t=e.lastExpiredTime;return 0!==t?t:ec(e,t=e.firstPendingTime)?(t=e.lastPingedTime)>(e=e.nextKnownPendingLevel)?t:e:t}function bu(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=Yl(Tu.bind(null,e));else{var t=gu(e),n=e.callbackNode;if(0===t)null!==n&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var r=mu();if(1073741823===t?r=99:1===t||2===t?r=95:r=0>=(r=10*(1073741821-t)-10*(1073741821-r))?99:250>=r?98:5250>=r?97:95,null!==n){var l=e.callbackPriority;if(e.callbackExpirationTime===t&&l>=r)return;n!==Dl&&Al(n)}e.callbackExpirationTime=t,e.callbackPriority=r,t=1073741823===t?Yl(Tu.bind(null,e)):Ql(r,Eu.bind(null,e),{timeout:10*(1073741821-t)-Wl()}),e.callbackNode=t}}}function Eu(e,t){if(pu=0,t)return rc(e,t=mu()),bu(e),null;var n=gu(e);if(0!==n){if(t=e.callbackNode,(Vo&(zo|Fo))!==Io)throw Error(i(327));if(Fu(),e===Wo&&n===qo||Su(e,n),null!==Ko){var r=Vo;Vo|=zo;for(var l=_u();;)try{Nu();break}catch(u){xu(e,u)}if(ia(),Vo=r,Ro.current=l,$o===Do)throw t=Qo,Su(e,n),tc(e,n),bu(e),t;if(null===Ko)switch(l=e.finishedWork=e.current.alternate,e.finishedExpirationTime=n,r=$o,Wo=null,r){case Uo:case Do:throw Error(i(345));case jo:rc(e,2<n?2:n);break;case Ho:if(tc(e,n),n===(r=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=Mu(l)),1073741823===Yo&&10<(l=tu+nu-Wl())){if(eu){var a=e.lastPingedTime;if(0===a||a>=n){e.lastPingedTime=n,Su(e,n);break}}if(0!==(a=gu(e))&&a!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}e.timeoutHandle=lr(Iu.bind(null,e),l);break}Iu(e);break;case Bo:if(tc(e,n),n===(r=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=Mu(l)),eu&&(0===(l=e.lastPingedTime)||l>=n)){e.lastPingedTime=n,Su(e,n);break}if(0!==(l=gu(e))&&l!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}if(1073741823!==Xo?r=10*(1073741821-Xo)-Wl():1073741823===Yo?r=0:(r=10*(1073741821-Yo)-5e3,0>(r=(l=Wl())-r)&&(r=0),(n=10*(1073741821-n)-l)<(r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Oo(r/1960))-r)&&(r=n)),10<r){e.timeoutHandle=lr(Iu.bind(null,e),r);break}Iu(e);break;case Go:if(1073741823!==Yo&&null!==Jo){a=Yo;var o=Jo;if(0>=(r=0|o.busyMinDurationMs)?r=0:(l=0|o.busyDelayMs,r=(a=Wl()-(10*(1073741821-a)-(0|o.timeoutMs||5e3)))<=l?0:l+r-a),10<r){tc(e,n),e.timeoutHandle=lr(Iu.bind(null,e),r);break}}Iu(e);break;default:throw Error(i(329))}if(bu(e),e.callbackNode===t)return Eu.bind(null,e)}}return null}function Tu(e){var t=e.lastExpiredTime;if(t=0!==t?t:1073741823,e.finishedExpirationTime===t)Iu(e);else{if((Vo&(zo|Fo))!==Io)throw Error(i(327));if(Fu(),e===Wo&&t===qo||Su(e,t),null!==Ko){var n=Vo;Vo|=zo;for(var r=_u();;)try{Au();break}catch(l){xu(e,l)}if(ia(),Vo=n,Ro.current=r,$o===Do)throw n=Qo,Su(e,t),tc(e,t),bu(e),n;if(null!==Ko)throw Error(i(261));e.finishedWork=e.current.alternate,e.finishedExpirationTime=t,Wo=null,Iu(e),bu(e)}}return null}function wu(e,t){var n=Vo;Vo|=1;try{return e(t)}finally{(Vo=n)===Io&&Xl()}}function ku(e,t){var n=Vo;Vo&=-2,Vo|=Lo;try{return e(t)}finally{(Vo=n)===Io&&Xl()}}function Su(e,t){e.finishedWork=null,e.finishedExpirationTime=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,ar(n)),null!==Ko)for(n=Ko.return;null!==n;){var r=n;switch(r.tag){case 1:var l=r.type.childContextTypes;null!=l&&Tl();break;case 3:Va(),wl();break;case 5:Ka(r);break;case 4:Va();break;case 13:case 19:pl(qa);break;case 10:ua(r)}n=n.return}Wo=e,Ko=$u(e.current,null),qo=t,$o=Uo,Qo=null,Xo=Yo=1073741823,Jo=null,Zo=0,eu=!1}function xu(e,t){for(;;){try{if(ia(),mi(),null===Ko||null===Ko.return)return $o=Do,Qo=t,null;e:{var n=e,r=Ko.return,l=Ko,a=t;if(t=qo,l.effectTag|=2048,l.firstEffect=l.lastEffect=null,null!==a&&"object"==typeof a&&"function"==typeof a.then){var i=a,o=0!=(1&qa.current),u=r;do{var c;if(c=13===u.tag){var s=u.memoizedState;if(null!==s)c=null!==s.dehydrated;else{var f=u.memoizedProps;c=void 0!==f.fallback&&(!0!==f.unstable_avoidThisFallback||!o)}}if(c){var d=u.updateQueue;if(null===d){var p=new Set;p.add(i),u.updateQueue=p}else d.add(i);if(0==(2&u.mode)){if(u.effectTag|=64,l.effectTag&=-2981,1===l.tag)if(null===l.alternate)l.tag=17;else{var m=ha(1073741823,null);m.tag=2,ya(l,m)}l.expirationTime=1073741823;break e}a=void 0,l=t;var h=n.pingCache;if(null===h?(h=n.pingCache=new Co,a=new Set,h.set(i,a)):void 0===(a=h.get(i))&&(a=new Set,h.set(i,a)),!a.has(l)){a.add(l);var v=Hu.bind(null,n,i,l);i.then(v,v)}u.effectTag|=4096,u.expirationTime=t;break e}u=u.return}while(null!==u);a=Error((X(l.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+J(l))}$o!==Go&&($o=jo),a=mo(a,l),u=r;do{switch(u.tag){case 3:i=a,u.effectTag|=4096,u.expirationTime=t,ga(u,Po(u,i,t));break e;case 1:i=a;var y=u.type,g=u.stateNode;if(0==(64&u.effectTag)&&("function"==typeof y.getDerivedStateFromError||null!==g&&"function"==typeof g.componentDidCatch&&(null===iu||!iu.has(g)))){u.effectTag|=4096,u.expirationTime=t,ga(u,Ao(u,i,t));break e}}u=u.return}while(null!==u)}Ko=Ru(Ko)}catch(b){t=b;continue}break}}function _u(){var e=Ro.current;return Ro.current=Oi,null===e?Oi:e}function Cu(e,t){e<Yo&&2<e&&(Yo=e),null!==t&&e<Xo&&2<e&&(Xo=e,Jo=t)}function Pu(e){e>Zo&&(Zo=e)}function Au(){for(;null!==Ko;)Ko=Ou(Ko)}function Nu(){for(;null!==Ko&&!Nl();)Ko=Ou(Ko)}function Ou(e){var t=No(e.alternate,e,qo);return e.memoizedProps=e.pendingProps,null===t&&(t=Ru(e)),Mo.current=null,t}function Ru(e){Ko=e;do{var t=Ko.alternate;if(e=Ko.return,0==(2048&Ko.effectTag)){e:{var n=t,r=qo,a=(t=Ko).pendingProps;switch(t.tag){case 2:case 16:break;case 15:case 0:break;case 1:El(t.type)&&Tl();break;case 3:Va(),wl(),(a=t.stateNode).pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(null===n||null===n.child)&&Hi(t)&&so(t),to(t);break;case 5:Ka(t),r=Ba(Ha.current);var o=t.type;if(null!==n&&null!=t.stateNode)no(n,t,o,a,r),n.ref!==t.ref&&(t.effectTag|=128);else if(a){var u=Ba(Da.current);if(Hi(t)){var c=(a=t).stateNode;n=a.type;var s=a.memoizedProps,f=r;switch(c[cr]=a,c[sr]=s,o=void 0,r=c,n){case"iframe":case"object":case"embed":xn("load",r);break;case"video":case"audio":for(c=0;c<Ze.length;c++)xn(Ze[c],r);break;case"source":xn("error",r);break;case"img":case"image":case"link":xn("error",r),xn("load",r);break;case"form":xn("reset",r),xn("submit",r);break;case"details":xn("toggle",r);break;case"input":Ce(r,s),xn("invalid",r),Gn(f,"onChange");break;case"select":r._wrapperState={wasMultiple:!!s.multiple},xn("invalid",r),Gn(f,"onChange");break;case"textarea":Le(r,s),xn("invalid",r),Gn(f,"onChange")}for(o in Hn(n,s),c=null,s)s.hasOwnProperty(o)&&(u=s[o],"children"===o?"string"==typeof u?r.textContent!==u&&(c=["children",u]):"number"==typeof u&&r.textContent!==""+u&&(c=["children",""+u]):p.hasOwnProperty(o)&&null!=u&&Gn(f,o));switch(n){case"input":Se(r),Ne(r,s,!0);break;case"textarea":Se(r),Fe(r);break;case"select":case"option":break;default:"function"==typeof s.onClick&&(r.onclick=Vn)}o=c,a.updateQueue=o,(a=null!==o)&&so(t)}else{n=t,f=o,s=a,c=9===r.nodeType?r:r.ownerDocument,u===Ue.html&&(u=De(f)),u===Ue.html?"script"===f?((s=c.createElement("div")).innerHTML="<script><\/script>",c=s.removeChild(s.firstChild)):"string"==typeof s.is?c=c.createElement(f,{is:s.is}):(c=c.createElement(f),"select"===f&&(f=c,s.multiple?f.multiple=!0:s.size&&(f.size=s.size))):c=c.createElementNS(u,f),(s=c)[cr]=n,s[sr]=a,eo(s,t,!1,!1),t.stateNode=s;var d=r,m=Bn(f=o,n=a);switch(f){case"iframe":case"object":case"embed":xn("load",s),r=n;break;case"video":case"audio":for(r=0;r<Ze.length;r++)xn(Ze[r],s);r=n;break;case"source":xn("error",s),r=n;break;case"img":case"image":case"link":xn("error",s),xn("load",s),r=n;break;case"form":xn("reset",s),xn("submit",s),r=n;break;case"details":xn("toggle",s),r=n;break;case"input":Ce(s,n),r=_e(s,n),xn("invalid",s),Gn(d,"onChange");break;case"option":r=Re(s,n);break;case"select":s._wrapperState={wasMultiple:!!n.multiple},r=l({},n,{value:void 0}),xn("invalid",s),Gn(d,"onChange");break;case"textarea":Le(s,n),r=Ie(s,n),xn("invalid",s),Gn(d,"onChange");break;default:r=n}Hn(f,r),c=void 0,u=f;var h=s,v=r;for(c in v)if(v.hasOwnProperty(c)){var y=v[c];"style"===c?Dn(h,y):"dangerouslySetInnerHTML"===c?null!=(y=y?y.__html:void 0)&&Be(h,y):"children"===c?"string"==typeof y?("textarea"!==u||""!==y)&&Ge(h,y):"number"==typeof y&&Ge(h,""+y):"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&"autoFocus"!==c&&(p.hasOwnProperty(c)?null!=y&&Gn(d,c):null!=y&&we(h,c,y,m))}switch(f){case"input":Se(s),Ne(s,n,!1);break;case"textarea":Se(s),Fe(s);break;case"option":null!=n.value&&s.setAttribute("value",""+Te(n.value));break;case"select":(r=s).multiple=!!n.multiple,null!=(s=n.value)?Me(r,!!n.multiple,s,!1):null!=n.defaultValue&&Me(r,!!n.multiple,n.defaultValue,!0);break;default:"function"==typeof r.onClick&&(s.onclick=Vn)}(a=nr(o,a))&&so(t)}null!==t.ref&&(t.effectTag|=128)}else if(null===t.stateNode)throw Error(i(166));break;case 6:if(n&&null!=t.stateNode)ro(n,t,n.memoizedProps,a);else{if("string"!=typeof a&&null===t.stateNode)throw Error(i(166));r=Ba(Ha.current),Ba(Da.current),Hi(t)?(o=(a=t).stateNode,r=a.memoizedProps,o[cr]=a,(a=o.nodeValue!==r)&&so(t)):(o=t,(a=(9===r.nodeType?r:r.ownerDocument).createTextNode(a))[cr]=o,t.stateNode=a)}break;case 11:break;case 13:if(pl(qa),a=t.memoizedState,0!=(64&t.effectTag)){t.expirationTime=r;break e}a=null!==a,o=!1,null===n?void 0!==t.memoizedProps.fallback&&Hi(t):(o=null!==(r=n.memoizedState),a||null===r||null!==(r=n.child.sibling)&&(null!==(s=t.firstEffect)?(t.firstEffect=r,r.nextEffect=s):(t.firstEffect=t.lastEffect=r,r.nextEffect=null),r.effectTag=8)),a&&!o&&0!=(2&t.mode)&&(null===n&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&qa.current)?$o===Uo&&($o=Ho):($o!==Uo&&$o!==Ho||($o=Bo),0!==Zo&&null!==Wo&&(tc(Wo,qo),nc(Wo,Zo)))),(a||o)&&(t.effectTag|=4);break;case 7:case 8:case 12:break;case 4:Va(),to(t);break;case 10:ua(t);break;case 9:case 14:break;case 17:El(t.type)&&Tl();break;case 19:if(pl(qa),null===(a=t.memoizedState))break;if(o=0!=(64&t.effectTag),null===(s=a.rendering)){if(o)fo(a,!1);else if($o!==Uo||null!==n&&0!=(64&n.effectTag))for(n=t.child;null!==n;){if(null!==(s=$a(n))){for(t.effectTag|=64,fo(a,!1),null!==(o=s.updateQueue)&&(t.updateQueue=o,t.effectTag|=4),null===a.lastEffect&&(t.firstEffect=null),t.lastEffect=a.lastEffect,a=r,o=t.child;null!==o;)n=a,(r=o).effectTag&=2,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null,null===(s=r.alternate)?(r.childExpirationTime=0,r.expirationTime=n,r.child=null,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null):(r.childExpirationTime=s.childExpirationTime,r.expirationTime=s.expirationTime,r.child=s.child,r.memoizedProps=s.memoizedProps,r.memoizedState=s.memoizedState,r.updateQueue=s.updateQueue,n=s.dependencies,r.dependencies=null===n?null:{expirationTime:n.expirationTime,firstContext:n.firstContext,responders:n.responders}),o=o.sibling;ml(qa,1&qa.current|2),t=t.child;break e}n=n.sibling}}else{if(!o)if(null!==(n=$a(s))){if(t.effectTag|=64,o=!0,null!==(r=n.updateQueue)&&(t.updateQueue=r,t.effectTag|=4),fo(a,!0),null===a.tail&&"hidden"===a.tailMode&&!s.alternate){null!==(t=t.lastEffect=a.lastEffect)&&(t.nextEffect=null);break}}else Wl()>a.tailExpiration&&1<r&&(t.effectTag|=64,o=!0,fo(a,!1),t.expirationTime=t.childExpirationTime=r-1);a.isBackwards?(s.sibling=t.child,t.child=s):(null!==(r=a.last)?r.sibling=s:t.child=s,a.last=s)}if(null!==a.tail){0===a.tailExpiration&&(a.tailExpiration=Wl()+500),r=a.tail,a.rendering=r,a.tail=r.sibling,a.lastEffect=t.lastEffect,r.sibling=null,a=qa.current,ml(qa,a=o?1&a|2:1&a),t=r;break e}break;case 20:case 21:break;default:throw Error(i(156,t.tag))}t=null}if(a=Ko,1===qo||1!==a.childExpirationTime){for(o=0,r=a.child;null!==r;)(n=r.expirationTime)>o&&(o=n),(s=r.childExpirationTime)>o&&(o=s),r=r.sibling;a.childExpirationTime=o}if(null!==t)return t;null!==e&&0==(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=Ko.firstEffect),null!==Ko.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=Ko.firstEffect),e.lastEffect=Ko.lastEffect),1<Ko.effectTag&&(null!==e.lastEffect?e.lastEffect.nextEffect=Ko:e.firstEffect=Ko,e.lastEffect=Ko))}else{if(null!==(t=po(Ko)))return t.effectTag&=2047,t;null!==e&&(e.firstEffect=e.lastEffect=null,e.effectTag|=2048)}if(null!==(t=Ko.sibling))return t;Ko=e}while(null!==Ko);return $o===Uo&&($o=Go),null}function Mu(e){var t=e.expirationTime;return t>(e=e.childExpirationTime)?t:e}function Iu(e){var t=Kl();return $l(99,Lu.bind(null,e,t)),null}function Lu(e,t){do{Fu()}while(null!==uu);if((Vo&(zo|Fo))!==Io)throw Error(i(327));var n=e.finishedWork,r=e.finishedExpirationTime;if(null===n)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,n===e.current)throw Error(i(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var l=Mu(n);if(e.firstPendingTime=l,r<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:r<=e.firstSuspendedTime&&(e.firstSuspendedTime=r-1),r<=e.lastPingedTime&&(e.lastPingedTime=0),r<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===Wo&&(Ko=Wo=null,qo=0),1<n.effectTag?null!==n.lastEffect?(n.lastEffect.nextEffect=n,l=n.firstEffect):l=n:l=n.firstEffect,null!==l){var a=Vo;Vo|=Fo,Mo.current=null,er=Sn;var o=$n();if(Qn(o)){if("selectionStart"in o)var u={start:o.selectionStart,end:o.selectionEnd};else e:{var c=(u=(u=o.ownerDocument)&&u.defaultView||window).getSelection&&u.getSelection();if(c&&0!==c.rangeCount){u=c.anchorNode;var s=c.anchorOffset,f=c.focusNode;c=c.focusOffset;try{u.nodeType,f.nodeType}catch(L){u=null;break e}var d=0,p=-1,m=-1,h=0,v=0,y=o,g=null;t:for(;;){for(var b;y!==u||0!==s&&3!==y.nodeType||(p=d+s),y!==f||0!==c&&3!==y.nodeType||(m=d+c),3===y.nodeType&&(d+=y.nodeValue.length),null!==(b=y.firstChild);)g=y,y=b;for(;;){if(y===o)break t;if(g===u&&++h===s&&(p=d),g===f&&++v===c&&(m=d),null!==(b=y.nextSibling))break;g=(y=g).parentNode}y=b}u=-1===p||-1===m?null:{start:p,end:m}}else u=null}u=u||{start:0,end:0}}else u=null;tr={focusedElem:o,selectionRange:u},Sn=!1,ru=l;do{try{zu()}catch(L){if(null===ru)throw Error(i(330));ju(ru,L),ru=ru.nextEffect}}while(null!==ru);ru=l;do{try{for(o=e,u=t;null!==ru;){var E=ru.effectTag;if(16&E&&Ge(ru.stateNode,""),128&E){var T=ru.alternate;if(null!==T){var w=T.ref;null!==w&&("function"==typeof w?w(null):w.current=null)}}switch(1038&E){case 2:ko(ru),ru.effectTag&=-3;break;case 6:ko(ru),ru.effectTag&=-3,xo(ru.alternate,ru);break;case 1024:ru.effectTag&=-1025;break;case 1028:ru.effectTag&=-1025,xo(ru.alternate,ru);break;case 4:xo(ru.alternate,ru);break;case 8:So(o,s=ru,u),To(s)}ru=ru.nextEffect}}catch(L){if(null===ru)throw Error(i(330));ju(ru,L),ru=ru.nextEffect}}while(null!==ru);if(w=tr,T=$n(),E=w.focusedElem,u=w.selectionRange,T!==E&&E&&E.ownerDocument&&function e(t,n){return!(!t||!n)&&(t===n||(!t||3!==t.nodeType)&&(n&&3===n.nodeType?e(t,n.parentNode):"contains"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}(E.ownerDocument.documentElement,E)){null!==u&&Qn(E)&&(T=u.start,void 0===(w=u.end)&&(w=T),"selectionStart"in E?(E.selectionStart=T,E.selectionEnd=Math.min(w,E.value.length)):(w=(T=E.ownerDocument||document)&&T.defaultView||window).getSelection&&(w=w.getSelection(),s=E.textContent.length,o=Math.min(u.start,s),u=void 0===u.end?o:Math.min(u.end,s),!w.extend&&o>u&&(s=u,u=o,o=s),s=qn(E,o),f=qn(E,u),s&&f&&(1!==w.rangeCount||w.anchorNode!==s.node||w.anchorOffset!==s.offset||w.focusNode!==f.node||w.focusOffset!==f.offset)&&((T=T.createRange()).setStart(s.node,s.offset),w.removeAllRanges(),o>u?(w.addRange(T),w.extend(f.node,f.offset)):(T.setEnd(f.node,f.offset),w.addRange(T))))),T=[];for(w=E;w=w.parentNode;)1===w.nodeType&&T.push({element:w,left:w.scrollLeft,top:w.scrollTop});for("function"==typeof E.focus&&E.focus(),E=0;E<T.length;E++)(w=T[E]).element.scrollLeft=w.left,w.element.scrollTop=w.top}tr=null,Sn=!!er,er=null,e.current=n,ru=l;do{try{for(E=r;null!==ru;){var k=ru.effectTag;if(36&k){var S=ru.alternate;switch(w=E,(T=ru).tag){case 0:case 11:case 15:bo(16,32,T);break;case 1:var x=T.stateNode;if(4&T.effectTag)if(null===S)x.componentDidMount();else{var _=T.elementType===T.type?S.memoizedProps:ta(T.type,S.memoizedProps);x.componentDidUpdate(_,S.memoizedState,x.__reactInternalSnapshotBeforeUpdate)}var C=T.updateQueue;null!==C&&wa(0,C,x);break;case 3:var P=T.updateQueue;if(null!==P){if(o=null,null!==T.child)switch(T.child.tag){case 5:o=T.child.stateNode;break;case 1:o=T.child.stateNode}wa(0,P,o)}break;case 5:var A=T.stateNode;null===S&&4&T.effectTag&&nr(T.type,T.memoizedProps)&&A.focus();break;case 6:case 4:case 12:break;case 13:if(null===T.memoizedState){var N=T.alternate;if(null!==N){var O=N.memoizedState;if(null!==O){var R=O.dehydrated;null!==R&&xt(R)}}}break;case 19:case 17:case 20:case 21:break;default:throw Error(i(163))}}if(128&k){T=void 0;var M=ru.ref;if(null!==M){var I=ru.stateNode;switch(ru.tag){case 5:T=I;break;default:T=I}"function"==typeof M?M(T):M.current=T}}ru=ru.nextEffect}}catch(L){if(null===ru)throw Error(i(330));ju(ru,L),ru=ru.nextEffect}}while(null!==ru);ru=null,jl(),Vo=a}else e.current=n;if(ou)ou=!1,uu=e,cu=t;else for(ru=l;null!==ru;)t=ru.nextEffect,ru.nextEffect=null,ru=t;if(0===(t=e.firstPendingTime)&&(iu=null),1073741823===t?e===du?fu++:(fu=0,du=e):fu=0,"function"==typeof Gu&&Gu(n.stateNode,r),bu(e),lu)throw lu=!1,e=au,au=null,e;return(Vo&Lo)!==Io?null:(Xl(),null)}function zu(){for(;null!==ru;){var e=ru.effectTag;0!=(256&e)&&go(ru.alternate,ru),0==(512&e)||ou||(ou=!0,Ql(97,(function(){return Fu(),null}))),ru=ru.nextEffect}}function Fu(){if(90!==cu){var e=97<cu?97:cu;return cu=90,$l(e,Uu)}}function Uu(){if(null===uu)return!1;var e=uu;if(uu=null,(Vo&(zo|Fo))!==Io)throw Error(i(331));var t=Vo;for(Vo|=Fo,e=e.current.firstEffect;null!==e;){try{var n=e;if(0!=(512&n.effectTag))switch(n.tag){case 0:case 11:case 15:bo(128,0,n),bo(0,64,n)}}catch(r){if(null===e)throw Error(i(330));ju(e,r)}n=e.nextEffect,e.nextEffect=null,e=n}return Vo=t,Xl(),!0}function Du(e,t,n){ya(e,t=Po(e,t=mo(n,t),1073741823)),null!==(e=yu(e,1073741823))&&bu(e)}function ju(e,t){if(3===e.tag)Du(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){Du(n,e,t);break}if(1===n.tag){var r=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===iu||!iu.has(r))){ya(n,e=Ao(n,e=mo(t,e),1073741823)),null!==(n=yu(n,1073741823))&&bu(n);break}}n=n.return}}function Hu(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),Wo===e&&qo===n?$o===Bo||$o===Ho&&1073741823===Yo&&Wl()-tu<nu?Su(e,qo):eu=!0:ec(e,n)&&(0!==(t=e.lastPingedTime)&&t<n||(e.lastPingedTime=n,e.finishedExpirationTime===n&&(e.finishedExpirationTime=0,e.finishedWork=null),bu(e)))}function Bu(e,t){var n=e.stateNode;null!==n&&n.delete(t),0===(t=0)&&(t=hu(t=mu(),e,null)),null!==(e=yu(e,t))&&bu(e)}No=function(e,t,n){var r=t.expirationTime;if(null!==e){var l=t.pendingProps;if(e.memoizedProps!==l||yl.current)Vi=!0;else{if(r<n){switch(Vi=!1,t.tag){case 3:Zi(t),Bi();break;case 5:if(Wa(t),4&t.mode&&1!==n&&l.hidden)return t.expirationTime=t.childExpirationTime=1,null;break;case 1:El(t.type)&&xl(t);break;case 4:Ga(t,t.stateNode.containerInfo);break;case 10:oa(t,t.memoizedProps.value);break;case 13:if(null!==t.memoizedState)return 0!==(r=t.child.childExpirationTime)&&r>=n?ao(e,t,n):(ml(qa,1&qa.current),null!==(t=co(e,t,n))?t.sibling:null);ml(qa,1&qa.current);break;case 19:if(r=t.childExpirationTime>=n,0!=(64&e.effectTag)){if(r)return uo(e,t,n);t.effectTag|=64}if(null!==(l=t.memoizedState)&&(l.rendering=null,l.tail=null),ml(qa,qa.current),!r)return null}return co(e,t,n)}Vi=!1}}else Vi=!1;switch(t.expirationTime=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,l=bl(t,vl.current),sa(t,n),l=pi(null,t,r,e,l,n),t.effectTag|=1,"object"==typeof l&&null!==l&&"function"==typeof l.render&&void 0===l.$$typeof){if(t.tag=1,mi(),El(r)){var a=!0;xl(t)}else a=!1;t.memoizedState=null!==l.state&&void 0!==l.state?l.state:null;var o=r.getDerivedStateFromProps;"function"==typeof o&&_a(t,r,o,e),l.updater=Ca,t.stateNode=l,l._reactInternalFiber=t,Oa(t,r,e,n),t=Ji(null,t,r,!0,a,n)}else t.tag=0,Wi(null,t,l,n),t=t.child;return t;case 16:if(l=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,function(e){if(-1===e._status){e._status=0;var t=e._ctor;t=t(),e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}}(l),1!==l._status)throw l._result;switch(l=l._result,t.type=l,a=t.tag=function(e){if("function"==typeof e)return qu(e)?1:0;if(null!=e){if((e=e.$$typeof)===V)return 11;if(e===q)return 14}return 2}(l),e=ta(l,e),a){case 0:t=Yi(null,t,l,e,n);break;case 1:t=Xi(null,t,l,e,n);break;case 11:t=Ki(null,t,l,e,n);break;case 14:t=qi(null,t,l,ta(l.type,e),r,n);break;default:throw Error(i(306,l,""))}return t;case 0:return r=t.type,l=t.pendingProps,Yi(e,t,r,l=t.elementType===r?l:ta(r,l),n);case 1:return r=t.type,l=t.pendingProps,Xi(e,t,r,l=t.elementType===r?l:ta(r,l),n);case 3:if(Zi(t),null===(r=t.updateQueue))throw Error(i(282));if(l=null!==(l=t.memoizedState)?l.element:null,Ta(t,r,t.pendingProps,null,n),(r=t.memoizedState.element)===l)Bi(),t=co(e,t,n);else{if((l=t.stateNode.hydrate)&&(Li=ir(t.stateNode.containerInfo.firstChild),Ii=t,l=zi=!0),l)for(n=Fa(t,null,r,n),t.child=n;n;)n.effectTag=-3&n.effectTag|1024,n=n.sibling;else Wi(e,t,r,n),Bi();t=t.child}return t;case 5:return Wa(t),null===e&&Di(t),r=t.type,l=t.pendingProps,a=null!==e?e.memoizedProps:null,o=l.children,rr(r,l)?o=null:null!==a&&rr(r,a)&&(t.effectTag|=16),Qi(e,t),4&t.mode&&1!==n&&l.hidden?(t.expirationTime=t.childExpirationTime=1,t=null):(Wi(e,t,o,n),t=t.child),t;case 6:return null===e&&Di(t),null;case 13:return ao(e,t,n);case 4:return Ga(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=za(t,null,r,n):Wi(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,Ki(e,t,r,l=t.elementType===r?l:ta(r,l),n);case 7:return Wi(e,t,t.pendingProps,n),t.child;case 8:case 12:return Wi(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,o=t.memoizedProps,oa(t,a=l.value),null!==o){var u=o.value;if(0===(a=el(u,a)?0:0|("function"==typeof r._calculateChangedBits?r._calculateChangedBits(u,a):1073741823))){if(o.children===l.children&&!yl.current){t=co(e,t,n);break e}}else for(null!==(u=t.child)&&(u.return=t);null!==u;){var c=u.dependencies;if(null!==c){o=u.child;for(var s=c.firstContext;null!==s;){if(s.context===r&&0!=(s.observedBits&a)){1===u.tag&&((s=ha(n,null)).tag=2,ya(u,s)),u.expirationTime<n&&(u.expirationTime=n),null!==(s=u.alternate)&&s.expirationTime<n&&(s.expirationTime=n),ca(u.return,n),c.expirationTime<n&&(c.expirationTime=n);break}s=s.next}}else o=10===u.tag&&u.type===t.type?null:u.child;if(null!==o)o.return=u;else for(o=u;null!==o;){if(o===t){o=null;break}if(null!==(u=o.sibling)){u.return=o.return,o=u;break}o=o.return}u=o}}Wi(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=(a=t.pendingProps).children,sa(t,n),r=r(l=fa(l,a.unstable_observedBits)),t.effectTag|=1,Wi(e,t,r,n),t.child;case 14:return a=ta(l=t.type,t.pendingProps),qi(e,t,l,a=ta(l.type,a),r,n);case 15:return $i(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ta(r,l),null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),t.tag=1,El(r)?(e=!0,xl(t)):e=!1,sa(t,n),Aa(t,r,l),Oa(t,r,l,n),Ji(null,t,r,!0,e,n);case 19:return uo(e,t,n)}throw Error(i(156,t.tag))};var Gu=null,Vu=null;function Wu(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function Ku(e,t,n,r){return new Wu(e,t,n,r)}function qu(e){return!(!(e=e.prototype)||!e.isReactComponent)}function $u(e,t){var n=e.alternate;return null===n?((n=Ku(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.effectTag=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childExpirationTime=e.childExpirationTime,n.expirationTime=e.expirationTime,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{expirationTime:t.expirationTime,firstContext:t.firstContext,responders:t.responders},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Qu(e,t,n,r,l,a){var o=2;if(r=e,"function"==typeof e)qu(e)&&(o=1);else if("string"==typeof e)o=5;else e:switch(e){case U:return Yu(n.children,l,a,t);case G:o=8,l|=7;break;case D:o=8,l|=1;break;case j:return(e=Ku(12,n,t,8|l)).elementType=j,e.type=j,e.expirationTime=a,e;case W:return(e=Ku(13,n,t,l)).type=W,e.elementType=W,e.expirationTime=a,e;case K:return(e=Ku(19,n,t,l)).elementType=K,e.expirationTime=a,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case H:o=10;break e;case B:o=9;break e;case V:o=11;break e;case q:o=14;break e;case $:o=16,r=null;break e}throw Error(i(130,null==e?e:typeof e,""))}return(t=Ku(o,n,t,l)).elementType=e,t.type=r,t.expirationTime=a,t}function Yu(e,t,n,r){return(e=Ku(7,e,r,t)).expirationTime=n,e}function Xu(e,t,n){return(e=Ku(6,e,null,t)).expirationTime=n,e}function Ju(e,t,n){return(t=Ku(4,null!==e.children?e.children:[],e.key,t)).expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Zu(e,t,n){this.tag=t,this.current=null,this.containerInfo=e,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function ec(e,t){var n=e.firstSuspendedTime;return e=e.lastSuspendedTime,0!==n&&n>=t&&e<=t}function tc(e,t){var n=e.firstSuspendedTime,r=e.lastSuspendedTime;n<t&&(e.firstSuspendedTime=t),(r>t||0===n)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function nc(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var n=e.firstSuspendedTime;0!==n&&(t>=n?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function rc(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTime=t)}function lc(e,t,n,r){var l=t.current,a=mu(),o=Sa.suspense;a=hu(a,l,o);e:if(n){t:{if(et(n=n._reactInternalFiber)!==n||1!==n.tag)throw Error(i(170));var u=n;do{switch(u.tag){case 3:u=u.stateNode.context;break t;case 1:if(El(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break t}}u=u.return}while(null!==u);throw Error(i(171))}if(1===n.tag){var c=n.type;if(El(c)){n=Sl(n,c,u);break e}}n=u}else n=hl;return null===t.context?t.context=n:t.pendingContext=n,(t=ha(a,o)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),ya(l,t),vu(l,a),a}function ac(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function ic(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retryTime<t&&(e.retryTime=t)}function oc(e,t){ic(e,t),(e=e.alternate)&&ic(e,t)}function uc(e,t,n){var r=new Zu(e,t,n=null!=n&&!0===n.hydrate),l=Ku(3,null,null,2===t?7:1===t?3:0);r.current=l,l.stateNode=r,e[fr]=r.current,n&&0!==t&&function(e){var t=In(e);ht.forEach((function(n){Ln(n,e,t)})),vt.forEach((function(n){Ln(n,e,t)}))}(9===e.nodeType?e:e.ownerDocument),this._internalRoot=r}function cc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function sc(e,t,n,r,l){var a=n._reactRootContainer;if(a){var i=a._internalRoot;if("function"==typeof l){var o=l;l=function(){var e=ac(i);o.call(e)}}lc(t,i,e,l)}else{if(a=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new uc(e,0,t?{hydrate:!0}:void 0)}(n,r),i=a._internalRoot,"function"==typeof l){var u=l;l=function(){var e=ac(i);u.call(e)}}ku((function(){lc(t,i,e,l)}))}return ac(i)}function fc(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!cc(t))throw Error(i(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:F,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)}uc.prototype.render=function(e,t){lc(e,this._internalRoot,null,void 0===t?null:t)},uc.prototype.unmount=function(e){var t=this._internalRoot,n=void 0===e?null:e,r=t.containerInfo;lc(null,t,null,(function(){r[fr]=null,null!==n&&n()}))},lt=function(e){if(13===e.tag){var t=ea(mu(),150,100);vu(e,t),oc(e,t)}},at=function(e){if(13===e.tag){mu();var t=Zl++;vu(e,t),oc(e,t)}},it=function(e){if(13===e.tag){var t=mu();vu(e,t=hu(t,e,null)),oc(e,t)}},ee=function(e,t,n){switch(t){case"input":if(Ae(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var l=hr(r);if(!l)throw Error(i(90));xe(r),Ae(r,l)}}}break;case"textarea":ze(e,n);break;case"select":null!=(t=n.value)&&Me(e,!!n.multiple,t,!1)}},ie=wu,oe=function(e,t,n,r){var l=Vo;Vo|=4;try{return $l(98,e.bind(null,t,n,r))}finally{(Vo=l)===Io&&Xl()}},ue=function(){(Vo&(1|zo|Fo))===Io&&(function(){if(null!==su){var e=su;su=null,e.forEach((function(e,t){rc(t,e),bu(t)})),Xl()}}(),Fu())},ce=function(e,t){var n=Vo;Vo|=2;try{return e(t)}finally{(Vo=n)===Io&&Xl()}};var dc,pc,mc={createPortal:fc,findDOMNode:function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternalFiber;if(void 0===t){if("function"==typeof e.render)throw Error(i(188));throw Error(i(268,Object.keys(e)))}return e=null===(e=rt(t))?null:e.stateNode},hydrate:function(e,t,n){if(!cc(t))throw Error(i(200));return sc(null,e,t,!0,n)},render:function(e,t,n){if(!cc(t))throw Error(i(200));return sc(null,e,t,!1,n)},unstable_renderSubtreeIntoContainer:function(e,t,n,r){if(!cc(n))throw Error(i(200));if(null==e||void 0===e._reactInternalFiber)throw Error(i(38));return sc(e,t,n,!1,r)},unmountComponentAtNode:function(e){if(!cc(e))throw Error(i(40));return!!e._reactRootContainer&&(ku((function(){sc(null,null,e,!1,(function(){e._reactRootContainer=null,e[fr]=null}))})),!0)},unstable_createPortal:function(){return fc.apply(void 0,arguments)},unstable_batchedUpdates:wu,flushSync:function(e,t){if((Vo&(zo|Fo))!==Io)throw Error(i(187));var n=Vo;Vo|=1;try{return $l(99,e.bind(null,t))}finally{Vo=n,Xl()}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{Events:[pr,mr,hr,O.injectEventPluginsByName,d,Rt,function(e){C(e,Ot)},le,ae,Nn,N,Fu,{current:!1}]}};pc=(dc={findFiberByHostInstance:dr,bundleType:0,version:"16.12.0",rendererPackageName:"react-dom"}).findFiberByHostInstance,function(e){if("undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);Gu=function(e){try{t.onCommitFiberRoot(n,e,void 0,64==(64&e.current.effectTag))}catch(r){}},Vu=function(e){try{t.onCommitFiberUnmount(n,e)}catch(r){}}}catch(r){}}(l({},dc,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:M.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=rt(e))?null:e.stateNode},findFiberByHostInstance:function(e){return pc?pc(e):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}));var hc={default:mc},vc=hc&&mc||hc;e.exports=vc.default||vc}}]);
-//# sourceMappingURL=commons-2e644671e1023bf8738b.js.map
\ No newline at end of file
diff --git a/commons-2e644671e1023bf8738b.js.map b/commons-2e644671e1023bf8738b.js.map
deleted file mode 100644
index db90766..0000000
--- a/commons-2e644671e1023bf8738b.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./node_modules/scheduler/cjs/scheduler.production.min.js","webpack:///./node_modules/react-side-effect/lib/index.js","webpack:///./node_modules/shallowequal/index.js","webpack:///./node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/scheduler/index.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./src/components/header.jsx","webpack:///./node_modules/react-helmet/lib/Helmet.js","webpack:///./node_modules/react-fast-compare/index.js","webpack:///./src/components/seo.jsx","webpack:///./node_modules/react-helmet/lib/HelmetConstants.js","webpack:///./node_modules/react-dom/index.js","webpack:///./src/i18n.js","webpack:///./.cache/public-page-renderer.js","webpack:///./node_modules/react/index.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./src/assets/EF_WHT-OR_png.png","webpack:///./node_modules/react-helmet/lib/HelmetUtils.js","webpack:///./node_modules/react/cjs/react.production.min.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js"],"names":["_f","g","h","k","l","Object","defineProperty","exports","value","window","MessageChannel","p","q","t","a","unstable_now","b","setTimeout","u","Date","now","clearTimeout","unstable_forceFrameRate","w","performance","x","y","z","console","A","cancelAnimationFrame","requestAnimationFrame","error","B","C","D","E","F","G","Math","floor","H","I","port2","port1","onmessage","postMessage","J","c","length","push","d","e","K","L","M","pop","m","n","v","r","sortIndex","id","N","O","P","Q","R","S","T","U","V","callback","startTime","expirationTime","W","X","priorityLevel","Y","Z","unstable_ImmediatePriority","unstable_UserBlockingPriority","unstable_NormalPriority","unstable_IdlePriority","unstable_LowPriority","unstable_runWithPriority","unstable_next","unstable_scheduleCallback","delay","timeout","unstable_cancelCallback","unstable_wrapCallback","apply","this","arguments","unstable_getCurrentPriorityLevel","unstable_shouldYield","unstable_requestPaint","unstable_continueExecution","unstable_pauseExecution","unstable_getFirstCallbackNode","unstable_Profiling","_interopDefault","ex","React","React__default","shallowEqual","_defineProperty","obj","key","enumerable","configurable","writable","canUseDOM","document","createElement","module","reducePropsToState","handleStateChangeOnClient","mapStateOnServer","Error","WrappedComponent","state","mountedInstances","emitChange","map","instance","props","SideEffect","_Component","subClass","superClass","prototype","create","constructor","__proto__","peek","rewind","recordedState","undefined","_proto","shouldComponentUpdate","nextProps","componentWillMount","componentDidUpdate","componentWillUnmount","index","indexOf","splice","render","Component","displayName","name","getDisplayName","objA","objB","compare","compareContext","ret","call","keysA","keys","keysB","bHasOwnProperty","hasOwnProperty","bind","idx","valueA","valueB","global","inheritIfRequired","dP","f","gOPN","isRegExp","$flags","$RegExp","RegExp","Base","proto","re1","re2","CORRECT_NEW","tiRE","piRE","fiU","source","proxy","get","set","it","i","loader","enqueue","createContext","Header","lang","resolvePath","resolveI18nPath","className","to","src","logo","alt","href","title","target","rel","__esModule","Helmet","_extends","assign","_createClass","defineProperties","descriptor","Constructor","protoProps","staticProps","_react2","_interopRequireDefault","_propTypes2","_reactSideEffect2","_reactFastCompare2","_HelmetUtils","_HelmetConstants","_objectWithoutProperties","_class","_temp","HelmetSideEffects","handleClientStateChange","HelmetExport","_React$Component","HelmetWrapper","TypeError","_classCallCheck","self","ReferenceError","_possibleConstructorReturn","setPrototypeOf","_inherits","mapNestedChildrenToProps","child","nestedChildren","type","TAG_NAMES","SCRIPT","NOSCRIPT","innerHTML","STYLE","cssText","flattenArrayTypeChildren","_ref","_extends2","arrayTypeChildren","newChildProps","concat","mapObjectTypeChildren","_ref2","_extends3","_extends4","newProps","TITLE","titleAttributes","BODY","bodyAttributes","HTML","htmlAttributes","mapArrayTypeChildrenToProps","newFlattenedProps","forEach","arrayChildName","_extends5","warnOnInvalidChildren","mapChildrenToProps","children","_this2","Children","_child$props","childProps","convertReactPropstoHtmlAttributes","LINK","META","_props","propTypes","base","object","oneOfType","arrayOf","node","defaultTitle","string","defer","bool","encodeSpecialCharacters","link","meta","noscript","onChangeClientState","func","script","style","titleTemplate","defaultProps","mappedState","baseTag","linkTags","metaTags","noscriptTags","scriptTags","styleTags","renderStatic","isArray","Array","keyList","hasProp","hasElementType","Element","equal","arrA","arrB","dateA","dateB","getTime","regexpA","regexpB","toString","$$typeof","message","match","number","warn","Seo","description","charSet","content","ATTRIBUTE_NAMES","BASE","HEAD","REACT_TAG_MAP","VALID_TAG_NAMES","TAG_PROPERTIES","CHARSET","CSS_TEXT","HREF","HTTPEQUIV","INNER_HTML","ITEM_PROP","NAME","PROPERTY","REL","SRC","accesskey","charset","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","DEFAULT_TITLE","DEFER","ENCODE_SPECIAL_CHARACTERS","ON_CHANGE_CLIENT_STATE","TITLE_TEMPLATE","HTML_TAG_MAP","reduce","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","err","defaultLangKey","langKey","path","require","default","ProdPageRenderer","location","pageResources","InternalPageRenderer","json","_typeof","Symbol","iterator","_objectAssign2","clock","str","encode","String","replace","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","filter","tagAttrs","current","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","tag","lowerCaseAttributeKey","toLowerCase","getTagsFromPropsList","tagName","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","property","rafPolyfill","currentTime","cafPolyfill","webkitRequestAnimationFrame","mozRequestAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","_helmetCallback","commitTagChanges","newState","cb","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","join","attributes","elementTag","getElementsByTagName","helmetAttributeString","getAttribute","helmetAttributes","split","attributesToRemove","attributeKeys","attribute","setAttribute","indexToSave","_i","removeAttribute","tags","headElement","head","querySelector","tagNodes","querySelectorAll","slice","indexToDelete","newElement","styleSheet","appendChild","createTextNode","some","existingTag","isEqualNode","parentNode","removeChild","generateElementAttributesAsString","attr","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","dangerouslySetInnerHTML","__html","generateTagsAsReactComponent","attributeHtml","tagContent","isSelfClosing","generateTagsAsString","initAttributes","_ref$title","aa","encodeURIComponent","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","context","refs","updater","isReactComponent","setState","forceUpdate","isPureReactComponent","ref","__self","__source","_owner","result","keyPrefix","count","next","done","escape","ca","da","ba","toArray","only","createRef","PureComponent","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_context","forwardRef","lazy","_ctor","_status","_result","memo","useCallback","useContext","useEffect","useImperativeHandle","useDebugValue","useLayoutEffect","useMemo","useReducer","useRef","useState","Fragment","Profiler","StrictMode","Suspense","cloneElement","createFactory","isValidElement","version","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","Function","ea","extractEvents","eventTypes","fa","phasedRegistrationNames","ha","registrationName","ia","ja","dependencies","ka","onError","la","ma","na","oa","pa","qa","sa","ua","va","wa","currentTarget","ra","xa","ya","za","Aa","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","Ba","Ca","injectEventPluginOrder","injectEventPluginsByName","Da","stateNode","disabled","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Wa","Xa","_debugOwner","_debugSource","fileName","lineNumber","Ya","Za","$a","ab","bb","db","eb","fb","gb","hb","ib","jb","kb","Map","lb","mb","nb","ob","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","sb","tb","toUpperCase","ub","vb","qb","isNaN","rb","test","pb","setAttributeNS","wb","nodeName","yb","_valueTracker","getOwnPropertyDescriptor","getValue","setValue","stopTracking","xb","zb","checked","Ab","defaultChecked","defaultValue","_wrapperState","initialChecked","Bb","initialValue","controlled","Cb","Eb","Fb","Gb","ownerDocument","activeElement","Ib","Hb","Jb","options","selected","defaultSelected","Kb","Lb","Mb","Nb","textContent","xlinkHref","Ob","html","mathml","svg","Pb","Qb","Rb","Sb","MSApp","execUnsafeLocalFunction","namespaceURI","valueOf","firstChild","Tb","lastChild","nodeType","nodeValue","Ub","Vb","animationend","animationiteration","animationstart","transitionend","Wb","Xb","Yb","animation","transition","Zb","$b","ac","bc","cc","ec","alternate","effectTag","fc","memoizedState","dehydrated","gc","ic","sibling","hc","jc","kc","lc","mc","nc","oc","pc","qc","rc","sc","tc","uc","vc","zc","blockedOn","topLevelType","eventSystemFlags","nativeEvent","Ac","pointerId","Bc","Cc","Ec","Fc","priority","hydrate","containerInfo","Gc","Hc","Ic","Jc","shift","Kc","Lc","Mc","srcElement","correspondingUseElement","Nc","Oc","dispatchConfig","Pc","_targetInst","Qc","Rc","Sc","Tc","Uc","Interface","isDefaultPrevented","defaultPrevented","returnValue","Wc","eventPool","Xc","destructor","Vc","getPooled","preventDefault","stopPropagation","cancelBubble","persist","eventPhase","bubbles","cancelable","timeStamp","isTrusted","extend","Yc","animationName","elapsedTime","pseudoElement","Zc","clipboardData","$c","view","detail","ad","relatedTarget","bd","keyCode","charCode","cd","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","dd","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","ed","Alt","Control","Meta","Shift","gd","getModifierState","hd","fromCharCode","ctrlKey","shiftKey","altKey","metaKey","repeat","locale","which","jd","kd","ld","md","nd","screenX","screenY","clientX","clientY","pageX","pageY","button","buttons","fromElement","toElement","movementX","movementY","od","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","pd","dataTransfer","qd","touches","targetTouches","changedTouches","rd","sd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","td","ud","vd","wd","yd","zd","Ad","Bd","Cd","Dd","bubbled","captured","eventPriority","Ed","getEventPriority","Fd","Gd","Hd","Id","Jd","Kd","targetInst","ancestors","Ld","Md","Nd","Od","Pd","addEventListener","Qd","Dc","Rd","Sd","WeakMap","xc","Set","yc","has","add","Td","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","Ud","Vd","trim","Wd","setProperty","charAt","substring","Xd","menuitem","area","br","col","embed","hr","img","input","keygen","param","track","wbr","Yd","Zd","is","$d","ae","be","body","ce","de","offset","nextSibling","fe","HTMLIFrameElement","contentWindow","ge","contentEditable","he","ie","je","ke","le","me","ne","autoFocus","oe","pe","qe","re","se","previousSibling","data","te","random","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","documentMode","Ie","Je","Ke","Le","beforeInput","compositionEnd","compositionStart","compositionUpdate","Me","Ne","Oe","Pe","Se","Qe","Re","Te","color","date","datetime","email","month","password","range","search","tel","text","time","url","week","Ue","Ve","change","We","Xe","Ye","Ze","$e","af","bf","cf","detachEvent","df","ef","attachEvent","ff","gf","hf","lf","jf","_isInputEventSupported","kf","mouseEnter","mouseLeave","pointerEnter","pointerLeave","mf","defaultView","parentWindow","of","pf","qf","rf","sf","select","tf","uf","vf","wf","xf","start","selectionStart","end","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","yf","onSelect","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","Af","Bf","Cf","Df","Ef","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","childContextTypes","Ff","Gf","Hf","If","getChildContext","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","childExpirationTime","vg","firstContext","wg","xg","observedBits","responders","yg","zg","baseState","firstUpdate","lastUpdate","firstCapturedUpdate","lastCapturedUpdate","firstEffect","lastEffect","firstCapturedEffect","lastCapturedEffect","Ag","Bg","suspenseConfig","payload","nextEffect","Cg","Dg","updateQueue","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Sg","_reactInternalFiber","Pg","Qg","Rg","Tg","Ug","contextType","Vg","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Wg","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentDidMount","Xg","Yg","_stringRef","Zg","$g","ah","bh","mode","elementType","ch","implementation","dh","eh","ta","fh","gh","hh","ih","jh","kh","lh","mh","documentElement","nh","oh","ph","qh","memoizedProps","revealOrder","rh","responder","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","queue","baseUpdate","Oh","Ph","Qh","lastRenderedReducer","dispatch","action","last","lastRenderedState","eagerReducer","eagerState","Rh","Sh","Th","Uh","destroy","deps","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","readContext","useResponder","useDeferredValue","useTransition","ci","di","ei","fi","gi","hi","pendingProps","ii","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","UNSAFE_componentWillUpdate","componentWillUpdate","vi","getDerivedStateFromError","wi","pendingContext","Hi","Ii","Ji","Ki","xi","retryTime","yi","fallback","unstable_avoidThisFallback","zi","Ai","isBackwards","rendering","tail","tailExpiration","tailMode","Bi","Ci","Li","Mi","Ni","stack","onClick","onclick","Oi","WeakSet","Pi","Si","Ri","Ti","Ui","__reactInternalSnapshotBeforeUpdate","Vi","Wi","Qi","Xi","Yi","Zi","$i","insertBefore","_reactRootContainer","aj","wasMultiple","multiple","bj","display","cj","dj","then","ej","fj","element","gj","hj","ij","componentDidCatch","jj","componentStack","gk","kj","ceil","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","timeoutMs","Kj","Lj","Mj","Nj","Oj","lastExpiredTime","Pj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Qj","Rj","Sj","Tj","Uj","Vj","Wj","finishedWork","finishedExpirationTime","lastSuspendedTime","Xj","timeoutHandle","Yj","busyMinDurationMs","busyDelayMs","Zj","bk","ck","pingCache","dk","ek","fk","size","createElementNS","ik","firstSuspendedTime","rangeCount","Db","focusedElem","selectionRange","jk","ee","contains","compareDocumentPosition","min","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","focus","Dh","dc","fd","hk","Eh","Fh","xk","Di","Ei","Fi","xd","Gi","kk","lk","mk","hidden","Va","nk","unstable_observedBits","pk","pendingChildren","qk","rk","sk","tk","uk","vk","wc","_internalRoot","wk","zk","hasAttribute","yk","Bk","Ak","unmount","JSON","stringify","form","ak","Ck","createPortal","findDOMNode","unstable_renderSubtreeIntoContainer","unmountComponentAtNode","unstable_createPortal","unstable_batchedUpdates","flushSync","Events","findFiberByHostInstance","bundleType","rendererPackageName","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","ok","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","Dk","Ek"],"mappings":"6FAkBA,IAAIA,EAAIC,EAAGC,EAAGC,EAAGC,EAEjB,GAVA,EAAQ,QAER,EAAQ,QAERC,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAKL,oBAAuBC,QAAU,mBAAsBC,eAAgB,CACzE,IAAIC,EAAI,KACJC,EAAI,KACJC,EAAI,SAASA,IACf,GAAI,OAASF,EAAG,IACd,IAAIG,EAAIP,EAAQQ,eAChBJ,GAAE,EAAIG,GACNH,EAAI,KACJ,MAAOK,GACP,MAAMC,WAAWJ,EAAG,GAAIG,IAGxBE,EAAIC,KAAKC,MAEbb,EAAQQ,aAAe,WACrB,OAAOI,KAAKC,MAAQF,GAGtBlB,EAAK,SAAWc,GACd,OAASH,EAAIM,WAAWjB,EAAI,EAAGc,IAAMH,EAAIG,EAAGG,WAAWJ,EAAG,KAG5DZ,EAAI,SAAWa,EAAGE,GAChBJ,EAAIK,WAAWH,EAAGE,IAGpBd,EAAI,WACFmB,aAAaT,IAGfT,EAAI,WACF,OAAO,GAGTC,EAAIG,EAAQe,wBAA0B,iBACjC,CACL,IAAIC,EAAId,OAAOe,YACXC,EAAIhB,OAAOU,KACXO,EAAIjB,OAAOQ,WACXU,EAAIlB,OAAOY,aAEf,GAAI,oBAAuBO,QAAS,CAClC,IAAIC,EAAIpB,OAAOqB,qBACf,mBAAsBrB,OAAOsB,uBAAyBH,QAAQI,MAAM,2IACpE,mBAAsBH,GAAKD,QAAQI,MAAM,0IAG3C,GAAI,iBAAoBT,GAAK,mBAAsBA,EAAEH,IAAKb,EAAQQ,aAAe,WAC/E,OAAOQ,EAAEH,WACJ,CACL,IAAIa,EAAIR,EAAEL,MAEVb,EAAQQ,aAAe,WACrB,OAAOU,EAAEL,MAAQa,GAGrB,IAAIC,GAAI,EACJC,EAAI,KACJC,GAAK,EACLC,EAAI,EACJC,EAAI,EAERnC,EAAI,WACF,OAAOI,EAAQQ,gBAAkBuB,GAGnClC,EAAI,aAEJG,EAAQe,wBAA0B,SAAUR,GAC1C,EAAIA,GAAK,IAAMA,EAAIc,QAAQI,MAAM,oHAAsHK,EAAI,EAAIvB,EAAIyB,KAAKC,MAAM,IAAM1B,GAAK,GAG3L,IAAI2B,EAAI,IAAI/B,eACRgC,EAAID,EAAEE,MAEVF,EAAEG,MAAMC,UAAY,WAClB,GAAI,OAASV,EAAG,CACd,IAAIrB,EAAIP,EAAQQ,eAChBuB,EAAIxB,EAAIuB,EAER,IACEF,GAAE,EAAIrB,GAAK4B,EAAEI,YAAY,OAASZ,GAAI,EAAIC,EAAI,MAC9C,MAAOnB,GACP,MAAM0B,EAAEI,YAAY,MAAO9B,QAExBkB,GAAI,GAGblC,EAAK,SAAYc,GACfqB,EAAIrB,EACJoB,IAAMA,GAAI,EAAIQ,EAAEI,YAAY,QAG9B7C,EAAI,SAAWa,EAAGE,GAChBoB,EAAIV,GAAE,WACJZ,EAAEP,EAAQQ,kBACTC,IAGLd,EAAI,WACFyB,EAAES,GACFA,GAAK,GAIT,SAASW,EAAEjC,EAAGE,GACZ,IAAIgC,EAAIlC,EAAEmC,OACVnC,EAAEoC,KAAKlC,GAEPF,EAAG,OAAS,CACV,IAAIqC,EAAIZ,KAAKC,OAAOQ,EAAI,GAAK,GACzBI,EAAItC,EAAEqC,GACV,UAAI,IAAWC,GAAK,EAAIC,EAAED,EAAGpC,IAAmC,MAAMF,EAArCA,EAAEqC,GAAKnC,EAAGF,EAAEkC,GAAKI,EAAGJ,EAAIG,GAI7D,SAASG,EAAExC,GAET,YAAO,KADPA,EAAIA,EAAE,IACgB,KAAOA,EAG/B,SAASyC,EAAEzC,GACT,IAAIE,EAAIF,EAAE,GAEV,QAAI,IAAWE,EAAG,CAChB,IAAIgC,EAAIlC,EAAE0C,MAEV,GAAIR,IAAMhC,EAAG,CACXF,EAAE,GAAKkC,EAEPlC,EAAG,IAAK,IAAIqC,EAAI,EAAGC,EAAItC,EAAEmC,OAAQE,EAAIC,GAAI,CACvC,IAAIK,EAAI,GAAKN,EAAI,GAAK,EAClBO,EAAI5C,EAAE2C,GACNE,EAAIF,EAAI,EACRG,EAAI9C,EAAE6C,GACV,QAAI,IAAWD,GAAK,EAAIL,EAAEK,EAAGV,QAAI,IAAWY,GAAK,EAAIP,EAAEO,EAAGF,IAAM5C,EAAEqC,GAAKS,EAAG9C,EAAE6C,GAAKX,EAAGG,EAAIQ,IAAM7C,EAAEqC,GAAKO,EAAG5C,EAAE2C,GAAKT,EAAGG,EAAIM,OAAQ,WAAI,IAAWG,GAAK,EAAIP,EAAEO,EAAGZ,IAAmC,MAAMlC,EAArCA,EAAEqC,GAAKS,EAAG9C,EAAE6C,GAAKX,EAAGG,EAAIQ,IAI3L,OAAO3C,EAGT,OAAO,KAGT,SAASqC,EAAEvC,EAAGE,GACZ,IAAIgC,EAAIlC,EAAE+C,UAAY7C,EAAE6C,UACxB,OAAO,IAAMb,EAAIA,EAAIlC,EAAEgD,GAAK9C,EAAE8C,GAGhC,IAAIC,EAAI,GACJC,EAAI,GACJC,EAAI,EACJC,EAAI,KACJC,EAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EAER,SAASC,EAAEzD,GACT,IAAK,IAAIE,EAAIsC,EAAEU,GAAI,OAAShD,GAAI,CAC9B,GAAI,OAASA,EAAEwD,SAAUjB,EAAES,OAAQ,MAAIhD,EAAEyD,WAAa3D,GAAsD,MAAnDyC,EAAES,GAAIhD,EAAE6C,UAAY7C,EAAE0D,eAAgB3B,EAAEgB,EAAG/C,GACpGA,EAAIsC,EAAEU,IAIV,SAASW,EAAE7D,GAGT,GAFAwD,GAAI,EACJC,EAAEzD,IACGuD,EAAG,GAAI,OAASf,EAAES,GAAIM,GAAI,EAAIrE,EAAG4E,OAAQ,CAC5C,IAAI5D,EAAIsC,EAAEU,GACV,OAAShD,GAAKf,EAAE0E,EAAG3D,EAAEyD,UAAY3D,IAIrC,SAAS8D,EAAE9D,EAAGE,GACZqD,GAAI,EACJC,IAAMA,GAAI,EAAIpE,KACdkE,GAAI,EACJ,IAAIpB,EAAImB,EAER,IAGE,IAFAI,EAAEvD,GAEGkD,EAAIZ,EAAES,GAAI,OAASG,MAAQA,EAAEQ,eAAiB1D,IAAMF,IAAMX,MAAO,CACpE,IAAIgD,EAAIe,EAAEM,SAEV,GAAI,OAASrB,EAAG,CACde,EAAEM,SAAW,KACbL,EAAID,EAAEW,cACN,IAAIzB,EAAID,EAAEe,EAAEQ,gBAAkB1D,GAC9BA,EAAIT,EAAQQ,eACZ,mBAAsBqC,EAAIc,EAAEM,SAAWpB,EAAIc,IAAMZ,EAAES,IAAMR,EAAEQ,GAC3DQ,EAAEvD,QACGuC,EAAEQ,GAETG,EAAIZ,EAAES,GAGR,GAAI,OAASG,EAAG,IAAIT,GAAI,MAAQ,CAC9B,IAAIC,EAAIJ,EAAEU,GACV,OAASN,GAAKzD,EAAE0E,EAAGjB,EAAEe,UAAYzD,GACjCyC,GAAI,EAEN,OAAOA,EACP,QACAS,EAAI,KAAMC,EAAInB,EAAGoB,GAAI,GAIzB,SAASU,EAAEhE,GACT,OAAQA,GACN,KAAK,EACH,OAAQ,EAEV,KAAK,EACH,OAAO,IAET,KAAK,EACH,OAAO,WAET,KAAK,EACH,OAAO,IAET,QACE,OAAO,KAIb,IAAIiE,EAAI3E,EACRG,EAAQyE,2BAA6B,EACrCzE,EAAQ0E,8BAAgC,EACxC1E,EAAQ2E,wBAA0B,EAClC3E,EAAQ4E,sBAAwB,EAChC5E,EAAQ6E,qBAAuB,EAE/B7E,EAAQ8E,yBAA2B,SAAUvE,EAAGE,GAC9C,OAAQF,GACN,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACH,MAEF,QACEA,EAAI,EAGR,IAAIkC,EAAImB,EACRA,EAAIrD,EAEJ,IACE,OAAOE,IACP,QACAmD,EAAInB,IAIRzC,EAAQ+E,cAAgB,SAAUxE,GAChC,OAAQqD,GACN,KAAK,EACL,KAAK,EACL,KAAK,EACH,IAAInD,EAAI,EACR,MAEF,QACEA,EAAImD,EAGR,IAAInB,EAAImB,EACRA,EAAInD,EAEJ,IACE,OAAOF,IACP,QACAqD,EAAInB,IAIRzC,EAAQgF,0BAA4B,SAAUzE,EAAGE,EAAGgC,GAClD,IAAIG,EAAI5C,EAAQQ,eAEhB,GAAI,iBAAoBiC,GAAK,OAASA,EAAG,CACvC,IAAII,EAAIJ,EAAEwC,MACVpC,EAAI,iBAAoBA,GAAK,EAAIA,EAAID,EAAIC,EAAID,EAC7CH,EAAI,iBAAoBA,EAAEyC,QAAUzC,EAAEyC,QAAUX,EAAEhE,QAC7CkC,EAAI8B,EAAEhE,GAAIsC,EAAID,EAYrB,OATArC,EAAI,CACFgD,GAAIG,IACJO,SAAUxD,EACV6D,cAAe/D,EACf2D,UAAWrB,EACXsB,eANF1B,EAAII,EAAIJ,EAONa,WAAY,GAEdT,EAAID,GAAKrC,EAAE+C,UAAYT,EAAGL,EAAEiB,EAAGlD,GAAI,OAASwC,EAAES,IAAMjD,IAAMwC,EAAEU,KAAOM,EAAIpE,IAAMoE,GAAI,EAAIrE,EAAE0E,EAAGvB,EAAID,MAAQrC,EAAE+C,UAAYb,EAAGD,EAAEgB,EAAGjD,GAAIuD,GAAKD,IAAMC,GAAI,EAAIrE,EAAG4E,KAC/I9D,GAGTP,EAAQmF,wBAA0B,SAAU5E,GAC1CA,EAAE0D,SAAW,MAGfjE,EAAQoF,sBAAwB,SAAU7E,GACxC,IAAIE,EAAImD,EACR,OAAO,WACL,IAAInB,EAAImB,EACRA,EAAInD,EAEJ,IACE,OAAOF,EAAE8E,MAAMC,KAAMC,WACrB,QACA3B,EAAInB,KAKVzC,EAAQwF,iCAAmC,WACzC,OAAO5B,GAGT5D,EAAQyF,qBAAuB,WAC7B,IAAIlF,EAAIP,EAAQQ,eAChBwD,EAAEzD,GACF,IAAIE,EAAIsC,EAAES,GACV,OAAO/C,IAAMkD,GAAK,OAASA,GAAK,OAASlD,GAAK,OAASA,EAAEwD,UAAYxD,EAAEyD,WAAa3D,GAAKE,EAAE0D,eAAiBR,EAAEQ,gBAAkBvE,KAGlII,EAAQ0F,sBAAwBlB,EAEhCxE,EAAQ2F,2BAA6B,WACnC7B,GAAKD,IAAMC,GAAI,EAAIrE,EAAG4E,KAGxBrE,EAAQ4F,wBAA0B,aAElC5F,EAAQ6F,8BAAgC,WACtC,OAAO9C,EAAES,IAGXxD,EAAQ8F,mBAAqB,M,oCChW7B,SAASC,EAAgBC,GACvB,OAAOA,GAAoB,iBAAPA,GAAmB,YAAaA,EAAKA,EAAY,QAAIA,EAX3E,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAMR,IAAIC,EAAQ,EAAQ,QAEhBC,EAAiBH,EAAgBE,GAEjCE,EAAeJ,EAAgB,EAAQ,SAE3C,SAASK,EAAgBC,EAAKC,EAAKrG,GAYjC,OAXIqG,KAAOD,EACTvG,OAAOC,eAAesG,EAAKC,EAAK,CAC9BrG,MAAOA,EACPsG,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZJ,EAAIC,GAAOrG,EAGNoG,EAST,IAAIK,IAAiC,oBAAXxG,SAA0BA,OAAOyG,WAAYzG,OAAOyG,SAASC,eAqGvFC,EAAO7G,QAnGP,SAAwB8G,EAAoBC,EAA2BC,GACrE,GAAkC,mBAAvBF,EACT,MAAM,IAAIG,MAAM,iDAGlB,GAAyC,mBAA9BF,EACT,MAAM,IAAIE,MAAM,wDAGlB,QAAgC,IAArBD,GAAgE,mBAArBA,EACpD,MAAM,IAAIC,MAAM,mEAOlB,OAAO,SAAcC,GACnB,GAAgC,mBAArBA,EACT,MAAM,IAAID,MAAM,sDAGlB,IACIE,EADAC,EAAmB,GAGvB,SAASC,IACPF,EAAQL,EAAmBM,EAAiBE,KAAI,SAAUC,GACxD,OAAOA,EAASC,UAGdC,EAAWf,UACbK,EAA0BI,GACjBH,IACTG,EAAQH,EAAiBG,IAI7B,IAAIM,EAEJ,SAAUC,GA/Cd,IAAwBC,EAAUC,EAkD5B,SAASH,IACP,OAAOC,EAAWrC,MAAMC,KAAMC,YAAcD,KAnDlBsC,EAgDDF,GAhDTC,EAgDHF,GA/CVI,UAAY/H,OAAOgI,OAAOF,EAAWC,WAC9CF,EAASE,UAAUE,YAAcJ,EACjCA,EAASK,UAAYJ,EAqDjBH,EAAWQ,KAAO,WAChB,OAAOd,GAGTM,EAAWS,OAAS,WAClB,GAAIT,EAAWf,UACb,MAAM,IAAIO,MAAM,oFAGlB,IAAIkB,EAAgBhB,EAGpB,OAFAA,OAAQiB,EACRhB,EAAmB,GACZe,GAGT,IAAIE,EAASZ,EAAWI,UAyBxB,OAvBAQ,EAAOC,sBAAwB,SAA+BC,GAC5D,OAAQpC,EAAaoC,EAAWjD,KAAKkC,QAGvCa,EAAOG,mBAAqB,WAC1BpB,EAAiBzE,KAAK2C,MACtB+B,KAGFgB,EAAOI,mBAAqB,WAC1BpB,KAGFgB,EAAOK,qBAAuB,WAC5B,IAAIC,EAAQvB,EAAiBwB,QAAQtD,MACrC8B,EAAiByB,OAAOF,EAAO,GAC/BtB,KAGFgB,EAAOS,OAAS,WACd,OAAO5C,EAAeU,cAAcM,EAAkB5B,KAAKkC,QAGtDC,EAjDT,CAkDExB,EAAM8C,WAMR,OAJA3C,EAAgBqB,EAAY,cAAe,cA9E7C,SAAwBP,GACtB,OAAOA,EAAiB8B,aAAe9B,EAAiB+B,MAAQ,YA6ELC,CAAehC,GAAoB,KAE9Fd,EAAgBqB,EAAY,YAAaf,GAElCe,K,qBC5IX,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAGRZ,EAAO7G,QAAU,SAAsBmJ,EAAMC,EAAMC,EAASC,GAC1D,IAAIC,EAAMF,EAAUA,EAAQG,KAAKF,EAAgBH,EAAMC,QAAQ,EAE/D,QAAY,IAARG,EACF,QAASA,EAGX,GAAIJ,IAASC,EACX,OAAO,EAGT,GAAoB,iBAATD,IAAsBA,GAAwB,iBAATC,IAAsBA,EACpE,OAAO,EAGT,IAAIK,EAAQ3J,OAAO4J,KAAKP,GACpBQ,EAAQ7J,OAAO4J,KAAKN,GAExB,GAAIK,EAAM/G,SAAWiH,EAAMjH,OACzB,OAAO,EAKT,IAFA,IAAIkH,EAAkB9J,OAAO+H,UAAUgC,eAAeC,KAAKV,GAElDW,EAAM,EAAGA,EAAMN,EAAM/G,OAAQqH,IAAO,CAC3C,IAAIzD,EAAMmD,EAAMM,GAEhB,IAAKH,EAAgBtD,GACnB,OAAO,EAGT,IAAI0D,EAASb,EAAK7C,GACd2D,EAASb,EAAK9C,GAGlB,IAAY,KAFZiD,EAAMF,EAAUA,EAAQG,KAAKF,EAAgBU,EAAQC,EAAQ3D,QAAO,SAEvC,IAARiD,GAAkBS,IAAWC,EAChD,OAAO,EAIX,OAAO,I,qBCnDT,IAAIC,EAAS,EAAQ,QACjBC,EAAoB,EAAQ,QAC5BC,EAAK,EAAQ,QAAgBC,EAC7BC,EAAO,EAAQ,QAAkBD,EACjCE,EAAW,EAAQ,QACnBC,EAAS,EAAQ,QACjBC,EAAUP,EAAOQ,OACjBC,EAAOF,EACPG,EAAQH,EAAQ5C,UAChBgD,EAAM,KACNC,EAAM,KAENC,EAAc,IAAIN,EAAQI,KAASA,EAEvC,GAAI,EAAQ,WAAuBE,GAAe,EAAQ,OAAR,EAAoB,WAGpE,OAFAD,EAAI,EAAQ,OAAR,CAAkB,WAAY,EAE3BL,EAAQI,IAAQA,GAAOJ,EAAQK,IAAQA,GAA4B,QAArBL,EAAQI,EAAK,SAC/D,CACHJ,EAAU,SAAgBrK,EAAGiK,GAC3B,IAAIW,EAAO1F,gBAAgBmF,EACvBQ,EAAOV,EAASnK,GAChB8K,OAAY9C,IAANiC,EACV,OAAQW,GAAQC,GAAQ7K,EAAE2H,cAAgB0C,GAAWS,EAAM9K,EACvD+J,EAAkBY,EAChB,IAAIJ,EAAKM,IAASC,EAAM9K,EAAE+K,OAAS/K,EAAGiK,GACtCM,GAAMM,EAAO7K,aAAaqK,GAAWrK,EAAE+K,OAAS/K,EAAG6K,GAAQC,EAAMV,EAAOhB,KAAKpJ,GAAKiK,GACpFW,EAAO1F,KAAOsF,EAAOH,IAS3B,IAPA,IAAIW,EAAQ,SAAU9E,GACpBA,KAAOmE,GAAWL,EAAGK,EAASnE,EAAK,CACjCE,cAAc,EACd6E,IAAK,WAAc,OAAOV,EAAKrE,IAC/BgF,IAAK,SAAUC,GAAMZ,EAAKrE,GAAOiF,MAG5B7B,EAAOY,EAAKK,GAAOa,EAAI,EAAG9B,EAAKhH,OAAS8I,GAAIJ,EAAM1B,EAAK8B,MAChEZ,EAAM7C,YAAc0C,EACpBA,EAAQ5C,UAAY+C,EACpB,EAAQ,OAAR,CAAuBV,EAAQ,SAAUO,GAG3C,EAAQ,OAAR,CAA0B,W,kCCvCxB5D,EAAO7G,QAAU,EAAQ,S,oGCWFyL,QAAOC,QAELzF,IAAM0F,cAAc,I,qCCyBhCC,IAnCA,SAAC,GAAY,IAAXC,EAAU,EAAVA,KACTC,EAAcC,0BAAgBF,GACpC,OACE,4BAAQG,UAAU,yBAChB,yBAAKA,UAAU,mCACb,kBAAC,IAAD,CAAMC,GAAIH,EAAY,KAAME,UAAU,8BACpC,yBAAKA,UAAU,oCAAmC,yBAAKE,IAAKC,IAAMC,IAAI,wBACtE,uCAEF,yBAAKJ,UAAU,iCACb,4BACE,4BAAI,kBAAC,IAAD,CAAMC,GAAIH,EAAY,UAAtB,SACJ,4BAAI,kBAAC,IAAD,CAAMG,GAAIH,EAAY,WAAtB,UACJ,4BAAI,kBAAC,IAAD,CAAMG,GAAIH,EAAY,eAAtB,cACJ,4BAAI,kBAAC,IAAD,CAAMG,GAAIH,EAAY,kBAAtB,iBACJ,4BACE,uBACEE,UAAU,8BACVK,KAAK,mCAAmCC,MAAM,gBAC9CC,OAAO,SAASC,IAAI,gCAEpB,yBAAKN,IAAI,iEAAiEE,IAAI,qC,qBC3B9F,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAERpM,EAAQyM,YAAa,EACrBzM,EAAQ0M,YAAStE,EAEjB,IAAIuE,EAAW7M,OAAO8M,QAAU,SAAUL,GACxC,IAAK,IAAIf,EAAI,EAAGA,EAAIjG,UAAU7C,OAAQ8I,IAAK,CACzC,IAAIL,EAAS5F,UAAUiG,GAEvB,IAAK,IAAIlF,KAAO6E,EACVrL,OAAO+H,UAAUgC,eAAeL,KAAK2B,EAAQ7E,KAC/CiG,EAAOjG,GAAO6E,EAAO7E,IAK3B,OAAOiG,GAGLM,EAAe,WACjB,SAASC,EAAiBP,EAAQ/E,GAChC,IAAK,IAAIgE,EAAI,EAAGA,EAAIhE,EAAM9E,OAAQ8I,IAAK,CACrC,IAAIuB,EAAavF,EAAMgE,GACvBuB,EAAWxG,WAAawG,EAAWxG,aAAc,EACjDwG,EAAWvG,cAAe,EACtB,UAAWuG,IAAYA,EAAWtG,UAAW,GACjD3G,OAAOC,eAAewM,EAAQQ,EAAWzG,IAAKyG,IAIlD,OAAO,SAAUC,EAAaC,EAAYC,GAGxC,OAFID,GAAYH,EAAiBE,EAAYnF,UAAWoF,GACpDC,GAAaJ,EAAiBE,EAAaE,GACxCF,GAdQ,GAoBfG,EAAUC,EAFD,EAAQ,SAMjBC,EAAcD,EAFD,EAAQ,SAMrBE,EAAoBF,EAFD,EAAQ,SAM3BG,EAAqBH,EAFD,EAAQ,SAI5BI,EAAe,EAAQ,QAEvBC,EAAmB,EAAQ,QAE/B,SAASL,EAAuB/G,GAC9B,OAAOA,GAAOA,EAAIoG,WAAapG,EAAM,CACnC,QAAWA,GAIf,SAASqH,EAAyBrH,EAAKqD,GACrC,IAAI6C,EAAS,GAEb,IAAK,IAAIf,KAAKnF,EACRqD,EAAKd,QAAQ4C,IAAM,GAClB1L,OAAO+H,UAAUgC,eAAeL,KAAKnD,EAAKmF,KAC/Ce,EAAOf,GAAKnF,EAAImF,IAGlB,OAAOe,EAiCT,IAA6BxD,EACvB4E,EAAQC,EAoPVC,GAAoB,EAAIP,EAA2B,SAAGE,EAAa1G,mBAAoB0G,EAAaM,wBAAyBN,EAAaxG,iBAAtH,EAJJ,WAClB,OAAO,QAIL+G,GAtPyBhF,EAsPH8E,EAnPjBD,EAAQD,EAAS,SAAUK,GAGhC,SAASC,IAGP,OAvCN,SAAyB1G,EAAUyF,GACjC,KAAMzF,aAAoByF,GACxB,MAAM,IAAIkB,UAAU,qCAmClBC,CAAgB7I,KAAM2I,GA/B5B,SAAoCG,EAAM5E,GACxC,IAAK4E,EACH,MAAM,IAAIC,eAAe,6DAG3B,OAAO7E,GAAyB,iBAATA,GAAqC,mBAATA,EAA8B4E,EAAP5E,EA4B/D8E,CAA2BhJ,KAAM0I,EAAiB3I,MAAMC,KAAMC,YA2LvE,OApNJ,SAAmBoC,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIsG,UAAU,kEAAoEtG,GAG1FD,EAASE,UAAY/H,OAAOgI,OAAOF,GAAcA,EAAWC,UAAW,CACrEE,YAAa,CACX9H,MAAO0H,EACPpB,YAAY,EACZE,UAAU,EACVD,cAAc,KAGdoB,IAAY9H,OAAOyO,eAAiBzO,OAAOyO,eAAe5G,EAAUC,GAAcD,EAASK,UAAYJ,GAOzG4G,CAAUP,EAAeD,GAQzBC,EAAcpG,UAAUS,sBAAwB,SAA+BC,GAC7E,QAAQ,EAAIgF,EAA4B,SAAGjI,KAAKkC,MAAOe,IAGzD0F,EAAcpG,UAAU4G,yBAA2B,SAAkCC,EAAOC,GAC1F,IAAKA,EACH,OAAO,KAGT,OAAQD,EAAME,MACZ,KAAKnB,EAAiBoB,UAAUC,OAChC,KAAKrB,EAAiBoB,UAAUE,SAC9B,MAAO,CACLC,UAAWL,GAGf,KAAKlB,EAAiBoB,UAAUI,MAC9B,MAAO,CACLC,QAASP,GAIf,MAAM,IAAI1H,MAAM,IAAMyH,EAAME,KAAO,uGAGrCX,EAAcpG,UAAUsH,yBAA2B,SAAkCC,GACnF,IAAIC,EAEAX,EAAQU,EAAKV,MACbY,EAAoBF,EAAKE,kBACzBC,EAAgBH,EAAKG,cACrBZ,EAAiBS,EAAKT,eAC1B,OAAOhC,EAAS,GAAI2C,IAAoBD,EAAY,IAAcX,EAAME,MAAQ,GAAGY,OAAOF,EAAkBZ,EAAME,OAAS,GAAI,CAACjC,EAAS,GAAI4C,EAAejK,KAAKmJ,yBAAyBC,EAAOC,MAAoBU,KAGvNpB,EAAcpG,UAAU4H,sBAAwB,SAA+BC,GAC7E,IAAIC,EAAWC,EAEXlB,EAAQgB,EAAMhB,MACdmB,EAAWH,EAAMG,SACjBN,EAAgBG,EAAMH,cACtBZ,EAAiBe,EAAMf,eAE3B,OAAQD,EAAME,MACZ,KAAKnB,EAAiBoB,UAAUiB,MAC9B,OAAOnD,EAAS,GAAIkD,IAAWF,EAAY,IAAcjB,EAAME,MAAQD,EAAgBgB,EAAUI,gBAAkBpD,EAAS,GAAI4C,GAAgBI,IAElJ,KAAKlC,EAAiBoB,UAAUmB,KAC9B,OAAOrD,EAAS,GAAIkD,EAAU,CAC5BI,eAAgBtD,EAAS,GAAI4C,KAGjC,KAAK9B,EAAiBoB,UAAUqB,KAC9B,OAAOvD,EAAS,GAAIkD,EAAU,CAC5BM,eAAgBxD,EAAS,GAAI4C,KAInC,OAAO5C,EAAS,GAAIkD,IAAWD,EAAY,IAAclB,EAAME,MAAQjC,EAAS,GAAI4C,GAAgBK,KAGtG3B,EAAcpG,UAAUuI,4BAA8B,SAAqCd,EAAmBO,GAC5G,IAAIQ,EAAoB1D,EAAS,GAAIkD,GAOrC,OALA/P,OAAO4J,KAAK4F,GAAmBgB,SAAQ,SAAUC,GAC/C,IAAIC,EAEJH,EAAoB1D,EAAS,GAAI0D,IAAoBG,EAAY,IAAcD,GAAkBjB,EAAkBiB,GAAiBC,OAE/HH,GAGTpC,EAAcpG,UAAU4I,sBAAwB,SAA+B/B,EAAOC,GAmBpF,OAAO,GAGTV,EAAcpG,UAAU6I,mBAAqB,SAA4BC,EAAUd,GACjF,IAAIe,EAAStL,KAETgK,EAAoB,GAyCxB,OAvCAnC,EAAiB,QAAE0D,SAASP,QAAQK,GAAU,SAAUjC,GACtD,GAAKA,GAAUA,EAAMlH,MAArB,CAIA,IAAIsJ,EAAepC,EAAMlH,MACrBmH,EAAiBmC,EAAaH,SAC9BI,EAAarD,EAAyBoD,EAAc,CAAC,aAErDvB,GAAgB,EAAI/B,EAAawD,mCAAmCD,GAIxE,OAFAH,EAAOH,sBAAsB/B,EAAOC,GAE5BD,EAAME,MACZ,KAAKnB,EAAiBoB,UAAUoC,KAChC,KAAKxD,EAAiBoB,UAAUqC,KAChC,KAAKzD,EAAiBoB,UAAUE,SAChC,KAAKtB,EAAiBoB,UAAUC,OAChC,KAAKrB,EAAiBoB,UAAUI,MAC9BK,EAAoBsB,EAAOzB,yBAAyB,CAClDT,MAAOA,EACPY,kBAAmBA,EACnBC,cAAeA,EACfZ,eAAgBA,IAElB,MAEF,QACEkB,EAAWe,EAAOnB,sBAAsB,CACtCf,MAAOA,EACPmB,SAAUA,EACVN,cAAeA,EACfZ,eAAgBA,SAMxBkB,EAAWvK,KAAK8K,4BAA4Bd,EAAmBO,IAIjE5B,EAAcpG,UAAUiB,OAAS,WAC/B,IAAIqI,EAAS7L,KAAKkC,MACdmJ,EAAWQ,EAAOR,SAClBnJ,EAAQkG,EAAyByD,EAAQ,CAAC,aAE1CtB,EAAWlD,EAAS,GAAInF,GAM5B,OAJImJ,IACFd,EAAWvK,KAAKoL,mBAAmBC,EAAUd,IAGxC1C,EAAiB,QAAEvG,cAAcmC,EAAW8G,IAGrDhD,EAAaoB,EAAe,KAAM,CAAC,CACjC3H,IAAK,YAuBLgF,IAAK,SAAa5E,GAChBqC,EAAUrC,UAAYA,MAInBuH,EAjMe,CAkMtBd,EAAiB,QAAEpE,WAAY4E,EAAOyD,UAAY,CAClDC,KAAMhE,EAAqB,QAAEiE,OAC7BrB,eAAgB5C,EAAqB,QAAEiE,OACvCX,SAAUtD,EAAqB,QAAEkE,UAAU,CAAClE,EAAqB,QAAEmE,QAAQnE,EAAqB,QAAEoE,MAAOpE,EAAqB,QAAEoE,OAChIC,aAAcrE,EAAqB,QAAEsE,OACrCC,MAAOvE,EAAqB,QAAEwE,KAC9BC,wBAAyBzE,EAAqB,QAAEwE,KAChD1B,eAAgB9C,EAAqB,QAAEiE,OACvCS,KAAM1E,EAAqB,QAAEmE,QAAQnE,EAAqB,QAAEiE,QAC5DU,KAAM3E,EAAqB,QAAEmE,QAAQnE,EAAqB,QAAEiE,QAC5DW,SAAU5E,EAAqB,QAAEmE,QAAQnE,EAAqB,QAAEiE,QAChEY,oBAAqB7E,EAAqB,QAAE8E,KAC5CC,OAAQ/E,EAAqB,QAAEmE,QAAQnE,EAAqB,QAAEiE,QAC9De,MAAOhF,EAAqB,QAAEmE,QAAQnE,EAAqB,QAAEiE,QAC7DhF,MAAOe,EAAqB,QAAEsE,OAC9B5B,gBAAiB1C,EAAqB,QAAEiE,OACxCgB,cAAejF,EAAqB,QAAEsE,QACrChE,EAAO4E,aAAe,CACvBX,OAAO,EACPE,yBAAyB,GACxBnE,EAAO1F,KAAOc,EAAUd,KAAM0F,EAAOzF,OAAS,WAC/C,IAAIsK,EAAczJ,EAAUb,SAmB5B,OAjBKsK,IAEHA,GAAc,EAAIhF,EAAaxG,kBAAkB,CAC/CyL,QAAS,GACTxC,eAAgB,GAChB6B,yBAAyB,EACzB3B,eAAgB,GAChBuC,SAAU,GACVC,SAAU,GACVC,aAAc,GACdC,WAAY,GACZC,UAAW,GACXxG,MAAO,GACPyD,gBAAiB,MAIdyC,GACN5E,GASLG,EAAagF,aAAehF,EAAa7F,OACzClI,EAAQ0M,OAASqB,EACjB/N,EAAiB,QAAI+N,G,kCCtXrB,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,IAAIiF,EAAUC,MAAMD,QAChBE,EAAUpT,OAAO4J,KACjByJ,EAAUrT,OAAO+H,UAAUgC,eAC3BuJ,EAAoC,oBAAZC,QAsE5BxM,EAAO7G,QAAU,SAAuBO,EAAGE,GACzC,IACE,OAtEJ,SAAS6S,EAAM/S,EAAGE,GAEhB,GAAIF,IAAME,EAAG,OAAO,EAEpB,GAAIF,GAAKE,GAAiB,iBAALF,GAA6B,iBAALE,EAAe,CAC1D,IAEI+K,EACA9I,EACA4D,EAJAiN,EAAOP,EAAQzS,GACfiT,EAAOR,EAAQvS,GAKnB,GAAI8S,GAAQC,EAAM,CAEhB,IADA9Q,EAASnC,EAAEmC,SACGjC,EAAEiC,OAAQ,OAAO,EAE/B,IAAK8I,EAAI9I,EAAgB,GAAR8I,KACf,IAAK8H,EAAM/S,EAAEiL,GAAI/K,EAAE+K,IAAK,OAAO,EAGjC,OAAO,EAGT,GAAI+H,GAAQC,EAAM,OAAO,EACzB,IAAIC,EAAQlT,aAAaK,KACrB8S,EAAQjT,aAAaG,KACzB,GAAI6S,GAASC,EAAO,OAAO,EAC3B,GAAID,GAASC,EAAO,OAAOnT,EAAEoT,WAAalT,EAAEkT,UAC5C,IAAIC,EAAUrT,aAAamK,OACvBmJ,EAAUpT,aAAaiK,OAC3B,GAAIkJ,GAAWC,EAAS,OAAO,EAC/B,GAAID,GAAWC,EAAS,OAAOtT,EAAEuT,YAAcrT,EAAEqT,WACjD,IAAIpK,EAAOwJ,EAAQ3S,GAEnB,IADAmC,EAASgH,EAAKhH,UACCwQ,EAAQzS,GAAGiC,OAAQ,OAAO,EAEzC,IAAK8I,EAAI9I,EAAgB,GAAR8I,KACf,IAAK2H,EAAQ3J,KAAK/I,EAAGiJ,EAAK8B,IAAK,OAAO,EAMxC,GAAI4H,GAAkB7S,aAAa8S,SAAW5S,aAAa4S,QAAS,OAAO9S,IAAME,EAEjF,IAAK+K,EAAI9I,EAAgB,GAAR8I,KAGf,KAAY,YAFZlF,EAAMoD,EAAK8B,KAEajL,EAAEwT,UAQnBT,EAAM/S,EAAE+F,GAAM7F,EAAE6F,KAAO,OAAO,EAMvC,OAAO,EAGT,OAAO/F,GAAMA,GAAKE,GAAMA,EAMf6S,CAAM/S,EAAGE,GAChB,MAAOgB,GACP,GAAIA,EAAMuS,SAAWvS,EAAMuS,QAAQC,MAAM,sBAAyC,aAAlBxS,EAAMyS,OAOpE,OADA7S,QAAQ8S,KAAK,mEAAoE1S,EAAMwH,KAAMxH,EAAMuS,UAC5F,EAIT,MAAMvS,K,kCC9GV,8CAqBe2S,IAjBH,SAAC,GAAgC,IAA/BvI,EAA8B,EAA9BA,KAAMS,EAAwB,EAAxBA,MAAO+H,EAAiB,EAAjBA,YACzB,OACE,kBAAC,IAAD,KACE,0BAAMC,QAAQ,UACd,0BAAMzI,KAAMA,IACZ,+BAAQS,GACR,0BAAMrD,KAAK,cAAcsL,QAASF,O,uBCVxC,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAERrU,EAAQyM,YAAa,EACCzM,EAAQwU,gBAAkB,CAC9CxE,KAAM,iBACNE,KAAM,iBACNJ,MAAO,mBAHT,IAKIjB,EAAY7O,EAAQ6O,UAAY,CAClC4F,KAAM,OACNzE,KAAM,OACN0E,KAAM,OACNxE,KAAM,OACNe,KAAM,OACNC,KAAM,OACNnC,SAAU,WACVD,OAAQ,SACRG,MAAO,QACPa,MAAO,SAiBL6E,GAfkB3U,EAAQ4U,gBAAkB9U,OAAO4J,KAAKmF,GAAWvH,KAAI,SAAU2B,GACnF,OAAO4F,EAAU5F,MAEEjJ,EAAQ6U,eAAiB,CAC5CC,QAAS,UACTC,SAAU,UACVC,KAAM,OACNC,UAAW,aACXC,WAAY,YACZC,UAAW,WACXC,KAAM,OACNC,SAAU,WACVC,IAAK,MACLC,IAAK,OAEavV,EAAQ2U,cAAgB,CAC1Ca,UAAW,YACXC,QAAS,UACT,MAAS,YACTC,gBAAiB,kBACjBC,YAAa,cACb,aAAc,YACdC,SAAU,WACVC,SAAU,aAEO7V,EAAQ8V,aAAe,CACxCC,cAAe,eACfC,MAAO,QACPC,0BAA2B,0BAC3BC,uBAAwB,sBACxBC,eAAgB,iBAECnW,EAAQoW,aAAetW,OAAO4J,KAAKiL,GAAe0B,QAAO,SAAUhQ,EAAKC,GAEzF,OADAD,EAAIsO,EAAcrO,IAAQA,EACnBD,IACN,IACqBrG,EAAQsW,kBAAoB,CAACzH,EAAUE,SAAUF,EAAUC,OAAQD,EAAUI,OAC9EjP,EAAQuW,iBAAmB,qB,mCCjElD,SAASC,IAEP,GAA8C,oBAAnCC,gCAAqG,mBAA5CA,+BAA+BD,SAAnG,CAII,EAWJ,IAEEC,+BAA+BD,SAASA,GACxC,MAAOE,GAGPrV,QAAQI,MAAMiV,KAOhBF,GACA3P,EAAO7G,QAAU,EAAQ,S,mBC3B3B6G,EAAO7G,QAAU,CACf2W,eANqB,KAOrB5K,gBALsB,SAAA6K,GAAO,OAAI,SAAAC,GAAI,MAFhB,OAGrBD,EAA6BC,EAAUD,EAAvC,IAAkDC,M,qBCJpD,IAAsB3T,EAKpB2D,EAAO7G,SALakD,EAKW4T,EAAQ,UALR5T,EAAE6T,SAAY7T,G,kCCG7C2D,EAAO7G,QAAU,EAAQ,S,wFCmBZgX,UAjBU,SAAC,GAAiC,IAA/BC,EAA8B,EAA9BA,SAAUC,EAAoB,EAApBA,cACpC,OAAKA,EAGEjR,IAAMW,cAAcuQ,IAApB,eACLF,WACAC,iBACGA,EAAcE,OALV,O,uBCPXvQ,EAAO7G,QAAU,IAA0B,6D,sBCA3C,cAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAERA,EAAQyM,YAAa,EACrBzM,EAAQmU,KAAOnU,EAAQwB,sBAAwBxB,EAAQ8G,mBAAqB9G,EAAQgH,iBAAmBhH,EAAQ8N,wBAA0B9N,EAAQgR,uCAAoC5I,EAErL,IAAIiP,EAA4B,mBAAXC,QAAoD,iBAApBA,OAAOC,SAAwB,SAAUlR,GAC5F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAyB,mBAAXiR,QAAyBjR,EAAI0B,cAAgBuP,QAAUjR,IAAQiR,OAAOzP,UAAY,gBAAkBxB,GAGvHsG,EAAW7M,OAAO8M,QAAU,SAAUL,GACxC,IAAK,IAAIf,EAAI,EAAGA,EAAIjG,UAAU7C,OAAQ8I,IAAK,CACzC,IAAIL,EAAS5F,UAAUiG,GAEvB,IAAK,IAAIlF,KAAO6E,EACVrL,OAAO+H,UAAUgC,eAAeL,KAAK2B,EAAQ7E,KAC/CiG,EAAOjG,GAAO6E,EAAO7E,IAK3B,OAAOiG,GAKLY,EAAUC,EAFD,EAAQ,SAMjBoK,EAAiBpK,EAFD,EAAQ,SAIxBK,EAAmB,EAAQ,QAE/B,SAASL,EAAuB/G,GAC9B,OAAOA,GAAOA,EAAIoG,WAAapG,EAAM,CACnC,QAAWA,GAIf,IAoKMoR,EApKF3F,EAA0B,SAAiC4F,GAC7D,IAAIC,IAASpS,UAAU7C,OAAS,QAAsB0F,IAAjB7C,UAAU,KAAmBA,UAAU,GAE5E,OAAe,IAAXoS,EACKC,OAAOF,GAGTE,OAAOF,GAAKG,QAAQ,KAAM,SAASA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,UAAUA,QAAQ,KAAM,WAG1HC,EAAwB,SAA+BC,GACzD,IAAIC,EAAiBC,EAAqBF,EAAWtK,EAAiBoB,UAAUiB,OAC5EoI,EAAoBD,EAAqBF,EAAWtK,EAAiBqI,aAAaK,gBAEtF,GAAI+B,GAAqBF,EAEvB,OAAOE,EAAkBL,QAAQ,OAAO,WACtC,OAAOG,KAIX,IAAIG,EAAwBF,EAAqBF,EAAWtK,EAAiBqI,aAAaC,eAC1F,OAAOiC,GAAkBG,QAAyB/P,GAGhDgQ,EAAyB,SAAgCL,GAC3D,OAAOE,EAAqBF,EAAWtK,EAAiBqI,aAAaI,yBAA2B,cAG9FmC,EAA6B,SAAoCC,EAASP,GAC5E,OAAOA,EAAUQ,QAAO,SAAU/Q,GAChC,YAAiC,IAAnBA,EAAM8Q,MACnBhR,KAAI,SAAUE,GACf,OAAOA,EAAM8Q,MACZjC,QAAO,SAAUmC,EAAUC,GAC5B,OAAO9L,EAAS,GAAI6L,EAAUC,KAC7B,KAGDC,EAA0B,SAAiCC,EAAmBZ,GAChF,OAAOA,EAAUQ,QAAO,SAAU/Q,GAChC,YAAyD,IAA3CA,EAAMiG,EAAiBoB,UAAU4F,SAC9CnN,KAAI,SAAUE,GACf,OAAOA,EAAMiG,EAAiBoB,UAAU4F,SACvCmE,UAAUvC,QAAO,SAAUwC,EAAkBC,GAC9C,IAAKD,EAAiBnW,OAGpB,IAFA,IAAIgH,EAAO5J,OAAO4J,KAAKoP,GAEdtN,EAAI,EAAGA,EAAI9B,EAAKhH,OAAQ8I,IAAK,CACpC,IACIuN,EADerP,EAAK8B,GACiBwN,cAEzC,IAA0D,IAAtDL,EAAkB/P,QAAQmQ,IAAiCD,EAAIC,GACjE,OAAOF,EAAiBrJ,OAAOsJ,GAKrC,OAAOD,IACN,KAGDI,EAAuB,SAA8BC,EAASP,EAAmBZ,GAEnF,IAAIoB,EAAmB,GACvB,OAAOpB,EAAUQ,QAAO,SAAU/Q,GAChC,QAAIyL,MAAMD,QAAQxL,EAAM0R,WAIM,IAAnB1R,EAAM0R,IACf/E,EAAK,WAAa+E,EAAU,mDAAwD7B,EAAQ7P,EAAM0R,IAAY,MAGzG,MACN5R,KAAI,SAAUE,GACf,OAAOA,EAAM0R,MACZN,UAAUvC,QAAO,SAAU+C,EAAcC,GAC1C,IAAIC,EAAmB,GACvBD,EAAad,QAAO,SAAUO,GAI5B,IAHA,IAAIS,OAAsB,EACtB7P,EAAO5J,OAAO4J,KAAKoP,GAEdtN,EAAI,EAAGA,EAAI9B,EAAKhH,OAAQ8I,IAAK,CACpC,IAAIgO,EAAe9P,EAAK8B,GACpBuN,EAAwBS,EAAaR,eAEiB,IAAtDL,EAAkB/P,QAAQmQ,IAAmCQ,IAAwB9L,EAAiBoH,eAAeS,KAAkD,cAA3CwD,EAAIS,GAAqBP,eAAoCD,IAA0BtL,EAAiBoH,eAAeS,KAAoD,eAA7CwD,EAAIC,GAAuBC,gBACvRO,EAAsBR,IAIyB,IAA7CJ,EAAkB/P,QAAQ4Q,IAAyBA,IAAiB/L,EAAiBoH,eAAeK,YAAcsE,IAAiB/L,EAAiBoH,eAAeE,UAAYyE,IAAiB/L,EAAiBoH,eAAeM,YAClOoE,EAAsBC,GAI1B,IAAKD,IAAwBT,EAAIS,GAC/B,OAAO,EAGT,IAAItZ,EAAQ6Y,EAAIS,GAAqBP,cAUrC,OARKG,EAAiBI,KACpBJ,EAAiBI,GAAuB,IAGrCD,EAAiBC,KACpBD,EAAiBC,GAAuB,KAGrCJ,EAAiBI,GAAqBtZ,KACzCqZ,EAAiBC,GAAqBtZ,IAAS,GACxC,MAIR2Y,UAAUtI,SAAQ,SAAUwI,GAC7B,OAAOM,EAAazW,KAAKmW,MAK3B,IAFA,IAAIpP,EAAO5J,OAAO4J,KAAK4P,GAEd9N,EAAI,EAAGA,EAAI9B,EAAKhH,OAAQ8I,IAAK,CACpC,IAAIgO,EAAe9P,EAAK8B,GACpBiO,GAAW,EAAIjC,EAAwB,SAAG,GAAI2B,EAAiBK,GAAeF,EAAiBE,IACnGL,EAAiBK,GAAgBC,EAGnC,OAAOL,IACN,IAAIR,WAGLX,EAAuB,SAA8BF,EAAW2B,GAClE,IAAK,IAAIlO,EAAIuM,EAAUrV,OAAS,EAAG8I,GAAK,EAAGA,IAAK,CAC9C,IAAIhE,EAAQuQ,EAAUvM,GAEtB,GAAIhE,EAAMqC,eAAe6P,GACvB,OAAOlS,EAAMkS,GAIjB,OAAO,MAqBLC,GACElC,EAAQ7W,KAAKC,MACV,SAAUoD,GACf,IAAI2V,EAAchZ,KAAKC,MAEnB+Y,EAAcnC,EAAQ,IACxBA,EAAQmC,EACR3V,EAAS2V,IAETlZ,YAAW,WACTiZ,EAAY1V,KACX,KAKL4V,EAAc,SAAqBtW,GACrC,OAAOzC,aAAayC,IAGlB/B,EAA0C,oBAAXtB,OAAyBA,OAAOsB,uBAAyBtB,OAAO4Z,6BAA+B5Z,OAAO6Z,0BAA4BJ,EAAczP,EAAO1I,uBAAyBmY,EAC/MpY,EAAyC,oBAAXrB,OAAyBA,OAAOqB,sBAAwBrB,OAAO8Z,4BAA8B9Z,OAAO+Z,yBAA2BJ,EAAc3P,EAAO3I,sBAAwBsY,EAE1M1F,EAAO,SAAc+F,GACvB,OAAO7Y,SAAmC,mBAAjBA,QAAQ8S,MAAuB9S,QAAQ8S,KAAK+F,IAGnEC,EAAkB,KAmBlBC,EAAmB,SAA0BC,EAAUC,GACzD,IAAI7H,EAAU4H,EAAS5H,QACnBxC,EAAiBoK,EAASpK,eAC1BE,EAAiBkK,EAASlK,eAC1BuC,EAAW2H,EAAS3H,SACpBC,EAAW0H,EAAS1H,SACpBC,EAAeyH,EAASzH,aACxBV,EAAsBmI,EAASnI,oBAC/BW,EAAawH,EAASxH,WACtBC,EAAYuH,EAASvH,UACrBxG,EAAQ+N,EAAS/N,MACjByD,EAAkBsK,EAAStK,gBAC/BwK,EAAiB9M,EAAiBoB,UAAUmB,KAAMC,GAClDsK,EAAiB9M,EAAiBoB,UAAUqB,KAAMC,GAClDqK,EAAYlO,EAAOyD,GACnB,IAAI0K,EAAa,CACfhI,QAASiI,EAAWjN,EAAiBoB,UAAU4F,KAAMhC,GACrDC,SAAUgI,EAAWjN,EAAiBoB,UAAUoC,KAAMyB,GACtDC,SAAU+H,EAAWjN,EAAiBoB,UAAUqC,KAAMyB,GACtDC,aAAc8H,EAAWjN,EAAiBoB,UAAUE,SAAU6D,GAC9DC,WAAY6H,EAAWjN,EAAiBoB,UAAUC,OAAQ+D,GAC1DC,UAAW4H,EAAWjN,EAAiBoB,UAAUI,MAAO6D,IAEtD6H,EAAY,GACZC,EAAc,GAClB9a,OAAO4J,KAAK+Q,GAAYnK,SAAQ,SAAUgI,GACxC,IAAIuC,EAAsBJ,EAAWnC,GACjCwC,EAAUD,EAAoBC,QAC9BC,EAAUF,EAAoBE,QAE9BD,EAAQpY,SACViY,EAAUrC,GAAWwC,GAGnBC,EAAQrY,SACVkY,EAAYtC,GAAWmC,EAAWnC,GAASyC,YAG/CT,GAAMA,IACNpI,EAAoBmI,EAAUM,EAAWC,IAGvCI,EAAe,SAAsBC,GACvC,OAAOhI,MAAMD,QAAQiI,GAAiBA,EAAcC,KAAK,IAAMD,GAG7DT,EAAc,SAAqBlO,EAAO6O,QACvB,IAAV7O,GAAyB3F,SAAS2F,QAAUA,IACrD3F,SAAS2F,MAAQ0O,EAAa1O,IAGhCiO,EAAiB9M,EAAiBoB,UAAUiB,MAAOqL,IAGjDZ,EAAmB,SAA0BrB,EAASiC,GACxD,IAAIC,EAAazU,SAAS0U,qBAAqBnC,GAAS,GAExD,GAAKkC,EAAL,CASA,IALA,IAAIE,EAAwBF,EAAWG,aAAa9N,EAAiB8I,kBACjEiF,EAAmBF,EAAwBA,EAAsBG,MAAM,KAAO,GAC9EC,EAAqB,GAAGlM,OAAOgM,GAC/BG,EAAgB7b,OAAO4J,KAAKyR,GAEvB3P,EAAI,EAAGA,EAAImQ,EAAcjZ,OAAQ8I,IAAK,CAC7C,IAAIoQ,EAAYD,EAAcnQ,GAC1BvL,EAAQkb,EAAWS,IAAc,GAEjCR,EAAWG,aAAaK,KAAe3b,GACzCmb,EAAWS,aAAaD,EAAW3b,IAGQ,IAAzCub,EAAiB5S,QAAQgT,IAC3BJ,EAAiB7Y,KAAKiZ,GAGxB,IAAIE,EAAcJ,EAAmB9S,QAAQgT,IAExB,IAAjBE,GACFJ,EAAmB7S,OAAOiT,EAAa,GAI3C,IAAK,IAAIC,EAAKL,EAAmBhZ,OAAS,EAAGqZ,GAAM,EAAGA,IACpDX,EAAWY,gBAAgBN,EAAmBK,IAG5CP,EAAiB9Y,SAAWgZ,EAAmBhZ,OACjD0Y,EAAWY,gBAAgBvO,EAAiB8I,kBACnC6E,EAAWG,aAAa9N,EAAiB8I,oBAAsBoF,EAAcT,KAAK,MAC3FE,EAAWS,aAAapO,EAAiB8I,iBAAkBoF,EAAcT,KAAK,QAI9ER,EAAa,SAAoB9L,EAAMqN,GACzC,IAAIC,EAAcvV,SAASwV,MAAQxV,SAASyV,cAAc3O,EAAiBoB,UAAU6F,MACjF2H,EAAWH,EAAYI,iBAAiB1N,EAAO,IAAMnB,EAAiB8I,iBAAmB,KACzFwE,EAAU9H,MAAMpL,UAAU0U,MAAM/S,KAAK6S,GACrCvB,EAAU,GACV0B,OAAgB,EA0CpB,OAxCIP,GAAQA,EAAKvZ,QACfuZ,EAAK3L,SAAQ,SAAUwI,GACrB,IAAI2D,EAAa9V,SAASC,cAAcgI,GAExC,IAAK,IAAIgN,KAAa9C,EACpB,GAAIA,EAAIjP,eAAe+R,GACrB,GAAIA,IAAcnO,EAAiBoH,eAAeK,WAChDuH,EAAWzN,UAAY8J,EAAI9J,eACtB,GAAI4M,IAAcnO,EAAiBoH,eAAeE,SACnD0H,EAAWC,WACbD,EAAWC,WAAWxN,QAAU4J,EAAI5J,QAEpCuN,EAAWE,YAAYhW,SAASiW,eAAe9D,EAAI5J,cAEhD,CACL,IAAIjP,OAAkC,IAAnB6Y,EAAI8C,GAA6B,GAAK9C,EAAI8C,GAC7Da,EAAWZ,aAAaD,EAAW3b,GAKzCwc,EAAWZ,aAAapO,EAAiB8I,iBAAkB,QAEvDwE,EAAQ8B,MAAK,SAAUC,EAAanU,GAEtC,OADA6T,EAAgB7T,EACT8T,EAAWM,YAAYD,MAE9B/B,EAAQlS,OAAO2T,EAAe,GAE9B1B,EAAQnY,KAAK8Z,MAKnB1B,EAAQzK,SAAQ,SAAUwI,GACxB,OAAOA,EAAIkE,WAAWC,YAAYnE,MAEpCgC,EAAQxK,SAAQ,SAAUwI,GACxB,OAAOoD,EAAYS,YAAY7D,MAE1B,CACLiC,QAASA,EACTD,QAASA,IAIToC,EAAoC,SAA2C/B,GACjF,OAAOrb,OAAO4J,KAAKyR,GAAY9E,QAAO,SAAUqB,EAAKpR,GACnD,IAAI6W,OAAkC,IAApBhC,EAAW7U,GAAuBA,EAAM,KAAQ6U,EAAW7U,GAAO,IAAO,GAAKA,EAChG,OAAOoR,EAAMA,EAAM,IAAMyF,EAAOA,IAC/B,KAuBDC,EAAuC,SAA8CjC,GACvF,IAAIkC,EAAY9X,UAAU7C,OAAS,QAAsB0F,IAAjB7C,UAAU,GAAmBA,UAAU,GAAK,GACpF,OAAOzF,OAAO4J,KAAKyR,GAAY9E,QAAO,SAAUhQ,EAAKC,GAEnD,OADAD,EAAIoH,EAAiBkH,cAAcrO,IAAQA,GAAO6U,EAAW7U,GACtDD,IACNgX,IA6CDC,EAAmB,SAA0B1O,EAAMqN,EAAMtE,GAC3D,OAAQ/I,GACN,KAAKnB,EAAiBoB,UAAUiB,MAC9B,MAAO,CACLyN,YAAa,WACX,OAvCuEjR,EAuC5B2P,EAAK3P,MAvC8B6O,EAuCvBc,EAAKlM,iBAnCnDyN,EAAa,CAC5BlX,IAAKgG,IACOmB,EAAiB8I,mBAAoB,EAC/C/O,EAAQ4V,EAAqCjC,EADQqC,GAElD,CAACrQ,EAAiB,QAAEvG,cAAc6G,EAAiBoB,UAAUiB,MAAOtI,EAAO8E,IARhD,IAA6CA,EAAO6O,EAClFqC,EAMAhW,GAkCEsM,SAAU,WACR,OA9EkB,SAA+BlF,EAAMtC,EAAO6O,EAAYxD,GAClF,IAAI8F,EAAkBP,EAAkC/B,GACpDuC,EAAiB1C,EAAa1O,GAClC,OAAOmR,EAAkB,IAAM7O,EAAO,IAAMnB,EAAiB8I,iBAAmB,WAAekH,EAAkB,IAAM3L,EAAwB4L,EAAgB/F,GAAU,KAAO/I,EAAO,IAAM,IAAMA,EAAO,IAAMnB,EAAiB8I,iBAAmB,WAAezE,EAAwB4L,EAAgB/F,GAAU,KAAO/I,EAAO,IA2EpT+O,CAAsB/O,EAAMqN,EAAK3P,MAAO2P,EAAKlM,gBAAiB4H,KAI3E,KAAKlK,EAAiB+G,gBAAgBxE,KACtC,KAAKvC,EAAiB+G,gBAAgBtE,KACpC,MAAO,CACLqN,YAAa,WACX,OAAOH,EAAqCnB,IAE9CnI,SAAU,WACR,OAAOoJ,EAAkCjB,KAI/C,QACE,MAAO,CACLsB,YAAa,WACX,OAjDyB,SAAsC3O,EAAMqN,GAC7E,OAAOA,EAAK3U,KAAI,SAAUwR,EAAKtN,GAC7B,IAAIoS,EAEAC,IAAaD,EAAa,CAC5BtX,IAAKkF,IACOiC,EAAiB8I,mBAAoB,EAAMqH,GAazD,OAZA9d,OAAO4J,KAAKoP,GAAKxI,SAAQ,SAAUsL,GACjC,IAAIkC,EAAkBrQ,EAAiBkH,cAAciH,IAAcA,EAEnE,GAAIkC,IAAoBrQ,EAAiBoH,eAAeK,YAAc4I,IAAoBrQ,EAAiBoH,eAAeE,SAAU,CAClI,IAAIR,EAAUuE,EAAI9J,WAAa8J,EAAI5J,QACnC2O,EAAUE,wBAA0B,CAClCC,OAAQzJ,QAGVsJ,EAAUC,GAAmBhF,EAAI8C,MAG9BzO,EAAiB,QAAEvG,cAAcgI,EAAMiP,MA8BjCI,CAA6BrP,EAAMqN,IAE5CnI,SAAU,WACR,OA7FiB,SAA8BlF,EAAMqN,EAAMtE,GACnE,OAAOsE,EAAK5F,QAAO,SAAUqB,EAAKoB,GAChC,IAAIoF,EAAgBpe,OAAO4J,KAAKoP,GAAKP,QAAO,SAAUqD,GACpD,QAASA,IAAcnO,EAAiBoH,eAAeK,YAAc0G,IAAcnO,EAAiBoH,eAAeE,aAClHsB,QAAO,SAAU1E,EAAQiK,GAC1B,IAAIuB,OAAiC,IAAnBrE,EAAI8C,GAA6BA,EAAYA,EAAY,KAAQ9J,EAAwBgH,EAAI8C,GAAYjE,GAAU,IACrI,OAAOhG,EAASA,EAAS,IAAMwL,EAAOA,IACrC,IACCgB,EAAarF,EAAI9J,WAAa8J,EAAI5J,SAAW,GAC7CkP,GAAsE,IAAtD3Q,EAAiB6I,kBAAkB1N,QAAQgG,GAC/D,OAAO8I,EAAM,IAAM9I,EAAO,IAAMnB,EAAiB8I,iBAAmB,WAAe2H,GAAiBE,EAAgB,KAAO,IAAMD,EAAa,KAAOvP,EAAO,OAC3J,IAkFYyP,CAAqBzP,EAAMqN,EAAMtE,OAmClD3X,EAAQgR,kCA1GgC,SAA2CxJ,GACjF,IAAI8W,EAAiB/Y,UAAU7C,OAAS,QAAsB0F,IAAjB7C,UAAU,GAAmBA,UAAU,GAAK,GACzF,OAAOzF,OAAO4J,KAAKlC,GAAO6O,QAAO,SAAUhQ,EAAKC,GAE9C,OADAD,EAAIoH,EAAiB2I,aAAa9P,IAAQA,GAAOkB,EAAMlB,GAChDD,IACNiY,IAsGLte,EAAQ8N,wBApTsB,SAAiCuM,GACzDF,GACF5Y,EAAqB4Y,GAGnBE,EAASzI,MACXuI,EAAkB3Y,GAAsB,WACtC4Y,EAAiBC,GAAU,WACzBF,EAAkB,YAItBC,EAAiBC,GACjBF,EAAkB,OAwStBna,EAAQgH,iBA/Be,SAA0BoI,GAC/C,IAAIqD,EAAUrD,EAAKqD,QACfxC,EAAiBb,EAAKa,eACtB0H,EAASvI,EAAKuI,OACdxH,EAAiBf,EAAKe,eACtBuC,EAAWtD,EAAKsD,SAChBC,EAAWvD,EAAKuD,SAChBC,EAAexD,EAAKwD,aACpBC,EAAazD,EAAKyD,WAClBC,EAAY1D,EAAK0D,UACjByL,EAAanP,EAAK9C,MAClBA,OAAuBlE,IAAfmW,EAA2B,GAAKA,EACxCxO,EAAkBX,EAAKW,gBAC3B,MAAO,CACLsB,KAAMiM,EAAiB7P,EAAiBoB,UAAU4F,KAAMhC,EAASkF,GACjE1H,eAAgBqN,EAAiB7P,EAAiB+G,gBAAgBxE,KAAMC,EAAgB0H,GACxFxH,eAAgBmN,EAAiB7P,EAAiB+G,gBAAgBtE,KAAMC,EAAgBwH,GACxF5F,KAAMuL,EAAiB7P,EAAiBoB,UAAUoC,KAAMyB,EAAUiF,GAClE3F,KAAMsL,EAAiB7P,EAAiBoB,UAAUqC,KAAMyB,EAAUgF,GAClE1F,SAAUqL,EAAiB7P,EAAiBoB,UAAUE,SAAU6D,EAAc+E,GAC9EvF,OAAQkL,EAAiB7P,EAAiBoB,UAAUC,OAAQ+D,EAAY8E,GACxEtF,MAAOiL,EAAiB7P,EAAiBoB,UAAUI,MAAO6D,EAAW6E,GACrErL,MAAOgR,EAAiB7P,EAAiBoB,UAAUiB,MAAO,CACxDxD,MAAOA,EACPyD,gBAAiBA,GAChB4H,KAOP3X,EAAQ8G,mBArWiB,SAA4BiR,GACnD,MAAO,CACLtF,QAASiG,EAAwB,CAACjL,EAAiBoH,eAAeG,MAAO+C,GACzE9H,eAAgBoI,EAA2B5K,EAAiB+G,gBAAgBxE,KAAM+H,GAClFnG,MAAOqG,EAAqBF,EAAWtK,EAAiBqI,aAAaE,OACrE2B,OAAQM,EAAqBF,EAAWtK,EAAiBqI,aAAaG,2BACtE9F,eAAgBkI,EAA2B5K,EAAiB+G,gBAAgBtE,KAAM6H,GAClFrF,SAAUuG,EAAqBxL,EAAiBoB,UAAUoC,KAAM,CAACxD,EAAiBoH,eAAeS,IAAK7H,EAAiBoH,eAAeG,MAAO+C,GAC7IpF,SAAUsG,EAAqBxL,EAAiBoB,UAAUqC,KAAM,CAACzD,EAAiBoH,eAAeO,KAAM3H,EAAiBoH,eAAeC,QAASrH,EAAiBoH,eAAeI,UAAWxH,EAAiBoH,eAAeQ,SAAU5H,EAAiBoH,eAAeM,WAAY4C,GACjRnF,aAAcqG,EAAqBxL,EAAiBoB,UAAUE,SAAU,CAACtB,EAAiBoH,eAAeK,YAAa6C,GACtH7F,oBAAqBkG,EAAuBL,GAC5ClF,WAAYoG,EAAqBxL,EAAiBoB,UAAUC,OAAQ,CAACrB,EAAiBoH,eAAeU,IAAK9H,EAAiBoH,eAAeK,YAAa6C,GACvJjF,UAAWmG,EAAqBxL,EAAiBoB,UAAUI,MAAO,CAACxB,EAAiBoH,eAAeE,UAAWgD,GAC9GzL,MAAOwL,EAAsBC,GAC7BhI,gBAAiBsI,EAA2B5K,EAAiB+G,gBAAgB1E,MAAOiI,KAwVxF/X,EAAQwB,sBAAwBA,EAChCxB,EAAQmU,KAAOA,I,wDCvjBf,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,IAAIxU,EAAI,EAAQ,QACZwD,EAAI,mBAAsBmU,QAAUA,OAAY,IAChDlX,EAAI+C,EAAImU,OAAY,IAAE,iBAAmB,MACzCjX,EAAI8C,EAAImU,OAAY,IAAE,gBAAkB,MACxCjU,EAAIF,EAAImU,OAAY,IAAE,kBAAoB,MAC1ChX,EAAI6C,EAAImU,OAAY,IAAE,qBAAuB,MAC7C3W,EAAIwC,EAAImU,OAAY,IAAE,kBAAoB,MAC1ClU,EAAID,EAAImU,OAAY,IAAE,kBAAoB,MAC1CtW,EAAImC,EAAImU,OAAY,IAAE,iBAAmB,MACzCpW,EAAIiC,EAAImU,OAAY,IAAE,qBAAuB,MAC7CnW,EAAIgC,EAAImU,OAAY,IAAE,kBAAoB,MAE9CnU,GAAKmU,OAAY,IAAE,uBACnB,IAAIlW,EAAI+B,EAAImU,OAAY,IAAE,cAAgB,MACtCkH,EAAKrb,EAAImU,OAAY,IAAE,cAAgB,MAC3CnU,GAAKmU,OAAY,IAAE,qBACnBnU,GAAKmU,OAAY,IAAE,mBACnBnU,GAAKmU,OAAY,IAAE,eACnB,IAAIhW,EAAI,mBAAsBgW,QAAUA,OAAOC,SAE/C,SAAS7V,EAAEnB,GACT,IAAK,IAAIE,EAAI,yDAA2DF,EAAGkC,EAAI,EAAGA,EAAI8C,UAAU7C,OAAQD,IACtGhC,GAAK,WAAage,mBAAmBlZ,UAAU9C,IAGjD,MAAO,yBAA2BlC,EAAI,WAAaE,EAAI,iHAGzD,IAAIkB,EAAI,CACN+c,UAAW,WACT,OAAO,GAETC,mBAAoB,aACpBC,oBAAqB,aACrBC,gBAAiB,cAEfjd,EAAI,GAER,SAASC,EAAEtB,EAAGE,EAAGgC,GACf6C,KAAKkC,MAAQjH,EACb+E,KAAKwZ,QAAUre,EACf6E,KAAKyZ,KAAOnd,EACZ0D,KAAK0Z,QAAUvc,GAAKd,EActB,SAASG,KAIT,SAASC,EAAExB,EAAGE,EAAGgC,GACf6C,KAAKkC,MAAQjH,EACb+E,KAAKwZ,QAAUre,EACf6E,KAAKyZ,KAAOnd,EACZ0D,KAAK0Z,QAAUvc,GAAKd,EAnBtBE,EAAEgG,UAAUoX,iBAAmB,GAE/Bpd,EAAEgG,UAAUqX,SAAW,SAAU3e,EAAGE,GAClC,GAAI,iBAAoBF,GAAK,mBAAsBA,GAAK,MAAQA,EAAG,MAAM0G,MAAMvF,EAAE,KACjF4D,KAAK0Z,QAAQH,gBAAgBvZ,KAAM/E,EAAGE,EAAG,aAG3CoB,EAAEgG,UAAUsX,YAAc,SAAU5e,GAClC+E,KAAK0Z,QAAQL,mBAAmBrZ,KAAM/E,EAAG,gBAK3CuB,EAAE+F,UAAYhG,EAAEgG,UAShB,IAAI3F,EAAIH,EAAE8F,UAAY,IAAI/F,EAC1BI,EAAE6F,YAAchG,EAChBpC,EAAEuC,EAAGL,EAAEgG,WACP3F,EAAEkd,sBAAuB,EACzB,IAAIjd,EAAI,CACNsW,QAAS,MAEPjW,EAAI,CACNiW,QAAS,MAEP3V,EAAIhD,OAAO+H,UAAUgC,eACrB9G,EAAI,CACNuD,KAAK,EACL+Y,KAAK,EACLC,QAAQ,EACRC,UAAU,GAGZ,SAASvc,EAAEzC,EAAGE,EAAGgC,GACf,IAAII,EACAD,EAAI,GACJlD,EAAI,KACJG,EAAI,KACR,GAAI,MAAQY,EAAG,IAAKoC,UAAK,IAAWpC,EAAE4e,MAAQxf,EAAIY,EAAE4e,UAAM,IAAW5e,EAAE6F,MAAQ5G,EAAI,GAAKe,EAAE6F,KAAM7F,EAC9FqC,EAAE0G,KAAK/I,EAAGoC,KAAOE,EAAE8G,eAAehH,KAAOD,EAAEC,GAAKpC,EAAEoC,IAEpD,IAAIwH,EAAI9E,UAAU7C,OAAS,EAC3B,GAAI,IAAM2H,EAAGzH,EAAE+N,SAAWlO,OAAO,GAAI,EAAI4H,EAAG,CAC1C,IAAK,IAAIzK,EAAIqT,MAAM5I,GAAInH,EAAI,EAAGA,EAAImH,EAAGnH,IACnCtD,EAAEsD,GAAKqC,UAAUrC,EAAI,GAGvBN,EAAE+N,SAAW/Q,EAEf,GAAIW,GAAKA,EAAEgS,aAAc,IAAK1P,KAAKwH,EAAI9J,EAAEgS,kBACvC,IAAW3P,EAAEC,KAAOD,EAAEC,GAAKwH,EAAExH,IAE/B,MAAO,CACLkR,SAAU3T,EACVwO,KAAMrO,EACN+F,IAAK5G,EACL2f,IAAKxf,EACL2H,MAAO5E,EACP4c,OAAQhd,EAAEiW,SAed,SAASjV,EAAEjD,GACT,MAAO,iBAAoBA,GAAK,OAASA,GAAKA,EAAEwT,WAAa3T,EAa/D,IAAIqD,EAAI,OACJC,EAAI,GAER,SAASC,EAAEpD,EAAGE,EAAGgC,EAAGI,GAClB,GAAIa,EAAEhB,OAAQ,CACZ,IAAIE,EAAIc,EAAET,MAMV,OALAL,EAAE6c,OAASlf,EACXqC,EAAE8c,UAAYjf,EACdmC,EAAEuP,KAAO1P,EACTG,EAAEkc,QAAUjc,EACZD,EAAE+c,MAAQ,EACH/c,EAGT,MAAO,CACL6c,OAAQlf,EACRmf,UAAWjf,EACX0R,KAAM1P,EACNqc,QAASjc,EACT8c,MAAO,GAIX,SAAS/b,EAAErD,GACTA,EAAEkf,OAAS,KACXlf,EAAEmf,UAAY,KACdnf,EAAE4R,KAAO,KACT5R,EAAEue,QAAU,KACZve,EAAEof,MAAQ,EACV,GAAKjc,EAAEhB,QAAUgB,EAAEf,KAAKpC,GAkC1B,SAASwD,EAAExD,EAAGE,EAAGgC,GACf,OAAO,MAAQlC,EAAI,EAhCrB,SAASsD,EAAEtD,EAAGE,EAAGgC,EAAGI,GAClB,IAAID,SAAWrC,EACX,cAAgBqC,GAAK,YAAcA,IAAGrC,EAAI,MAC9C,IAAIb,GAAI,EACR,GAAI,OAASa,EAAGb,GAAI,OAAQ,OAAQkD,GAClC,IAAK,SACL,IAAK,SACHlD,GAAI,EACJ,MAEF,IAAK,SACH,OAAQa,EAAEwT,UACR,KAAK3T,EACL,KAAKC,EACHX,GAAI,GAIZ,GAAIA,EAAG,OAAO+C,EAAEI,EAAGtC,EAAG,KAAOE,EAAI,IAAMqD,EAAEvD,EAAG,GAAKE,GAAI,EAGrD,GAFAf,EAAI,EACJe,EAAI,KAAOA,EAAI,IAAMA,EAAI,IACrBwS,MAAMD,QAAQzS,GAAI,IAAK,IAAIV,EAAI,EAAGA,EAAIU,EAAEmC,OAAQ7C,IAAK,CAEvD,IAAIwK,EAAI5J,EAAIqD,EADZlB,EAAIrC,EAAEV,GACWA,GACjBH,GAAKmE,EAAEjB,EAAGyH,EAAG5H,EAAGI,QACX,GAAI,OAAStC,GAAK,iBAAoBA,EAAI8J,EAAI,KAA0CA,EAAI,mBAAtCA,EAAI/I,GAAKf,EAAEe,IAAMf,EAAE,eAA6C8J,EAAI,KAAO,mBAAsBA,EAAG,IAAK9J,EAAI8J,EAAEb,KAAKjJ,GAAIV,EAAI,IAAK+C,EAAIrC,EAAEqf,QAAQC,MAC1KngB,GAAKmE,EAArCjB,EAAIA,EAAE3C,MAAOoK,EAAI5J,EAAIqD,EAAElB,EAAG/C,KAAmB4C,EAAGI,QAC3C,GAAI,WAAaD,EAAG,MAAMH,EAAI,GAAKlC,EAAG0G,MAAMvF,EAAE,GAAI,oBAAsBe,EAAI,qBAAuB3C,OAAO4J,KAAKnJ,GAAG2a,KAAK,MAAQ,IAAMzY,EAAG,KAC/I,OAAO/C,EAIgBmE,CAAEtD,EAAG,GAAIE,EAAGgC,GAGrC,SAASqB,EAAEvD,EAAGE,GACZ,MAAO,iBAAoBF,GAAK,OAASA,GAAK,MAAQA,EAAE+F,IA9E1D,SAAgB/F,GACd,IAAIE,EAAI,CACN,IAAK,KACL,IAAK,MAEP,MAAO,KAAO,GAAKF,GAAGsX,QAAQ,SAAS,SAAUtX,GAC/C,OAAOE,EAAEF,MAwEmDuf,CAAOvf,EAAE+F,KAAO7F,EAAEqT,SAAS,IAG3F,SAASiM,EAAGxf,EAAGE,GACbF,EAAE4R,KAAK3I,KAAKjJ,EAAEue,QAASre,EAAGF,EAAEof,SAG9B,SAASK,EAAGzf,EAAGE,EAAGgC,GAChB,IAAII,EAAItC,EAAEkf,OACN7c,EAAIrC,EAAEmf,UACVnf,EAAIA,EAAE4R,KAAK3I,KAAKjJ,EAAEue,QAASre,EAAGF,EAAEof,SAChC1M,MAAMD,QAAQzS,GAAKyD,EAAEzD,EAAGsC,EAAGJ,GAAG,SAAUlC,GACtC,OAAOA,KACJ,MAAQA,IAAMiD,EAAEjD,KAAOA,EA1G9B,SAAYA,EAAGE,GACb,MAAO,CACLsT,SAAU3T,EACVwO,KAAMrO,EAAEqO,KACRtI,IAAK7F,EACL4e,IAAK9e,EAAE8e,IACP7X,MAAOjH,EAAEiH,MACTgY,OAAQjf,EAAEif,QAmGoBS,CAAG1f,EAAGqC,IAAMrC,EAAE+F,KAAO7F,GAAKA,EAAE6F,MAAQ/F,EAAE+F,IAAM,IAAM,GAAK/F,EAAE+F,KAAKuR,QAAQpU,EAAG,OAAS,KAAOhB,IAAKI,EAAEF,KAAKpC,IAGvI,SAASyD,EAAEzD,EAAGE,EAAGgC,EAAGI,EAAGD,GACrB,IAAIlD,EAAI,GACR,MAAQ+C,IAAM/C,GAAK,GAAK+C,GAAGoV,QAAQpU,EAAG,OAAS,KAE/CM,EAAExD,EAAGyf,EADLvf,EAAIkD,EAAElD,EAAGf,EAAGmD,EAAGD,IAEfgB,EAAEnD,GAGJ,SAAS2D,IACP,IAAI7D,EAAI4B,EAAEsW,QACV,GAAI,OAASlY,EAAG,MAAM0G,MAAMvF,EAAE,MAC9B,OAAOnB,EAGT,IAAI8D,EAAI,CACNwM,SAAU,CACRvJ,IAAK,SAAa/G,EAAGE,EAAGgC,GACtB,GAAI,MAAQlC,EAAG,OAAOA,EACtB,IAAIsC,EAAI,GAER,OADAmB,EAAEzD,EAAGsC,EAAG,KAAMpC,EAAGgC,GACVI,GAETyN,QAAS,SAAiB/P,EAAGE,EAAGgC,GAC9B,GAAI,MAAQlC,EAAG,OAAOA,EAEtBwD,EAAExD,EAAGwf,EADLtf,EAAIkD,EAAE,KAAM,KAAMlD,EAAGgC,IAErBmB,EAAEnD,IAEJkf,MAAO,SAAepf,GACpB,OAAOwD,EAAExD,GAAG,WACV,OAAO,OACN,OAEL2f,QAAS,SAAiB3f,GACxB,IAAIE,EAAI,GAIR,OAHAuD,EAAEzD,EAAGE,EAAG,MAAM,SAAUF,GACtB,OAAOA,KAEFE,GAET0f,KAAM,SAAc5f,GAClB,IAAKiD,EAAEjD,GAAI,MAAM0G,MAAMvF,EAAE,MACzB,OAAOnB,IAGX6f,UAAW,WACT,MAAO,CACL3H,QAAS,OAGb1P,UAAWlH,EACXwe,cAAete,EACf4J,cAAe,SAAuBpL,EAAGE,GAevC,YAdA,IAAWA,IAAMA,EAAI,OACrBF,EAAI,CACFwT,SAAU/S,EACVsf,sBAAuB7f,EACvB8f,cAAehgB,EACfigB,eAAgBjgB,EAChBkgB,aAAc,EACdC,SAAU,KACVC,SAAU,OAEVD,SAAW,CACX3M,SAAU3Q,EACVwd,SAAUrgB,GAELA,EAAEogB,SAAWpgB,GAEtBsgB,WAAY,SAAoBtgB,GAC9B,MAAO,CACLwT,SAAU7S,EACV4H,OAAQvI,IAGZugB,KAAM,SAAcvgB,GAClB,MAAO,CACLwT,SAAUyK,EACVuC,MAAOxgB,EACPygB,SAAU,EACVC,QAAS,OAGbC,KAAM,SAAc3gB,EAAGE,GACrB,MAAO,CACLsT,SAAU3S,EACVwN,KAAMrO,EACN8I,aAAS,IAAW5I,EAAI,KAAOA,IAGnC0gB,YAAa,SAAqB5gB,EAAGE,GACnC,OAAO2D,IAAI+c,YAAY5gB,EAAGE,IAE5B2gB,WAAY,SAAoB7gB,EAAGE,GACjC,OAAO2D,IAAIgd,WAAW7gB,EAAGE,IAE3B4gB,UAAW,SAAmB9gB,EAAGE,GAC/B,OAAO2D,IAAIid,UAAU9gB,EAAGE,IAE1B6gB,oBAAqB,SAA6B/gB,EAAGE,EAAGgC,GACtD,OAAO2B,IAAIkd,oBAAoB/gB,EAAGE,EAAGgC,IAEvC8e,cAAe,aACfC,gBAAiB,SAAyBjhB,EAAGE,GAC3C,OAAO2D,IAAIod,gBAAgBjhB,EAAGE,IAEhCghB,QAAS,SAAiBlhB,EAAGE,GAC3B,OAAO2D,IAAIqd,QAAQlhB,EAAGE,IAExBihB,WAAY,SAAoBnhB,EAAGE,EAAGgC,GACpC,OAAO2B,IAAIsd,WAAWnhB,EAAGE,EAAGgC,IAE9Bkf,OAAQ,SAAgBphB,GACtB,OAAO6D,IAAIud,OAAOphB,IAEpBqhB,SAAU,SAAkBrhB,GAC1B,OAAO6D,IAAIwd,SAASrhB,IAEtBshB,SAAUxe,EACVye,SAAUnhB,EACVohB,WAAYzhB,EACZ0hB,SAAU7gB,EACVyF,cAAe5D,EACfif,aAAc,SAAsB1hB,EAAGE,EAAGgC,GACxC,GAAI,MAASlC,EAAmB,MAAM0G,MAAMvF,EAAE,IAAKnB,IACnD,IAAIsC,EAAIlD,EAAE,GAAIY,EAAEiH,OACZ5E,EAAIrC,EAAE+F,IACN5G,EAAIa,EAAE8e,IACNxf,EAAIU,EAAEif,OAEV,GAAI,MAAQ/e,EAAG,CAGb,QAFA,IAAWA,EAAE4e,MAAQ3f,EAAIe,EAAE4e,IAAKxf,EAAI2C,EAAEiW,cACtC,IAAWhY,EAAE6F,MAAQ1D,EAAI,GAAKnC,EAAE6F,KAC5B/F,EAAEqO,MAAQrO,EAAEqO,KAAK2D,aAAc,IAAIlI,EAAI9J,EAAEqO,KAAK2D,aAElD,IAAK3S,KAAKa,EACRqC,EAAE0G,KAAK/I,EAAGb,KAAOmD,EAAE8G,eAAejK,KAAOiD,EAAEjD,QAAK,IAAWa,EAAEb,SAAM,IAAWyK,EAAIA,EAAEzK,GAAKa,EAAEb,IAI/F,IAAIA,EAAI2F,UAAU7C,OAAS,EAC3B,GAAI,IAAM9C,EAAGiD,EAAE8N,SAAWlO,OAAO,GAAI,EAAI7C,EAAG,CAC1CyK,EAAI4I,MAAMrT,GAEV,IAAK,IAAIsD,EAAI,EAAGA,EAAItD,EAAGsD,IACrBmH,EAAEnH,GAAKqC,UAAUrC,EAAI,GAGvBL,EAAE8N,SAAWtG,EAEf,MAAO,CACL0J,SAAU3T,EACVwO,KAAMrO,EAAEqO,KACRtI,IAAK1D,EACLyc,IAAK3f,EACL8H,MAAO3E,EACP2c,OAAQ3f,IAGZqiB,cAAe,SAAuB3hB,GACpC,IAAIE,EAAIuC,EAAE8G,KAAK,KAAMvJ,GAErB,OADAE,EAAEmO,KAAOrO,EACFE,GAET0hB,eAAgB3e,EAChB4e,QAAS,UACTC,mDAAoD,CAClDC,uBAAwBngB,EACxBogB,wBAAyB,CACvBC,SAAU,MAEZC,kBAAmBjgB,EACnBkgB,qBAAsB,CACpBjK,SAAS,GAEX7L,OAAQjN,IAGR4E,EAAI,CACN,QAAWF,GAETG,EAAID,GAAKF,GAAKE,EAClBsC,EAAO7G,QAAUwE,EAAW,SAAKA,G,mBCrbjC,IAAI9E,EAEJA,EAAI,WACF,OAAO4F,KADL,GAIJ,IAEE5F,EAAIA,GAAK,IAAIijB,SAAS,cAAb,GACT,MAAO9f,GAEe,iBAAX3C,SAAqBR,EAAIQ,QAMtC2G,EAAO7G,QAAUN,G,kCCHjB,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,IAAI8e,EAAK,EAAQ,QACbrb,EAAI,EAAQ,QACZ9C,EAAI,EAAQ,QAEhB,SAASM,EAAEJ,GACT,IAAK,IAAIE,EAAI,yDAA2DF,EAAGkC,EAAI,EAAGA,EAAI8C,UAAU7C,OAAQD,IACtGhC,GAAK,WAAage,mBAAmBlZ,UAAU9C,IAGjD,MAAO,yBAA2BlC,EAAI,WAAaE,EAAI,iHAGzD,IAAK+d,EAAI,MAAMvX,MAAMtG,EAAE,MACvB,IAAIsf,EAAK,KACLF,EAAK,GAET,SAASC,IACP,GAAIC,EAAI,IAAK,IAAI1f,KAAKwf,EAAI,CACxB,IAAItf,EAAIsf,EAAGxf,GACPkC,EAAIwd,EAAGrX,QAAQrI,GACnB,MAAO,EAAIkC,GAAI,MAAMwE,MAAMtG,EAAE,GAAIJ,IAEjC,IAAKqiB,EAAGngB,GAAI,CACV,IAAKhC,EAAEoiB,cAAe,MAAM5b,MAAMtG,EAAE,GAAIJ,IAIxC,IAAK,IAAIqC,KAHTggB,EAAGngB,GAAKhC,EACRgC,EAAIhC,EAAEqiB,WAEW,CACf,IAAIjgB,OAAI,EACJwH,EAAI5H,EAAEG,GACNlD,EAAIe,EACJd,EAAIiD,EACR,GAAImgB,EAAGlZ,eAAelK,GAAI,MAAMsH,MAAMtG,EAAE,GAAIhB,IAC5CojB,EAAGpjB,GAAK0K,EACR,IAAIzK,EAAIyK,EAAE2Y,wBAEV,GAAIpjB,EAAG,CACL,IAAKiD,KAAKjD,EACRA,EAAEiK,eAAehH,IAAMogB,EAAGrjB,EAAEiD,GAAInD,EAAGC,GAGrCkD,GAAI,OACCwH,EAAE6Y,kBAAoBD,EAAG5Y,EAAE6Y,iBAAkBxjB,EAAGC,GAAIkD,GAAI,GAAMA,GAAI,EAEzE,IAAKA,EAAG,MAAMoE,MAAMtG,EAAE,GAAIiC,EAAGrC,OAMrC,SAAS0iB,EAAG1iB,EAAGE,EAAGgC,GAChB,GAAI0gB,EAAG5iB,GAAI,MAAM0G,MAAMtG,EAAE,IAAKJ,IAC9B4iB,EAAG5iB,GAAKE,EACR2iB,EAAG7iB,GAAKE,EAAEqiB,WAAWrgB,GAAG4gB,aAG1B,IAAIT,EAAK,GACLG,EAAK,GACLI,EAAK,GACLC,EAAK,GAET,SAASE,EAAG/iB,EAAGE,EAAGgC,EAAGG,EAAGC,EAAGwH,EAAG3K,EAAGC,EAAGC,GAClC,IAAIC,EAAIoT,MAAMpL,UAAU0U,MAAM/S,KAAKjE,UAAW,GAE9C,IACE9E,EAAE4E,MAAM5C,EAAG5C,GACX,MAAOqD,GACPoC,KAAKie,QAAQrgB,IAIjB,IAAIsgB,GAAK,EACLC,EAAK,KACLC,GAAK,EACLC,EAAK,KACLC,EAAK,CACPL,QAAS,SAAiBhjB,GACxBijB,GAAK,EACLC,EAAKljB,IAIT,SAASsjB,EAAGtjB,EAAGE,EAAGgC,EAAGG,EAAGC,EAAGwH,EAAG3K,EAAGC,EAAGC,GAClC4jB,GAAK,EACLC,EAAK,KACLH,EAAGje,MAAMue,EAAIre,WAiBf,IAAIue,EAAK,KACLC,EAAK,KACLC,EAAK,KAET,SAASC,EAAG1jB,EAAGE,EAAGgC,GAChB,IAAIG,EAAIrC,EAAEqO,MAAQ,gBAClBrO,EAAE2jB,cAAgBF,EAAGvhB,GApBvB,SAAYlC,EAAGE,EAAGgC,EAAGG,EAAGC,EAAGwH,EAAG3K,EAAGC,EAAGC,GAGlC,GAFAikB,EAAGxe,MAAMC,KAAMC,WAEXie,EAAI,CACN,IAAIA,EAIG,MAAMvc,MAAMtG,EAAE,MAHnB,IAAId,EAAI4jB,EACRD,GAAK,EACLC,EAAK,KAGPC,IAAOA,GAAK,EAAIC,EAAK9jB,IAWvBskB,CAAGvhB,EAAGnC,OAAG,EAAQF,GACjBA,EAAE2jB,cAAgB,KAGpB,SAASE,EAAG7jB,EAAGE,GACb,GAAI,MAAQA,EAAG,MAAMwG,MAAMtG,EAAE,KAC7B,OAAI,MAAQJ,EAAUE,EAElBwS,MAAMD,QAAQzS,GACZ0S,MAAMD,QAAQvS,IAAWF,EAAEoC,KAAK0C,MAAM9E,EAAGE,GAAIF,IACjDA,EAAEoC,KAAKlC,GACAF,GAGF0S,MAAMD,QAAQvS,GAAK,CAACF,GAAGiP,OAAO/O,GAAK,CAACF,EAAGE,GAGhD,SAAS4jB,EAAG9jB,EAAGE,EAAGgC,GAChBwQ,MAAMD,QAAQzS,GAAKA,EAAE+P,QAAQ7P,EAAGgC,GAAKlC,GAAKE,EAAE+I,KAAK/G,EAAGlC,GAGtD,IAAI+jB,EAAK,KAET,SAASC,EAAGhkB,GACV,GAAIA,EAAG,CACL,IAAIE,EAAIF,EAAEikB,mBACN/hB,EAAIlC,EAAEkkB,mBACV,GAAIxR,MAAMD,QAAQvS,GAAI,IAAK,IAAImC,EAAI,EAAGA,EAAInC,EAAEiC,SAAWnC,EAAEmkB,uBAAwB9hB,IAC/EqhB,EAAG1jB,EAAGE,EAAEmC,GAAIH,EAAEG,SACTnC,GAAKwjB,EAAG1jB,EAAGE,EAAGgC,GACrBlC,EAAEikB,mBAAqB,KACvBjkB,EAAEkkB,mBAAqB,KACvBlkB,EAAEokB,gBAAkBpkB,EAAEwH,YAAY6c,QAAQrkB,IAI9C,SAASskB,EAAGtkB,GAKV,GAJA,OAASA,IAAM+jB,EAAKF,EAAGE,EAAI/jB,IAC3BA,EAAI+jB,EACJA,EAAK,KAED/jB,EAAG,CAEL,GADA8jB,EAAG9jB,EAAGgkB,GACFD,EAAI,MAAMrd,MAAMtG,EAAE,KACtB,GAAI+iB,EAAI,MAAMnjB,EAAIojB,EAAID,GAAK,EAAIC,EAAK,KAAMpjB,GAI9C,IAAIukB,EAAK,CACPC,uBAAwB,SAAgCxkB,GACtD,GAAI0f,EAAI,MAAMhZ,MAAMtG,EAAE,MACtBsf,EAAKhN,MAAMpL,UAAU0U,MAAM/S,KAAKjJ,GAChCyf,KAEFgF,yBAA0B,SAAkCzkB,GAC1D,IACIkC,EADAhC,GAAI,EAGR,IAAKgC,KAAKlC,EACR,GAAIA,EAAEsJ,eAAepH,GAAI,CACvB,IAAIG,EAAIrC,EAAEkC,GAEV,IAAKsd,EAAGlW,eAAepH,IAAMsd,EAAGtd,KAAOG,EAAG,CACxC,GAAImd,EAAGtd,GAAI,MAAMwE,MAAMtG,EAAE,IAAK8B,IAC9Bsd,EAAGtd,GAAKG,EACRnC,GAAI,GAKVA,GAAKuf,MAIT,SAASiF,EAAG1kB,EAAGE,GACb,IAAIgC,EAAIlC,EAAE2kB,UACV,IAAKziB,EAAG,OAAO,KACf,IAAIG,EAAIkhB,EAAGrhB,GACX,IAAKG,EAAG,OAAO,KACfH,EAAIG,EAAEnC,GAENF,EAAG,OAAQE,GACT,IAAK,UACL,IAAK,iBACL,IAAK,gBACL,IAAK,uBACL,IAAK,cACL,IAAK,qBACL,IAAK,cACL,IAAK,qBACL,IAAK,YACL,IAAK,oBACFmC,GAAKA,EAAEuiB,YAA0BviB,IAAM,YAAlBrC,EAAIA,EAAEqO,OAA8B,UAAYrO,GAAK,WAAaA,GAAK,aAAeA,IAC5GA,GAAKqC,EACL,MAAMrC,EAER,QACEA,GAAI,EAGR,GAAIA,EAAG,OAAO,KACd,GAAIkC,GAAK,mBAAsBA,EAAG,MAAMwE,MAAMtG,EAAE,IAAKF,SAAUgC,IAC/D,OAAOA,EAGT,IAAI2iB,EAAK5G,EAAG6D,mDACZ+C,EAAGvb,eAAe,4BAA8Bub,EAAG9C,uBAAyB,CAC1E7J,QAAS,OAEX2M,EAAGvb,eAAe,6BAA+Bub,EAAG7C,wBAA0B,CAC5EC,SAAU,OAEZ,IAAI6C,EAAK,cACLrkB,EAAI,mBAAsBsW,QAAUA,OAAY,IAChDgO,EAAKtkB,EAAIsW,OAAY,IAAE,iBAAmB,MAC1CiO,EAAKvkB,EAAIsW,OAAY,IAAE,gBAAkB,MACzCkO,EAAKxkB,EAAIsW,OAAY,IAAE,kBAAoB,MAC3CmO,EAAKzkB,EAAIsW,OAAY,IAAE,qBAAuB,MAC9CoO,EAAK1kB,EAAIsW,OAAY,IAAE,kBAAoB,MAC3CqO,EAAK3kB,EAAIsW,OAAY,IAAE,kBAAoB,MAC3CsO,EAAK5kB,EAAIsW,OAAY,IAAE,iBAAmB,MAC1CuO,EAAK7kB,EAAIsW,OAAY,IAAE,yBAA2B,MAClDwO,EAAK9kB,EAAIsW,OAAY,IAAE,qBAAuB,MAC9CyO,EAAK/kB,EAAIsW,OAAY,IAAE,kBAAoB,MAC3C0O,EAAKhlB,EAAIsW,OAAY,IAAE,uBAAyB,MAChD2O,EAAKjlB,EAAIsW,OAAY,IAAE,cAAgB,MACvC4O,EAAKllB,EAAIsW,OAAY,IAAE,cAAgB,MAC3CtW,GAAKsW,OAAY,IAAE,qBACnBtW,GAAKsW,OAAY,IAAE,mBACnBtW,GAAKsW,OAAY,IAAE,eACnB,IAAI6O,EAAK,mBAAsB7O,QAAUA,OAAOC,SAEhD,SAAS6O,EAAG7lB,GACV,OAAI,OAASA,GAAK,iBAAoBA,EAAU,KAEzC,mBADPA,EAAI4lB,GAAM5lB,EAAE4lB,IAAO5lB,EAAE,eACYA,EAAI,KAiBvC,SAAS8lB,EAAG9lB,GACV,GAAI,MAAQA,EAAG,OAAO,KACtB,GAAI,mBAAsBA,EAAG,OAAOA,EAAEyI,aAAezI,EAAE0I,MAAQ,KAC/D,GAAI,iBAAoB1I,EAAG,OAAOA,EAElC,OAAQA,GACN,KAAKilB,EACH,MAAO,WAET,KAAKD,EACH,MAAO,SAET,KAAKG,EACH,MAAO,WAET,KAAKD,EACH,MAAO,aAET,KAAKM,EACH,MAAO,WAET,KAAKC,EACH,MAAO,eAGX,GAAI,iBAAoBzlB,EAAG,OAAQA,EAAEwT,UACnC,KAAK6R,EACH,MAAO,mBAET,KAAKD,EACH,MAAO,mBAET,KAAKG,EACH,IAAIrlB,EAAIF,EAAEuI,OAEV,OADArI,EAAIA,EAAEuI,aAAevI,EAAEwI,MAAQ,GACxB1I,EAAEyI,cAAgB,KAAOvI,EAAI,cAAgBA,EAAI,IAAM,cAEhE,KAAKwlB,EACH,OAAOI,EAAG9lB,EAAEqO,MAEd,KAAKsX,EACH,GAAI3lB,EAAI,IAAMA,EAAEygB,QAAUzgB,EAAE0gB,QAAU,KAAM,OAAOoF,EAAG9lB,GAE1D,OAAO,KAGT,SAAS+lB,EAAG/lB,GACV,IAAIE,EAAI,GAER,EAAG,CACDF,EAAG,OAAQA,EAAEuY,KACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACL,KAAK,EACH,IAAIrW,EAAI,GACR,MAAMlC,EAER,QACE,IAAIqC,EAAIrC,EAAEgmB,YACN1jB,EAAItC,EAAEimB,aACNnc,EAAIgc,EAAG9lB,EAAEqO,MACbnM,EAAI,KACJG,IAAMH,EAAI4jB,EAAGzjB,EAAEgM,OACfhM,EAAIyH,EACJA,EAAI,GACJxH,EAAIwH,EAAI,QAAUxH,EAAE4jB,SAAS5O,QAAQwN,EAAI,IAAM,IAAMxiB,EAAE6jB,WAAa,IAAMjkB,IAAM4H,EAAI,gBAAkB5H,EAAI,KAC1GA,EAAI,aAAeG,GAAK,WAAayH,EAGzC5J,GAAKgC,EACLlC,EAAIA,EAAU,aACPA,GAET,OAAOE,EAGT,IAAIkmB,IAAO,oBAAuBzmB,aAAU,IAAuBA,OAAOyG,eAAY,IAAuBzG,OAAOyG,SAASC,eACzHggB,GAAK,KACLC,GAAK,KACLC,GAAK,KAET,SAASC,GAAGxmB,GACV,GAAIA,EAAIwjB,EAAGxjB,GAAI,CACb,GAAI,mBAAsBqmB,GAAI,MAAM3f,MAAMtG,EAAE,MAC5C,IAAIF,EAAIqjB,EAAGvjB,EAAE2kB,WACb0B,GAAGrmB,EAAE2kB,UAAW3kB,EAAEqO,KAAMnO,IAI5B,SAAS6Z,GAAG/Z,GACVsmB,GAAKC,GAAKA,GAAGnkB,KAAKpC,GAAKumB,GAAK,CAACvmB,GAAKsmB,GAAKtmB,EAGzC,SAASymB,KACP,GAAIH,GAAI,CACN,IAAItmB,EAAIsmB,GACJpmB,EAAIqmB,GAGR,GAFAA,GAAKD,GAAK,KACVE,GAAGxmB,GACCE,EAAG,IAAKF,EAAI,EAAGA,EAAIE,EAAEiC,OAAQnC,IAC/BwmB,GAAGtmB,EAAEF,KAKX,SAAS0mB,GAAG1mB,EAAGE,GACb,OAAOF,EAAEE,GAGX,SAASymB,GAAG3mB,EAAGE,EAAGgC,EAAGG,GACnB,OAAOrC,EAAEE,EAAGgC,EAAGG,GAGjB,SAASukB,MAET,IAAIC,GAAKH,GACLI,IAAK,EACLC,IAAK,EAET,SAASC,KACH,OAASV,IAAM,OAASC,KAAIK,KAAMH,MAGxC,IAAIQ,IACJ,IAAIC,GAAK,8VACLC,GAAK5nB,OAAO+H,UAAUgC,eACtB8d,GAAK,GACLC,GAAK,GAgDT,SAASlmB,GAAEnB,EAAGE,EAAGgC,EAAGG,EAAGC,EAAGwH,GACxB/E,KAAKuiB,gBAAkB,IAAMpnB,GAAK,IAAMA,GAAK,IAAMA,EACnD6E,KAAKwiB,cAAgBllB,EACrB0C,KAAKyiB,mBAAqBllB,EAC1ByC,KAAK0iB,gBAAkBvlB,EACvB6C,KAAK2iB,aAAe1nB,EACpB+E,KAAKsJ,KAAOnO,EACZ6E,KAAK4iB,YAAc7d,EAGrB,IAAIzI,GAAI,GACR,uIAAuI6Z,MAAM,KAAKnL,SAAQ,SAAU/P,GAClKqB,GAAErB,GAAK,IAAImB,GAAEnB,EAAG,GAAG,EAAIA,EAAG,MAAM,MAElC,CAAC,CAAC,gBAAiB,kBAAmB,CAAC,YAAa,SAAU,CAAC,UAAW,OAAQ,CAAC,YAAa,eAAe+P,SAAQ,SAAU/P,GAC/H,IAAIE,EAAIF,EAAE,GACVqB,GAAEnB,GAAK,IAAIiB,GAAEjB,EAAG,GAAG,EAAIF,EAAE,GAAI,MAAM,MAErC,CAAC,kBAAmB,YAAa,aAAc,SAAS+P,SAAQ,SAAU/P,GACxEqB,GAAErB,GAAK,IAAImB,GAAEnB,EAAG,GAAG,EAAIA,EAAEyY,cAAe,MAAM,MAEhD,CAAC,cAAe,4BAA6B,YAAa,iBAAiB1I,SAAQ,SAAU/P,GAC3FqB,GAAErB,GAAK,IAAImB,GAAEnB,EAAG,GAAG,EAAIA,EAAG,MAAM,MAElC,wNAAwNkb,MAAM,KAAKnL,SAAQ,SAAU/P,GACnPqB,GAAErB,GAAK,IAAImB,GAAEnB,EAAG,GAAG,EAAIA,EAAEyY,cAAe,MAAM,MAEhD,CAAC,UAAW,WAAY,QAAS,YAAY1I,SAAQ,SAAU/P,GAC7DqB,GAAErB,GAAK,IAAImB,GAAEnB,EAAG,GAAG,EAAIA,EAAG,MAAM,MAElC,CAAC,UAAW,YAAY+P,SAAQ,SAAU/P,GACxCqB,GAAErB,GAAK,IAAImB,GAAEnB,EAAG,GAAG,EAAIA,EAAG,MAAM,MAElC,CAAC,OAAQ,OAAQ,OAAQ,QAAQ+P,SAAQ,SAAU/P,GACjDqB,GAAErB,GAAK,IAAImB,GAAEnB,EAAG,GAAG,EAAIA,EAAG,MAAM,MAElC,CAAC,UAAW,SAAS+P,SAAQ,SAAU/P,GACrCqB,GAAErB,GAAK,IAAImB,GAAEnB,EAAG,GAAG,EAAIA,EAAEyY,cAAe,MAAM,MAEhD,IAAImP,GAAK,gBAET,SAASC,GAAG7nB,GACV,OAAOA,EAAE,GAAG8nB,cAuBd,SAASC,GAAG/nB,GACV,cAAeA,GACb,IAAK,UACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,YACH,OAAOA,EAET,QACE,MAAO,IAIb,SAASgoB,GAAGhoB,EAAGE,EAAGgC,EAAGG,GACnB,IAAIC,EAAIjB,GAAEiI,eAAepJ,GAAKmB,GAAEnB,GAAK,MAC7B,OAASoC,EAAI,IAAMA,EAAE+L,MAAOhM,IAAW,EAAInC,EAAEiC,SAAW,MAAQjC,EAAE,IAAM,MAAQA,EAAE,MAAM,MAAQA,EAAE,IAAM,MAAQA,EAAE,QApG5H,SAAYF,EAAGE,EAAGgC,EAAGG,GACnB,GAAI,MAASnC,GApBf,SAAYF,EAAGE,EAAGgC,EAAGG,GACnB,GAAI,OAASH,GAAK,IAAMA,EAAEmM,KAAM,OAAO,EAEvC,cAAenO,GACb,IAAK,WACL,IAAK,SACH,OAAO,EAET,IAAK,UACH,OAAImC,IACA,OAASH,GAAWA,EAAEolB,gBAEnB,WADPtnB,EAAIA,EAAEyY,cAAcuD,MAAM,EAAG,KACL,UAAYhc,GAEtC,QACE,OAAO,GAKmCioB,CAAGjoB,EAAGE,EAAGgC,EAAGG,GAAI,OAAO,EACrE,GAAIA,EAAG,OAAO,EACd,GAAI,OAASH,EAAG,OAAQA,EAAEmM,MACxB,KAAK,EACH,OAAQnO,EAEV,KAAK,EACH,OAAO,IAAOA,EAEhB,KAAK,EACH,OAAOgoB,MAAMhoB,GAEf,KAAK,EACH,OAAOgoB,MAAMhoB,IAAM,EAAIA,EAE3B,OAAO,EAqFDioB,CAAGjoB,EAAGgC,EAAGI,EAAGD,KAAOH,EAAI,MAAOG,GAAK,OAASC,EAhIpD,SAAYtC,GACV,QAAImnB,GAAGle,KAAKoe,GAAIrnB,KACZmnB,GAAGle,KAAKme,GAAIpnB,KACZknB,GAAGkB,KAAKpoB,GAAWqnB,GAAGrnB,IAAK,GAC/BonB,GAAGpnB,IAAK,GACD,IA2H+CqoB,CAAGnoB,KAAO,OAASgC,EAAIlC,EAAEyb,gBAAgBvb,GAAKF,EAAEsb,aAAapb,EAAG,GAAKgC,IAAMI,EAAEmlB,gBAAkBznB,EAAEsC,EAAEolB,cAAgB,OAASxlB,EAAI,IAAMI,EAAE+L,MAAY,GAAKnM,GAAKhC,EAAIoC,EAAEilB,cAAellB,EAAIC,EAAEklB,mBAAoB,OAAStlB,EAAIlC,EAAEyb,gBAAgBvb,IAAkBgC,EAAI,KAAhBI,EAAIA,EAAE+L,OAAqB,IAAM/L,IAAK,IAAOJ,EAAI,GAAK,GAAKA,EAAGG,EAAIrC,EAAEsoB,eAAejmB,EAAGnC,EAAGgC,GAAKlC,EAAEsb,aAAapb,EAAGgC,MAG1Z,SAASqmB,GAAGvoB,GACV,IAAIE,EAAIF,EAAEqO,KACV,OAAQrO,EAAIA,EAAEwoB,WAAa,UAAYxoB,EAAEyY,gBAAkB,aAAevY,GAAK,UAAYA,GAuC7F,SAASuoB,GAAGzoB,GACVA,EAAE0oB,gBAAkB1oB,EAAE0oB,cArCxB,SAAY1oB,GACV,IAAIE,EAAIqoB,GAAGvoB,GAAK,UAAY,QACxBkC,EAAI3C,OAAOopB,yBAAyB3oB,EAAEwH,YAAYF,UAAWpH,GAC7DmC,EAAI,GAAKrC,EAAEE,GAEf,IAAKF,EAAEsJ,eAAepJ,SAAM,IAAuBgC,GAAK,mBAAsBA,EAAE4I,KAAO,mBAAsB5I,EAAE6I,IAAK,CAClH,IAAIzI,EAAIJ,EAAE4I,IACNhB,EAAI5H,EAAE6I,IAcV,OAbAxL,OAAOC,eAAeQ,EAAGE,EAAG,CAC1B+F,cAAc,EACd6E,IAAK,WACH,OAAOxI,EAAE2G,KAAKlE,OAEhBgG,IAAK,SAAa/K,GAChBqC,EAAI,GAAKrC,EACT8J,EAAEb,KAAKlE,KAAM/E,MAGjBT,OAAOC,eAAeQ,EAAGE,EAAG,CAC1B8F,WAAY9D,EAAE8D,aAET,CACL4iB,SAAU,WACR,OAAOvmB,GAETwmB,SAAU,SAAkB7oB,GAC1BqC,EAAI,GAAKrC,GAEX8oB,aAAc,WACZ9oB,EAAE0oB,cAAgB,YACX1oB,EAAEE,MAOuB6oB,CAAG/oB,IAG3C,SAASgpB,GAAGhpB,GACV,IAAKA,EAAG,OAAO,EACf,IAAIE,EAAIF,EAAE0oB,cACV,IAAKxoB,EAAG,OAAO,EACf,IAAIgC,EAAIhC,EAAE0oB,WACNvmB,EAAI,GAGR,OAFArC,IAAMqC,EAAIkmB,GAAGvoB,GAAKA,EAAEipB,QAAU,OAAS,QAAUjpB,EAAEN,QACnDM,EAAIqC,KACSH,IAAKhC,EAAE2oB,SAAS7oB,IAAI,GAGnC,SAASkpB,GAAGlpB,EAAGE,GACb,IAAIgC,EAAIhC,EAAE+oB,QACV,OAAOrmB,EAAE,GAAI1C,EAAG,CACdipB,oBAAgB,EAChBC,kBAAc,EACd1pB,WAAO,EACPupB,QAAS,MAAQ/mB,EAAIA,EAAIlC,EAAEqpB,cAAcC,iBAI7C,SAASC,GAAGvpB,EAAGE,GACb,IAAIgC,EAAI,MAAQhC,EAAEkpB,aAAe,GAAKlpB,EAAEkpB,aACpC/mB,EAAI,MAAQnC,EAAE+oB,QAAU/oB,EAAE+oB,QAAU/oB,EAAEipB,eAC1CjnB,EAAI6lB,GAAG,MAAQ7nB,EAAER,MAAQQ,EAAER,MAAQwC,GACnClC,EAAEqpB,cAAgB,CAChBC,eAAgBjnB,EAChBmnB,aAActnB,EACdunB,WAAY,aAAevpB,EAAEmO,MAAQ,UAAYnO,EAAEmO,KAAO,MAAQnO,EAAE+oB,QAAU,MAAQ/oB,EAAER,OAI5F,SAASgqB,GAAG1pB,EAAGE,GAEb,OADAA,EAAIA,EAAE+oB,UACOjB,GAAGhoB,EAAG,UAAWE,GAAG,GAGnC,SAASypB,GAAG3pB,EAAGE,GACbwpB,GAAG1pB,EAAGE,GACN,IAAIgC,EAAI6lB,GAAG7nB,EAAER,OACT2C,EAAInC,EAAEmO,KACV,GAAI,MAAQnM,EACN,WAAaG,GACX,IAAMH,GAAK,KAAOlC,EAAEN,OAASM,EAAEN,OAASwC,KAAGlC,EAAEN,MAAQ,GAAKwC,GACzDlC,EAAEN,QAAU,GAAKwC,IAAMlC,EAAEN,MAAQ,GAAKwC,QACxC,GAAI,WAAaG,GAAK,UAAYA,EAEvC,YADArC,EAAEyb,gBAAgB,SAGpBvb,EAAEoJ,eAAe,SAAWsgB,GAAG5pB,EAAGE,EAAEmO,KAAMnM,GAAKhC,EAAEoJ,eAAe,iBAAmBsgB,GAAG5pB,EAAGE,EAAEmO,KAAM0Z,GAAG7nB,EAAEkpB,eACtG,MAAQlpB,EAAE+oB,SAAW,MAAQ/oB,EAAEipB,iBAAmBnpB,EAAEmpB,iBAAmBjpB,EAAEipB,gBAG3E,SAASU,GAAG7pB,EAAGE,EAAGgC,GAChB,GAAIhC,EAAEoJ,eAAe,UAAYpJ,EAAEoJ,eAAe,gBAAiB,CACjE,IAAIjH,EAAInC,EAAEmO,KACV,KAAM,WAAahM,GAAK,UAAYA,QAAK,IAAWnC,EAAER,OAAS,OAASQ,EAAER,OAAQ,OAClFQ,EAAI,GAAKF,EAAEqpB,cAAcG,aACzBtnB,GAAKhC,IAAMF,EAAEN,QAAUM,EAAEN,MAAQQ,GACjCF,EAAEopB,aAAelpB,EAInB,MADAgC,EAAIlC,EAAE0I,QACO1I,EAAE0I,KAAO,IACtB1I,EAAEmpB,gBAAkBnpB,EAAEmpB,eACtBnpB,EAAEmpB,iBAAmBnpB,EAAEqpB,cAAcC,eACrC,KAAOpnB,IAAMlC,EAAE0I,KAAOxG,GAGxB,SAAS0nB,GAAG5pB,EAAGE,EAAGgC,GACZ,WAAahC,GAAKF,EAAE8pB,cAAcC,gBAAkB/pB,IAAG,MAAQkC,EAAIlC,EAAEopB,aAAe,GAAKppB,EAAEqpB,cAAcG,aAAexpB,EAAEopB,eAAiB,GAAKlnB,IAAMlC,EAAEopB,aAAe,GAAKlnB,IAWlL,SAAS8nB,GAAGhqB,EAAGE,GAKb,OAJAF,EAAI4C,EAAE,CACJwN,cAAU,GACTlQ,IACCA,EAZN,SAAYF,GACV,IAAIE,EAAI,GAIR,OAHA+d,EAAG3N,SAASP,QAAQ/P,GAAG,SAAUA,GAC/B,MAAQA,IAAME,GAAKF,MAEdE,EAOC+pB,CAAG/pB,EAAEkQ,aAAWpQ,EAAEoQ,SAAWlQ,GAC9BF,EAGT,SAASkqB,GAAGlqB,EAAGE,EAAGgC,EAAGG,GAGnB,GAFArC,EAAIA,EAAEmqB,QAEFjqB,EAAG,CACLA,EAAI,GAEJ,IAAK,IAAIoC,EAAI,EAAGA,EAAIJ,EAAEC,OAAQG,IAC5BpC,EAAE,IAAMgC,EAAEI,KAAM,EAGlB,IAAKJ,EAAI,EAAGA,EAAIlC,EAAEmC,OAAQD,IACxBI,EAAIpC,EAAEoJ,eAAe,IAAMtJ,EAAEkC,GAAGxC,OAAQM,EAAEkC,GAAGkoB,WAAa9nB,IAAMtC,EAAEkC,GAAGkoB,SAAW9nB,GAAIA,GAAKD,IAAMrC,EAAEkC,GAAGmoB,iBAAkB,OAEnH,CAIL,IAHAnoB,EAAI,GAAK6lB,GAAG7lB,GACZhC,EAAI,KAECoC,EAAI,EAAGA,EAAItC,EAAEmC,OAAQG,IAAK,CAC7B,GAAItC,EAAEsC,GAAG5C,QAAUwC,EAGjB,OAFAlC,EAAEsC,GAAG8nB,UAAW,OAChB/nB,IAAMrC,EAAEsC,GAAG+nB,iBAAkB,IAI/B,OAASnqB,GAAKF,EAAEsC,GAAGsiB,WAAa1kB,EAAIF,EAAEsC,IAGxC,OAASpC,IAAMA,EAAEkqB,UAAW,IAIhC,SAASE,GAAGtqB,EAAGE,GACb,GAAI,MAAQA,EAAEsd,wBAAyB,MAAM9W,MAAMtG,EAAE,KACrD,OAAOwC,EAAE,GAAI1C,EAAG,CACdR,WAAO,EACP0pB,kBAAc,EACdhZ,SAAU,GAAKpQ,EAAEqpB,cAAcG,eAInC,SAASe,GAAGvqB,EAAGE,GACb,IAAIgC,EAAIhC,EAAER,MAEV,GAAI,MAAQwC,EAAG,CAIb,GAHAA,EAAIhC,EAAEkpB,aAGF,OAFJlpB,EAAIA,EAAEkQ,UAES,CACb,GAAI,MAAQlO,EAAG,MAAMwE,MAAMtG,EAAE,KAE7B,GAAIsS,MAAMD,QAAQvS,GAAI,CACpB,KAAM,GAAKA,EAAEiC,QAAS,MAAMuE,MAAMtG,EAAE,KACpCF,EAAIA,EAAE,GAGRgC,EAAIhC,EAGN,MAAQgC,IAAMA,EAAI,IAGpBlC,EAAEqpB,cAAgB,CAChBG,aAAczB,GAAG7lB,IAIrB,SAASsoB,GAAGxqB,EAAGE,GACb,IAAIgC,EAAI6lB,GAAG7nB,EAAER,OACT2C,EAAI0lB,GAAG7nB,EAAEkpB,cACb,MAAQlnB,KAAMA,EAAI,GAAKA,KAASlC,EAAEN,QAAUM,EAAEN,MAAQwC,GAAI,MAAQhC,EAAEkpB,cAAgBppB,EAAEopB,eAAiBlnB,IAAMlC,EAAEopB,aAAelnB,IAC9H,MAAQG,IAAMrC,EAAEopB,aAAe,GAAK/mB,GAGtC,SAASooB,GAAGzqB,GACV,IAAIE,EAAIF,EAAE0qB,YACVxqB,IAAMF,EAAEqpB,cAAcG,cAAgB,KAAOtpB,GAAK,OAASA,IAAMF,EAAEN,MAAQQ,GAzP7E,0jCAA0jCgb,MAAM,KAAKnL,SAAQ,SAAU/P,GACrlC,IAAIE,EAAIF,EAAEsX,QAAQsQ,GAAIC,IACtBxmB,GAAEnB,GAAK,IAAIiB,GAAEjB,EAAG,GAAG,EAAIF,EAAG,MAAM,MAElC,2EAA2Ekb,MAAM,KAAKnL,SAAQ,SAAU/P,GACtG,IAAIE,EAAIF,EAAEsX,QAAQsQ,GAAIC,IACtBxmB,GAAEnB,GAAK,IAAIiB,GAAEjB,EAAG,GAAG,EAAIF,EAAG,gCAAgC,MAE5D,CAAC,WAAY,WAAY,aAAa+P,SAAQ,SAAU/P,GACtD,IAAIE,EAAIF,EAAEsX,QAAQsQ,GAAIC,IACtBxmB,GAAEnB,GAAK,IAAIiB,GAAEjB,EAAG,GAAG,EAAIF,EAAG,wCAAwC,MAEpE,CAAC,WAAY,eAAe+P,SAAQ,SAAU/P,GAC5CqB,GAAErB,GAAK,IAAImB,GAAEnB,EAAG,GAAG,EAAIA,EAAEyY,cAAe,MAAM,MAEhDpX,GAAEspB,UAAY,IAAIxpB,GAAE,YAAa,GAAG,EAAI,aAAc,gCAAgC,GACtF,CAAC,MAAO,OAAQ,SAAU,cAAc4O,SAAQ,SAAU/P,GACxDqB,GAAErB,GAAK,IAAImB,GAAEnB,EAAG,GAAG,EAAIA,EAAEyY,cAAe,MAAM,MA2OhD,IAAImS,GAAK,CACPC,KAAM,+BACNC,OAAQ,qCACRC,IAAK,8BAGP,SAASC,GAAGhrB,GACV,OAAQA,GACN,IAAK,MACH,MAAO,6BAET,IAAK,OACH,MAAO,qCAET,QACE,MAAO,gCAIb,SAASirB,GAAGjrB,EAAGE,GACb,OAAO,MAAQF,GAAK,iCAAmCA,EAAIgrB,GAAG9qB,GAAK,+BAAiCF,GAAK,kBAAoBE,EAAI,+BAAiCF,EAGpK,IAAIkrB,GACAC,GAAK,SAAUnrB,GACjB,MAAO,oBAAuBorB,OAASA,MAAMC,wBAA0B,SAAUnrB,EAAGgC,EAAGG,EAAGC,GACxF8oB,MAAMC,yBAAwB,WAC5B,OAAOrrB,EAAEE,EAAGgC,OAEZlC,EALG,EAMP,SAAUA,EAAGE,GACb,GAAIF,EAAEsrB,eAAiBV,GAAGG,KAAO,cAAe/qB,EAAGA,EAAEyO,UAAYvO,MAAO,CAItE,KAHAgrB,GAAKA,IAAM9kB,SAASC,cAAc,QAC/BoI,UAAY,QAAUvO,EAAEqrB,UAAUhY,WAAa,SAE7CrT,EAAIgrB,GAAGM,WAAYxrB,EAAEwrB,YACxBxrB,EAAE0c,YAAY1c,EAAEwrB,YAGlB,KAAOtrB,EAAEsrB,YACPxrB,EAAEoc,YAAYlc,EAAEsrB,gBAKtB,SAASC,GAAGzrB,EAAGE,GACb,GAAIA,EAAG,CACL,IAAIgC,EAAIlC,EAAEwrB,WAEV,GAAItpB,GAAKA,IAAMlC,EAAE0rB,WAAa,IAAMxpB,EAAEypB,SAEpC,YADAzpB,EAAE0pB,UAAY1rB,GAKlBF,EAAE0qB,YAAcxqB,EAGlB,SAAS2rB,GAAG7rB,EAAGE,GACb,IAAIgC,EAAI,GAIR,OAHAA,EAAElC,EAAEyY,eAAiBvY,EAAEuY,cACvBvW,EAAE,SAAWlC,GAAK,SAAWE,EAC7BgC,EAAE,MAAQlC,GAAK,MAAQE,EAChBgC,EAGT,IAAI4pB,GAAK,CACPC,aAAcF,GAAG,YAAa,gBAC9BG,mBAAoBH,GAAG,YAAa,sBACpCI,eAAgBJ,GAAG,YAAa,kBAChCK,cAAeL,GAAG,aAAc,kBAE9BM,GAAK,GACLC,GAAK,GAGT,SAASC,GAAGrsB,GACV,GAAImsB,GAAGnsB,GAAI,OAAOmsB,GAAGnsB,GACrB,IAAK8rB,GAAG9rB,GAAI,OAAOA,EACnB,IACIkC,EADAhC,EAAI4rB,GAAG9rB,GAGX,IAAKkC,KAAKhC,EACR,GAAIA,EAAEoJ,eAAepH,IAAMA,KAAKkqB,GAAI,OAAOD,GAAGnsB,GAAKE,EAAEgC,GAGvD,OAAOlC,EAZTomB,IAAOgG,GAAKhmB,SAASC,cAAc,OAAOyL,MAAO,mBAAoBnS,gBAAkBmsB,GAAGC,aAAaO,iBAAkBR,GAAGE,mBAAmBM,iBAAkBR,GAAGG,eAAeK,WAAY,oBAAqB3sB,eAAiBmsB,GAAGI,cAAcK,YAetP,IAAIC,GAAKH,GAAG,gBACRI,GAAKJ,GAAG,sBACRK,GAAKL,GAAG,kBACRM,GAAKN,GAAG,iBACRO,GAAK,sNAAsN1R,MAAM,KAErO,SAAS2R,GAAG7sB,GACV,IAAIE,EAAIF,EACJkC,EAAIlC,EACR,GAAIA,EAAE8sB,UAAW,KAAO5sB,EAAU,QAChCA,EAAIA,EAAU,WACT,CACLF,EAAIE,EAEJ,GACS,IAAqB,MAA5BA,EAAIF,GAAY+sB,aAAsB7qB,EAAIhC,EAAU,QAAIF,EAAIE,EAAU,aAC/DF,GAEX,OAAO,IAAME,EAAEqY,IAAMrW,EAAI,KAG3B,SAAS8qB,GAAGhtB,GACV,GAAI,KAAOA,EAAEuY,IAAK,CAChB,IAAIrY,EAAIF,EAAEitB,cAEV,GADA,OAAS/sB,IAAuB,QAAjBF,EAAIA,EAAE8sB,aAA0B5sB,EAAIF,EAAEitB,gBACjD,OAAS/sB,EAAG,OAAOA,EAAEgtB,WAG3B,OAAO,KAGT,SAASC,GAAGntB,GACV,GAAI6sB,GAAG7sB,KAAOA,EAAG,MAAM0G,MAAMtG,EAAE,MAsFjC,SAASgtB,GAAGptB,GAEV,KADAA,EApFF,SAAYA,GACV,IAAIE,EAAIF,EAAE8sB,UAEV,IAAK5sB,EAAG,CAEN,GAAI,QADJA,EAAI2sB,GAAG7sB,IACS,MAAM0G,MAAMtG,EAAE,MAC9B,OAAOF,IAAMF,EAAI,KAAOA,EAG1B,IAAK,IAAIkC,EAAIlC,EAAGqC,EAAInC,IAAK,CACvB,IAAIoC,EAAIJ,EAAU,OAClB,GAAI,OAASI,EAAG,MAChB,IAAIwH,EAAIxH,EAAEwqB,UAEV,GAAI,OAAShjB,EAAG,CAGd,GAAI,QAFJzH,EAAIC,EAAU,QAEE,CACdJ,EAAIG,EACJ,SAGF,MAGF,GAAIC,EAAE6L,QAAUrE,EAAEqE,MAAO,CACvB,IAAKrE,EAAIxH,EAAE6L,MAAOrE,GAAI,CACpB,GAAIA,IAAM5H,EAAG,OAAOirB,GAAG7qB,GAAItC,EAC3B,GAAI8J,IAAMzH,EAAG,OAAO8qB,GAAG7qB,GAAIpC,EAC3B4J,EAAIA,EAAEujB,QAGR,MAAM3mB,MAAMtG,EAAE,MAGhB,GAAI8B,EAAU,SAAMG,EAAU,OAAGH,EAAII,EAAGD,EAAIyH,MAAO,CACjD,IAAK,IAAI3K,GAAI,EAAIC,EAAIkD,EAAE6L,MAAO/O,GAAI,CAChC,GAAIA,IAAM8C,EAAG,CACX/C,GAAI,EACJ+C,EAAII,EACJD,EAAIyH,EACJ,MAGF,GAAI1K,IAAMiD,EAAG,CACXlD,GAAI,EACJkD,EAAIC,EACJJ,EAAI4H,EACJ,MAGF1K,EAAIA,EAAEiuB,QAGR,IAAKluB,EAAG,CACN,IAAKC,EAAI0K,EAAEqE,MAAO/O,GAAI,CACpB,GAAIA,IAAM8C,EAAG,CACX/C,GAAI,EACJ+C,EAAI4H,EACJzH,EAAIC,EACJ,MAGF,GAAIlD,IAAMiD,EAAG,CACXlD,GAAI,EACJkD,EAAIyH,EACJ5H,EAAII,EACJ,MAGFlD,EAAIA,EAAEiuB,QAGR,IAAKluB,EAAG,MAAMuH,MAAMtG,EAAE,OAG1B,GAAI8B,EAAE4qB,YAAczqB,EAAG,MAAMqE,MAAMtG,EAAE,MAGvC,GAAI,IAAM8B,EAAEqW,IAAK,MAAM7R,MAAMtG,EAAE,MAC/B,OAAO8B,EAAEyiB,UAAUzM,UAAYhW,EAAIlC,EAAIE,EAInCotB,CAAGttB,IACC,OAAO,KAEf,IAAK,IAAIE,EAAIF,IAAK,CAChB,GAAI,IAAME,EAAEqY,KAAO,IAAMrY,EAAEqY,IAAK,OAAOrY,EACvC,GAAIA,EAAEiO,MAAOjO,EAAEiO,MAAc,OAAIjO,EAAGA,EAAIA,EAAEiO,UAAW,CACnD,GAAIjO,IAAMF,EAAG,MAEb,MAAQE,EAAEmtB,SAAU,CAClB,IAAKntB,EAAU,QAAKA,EAAU,SAAMF,EAAG,OAAO,KAC9CE,EAAIA,EAAU,OAGhBA,EAAEmtB,QAAgB,OAAIntB,EAAU,OAChCA,EAAIA,EAAEmtB,SAIV,OAAO,KAGT,IAAIE,GACAC,GACAC,GACAC,IAAK,EACLC,GAAK,GACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,IAAI9G,IACT+G,GAAK,IAAI/G,IACTgH,GAAK,GACLC,GAAK,0QAA0QhT,MAAM,KACrRiT,GAAK,gHAAgHjT,MAAM,KAY/H,SAASkT,GAAGpuB,EAAGE,EAAGgC,EAAGG,GACnB,MAAO,CACLgsB,UAAWruB,EACXsuB,aAAcpuB,EACdquB,iBAAsB,GAAJrsB,EAClBssB,YAAansB,GAIjB,SAASosB,GAAGzuB,EAAGE,GACb,OAAQF,GACN,IAAK,QACL,IAAK,OACH4tB,GAAK,KACL,MAEF,IAAK,YACL,IAAK,YACHC,GAAK,KACL,MAEF,IAAK,YACL,IAAK,WACHC,GAAK,KACL,MAEF,IAAK,cACL,IAAK,aACHC,GAAW,OAAE7tB,EAAEwuB,WACf,MAEF,IAAK,oBACL,IAAK,qBACHV,GAAW,OAAE9tB,EAAEwuB,YAIrB,SAASC,GAAG3uB,EAAGE,EAAGgC,EAAGG,EAAGC,GACtB,OAAI,OAAStC,GAAKA,EAAEwuB,cAAgBlsB,GAAUtC,EAAIouB,GAAGluB,EAAGgC,EAAGG,EAAGC,GAAI,OAASpC,IAAiB,QAAXA,EAAI0uB,GAAG1uB,KAAkBstB,GAAGttB,IAAKF,IAClHA,EAAEuuB,kBAAoBlsB,EACfrC,GA0BT,SAAS6uB,GAAG7uB,GACV,IAAIE,EAAI4uB,GAAG9uB,EAAEgM,QAEb,GAAI,OAAS9L,EAAG,CACd,IAAIgC,EAAI2qB,GAAG3sB,GACX,GAAI,OAASgC,EAAG,GAAe,MAAXhC,EAAIgC,EAAEqW,MACxB,GAAe,QAAXrY,EAAI8sB,GAAG9qB,IAKT,OAJAlC,EAAEquB,UAAYnuB,OACdJ,EAAEyE,yBAAyBvE,EAAE+uB,UAAU,WACrCtB,GAAGvrB,WAIF,GAAI,IAAMhC,GAAKgC,EAAEyiB,UAAUqK,QAEhC,YADAhvB,EAAEquB,UAAY,IAAMnsB,EAAEqW,IAAMrW,EAAEyiB,UAAUsK,cAAgB,MAK5DjvB,EAAEquB,UAAY,KAGhB,SAASa,GAAGlvB,GACV,GAAI,OAASA,EAAEquB,UAAW,OAAO,EACjC,IAAInuB,EAAIivB,GAAGnvB,EAAEsuB,aAActuB,EAAEuuB,iBAAkBvuB,EAAEwuB,aAEjD,GAAI,OAAStuB,EAAG,CACd,IAAIgC,EAAI0sB,GAAG1uB,GAGX,OAFA,OAASgC,GAAKsrB,GAAGtrB,GACjBlC,EAAEquB,UAAYnuB,GACP,EAGT,OAAO,EAGT,SAASkvB,GAAGpvB,EAAGE,EAAGgC,GAChBgtB,GAAGlvB,IAAMkC,EAAU,OAAEhC,GAGvB,SAASmvB,KACP,IAAK3B,IAAK,EAAI,EAAIC,GAAGxrB,QAAS,CAC5B,IAAInC,EAAI2tB,GAAG,GAEX,GAAI,OAAS3tB,EAAEquB,UAAW,CAExB,QADAruB,EAAI4uB,GAAG5uB,EAAEquB,aACKd,GAAGvtB,GACjB,MAGF,IAAIE,EAAIivB,GAAGnvB,EAAEsuB,aAActuB,EAAEuuB,iBAAkBvuB,EAAEwuB,aACjD,OAAStuB,EAAIF,EAAEquB,UAAYnuB,EAAIytB,GAAG2B,QAGpC,OAAS1B,IAAMsB,GAAGtB,MAAQA,GAAK,MAC/B,OAASC,IAAMqB,GAAGrB,MAAQA,GAAK,MAC/B,OAASC,IAAMoB,GAAGpB,MAAQA,GAAK,MAC/BC,GAAGhe,QAAQqf,IACXpB,GAAGje,QAAQqf,IAGb,SAASG,GAAGvvB,EAAGE,GACbF,EAAEquB,YAAcnuB,IAAMF,EAAEquB,UAAY,KAAMX,KAAOA,IAAK,EAAI5tB,EAAE2E,0BAA0B3E,EAAEsE,wBAAyBirB,MAGnH,SAASG,GAAGxvB,GACV,SAASE,EAAEA,GACT,OAAOqvB,GAAGrvB,EAAGF,GAGf,GAAI,EAAI2tB,GAAGxrB,OAAQ,CACjBotB,GAAG5B,GAAG,GAAI3tB,GAEV,IAAK,IAAIkC,EAAI,EAAGA,EAAIyrB,GAAGxrB,OAAQD,IAAK,CAClC,IAAIG,EAAIsrB,GAAGzrB,GACXG,EAAEgsB,YAAcruB,IAAMqC,EAAEgsB,UAAY,OAUxC,IANA,OAAST,IAAM2B,GAAG3B,GAAI5tB,GACtB,OAAS6tB,IAAM0B,GAAG1B,GAAI7tB,GACtB,OAAS8tB,IAAMyB,GAAGzB,GAAI9tB,GACtB+tB,GAAGhe,QAAQ7P,GACX8tB,GAAGje,QAAQ7P,GAENgC,EAAI,EAAGA,EAAI+rB,GAAG9rB,OAAQD,KACzBG,EAAI4rB,GAAG/rB,IAAMmsB,YAAcruB,IAAMqC,EAAEgsB,UAAY,MAGjD,KAAO,EAAIJ,GAAG9rB,QAAsB,QAAXD,EAAI+rB,GAAG,IAAeI,WAC7CQ,GAAG3sB,GAAI,OAASA,EAAEmsB,WAAaJ,GAAGqB,QAItC,SAASG,GAAGzvB,GAGV,OAFAA,EAAIA,EAAEgM,QAAUhM,EAAE0vB,YAAc/vB,QAC9BgwB,0BAA4B3vB,EAAIA,EAAE2vB,yBAC7B,IAAM3vB,EAAE2rB,SAAW3rB,EAAEyc,WAAazc,EAG3C,SAAS4vB,GAAG5vB,GACV,GACEA,EAAIA,EAAU,aACPA,GAAK,IAAMA,EAAEuY,KAEtB,OAAOvY,GAAQ,KAGjB,SAAS6vB,GAAG7vB,EAAGE,EAAGgC,IACZhC,EAAIwkB,EAAG1kB,EAAGkC,EAAE4tB,eAAerN,wBAAwBviB,OAAKgC,EAAE+hB,mBAAqBJ,EAAG3hB,EAAE+hB,mBAAoB/jB,GAAIgC,EAAEgiB,mBAAqBL,EAAG3hB,EAAEgiB,mBAAoBlkB,IAGlK,SAAS+vB,GAAG/vB,GACV,GAAIA,GAAKA,EAAE8vB,eAAerN,wBAAyB,CACjD,IAAK,IAAIviB,EAAIF,EAAEgwB,YAAa9tB,EAAI,GAAIhC,GAClCgC,EAAEE,KAAKlC,GAAIA,EAAI0vB,GAAG1vB,GAGpB,IAAKA,EAAIgC,EAAEC,OAAQ,EAAIjC,KACrB2vB,GAAG3tB,EAAEhC,GAAI,WAAYF,GAGvB,IAAKE,EAAI,EAAGA,EAAIgC,EAAEC,OAAQjC,IACxB2vB,GAAG3tB,EAAEhC,GAAI,UAAWF,IAK1B,SAASiwB,GAAGjwB,EAAGE,EAAGgC,GAChBlC,GAAKkC,GAAKA,EAAE4tB,eAAenN,mBAAqBziB,EAAIwkB,EAAG1kB,EAAGkC,EAAE4tB,eAAenN,qBAAuBzgB,EAAE+hB,mBAAqBJ,EAAG3hB,EAAE+hB,mBAAoB/jB,GAAIgC,EAAEgiB,mBAAqBL,EAAG3hB,EAAEgiB,mBAAoBlkB,IAGxM,SAASkwB,GAAGlwB,GACVA,GAAKA,EAAE8vB,eAAenN,kBAAoBsN,GAAGjwB,EAAEgwB,YAAa,KAAMhwB,GAGpE,SAASmwB,GAAGnwB,GACV8jB,EAAG9jB,EAAG+vB,IAGR,SAASK,KACP,OAAO,EAGT,SAASC,KACP,OAAO,EAGT,SAAS/uB,GAAEtB,EAAGE,EAAGgC,EAAGG,GAMlB,IAAK,IAAIC,KALTyC,KAAK+qB,eAAiB9vB,EACtB+E,KAAKirB,YAAc9vB,EACnB6E,KAAKypB,YAActsB,EACnBlC,EAAI+E,KAAKyC,YAAY8oB,UAGnBtwB,EAAEsJ,eAAehH,MAAQpC,EAAIF,EAAEsC,IAAMyC,KAAKzC,GAAKpC,EAAEgC,GAAK,WAAaI,EAAIyC,KAAKiH,OAAS3J,EAAI0C,KAAKzC,GAAKJ,EAAEI,IAKvG,OAFAyC,KAAKwrB,oBAAsB,MAAQruB,EAAEsuB,iBAAmBtuB,EAAEsuB,kBAAmB,IAAOtuB,EAAEuuB,aAAeL,GAAKC,GAC1GtrB,KAAKof,qBAAuBkM,GACrBtrB,KAmET,SAAS2rB,GAAG1wB,EAAGE,EAAGgC,EAAGG,GACnB,GAAI0C,KAAK4rB,UAAUxuB,OAAQ,CACzB,IAAIG,EAAIyC,KAAK4rB,UAAUjuB,MAEvB,OADAqC,KAAKkE,KAAK3G,EAAGtC,EAAGE,EAAGgC,EAAGG,GACfC,EAGT,OAAO,IAAIyC,KAAK/E,EAAGE,EAAGgC,EAAGG,GAG3B,SAASuuB,GAAG5wB,GACV,KAAMA,aAAa+E,MAAO,MAAM2B,MAAMtG,EAAE,MACxCJ,EAAE6wB,aACF,GAAK9rB,KAAK4rB,UAAUxuB,QAAU4C,KAAK4rB,UAAUvuB,KAAKpC,GAGpD,SAAS8wB,GAAG9wB,GACVA,EAAE2wB,UAAY,GACd3wB,EAAE+wB,UAAYL,GACd1wB,EAAEqkB,QAAUuM,GAnFdhuB,EAAEtB,GAAEgG,UAAW,CACb0pB,eAAgB,WACdjsB,KAAKyrB,kBAAmB,EACxB,IAAIxwB,EAAI+E,KAAKypB,YACbxuB,IAAMA,EAAEgxB,eAAiBhxB,EAAEgxB,iBAAmB,kBAAqBhxB,EAAEywB,cAAgBzwB,EAAEywB,aAAc,GAAK1rB,KAAKwrB,mBAAqBH,KAEtIa,gBAAiB,WACf,IAAIjxB,EAAI+E,KAAKypB,YACbxuB,IAAMA,EAAEixB,gBAAkBjxB,EAAEixB,kBAAoB,kBAAqBjxB,EAAEkxB,eAAiBlxB,EAAEkxB,cAAe,GAAKnsB,KAAKof,qBAAuBiM,KAE5Ie,QAAS,WACPpsB,KAAKqf,aAAegM,IAEtBhM,aAAciM,GACdQ,WAAY,WACV,IACI3wB,EADAF,EAAI+E,KAAKyC,YAAY8oB,UAGzB,IAAKpwB,KAAKF,EACR+E,KAAK7E,GAAK,KAGZ6E,KAAKypB,YAAczpB,KAAKirB,YAAcjrB,KAAK+qB,eAAiB,KAC5D/qB,KAAKof,qBAAuBpf,KAAKwrB,mBAAqBF,GACtDtrB,KAAKmf,mBAAqBnf,KAAKkf,mBAAqB,QAGxD3iB,GAAEgvB,UAAY,CACZjiB,KAAM,KACNrC,OAAQ,KACR2X,cAAe,WACb,OAAO,MAETyN,WAAY,KACZC,QAAS,KACTC,WAAY,KACZC,UAAW,SAAmBvxB,GAC5B,OAAOA,EAAEuxB,WAAalxB,KAAKC,OAE7BkwB,iBAAkB,KAClBgB,UAAW,MAGblwB,GAAEmwB,OAAS,SAAUzxB,GACnB,SAASE,KAET,SAASgC,IACP,OAAOG,EAAEyC,MAAMC,KAAMC,WAGvB,IAAI3C,EAAI0C,KACR7E,EAAEoH,UAAYjF,EAAEiF,UAChB,IAAIhF,EAAI,IAAIpC,EAOZ,OANA0C,EAAEN,EAAGJ,EAAEoF,WACPpF,EAAEoF,UAAYhF,EACdJ,EAAEoF,UAAUE,YAActF,EAC1BA,EAAEouB,UAAY1tB,EAAE,GAAIP,EAAEiuB,UAAWtwB,GACjCkC,EAAEuvB,OAASpvB,EAAEovB,OACbX,GAAG5uB,GACIA,GAGT4uB,GAAGxvB,IAwBH,IAAIowB,GAAKpwB,GAAEmwB,OAAO,CAChBE,cAAe,KACfC,YAAa,KACbC,cAAe,OAEbC,GAAKxwB,GAAEmwB,OAAO,CAChBM,cAAe,SAAuB/xB,GACpC,MAAO,kBAAmBA,EAAIA,EAAE+xB,cAAgBpyB,OAAOoyB,iBAGvDC,GAAK1wB,GAAEmwB,OAAO,CAChBQ,KAAM,KACNC,OAAQ,OAENC,GAAKH,GAAGP,OAAO,CACjBW,cAAe,OAGjB,SAASC,GAAGryB,GACV,IAAIE,EAAIF,EAAEsyB,QAGV,MAFA,aAActyB,EAAqB,KAAhBA,EAAIA,EAAEuyB,WAAqB,KAAOryB,IAAMF,EAAI,IAAOA,EAAIE,EAC1E,KAAOF,IAAMA,EAAI,IACV,IAAMA,GAAK,KAAOA,EAAIA,EAAI,EAGnC,IAAIwyB,GAAK,CACPC,IAAK,SACLC,SAAU,IACVC,KAAM,YACNC,GAAI,UACJC,MAAO,aACPC,KAAM,YACNC,IAAK,SACLC,IAAK,KACLC,KAAM,cACNC,KAAM,cACNC,OAAQ,aACRC,gBAAiB,gBAEfC,GAAK,CACPC,EAAG,YACHC,EAAG,MACHC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJC,GAAI,UACJC,GAAI,MACJC,GAAI,QACJC,GAAI,WACJC,GAAI,SACJC,GAAI,IACJC,GAAI,SACJC,GAAI,WACJC,GAAI,MACJC,GAAI,OACJC,GAAI,YACJC,GAAI,UACJC,GAAI,aACJC,GAAI,YACJC,GAAI,SACJC,GAAI,SACJC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,UACLC,IAAK,aACLC,IAAK,QAEHC,GAAK,CACPC,IAAK,SACLC,QAAS,UACTC,KAAM,UACNC,MAAO,YAGT,SAASC,GAAG/1B,GACV,IAAIE,EAAI6E,KAAKypB,YACb,OAAOtuB,EAAE81B,iBAAmB91B,EAAE81B,iBAAiBh2B,MAAMA,EAAI01B,GAAG11B,OAAQE,EAAEF,GAGxE,SAASi2B,KACP,OAAOF,GA6GT,IA1GA,IAAI/yB,GAAKgvB,GAAGP,OAAO,CACjB1rB,IAAK,SAAa/F,GAChB,GAAIA,EAAE+F,IAAK,CACT,IAAI7F,EAAIsyB,GAAGxyB,EAAE+F,MAAQ/F,EAAE+F,IACvB,GAAI,iBAAmB7F,EAAG,OAAOA,EAGnC,MAAO,aAAeF,EAAEqO,KAAmB,MAAXrO,EAAIqyB,GAAGryB,IAAe,QAAUqX,OAAO6e,aAAal2B,GAAM,YAAcA,EAAEqO,MAAQ,UAAYrO,EAAEqO,KAAOglB,GAAGrzB,EAAEsyB,UAAY,eAAiB,IAE3K5b,SAAU,KACVyf,QAAS,KACTC,SAAU,KACVC,OAAQ,KACRC,QAAS,KACTC,OAAQ,KACRC,OAAQ,KACRR,iBAAkBC,GAClB1D,SAAU,SAAkBvyB,GAC1B,MAAO,aAAeA,EAAEqO,KAAOgkB,GAAGryB,GAAK,GAEzCsyB,QAAS,SAAiBtyB,GACxB,MAAO,YAAcA,EAAEqO,MAAQ,UAAYrO,EAAEqO,KAAOrO,EAAEsyB,QAAU,GAElEmE,MAAO,SAAez2B,GACpB,MAAO,aAAeA,EAAEqO,KAAOgkB,GAAGryB,GAAK,YAAcA,EAAEqO,MAAQ,UAAYrO,EAAEqO,KAAOrO,EAAEsyB,QAAU,KAGhGoE,GAAK,EACLC,GAAK,EACLC,IAAK,EACLC,IAAK,EACLC,GAAK9E,GAAGP,OAAO,CACjBsF,QAAS,KACTC,QAAS,KACTC,QAAS,KACTC,QAAS,KACTC,MAAO,KACPC,MAAO,KACPjB,QAAS,KACTC,SAAU,KACVC,OAAQ,KACRC,QAAS,KACTN,iBAAkBC,GAClBoB,OAAQ,KACRC,QAAS,KACTlF,cAAe,SAAuBpyB,GACpC,OAAOA,EAAEoyB,gBAAkBpyB,EAAEu3B,cAAgBv3B,EAAE0vB,WAAa1vB,EAAEw3B,UAAYx3B,EAAEu3B,cAE9EE,UAAW,SAAmBz3B,GAC5B,GAAI,cAAeA,EAAG,OAAOA,EAAEy3B,UAC/B,IAAIv3B,EAAIw2B,GAER,OADAA,GAAK12B,EAAE+2B,QACAH,GAAK,cAAgB52B,EAAEqO,KAAOrO,EAAE+2B,QAAU72B,EAAI,GAAK02B,IAAK,EAAI,IAErEc,UAAW,SAAmB13B,GAC5B,GAAI,cAAeA,EAAG,OAAOA,EAAE03B,UAC/B,IAAIx3B,EAAIy2B,GAER,OADAA,GAAK32B,EAAEg3B,QACAH,GAAK,cAAgB72B,EAAEqO,KAAOrO,EAAEg3B,QAAU92B,EAAI,GAAK22B,IAAK,EAAI,MAGnEc,GAAKb,GAAGrF,OAAO,CACjB/C,UAAW,KACXkJ,MAAO,KACPC,OAAQ,KACRC,SAAU,KACVC,mBAAoB,KACpBC,MAAO,KACPC,MAAO,KACPC,MAAO,KACPC,YAAa,KACbC,UAAW,OAETC,GAAKvB,GAAGrF,OAAO,CACjB6G,aAAc,OAEZC,GAAKvG,GAAGP,OAAO,CACjB+G,QAAS,KACTC,cAAe,KACfC,eAAgB,KAChBrC,OAAQ,KACRC,QAAS,KACTH,QAAS,KACTC,SAAU,KACVJ,iBAAkBC,KAEhB0C,GAAKr3B,GAAEmwB,OAAO,CAChB/J,aAAc,KACdkK,YAAa,KACbC,cAAe,OAEb+G,GAAK9B,GAAGrF,OAAO,CACjBoH,OAAQ,SAAgB74B,GACtB,MAAO,WAAYA,EAAIA,EAAE64B,OAAS,gBAAiB74B,GAAKA,EAAE84B,YAAc,GAE1EC,OAAQ,SAAgB/4B,GACtB,MAAO,WAAYA,EAAIA,EAAE+4B,OAAS,gBAAiB/4B,GAAKA,EAAEg5B,YAAc,eAAgBh5B,GAAKA,EAAEi5B,WAAa,GAE9GC,OAAQ,KACRC,UAAW,OAETC,GAAK,CAAC,CAAC,OAAQ,OAAQ,GAAI,CAAC,SAAU,SAAU,GAAI,CAAC,QAAS,QAAS,GAAI,CAAC,QAAS,QAAS,GAAI,CAAC,cAAe,cAAe,GAAI,CAAC,OAAQ,OAAQ,GAAI,CAAC,MAAO,MAAO,GAAI,CAAC,WAAY,WAAY,GAAI,CAAC,WAAY,cAAe,GAAI,CAAC,UAAW,UAAW,GAAI,CAAC,YAAa,YAAa,GAAI,CAAC,OAAQ,OAAQ,GAAI,CAAC,QAAS,QAAS,GAAI,CAAC,QAAS,QAAS,GAAI,CAAC,UAAW,UAAW,GAAI,CAAC,UAAW,UAAW,GAAI,CAAC,WAAY,WAAY,GAAI,CAAC,QAAS,QAAS,GAAI,CAAC,YAAa,YAAa,GAAI,CAAC,UAAW,UAAW,GAAI,CAAC,QAAS,QAAS,GAAI,CAAC,QAAS,QAAS,GAAI,CAAC,OAAQ,OAAQ,GAAI,CAAC,gBAAiB,gBAAiB,GAAI,CAAC,cAAe,cAAe,GAAI,CAAC,YAAa,YAAa,GAAI,CAAC,aAAc,aAAc,GAAI,CAAC,QAAS,QAAS,GAAI,CAAC,SAAU,SAAU,GAAI,CAAC,SAAU,SAAU,GAAI,CAAC,cAAe,cAAe,GAAI,CAAC,WAAY,WAAY,GAAI,CAAC,aAAc,aAAc,GAAI,CAAC,eAAgB,eAAgB,GAAI,CAAC,OAAQ,OAAQ,GAAI,CAAC,YAAa,YAAa,GAAI,CAAC,WAAY,WAAY,GAAI,CAAC,YAAa,YAAa,GAAI,CAAC,WAAY,WAAY,GAAI,CAAC,YAAa,YAAa,GAAI,CAAC,WAAY,WAAY,GAAI,CAAC,YAAa,YAAa,GAAI,CAAC,cAAe,cAAe,GAAI,CAAC,aAAc,aAAc,GAAI,CAAC,cAAe,cAAe,GAAI,CAAC,SAAU,SAAU,GAAI,CAAC,SAAU,SAAU,GAAI,CAAC,YAAa,YAAa,GAAI,CAAC,QAAS,QAAS,GAAI,CAAC,QAAS,QAAS,GAAI,CAAC5M,GAAI,eAAgB,GAAI,CAACC,GAAI,qBAAsB,GAAI,CAACC,GAAI,iBAAkB,GAAI,CAAC,UAAW,UAAW,GAAI,CAAC,iBAAkB,iBAAkB,GAAI,CAAC,iBAAkB,iBAAkB,GAAI,CAAC,UAAW,UAAW,GAAI,CAAC,YAAa,YAAa,GAAI,CAAC,QAAS,QAAS,GAAI,CAAC,QAAS,QAAS,GAAI,CAAC,oBAAqB,oBAAqB,GAAI,CAAC,OAAQ,OAAQ,GAAI,CAAC,aAAc,aAAc,GAAI,CAAC,iBAAkB,iBAAkB,GAAI,CAAC,YAAa,YAAa,GAAI,CAAC,qBAAsB,qBAAsB,GAAI,CAAC,UAAW,UAAW,GAAI,CAAC,WAAY,WAAY,GAAI,CAAC,UAAW,UAAW,GAAI,CAAC,UAAW,UAAW,GAAI,CAAC,UAAW,UAAW,GAAI,CAAC,aAAc,aAAc,GAAI,CAACC,GAAI,gBAAiB,GAAI,CAAC,UAAW,UAAW,IACtlE0M,GAAK,GACLC,GAAK,GACLC,GAAK,EAEFA,GAAKH,GAAGj3B,OAAQo3B,KAAM,CAC3B,IAAIC,GAAKJ,GAAGG,IACRE,GAAKD,GAAG,GACRE,GAAKF,GAAG,GACRG,GAAKH,GAAG,GACRI,GAAK,MAAQF,GAAG,GAAG5R,cAAgB4R,GAAG1d,MAAM,IAC5C6d,GAAK,CACPpX,wBAAyB,CACvBqX,QAASF,GACTG,SAAUH,GAAK,WAEjB9W,aAAc,CAAC2W,IACfO,cAAeL,IAEjBN,GAAGK,IAAMG,GACTP,GAAGG,IAAMI,GAGX,IAAII,GAAK,CACP1X,WAAY8W,GACZa,iBAAkB,SAA0Bl6B,GAE1C,YAAO,KADPA,EAAIs5B,GAAGt5B,IACeA,EAAEg6B,cAAgB,GAE1C1X,cAAe,SAAuBtiB,EAAGE,EAAGgC,EAAGG,GAC7C,IAAIC,EAAIg3B,GAAGt5B,GACX,IAAKsC,EAAG,OAAO,KAEf,OAAQtC,GACN,IAAK,WACH,GAAI,IAAMqyB,GAAGnwB,GAAI,OAAO,KAE1B,IAAK,UACL,IAAK,QACHlC,EAAIgD,GACJ,MAEF,IAAK,OACL,IAAK,QACHhD,EAAImyB,GACJ,MAEF,IAAK,QACH,GAAI,IAAMjwB,EAAEm1B,OAAQ,OAAO,KAE7B,IAAK,WACL,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,UACL,IAAK,WACL,IAAK,YACL,IAAK,cACHr3B,EAAI82B,GACJ,MAEF,IAAK,OACL,IAAK,UACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,OACH92B,EAAIq4B,GACJ,MAEF,IAAK,cACL,IAAK,WACL,IAAK,YACL,IAAK,aACHr4B,EAAIu4B,GACJ,MAEF,KAAK/L,GACL,KAAKC,GACL,KAAKC,GACH1sB,EAAI0xB,GACJ,MAEF,KAAK/E,GACH3sB,EAAI24B,GACJ,MAEF,IAAK,SACH34B,EAAIgyB,GACJ,MAEF,IAAK,QACHhyB,EAAI44B,GACJ,MAEF,IAAK,OACL,IAAK,MACL,IAAK,QACH54B,EAAI8xB,GACJ,MAEF,IAAK,oBACL,IAAK,qBACL,IAAK,gBACL,IAAK,cACL,IAAK,cACL,IAAK,aACL,IAAK,cACL,IAAK,YACH9xB,EAAI23B,GACJ,MAEF,QACE33B,EAAIsB,GAKR,OADA6uB,GADAjwB,EAAIF,EAAE+wB,UAAUzuB,EAAGpC,EAAGgC,EAAGG,IAElBnC,IAGPi6B,GAAKr6B,EAAEqE,8BACPi2B,GAAKt6B,EAAEyE,yBACP81B,GAAKJ,GAAGC,iBACRI,GAAK,GACLC,GAAK,GAET,SAASC,GAAGx6B,GACV,IAAIE,EAAIF,EAAEy6B,WACNv4B,EAAIhC,EAER,EAAG,CACD,IAAKgC,EAAG,CACNlC,EAAE06B,UAAUt4B,KAAKF,GACjB,MAGF,IAAIG,EAAIH,EACR,GAAI,IAAMG,EAAEkW,IAAKlW,EAAIA,EAAEsiB,UAAUsK,kBAAmB,CAClD,KAAO5sB,EAAU,QACfA,EAAIA,EAAU,OAGhBA,EAAI,IAAMA,EAAEkW,IAAM,KAAOlW,EAAEsiB,UAAUsK,cAEvC,IAAK5sB,EAAG,MAER,KADAnC,EAAIgC,EAAEqW,MACK,IAAMrY,GAAKF,EAAE06B,UAAUt4B,KAAKF,GACvCA,EAAI4sB,GAAGzsB,SACAH,GAET,IAAKA,EAAI,EAAGA,EAAIlC,EAAE06B,UAAUv4B,OAAQD,IAAK,CACvChC,EAAIF,EAAE06B,UAAUx4B,GAChB,IAAII,EAAImtB,GAAGzvB,EAAEwuB,aACbnsB,EAAIrC,EAAEsuB,aAEN,IAAK,IAAIxkB,EAAI9J,EAAEwuB,YAAarvB,EAAIa,EAAEuuB,iBAAkBnvB,EAAI,KAAMC,EAAI,EAAGA,EAAIgjB,EAAGlgB,OAAQ9C,IAAK,CACvF,IAAIC,EAAI+iB,EAAGhjB,GACXC,IAAMA,EAAIA,EAAEgjB,cAAcjgB,EAAGnC,EAAG4J,EAAGxH,EAAGnD,MAAQC,EAAIykB,EAAGzkB,EAAGE,IAG1DglB,EAAGllB,IAIP,IAAIu7B,IAAK,EAET,SAASp5B,GAAEvB,EAAGE,GACZ06B,GAAG16B,EAAGF,GAAG,GAGX,SAAS46B,GAAG56B,EAAGE,EAAGgC,GAChB,OAAQm4B,GAAGn6B,IACT,KAAK,EACH,IAAImC,EAAIw4B,GAAGtxB,KAAK,KAAMrJ,EAAG,GACzB,MAEF,KAAK,EACHmC,EAAIy4B,GAAGvxB,KAAK,KAAMrJ,EAAG,GACrB,MAEF,QACEmC,EAAI04B,GAAGxxB,KAAK,KAAMrJ,EAAG,GAGzBgC,EAAIlC,EAAEg7B,iBAAiB96B,EAAGmC,GAAG,GAAMrC,EAAEg7B,iBAAiB96B,EAAGmC,GAAG,GAG9D,SAASw4B,GAAG76B,EAAGE,EAAGgC,GAChB4kB,IAAMF,KACN,IAAIvkB,EAAI04B,GACJz4B,EAAIwkB,GACRA,IAAK,EAEL,IACEH,GAAGtkB,EAAGrC,EAAGE,EAAGgC,GACZ,SACC4kB,GAAKxkB,IAAM0kB,MAIhB,SAAS8T,GAAG96B,EAAGE,EAAGgC,GAChBk4B,GAAGD,GAAIY,GAAGxxB,KAAK,KAAMvJ,EAAGE,EAAGgC,IAG7B,SAAS+4B,GAAGj7B,EAAGE,EAAGgC,EAAGG,GACnB,GAAIk4B,GAAGp4B,OAAQ,CACb,IAAIG,EAAIi4B,GAAG73B,MACXJ,EAAEgsB,aAAetuB,EACjBsC,EAAEisB,iBAAmBruB,EACrBoC,EAAEksB,YAActsB,EAChBI,EAAEm4B,WAAap4B,EACfrC,EAAIsC,OACCtC,EAAI,CACTsuB,aAActuB,EACduuB,iBAAkBruB,EAClBsuB,YAAatsB,EACbu4B,WAAYp4B,EACZq4B,UAAW,IAGb,IACE,GAAIx6B,EAAIs6B,GAAIt4B,EAAIlC,EAAG+mB,GAAI7mB,EAAEgC,OAAG,OAAa,CACvC6kB,IAAK,EAEL,IACEF,GAAG3mB,EAAGgC,OAAG,GACT,QACA6kB,IAAK,EAAIC,OAGb,QACAhnB,EAAEsuB,aAAe,KAAMtuB,EAAEwuB,YAAc,KAAMxuB,EAAEy6B,WAAa,KAAMz6B,EAAE06B,UAAUv4B,OAAS,EAAGo4B,GAAGp4B,OAASm4B,IAAMC,GAAGn4B,KAAKpC,IAIxH,SAAS+6B,GAAG/6B,EAAGE,EAAGgC,GAChB,GAAIy4B,GAAI,GAAI,EAAIhN,GAAGxrB,SAAW,EAAI+rB,GAAG7lB,QAAQrI,GAAIA,EAAIouB,GAAG,KAAMpuB,EAAGE,EAAGgC,GAAIyrB,GAAGvrB,KAAKpC,OAAQ,CACtF,IAAIqC,EAAI8sB,GAAGnvB,EAAGE,EAAGgC,GACjB,OAASG,EAAIosB,GAAGzuB,EAAGkC,IAAM,EAAIgsB,GAAG7lB,QAAQrI,IAAMA,EAAIouB,GAAG/rB,EAAGrC,EAAGE,EAAGgC,GAAIyrB,GAAGvrB,KAAKpC,IAnsB9E,SAAYA,EAAGE,EAAGgC,EAAGG,GACnB,OAAQnC,GACN,IAAK,QACH,OAAO0tB,GAAKe,GAAGf,GAAI5tB,EAAGE,EAAGgC,EAAGG,IAAI,EAElC,IAAK,YACH,OAAOwrB,GAAKc,GAAGd,GAAI7tB,EAAGE,EAAGgC,EAAGG,IAAI,EAElC,IAAK,YACH,OAAOyrB,GAAKa,GAAGb,GAAI9tB,EAAGE,EAAGgC,EAAGG,IAAI,EAElC,IAAK,cACH,IAAIC,EAAID,EAAEqsB,UAEV,OADAX,GAAGhjB,IAAIzI,EAAGqsB,GAAGZ,GAAGjjB,IAAIxI,IAAM,KAAMtC,EAAGE,EAAGgC,EAAGG,KAClC,EAET,IAAK,oBACH,OAAOC,EAAID,EAAEqsB,UAAWV,GAAGjjB,IAAIzI,EAAGqsB,GAAGX,GAAGljB,IAAIxI,IAAM,KAAMtC,EAAGE,EAAGgC,EAAGG,KAAK,EAG1E,OAAO,EA+qB2E64B,CAAG74B,EAAGrC,EAAGE,EAAGgC,KAAOusB,GAAGzuB,EAAGkC,GAAI+4B,GAAGj7B,EAAGE,EAAGgC,EAAG,QAI7H,SAASitB,GAAGnvB,EAAGE,EAAGgC,GAChB,IAAIG,EAAIotB,GAAGvtB,GAGX,GAAI,QAFJG,EAAIysB,GAAGzsB,IAES,CACd,IAAIC,EAAIuqB,GAAGxqB,GACX,GAAI,OAASC,EAAGD,EAAI,SAAU,CAC5B,IAAIyH,EAAIxH,EAAEiW,IAEV,GAAI,KAAOzO,EAAG,CAEZ,GAAI,QADJzH,EAAI2qB,GAAG1qB,IACS,OAAOD,EACvBA,EAAI,UACC,GAAI,IAAMyH,EAAG,CAClB,GAAIxH,EAAEqiB,UAAUqK,QAAS,OAAO,IAAM1sB,EAAEiW,IAAMjW,EAAEqiB,UAAUsK,cAAgB,KAC1E5sB,EAAI,UACCC,IAAMD,IAAMA,EAAI,OAK3B,OADA44B,GAAGj7B,EAAGE,EAAGgC,EAAGG,GACL,KAGT,SAAS84B,GAAGn7B,GACV,IAAKomB,EAAI,OAAO,EAEhB,IAAIlmB,GADJF,EAAI,KAAOA,KACEoG,SAEb,OADAlG,KAAMA,EAAIkG,SAASC,cAAc,QAAUiV,aAAatb,EAAG,WAAYE,EAAI,mBAAsBA,EAAEF,IAC5FE,EAGT,IAAIk7B,GAAK,IAAK,mBAAsBC,QAAUA,QAAUpU,KAExD,SAASqU,GAAGt7B,GACV,IAAIE,EAAIk7B,GAAGtwB,IAAI9K,GAEf,YADA,IAAWE,IAAMA,EAAI,IAAIq7B,IAAOH,GAAGrwB,IAAI/K,EAAGE,IACnCA,EAGT,SAASs7B,GAAGx7B,EAAGE,EAAGgC,GAChB,IAAKA,EAAEu5B,IAAIz7B,GAAI,CACb,OAAQA,GACN,IAAK,SACH46B,GAAG16B,EAAG,UAAU,GAChB,MAEF,IAAK,QACL,IAAK,OACH06B,GAAG16B,EAAG,SAAS,GACf06B,GAAG16B,EAAG,QAAQ,GACdgC,EAAEw5B,IAAI,QACNx5B,EAAEw5B,IAAI,SACN,MAEF,IAAK,SACL,IAAK,QACHP,GAAGn7B,IAAM46B,GAAG16B,EAAGF,GAAG,GAClB,MAEF,IAAK,UACL,IAAK,SACL,IAAK,QACH,MAEF,SACG,IAAM4sB,GAAGvkB,QAAQrI,IAAMuB,GAAEvB,EAAGE,GAGjCgC,EAAEw5B,IAAI17B,IAIV,IAAI27B,GAAK,CACPC,yBAAyB,EACzBC,mBAAmB,EACnBC,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAS,EACTC,cAAc,EACdC,iBAAiB,EACjBC,aAAa,EACbC,SAAS,EACTC,MAAM,EACNC,UAAU,EACVC,cAAc,EACdC,YAAY,EACZC,cAAc,EACdC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,YAAY,EACZC,aAAa,EACbC,cAAc,EACdC,YAAY,EACZC,eAAe,EACfC,gBAAgB,EAChBC,iBAAiB,EACjBC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,OAAO,EACPC,SAAS,EACTC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,MAAM,EACNC,aAAa,EACbC,cAAc,EACdC,aAAa,EACbC,iBAAiB,EACjBC,kBAAkB,EAClBC,kBAAkB,EAClBC,eAAe,EACfC,aAAa,GAEXC,GAAK,CAAC,SAAU,KAAM,MAAO,KAQjC,SAASC,GAAGv+B,EAAGE,EAAGgC,GAChB,OAAO,MAAQhC,GAAK,kBAAqBA,GAAK,KAAOA,EAAI,GAAKgC,GAAK,iBAAoBhC,GAAK,IAAMA,GAAKy7B,GAAGryB,eAAetJ,IAAM27B,GAAG37B,IAAM,GAAKE,GAAGs+B,OAASt+B,EAAI,KAG/J,SAASu+B,GAAGz+B,EAAGE,GAGb,IAAK,IAAIgC,KAFTlC,EAAIA,EAAE8R,MAEQ5R,EACZ,GAAIA,EAAEoJ,eAAepH,GAAI,CACvB,IAAIG,EAAI,IAAMH,EAAEmG,QAAQ,MACpB/F,EAAIi8B,GAAGr8B,EAAGhC,EAAEgC,GAAIG,GACpB,UAAYH,IAAMA,EAAI,YACtBG,EAAIrC,EAAE0+B,YAAYx8B,EAAGI,GAAKtC,EAAEkC,GAAKI,GAnBvC/C,OAAO4J,KAAKwyB,IAAI5rB,SAAQ,SAAU/P,GAChCs+B,GAAGvuB,SAAQ,SAAU7P,GACnBA,EAAIA,EAAIF,EAAE2+B,OAAO,GAAG7W,cAAgB9nB,EAAE4+B,UAAU,GAChDjD,GAAGz7B,GAAKy7B,GAAG37B,SAqBf,IAAI6+B,GAAKj8B,EAAE,CACTk8B,UAAU,GACT,CACDC,MAAM,EACNjuB,MAAM,EACNkuB,IAAI,EACJC,KAAK,EACLC,OAAO,EACPC,IAAI,EACJC,KAAK,EACLC,OAAO,EACPC,QAAQ,EACR9tB,MAAM,EACNC,MAAM,EACN8tB,OAAO,EACP30B,QAAQ,EACR40B,OAAO,EACPC,KAAK,IAGP,SAASC,GAAG1/B,EAAGE,GACb,GAAIA,EAAG,CACL,GAAI2+B,GAAG7+B,KAAO,MAAQE,EAAEkQ,UAAY,MAAQlQ,EAAEsd,yBAA0B,MAAM9W,MAAMtG,EAAE,IAAKJ,EAAG,KAE9F,GAAI,MAAQE,EAAEsd,wBAAyB,CACrC,GAAI,MAAQtd,EAAEkQ,SAAU,MAAM1J,MAAMtG,EAAE,KACtC,KAAM,iBAAoBF,EAAEsd,yBAA2B,WAAYtd,EAAEsd,yBAA0B,MAAM9W,MAAMtG,EAAE,KAG/G,GAAI,MAAQF,EAAE4R,OAAS,iBAAoB5R,EAAE4R,MAAO,MAAMpL,MAAMtG,EAAE,GAAI,MAI1E,SAASu/B,GAAG3/B,EAAGE,GACb,IAAK,IAAMF,EAAEqI,QAAQ,KAAM,MAAO,iBAAoBnI,EAAE0/B,GAExD,OAAQ5/B,GACN,IAAK,iBACL,IAAK,gBACL,IAAK,YACL,IAAK,gBACL,IAAK,gBACL,IAAK,mBACL,IAAK,iBACL,IAAK,gBACH,OAAO,EAET,QACE,OAAO,GAIb,SAAS6/B,GAAG7/B,EAAGE,GAEb,IAAIgC,EAAIo5B,GADRt7B,EAAI,IAAMA,EAAE2rB,UAAY,KAAO3rB,EAAE2rB,SAAW3rB,EAAIA,EAAE8pB,eAElD5pB,EAAI2iB,EAAG3iB,GAEP,IAAK,IAAImC,EAAI,EAAGA,EAAInC,EAAEiC,OAAQE,IAC5Bm5B,GAAGt7B,EAAEmC,GAAIrC,EAAGkC,GAIhB,SAAS49B,MAET,SAASC,GAAG//B,GAEV,QAAI,KADJA,EAAIA,IAAM,oBAAuBoG,SAAWA,cAAW,IACzB,OAAO,KAErC,IACE,OAAOpG,EAAE+pB,eAAiB/pB,EAAEggC,KAC5B,MAAO9/B,IACP,OAAOF,EAAEggC,MAIb,SAASC,GAAGjgC,GACV,KAAOA,GAAKA,EAAEwrB,YACZxrB,EAAIA,EAAEwrB,WAGR,OAAOxrB,EAGT,SAASkgC,GAAGlgC,EAAGE,GACb,IAGSmC,EAHLH,EAAI+9B,GAAGjgC,GAGX,IAFAA,EAAI,EAEQkC,GAAI,CACd,GAAI,IAAMA,EAAEypB,SAAU,CAEpB,GADAtpB,EAAIrC,EAAIkC,EAAEwoB,YAAYvoB,OAClBnC,GAAKE,GAAKmC,GAAKnC,EAAG,MAAO,CAC3BgR,KAAMhP,EACNi+B,OAAQjgC,EAAIF,GAEdA,EAAIqC,EAGNrC,EAAG,CACD,KAAOkC,GAAI,CACT,GAAIA,EAAEk+B,YAAa,CACjBl+B,EAAIA,EAAEk+B,YACN,MAAMpgC,EAGRkC,EAAIA,EAAEua,WAGRva,OAAI,EAGNA,EAAI+9B,GAAG/9B,IAQX,SAASm+B,KACP,IAAK,IAAIrgC,EAAIL,OAAQO,EAAI6/B,KAAM7/B,aAAaF,EAAEsgC,mBAAoB,CAChE,IACE,IAAIp+B,EAAI,iBAAoBhC,EAAEqgC,cAAc7pB,SAAS5K,KACrD,MAAOzJ,GACPH,GAAI,EAGN,IAAIA,EAA4B,MAChChC,EAAI6/B,IADG//B,EAAIE,EAAEqgC,eACJn6B,UAGX,OAAOlG,EAGT,SAASsgC,GAAGxgC,GACV,IAAIE,EAAIF,GAAKA,EAAEwoB,UAAYxoB,EAAEwoB,SAAS/P,cACtC,OAAOvY,IAAM,UAAYA,IAAM,SAAWF,EAAEqO,MAAQ,WAAarO,EAAEqO,MAAQ,QAAUrO,EAAEqO,MAAQ,QAAUrO,EAAEqO,MAAQ,aAAerO,EAAEqO,OAAS,aAAenO,GAAK,SAAWF,EAAEygC,iBAGhL,IAAIC,GAAK,IACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KAET,SAASC,GAAGhhC,EAAGE,GACb,OAAQF,GACN,IAAK,SACL,IAAK,QACL,IAAK,SACL,IAAK,WACH,QAASE,EAAE+gC,UAGf,OAAO,EAGT,SAASC,GAAGlhC,EAAGE,GACb,MAAO,aAAeF,GAAK,WAAaA,GAAK,aAAeA,GAAK,iBAAoBE,EAAEkQ,UAAY,iBAAoBlQ,EAAEkQ,UAAY,iBAAoBlQ,EAAEsd,yBAA2B,OAAStd,EAAEsd,yBAA2B,MAAQtd,EAAEsd,wBAAwBC,OAGhQ,IAAI0jB,GAAK,mBAAsBhhC,WAAaA,gBAAa,EACrDihC,GAAK,mBAAsB7gC,aAAeA,kBAAe,EAE7D,SAAS8gC,GAAGrhC,GACV,KAAO,MAAQA,EAAGA,EAAIA,EAAEogC,YAAa,CACnC,IAAIlgC,EAAIF,EAAE2rB,SACV,GAAI,IAAMzrB,GAAK,IAAMA,EAAG,MAG1B,OAAOF,EAGT,SAASshC,GAAGthC,GACVA,EAAIA,EAAEuhC,gBAEN,IAAK,IAAIrhC,EAAI,EAAGF,GAAI,CAClB,GAAI,IAAMA,EAAE2rB,SAAU,CACpB,IAAIzpB,EAAIlC,EAAEwhC,KAEV,GAAIt/B,IAAMw+B,IAAMx+B,IAAM2+B,IAAM3+B,IAAM0+B,GAAI,CACpC,GAAI,IAAM1gC,EAAG,OAAOF,EACpBE,SACKgC,IAAMy+B,IAAMzgC,IAGrBF,EAAIA,EAAEuhC,gBAGR,OAAO,KAGT,IAAIE,GAAKhgC,KAAKigC,SAASnuB,SAAS,IAAIyI,MAAM,GACtC2lB,GAAK,2BAA6BF,GAClCG,GAAK,wBAA0BH,GAC/BI,GAAK,qBAAuBJ,GAEhC,SAAS3S,GAAG9uB,GACV,IAAIE,EAAIF,EAAE2hC,IACV,GAAIzhC,EAAG,OAAOA,EAEd,IAAK,IAAIgC,EAAIlC,EAAEyc,WAAYva,GAAI,CAC7B,GAAIhC,EAAIgC,EAAE2/B,KAAO3/B,EAAEy/B,IAAK,CAEtB,GADAz/B,EAAIhC,EAAE4sB,UACF,OAAS5sB,EAAEiO,OAAS,OAASjM,GAAK,OAASA,EAAEiM,MAAO,IAAKnO,EAAIshC,GAAGthC,GAAI,OAASA,GAAI,CACnF,GAAIkC,EAAIlC,EAAE2hC,IAAK,OAAOz/B,EACtBlC,EAAIshC,GAAGthC,GAET,OAAOE,EAITgC,GADAlC,EAAIkC,GACEua,WAGR,OAAO,KAGT,SAASmS,GAAG5uB,GAEV,QADAA,EAAIA,EAAE2hC,KAAO3hC,EAAE6hC,MACF,IAAM7hC,EAAEuY,KAAO,IAAMvY,EAAEuY,KAAO,KAAOvY,EAAEuY,KAAO,IAAMvY,EAAEuY,IAAM,KAAOvY,EAGlF,SAAS8hC,GAAG9hC,GACV,GAAI,IAAMA,EAAEuY,KAAO,IAAMvY,EAAEuY,IAAK,OAAOvY,EAAE2kB,UACzC,MAAMje,MAAMtG,EAAE,KAGhB,SAAS2hC,GAAG/hC,GACV,OAAOA,EAAE4hC,KAAO,KAGlB,IAAII,GAAK,KACLC,GAAK,KACLC,GAAK,KAET,SAASC,KACP,GAAID,GAAI,OAAOA,GACf,IAAIliC,EAGAqC,EAFAnC,EAAI+hC,GACJ//B,EAAIhC,EAAEiC,OAENG,EAAI,UAAW0/B,GAAKA,GAAGtiC,MAAQsiC,GAAGtX,YAClC5gB,EAAIxH,EAAEH,OAEV,IAAKnC,EAAI,EAAGA,EAAIkC,GAAKhC,EAAEF,KAAOsC,EAAEtC,GAAIA,KAIpC,IAAIb,EAAI+C,EAAIlC,EAEZ,IAAKqC,EAAI,EAAGA,GAAKlD,GAAKe,EAAEgC,EAAIG,KAAOC,EAAEwH,EAAIzH,GAAIA,KAI7C,OAAO6/B,GAAK5/B,EAAE0Z,MAAMhc,EAAG,EAAIqC,EAAI,EAAIA,OAAI,GAGzC,IAAI+/B,GAAK9gC,GAAEmwB,OAAO,CAChB+P,KAAM,OAEJa,GAAK/gC,GAAEmwB,OAAO,CAChB+P,KAAM,OAEJc,GAAK,CAAC,EAAG,GAAI,GAAI,IACjBC,GAAKnc,GAAM,qBAAsBzmB,OACjC6iC,GAAK,KACTpc,GAAM,iBAAkBhgB,WAAao8B,GAAKp8B,SAASq8B,cACnD,IAAIC,GAAKtc,GAAM,cAAezmB,SAAW6iC,GACrCG,GAAKvc,KAAQmc,IAAMC,IAAM,EAAIA,IAAM,IAAMA,IACzCI,GAAKvrB,OAAO6e,aAAa,IACzB2M,GAAK,CACPC,YAAa,CACXrgB,wBAAyB,CACvBqX,QAAS,gBACTC,SAAU,wBAEZjX,aAAc,CAAC,iBAAkB,WAAY,YAAa,UAE5DigB,eAAgB,CACdtgB,wBAAyB,CACvBqX,QAAS,mBACTC,SAAU,2BAEZjX,aAAc,uDAAuD5H,MAAM,MAE7E8nB,iBAAkB,CAChBvgB,wBAAyB,CACvBqX,QAAS,qBACTC,SAAU,6BAEZjX,aAAc,yDAAyD5H,MAAM,MAE/E+nB,kBAAmB,CACjBxgB,wBAAyB,CACvBqX,QAAS,sBACTC,SAAU,8BAEZjX,aAAc,0DAA0D5H,MAAM,OAG9EgoB,IAAK,EAET,SAASC,GAAGnjC,EAAGE,GACb,OAAQF,GACN,IAAK,QACH,OAAQ,IAAMsiC,GAAGj6B,QAAQnI,EAAEoyB,SAE7B,IAAK,UACH,OAAO,MAAQpyB,EAAEoyB,QAEnB,IAAK,WACL,IAAK,YACL,IAAK,OACH,OAAO,EAET,QACE,OAAO,GAIb,SAAS8Q,GAAGpjC,GAEV,MAAO,iBADPA,EAAIA,EAAEkyB,SAC0B,SAAUlyB,EAAIA,EAAEwhC,KAAO,KAGzD,IAAI6B,IAAK,EA2CT,IAAIC,GAAK,CACP/gB,WAAYsgB,GACZvgB,cAAe,SAAuBtiB,EAAGE,EAAGgC,EAAGG,GAC7C,IAAIC,EACJ,GAAIigC,GAAIriC,EAAG,CACT,OAAQF,GACN,IAAK,mBACH,IAAI8J,EAAI+4B,GAAGG,iBACX,MAAM9iC,EAER,IAAK,iBACH4J,EAAI+4B,GAAGE,eACP,MAAM7iC,EAER,IAAK,oBACH4J,EAAI+4B,GAAGI,kBACP,MAAM/iC,EAGV4J,OAAI,OACCu5B,GAAKF,GAAGnjC,EAAGkC,KAAO4H,EAAI+4B,GAAGE,gBAAkB,YAAc/iC,GAAK,MAAQkC,EAAEowB,UAAYxoB,EAAI+4B,GAAGG,kBAGlG,OAFAl5B,GAAK64B,IAAM,OAASzgC,EAAEs0B,SAAW6M,IAAMv5B,IAAM+4B,GAAGG,iBAAmBl5B,IAAM+4B,GAAGE,gBAAkBM,KAAO/gC,EAAI6/B,OAAiBF,GAAK,UAAbD,GAAK3/B,GAAwB2/B,GAAGtiC,MAAQsiC,GAAGtX,YAAa2Y,IAAK,IAAMv5B,EAAIs4B,GAAGrR,UAAUjnB,EAAG5J,EAAGgC,EAAGG,GAAIC,EAAIwH,EAAE03B,KAAOl/B,EAAgB,QAAXA,EAAI8gC,GAAGlhC,MAAmB4H,EAAE03B,KAAOl/B,GAAK6tB,GAAGrmB,GAAIxH,EAAIwH,GAAKxH,EAAI,MAChStC,EAAI0iC,GA/DT,SAAY1iC,EAAGE,GACb,OAAQF,GACN,IAAK,iBACH,OAAOojC,GAAGljC,GAEZ,IAAK,WACH,OAAI,KAAOA,EAAEu2B,MAAc,MAC3ByM,IAAK,EACEN,IAET,IAAK,YACH,OAAO5iC,EAAIE,EAAEshC,QAAYoB,IAAMM,GAAK,KAAOljC,EAE7C,QACE,OAAO,MAiDCujC,CAAGvjC,EAAGkC,GA7CpB,SAAYlC,EAAGE,GACb,GAAImjC,GAAI,MAAO,mBAAqBrjC,IAAMuiC,IAAMY,GAAGnjC,EAAGE,IAAMF,EAAImiC,KAAMD,GAAKD,GAAKD,GAAK,KAAMqB,IAAK,EAAIrjC,GAAK,KAEzG,OAAQA,GACN,IAAK,QACH,OAAO,KAET,IAAK,WACH,KAAME,EAAEi2B,SAAWj2B,EAAEm2B,QAAUn2B,EAAEo2B,UAAYp2B,EAAEi2B,SAAWj2B,EAAEm2B,OAAQ,CAClE,GAAIn2B,EAAQ,MAAK,EAAIA,EAAQ,KAAEiC,OAAQ,OAAOjC,EAAQ,KACtD,GAAIA,EAAEu2B,MAAO,OAAOpf,OAAO6e,aAAah2B,EAAEu2B,OAG5C,OAAO,KAET,IAAK,iBACH,OAAOkM,IAAM,OAASziC,EAAEs2B,OAAS,KAAOt2B,EAAEshC,KAE5C,QACE,OAAO,MA0BYgC,CAAGxjC,EAAGkC,MAAOhC,EAAImiC,GAAGtR,UAAU8R,GAAGC,YAAa5iC,EAAGgC,EAAGG,IAAMm/B,KAAOxhC,EAAGmwB,GAAGjwB,IAAMA,EAAI,KAC/F,OAASoC,EAAIpC,EAAI,OAASA,EAAIoC,EAAI,CAACA,EAAGpC,KAG7CujC,GAAK,CACPC,OAAO,EACPC,MAAM,EACNC,UAAU,EACV,kBAAkB,EAClBC,OAAO,EACPC,OAAO,EACPnwB,QAAQ,EACRowB,UAAU,EACVC,OAAO,EACPC,QAAQ,EACRC,KAAK,EACLC,MAAM,EACNC,MAAM,EACNC,KAAK,EACLC,MAAM,GAGR,SAASC,GAAGvkC,GACV,IAAIE,EAAIF,GAAKA,EAAEwoB,UAAYxoB,EAAEwoB,SAAS/P,cACtC,MAAO,UAAYvY,IAAMujC,GAAGzjC,EAAEqO,MAAQ,aAAenO,EAGvD,IAAIskC,GAAK,CACPC,OAAQ,CACNhiB,wBAAyB,CACvBqX,QAAS,WACTC,SAAU,mBAEZjX,aAAc,8DAA8D5H,MAAM,OAItF,SAASwpB,GAAG1kC,EAAGE,EAAGgC,GAKhB,OAJAlC,EAAIsB,GAAEyvB,UAAUyT,GAAGC,OAAQzkC,EAAGE,EAAGgC,IAC/BmM,KAAO,SACT0L,GAAG7X,GACHiuB,GAAGnwB,GACIA,EAGT,IAAI2kC,GAAK,KACLC,GAAK,KAET,SAASC,GAAG7kC,GACVskB,EAAGtkB,GAGL,SAAS8kC,GAAG9kC,GAEV,GAAIgpB,GADI8Y,GAAG9hC,IACA,OAAOA,EAGpB,SAAS+kC,GAAG/kC,EAAGE,GACb,GAAI,WAAaF,EAAG,OAAOE,EAG7B,IAAI8kC,IAAK,EAGT,SAASC,KACPN,KAAOA,GAAGO,YAAY,mBAAoBC,IAAKP,GAAKD,GAAK,MAG3D,SAASQ,GAAGnlC,GACV,GAAI,UAAYA,EAAE0nB,cAAgBod,GAAGF,IAAK,GAAI5kC,EAAI0kC,GAAGE,GAAI5kC,EAAGyvB,GAAGzvB,IAAK8mB,GAAIxC,EAAGtkB,OAAQ,CACjF8mB,IAAK,EAEL,IACEJ,GAAGme,GAAI7kC,GACP,QACA8mB,IAAK,EAAIE,OAKf,SAASoe,GAAGplC,EAAGE,EAAGgC,GAChB,UAAYlC,GAAKilC,KAAcL,GAAK1iC,GAAbyiC,GAAKzkC,GAAcmlC,YAAY,mBAAoBF,KAAO,SAAWnlC,GAAKilC,KAGnG,SAASK,GAAGtlC,GACV,GAAI,oBAAsBA,GAAK,UAAYA,GAAK,YAAcA,EAAG,OAAO8kC,GAAGF,IAG7E,SAASW,GAAGvlC,EAAGE,GACb,GAAI,UAAYF,EAAG,OAAO8kC,GAAG5kC,GAG/B,SAASslC,GAAGxlC,EAAGE,GACb,GAAI,UAAYF,GAAK,WAAaA,EAAG,OAAO8kC,GAAG5kC,GA/BjDkmB,IAAO4e,GAAK7J,GAAG,YAAc/0B,SAASq8B,cAAgB,EAAIr8B,SAASq8B,eAkCnE,IAmCIgD,GAnCAC,GAAK,CACPnjB,WAAYiiB,GACZmB,uBAAwBX,GACxB1iB,cAAe,SAAuBtiB,EAAGE,EAAGgC,EAAGG,GAC7C,IAAIC,EAAIpC,EAAI4hC,GAAG5hC,GAAKP,OAChBmK,EAAIxH,EAAEkmB,UAAYlmB,EAAEkmB,SAAS/P,cACjC,GAAI,WAAa3O,GAAK,UAAYA,GAAK,SAAWxH,EAAE+L,KAAM,IAAIlP,EAAI4lC,QAAQ,GAAIR,GAAGjiC,GAC/E,GAAI0iC,GAAI7lC,EAAIqmC,OAAQ,CAClBrmC,EAAImmC,GACJ,IAAIlmC,EAAIgmC,QAEJt7B,EAAIxH,EAAEkmB,WAAa,UAAY1e,EAAE2O,gBAAkB,aAAenW,EAAE+L,MAAQ,UAAY/L,EAAE+L,QAAUlP,EAAIomC,IAChH,GAAIpmC,IAAMA,EAAIA,EAAEa,EAAGE,IAAK,OAAOwkC,GAAGvlC,EAAG+C,EAAGG,GACxCjD,GAAKA,EAAEY,EAAGsC,EAAGpC,GACb,SAAWF,IAAMA,EAAIsC,EAAE+mB,gBAAkBrpB,EAAEypB,YAAc,WAAannB,EAAE+L,MAAQub,GAAGtnB,EAAG,SAAUA,EAAE5C,SAGlGkmC,GAAK,CACPC,WAAY,CACVljB,iBAAkB,eAClBG,aAAc,CAAC,WAAY,cAE7BgjB,WAAY,CACVnjB,iBAAkB,eAClBG,aAAc,CAAC,WAAY,cAE7BijB,aAAc,CACZpjB,iBAAkB,iBAClBG,aAAc,CAAC,aAAc,gBAE/BkjB,aAAc,CACZrjB,iBAAkB,iBAClBG,aAAc,CAAC,aAAc,iBAI7BmjB,GAAK,CACP1jB,WAAYqjB,GACZtjB,cAAe,SAAuBtiB,EAAGE,EAAGgC,EAAGG,EAAGC,GAChD,IAAIwH,EAAI,cAAgB9J,GAAK,gBAAkBA,EAC3Cb,EAAI,aAAea,GAAK,eAAiBA,EAC7C,GAAI8J,GAAK,IAAW,GAAJxH,KAAYJ,EAAEkwB,eAAiBlwB,EAAEq1B,eAAiBp4B,IAAM2K,EAAG,OAAO,KAOlF,GANAxH,EAAID,EAAE1C,SAAW0C,EAAIA,GAAKC,EAAID,EAAEynB,eAAiBxnB,EAAE4jC,aAAe5jC,EAAE6jC,aAAexmC,OAE/ER,GACEA,EAAIe,EAA4D,QAAzDA,GAAKA,EAAIgC,EAAEkwB,eAAiBlwB,EAAEs1B,WAAa1I,GAAG5uB,GAAK,QAAgCA,KAAX4J,EAAI+iB,GAAG3sB,KAAe,IAAMA,EAAEqY,KAAO,IAAMrY,EAAEqY,OAAMrY,EAAI,OACrIf,EAAI,KAEPA,IAAMe,EAAG,OAAO,KAEpB,GAAI,aAAeF,GAAK,cAAgBA,EACtC,IAAIZ,EAAI03B,GACJz3B,EAAIumC,GAAGE,WACPxmC,EAAIsmC,GAAGC,WACPljC,EAAI,YACC,eAAiB3C,GAAK,gBAAkBA,IAAGZ,EAAIu4B,GAAIt4B,EAAIumC,GAAGI,aAAc1mC,EAAIsmC,GAAGG,aAAcpjC,EAAI,WAc5G,GAZA3C,EAAI,MAAQb,EAAImD,EAAIw/B,GAAG3iC,GACvBmD,EAAI,MAAQpC,EAAIoC,EAAIw/B,GAAG5hC,IACvBb,EAAID,EAAE2xB,UAAU1xB,EAAGF,EAAG+C,EAAGG,IACvBgM,KAAO1L,EAAI,QACbtD,EAAE2M,OAAShM,EACXX,EAAE+yB,cAAgB9vB,GAClBD,EAAIjD,EAAE2xB,UAAUzxB,EAAGY,EAAGgC,EAAGG,IACvBgM,KAAO1L,EAAI,QACbN,EAAE2J,OAAS1J,EACXD,EAAE+vB,cAAgBpyB,EAElB2C,EAAIzC,GADJd,EAAID,IAEKwD,EAAG3C,EAAG,CAKb,IAHAA,EAAI2C,EACJxD,EAAI,EAECe,EAJLZ,EAAIF,EAIQc,EAAGA,EAAI0vB,GAAG1vB,GACpBf,IAKF,IAFAe,EAAI,EAECoC,EAAItC,EAAGsC,EAAGA,EAAIstB,GAAGttB,GACpBpC,IAGF,KAAO,EAAIf,EAAIe,GACbZ,EAAIswB,GAAGtwB,GAAIH,IAGb,KAAO,EAAIe,EAAIf,GACba,EAAI4vB,GAAG5vB,GAAIE,IAGb,KAAOf,KAAM,CACX,GAAIG,IAAMU,GAAKV,IAAMU,EAAE8sB,UAAW,MAAM9sB,EACxCV,EAAIswB,GAAGtwB,GACPU,EAAI4vB,GAAG5vB,GAGTV,EAAI,UACCA,EAAI,KAGX,IAFAU,EAAIV,EAECA,EAAI,GAAIF,GAAKA,IAAMY,IAElB,QADJb,EAAIC,EAAE0tB,YACY3tB,IAAMa,IACxBV,EAAE8C,KAAKhD,GACPA,EAAIwwB,GAAGxwB,GAGT,IAAKA,EAAI,GAAIuD,GAAKA,IAAM3C,IAElB,QADJb,EAAIwD,EAAEmqB,YACY3tB,IAAMa,IACxBZ,EAAEgD,KAAKO,GACPA,EAAIitB,GAAGjtB,GAGT,IAAKA,EAAI,EAAGA,EAAIrD,EAAE6C,OAAQQ,IACxBstB,GAAG3wB,EAAEqD,GAAI,UAAWtD,GAGtB,IAAKsD,EAAIvD,EAAE+C,OAAQ,EAAIQ,KACrBstB,GAAG7wB,EAAEuD,GAAI,WAAYN,GAGvB,OAAIH,IAAMujC,IAAWA,GAAK,KAAM,CAACpmC,KACjComC,GAAKvjC,EACE,CAAC7C,EAAGgD,MAQf,IAAI+jC,GAAK,mBAAsB7mC,OAAOqgC,GAAKrgC,OAAOqgC,GAJlD,SAAY5/B,EAAGE,GACb,OAAOF,IAAME,IAAM,IAAMF,GAAK,EAAIA,GAAM,EAAIE,IAAMF,GAAMA,GAAKE,GAAMA,GAIjEmmC,GAAK9mC,OAAO+H,UAAUgC,eAE1B,SAASg9B,GAAGtmC,EAAGE,GACb,GAAIkmC,GAAGpmC,EAAGE,GAAI,OAAO,EACrB,GAAI,iBAAoBF,GAAK,OAASA,GAAK,iBAAoBE,GAAK,OAASA,EAAG,OAAO,EACvF,IAAIgC,EAAI3C,OAAO4J,KAAKnJ,GAChBqC,EAAI9C,OAAO4J,KAAKjJ,GACpB,GAAIgC,EAAEC,SAAWE,EAAEF,OAAQ,OAAO,EAElC,IAAKE,EAAI,EAAGA,EAAIH,EAAEC,OAAQE,IACxB,IAAKgkC,GAAGp9B,KAAK/I,EAAGgC,EAAEG,MAAQ+jC,GAAGpmC,EAAEkC,EAAEG,IAAKnC,EAAEgC,EAAEG,KAAM,OAAO,EAGzD,OAAO,EAGT,IAAIkkC,GAAKngB,GAAM,iBAAkBhgB,UAAY,IAAMA,SAASq8B,aACxD+D,GAAK,CACPC,OAAQ,CACNhkB,wBAAyB,CACvBqX,QAAS,WACTC,SAAU,mBAEZjX,aAAc,iFAAiF5H,MAAM,OAGrGwrB,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,IAAK,EAET,SAASC,GAAG9mC,EAAGE,GACb,IAAIgC,EAAIhC,EAAEP,SAAWO,EAAIA,EAAEkG,SAAW,IAAMlG,EAAEyrB,SAAWzrB,EAAIA,EAAE4pB,cAC/D,OAAI+c,IAAM,MAAQH,IAAMA,KAAO3G,GAAG79B,GAAW,MAE7C,mBADAA,EAAIwkC,KACqBlG,GAAGt+B,GAAKA,EAAI,CACnC6kC,MAAO7kC,EAAE8kC,eACTC,IAAK/kC,EAAEglC,cAC2EhlC,EAAI,CACtFilC,YADGjlC,GAAKA,EAAE4nB,eAAiB5nB,EAAE4nB,cAAcoc,aAAevmC,QAAQynC,gBACpDD,WACdE,aAAcnlC,EAAEmlC,aAChBC,UAAWplC,EAAEolC,UACbC,YAAarlC,EAAEqlC,aAEVX,IAAMN,GAAGM,GAAI1kC,GAAK,MAAQ0kC,GAAK1kC,GAAGlC,EAAIsB,GAAEyvB,UAAUyV,GAAGC,OAAQE,GAAI3mC,EAAGE,IAAMmO,KAAO,SAAUrO,EAAEgM,OAAS06B,GAAIvW,GAAGnwB,GAAIA,IAG1H,IAAIwnC,GAAK,CACPjlB,WAAYikB,GACZlkB,cAAe,SAAuBtiB,EAAGE,EAAGgC,EAAGG,GAC7C,IACIyH,EADAxH,EAAID,EAAE1C,SAAW0C,EAAIA,EAAE+D,SAAW,IAAM/D,EAAEspB,SAAWtpB,EAAIA,EAAEynB,cAG/D,KAAMhgB,GAAKxH,GAAI,CACbtC,EAAG,CACDsC,EAAIg5B,GAAGh5B,GACPwH,EAAI+Y,EAAG4kB,SAEP,IAAK,IAAItoC,EAAI,EAAGA,EAAI2K,EAAE3H,OAAQhD,IAC5B,IAAKmD,EAAEm5B,IAAI3xB,EAAE3K,IAAK,CAChBmD,GAAI,EACJ,MAAMtC,EAIVsC,GAAI,EAGNwH,GAAKxH,EAGP,GAAIwH,EAAG,OAAO,KAGd,OAFAxH,EAAIpC,EAAI4hC,GAAG5hC,GAAKP,OAERK,GACN,IAAK,SACCukC,GAAGjiC,IAAM,SAAWA,EAAEm+B,mBAAiBiG,GAAKpkC,EAAGqkC,GAAKzmC,EAAG0mC,GAAK,MAChE,MAEF,IAAK,OACHA,GAAKD,GAAKD,GAAK,KACf,MAEF,IAAK,YACHG,IAAK,EACL,MAEF,IAAK,cACL,IAAK,UACL,IAAK,UACH,OAAOA,IAAK,EAAIC,GAAG5kC,EAAGG,GAExB,IAAK,kBACH,GAAIkkC,GAAI,MAEV,IAAK,UACL,IAAK,QACH,OAAOO,GAAG5kC,EAAGG,GAGjB,OAAO,OAGXkiB,EAAGC,uBAAuB,0HAA0HtJ,MAAM,MAE1JqI,EAAKwe,GACLve,EAFSoL,GAGTnL,EAAKqe,GACLvd,EAAGE,yBAAyB,CAC1BijB,kBAAmBzN,GACnB0N,sBAAuB1B,GACvB2B,kBAAmBlC,GACnBmC,kBAAmBL,GACnBM,uBAAwBxE,KAE1B,IAAI/H,IACJ,IAAIwM,GAAK,GACLC,IAAM,EAEV,SAASxmC,GAAExB,GACT,EAAIgoC,KAAOhoC,EAAEkY,QAAU6vB,GAAGC,IAAKD,GAAGC,IAAM,KAAMA,MAGhD,SAASpmC,GAAE5B,EAAGE,GACZ8nC,KACAD,GAAGC,IAAMhoC,EAAEkY,QACXlY,EAAEkY,QAAUhY,EAGd,IAAI+nC,GAAK,GACLhmC,GAAI,CACNiW,QAAS+vB,IAEP1lC,GAAI,CACN2V,SAAS,GAEPgwB,GAAKD,GAET,SAASE,GAAGnoC,EAAGE,GACb,IAAIgC,EAAIlC,EAAEqO,KAAK+5B,aACf,IAAKlmC,EAAG,OAAO+lC,GACf,IAAI5lC,EAAIrC,EAAE2kB,UACV,GAAItiB,GAAKA,EAAEgmC,8CAAgDnoC,EAAG,OAAOmC,EAAEimC,0CACvE,IACIx+B,EADAxH,EAAI,GAGR,IAAKwH,KAAK5H,EACRI,EAAEwH,GAAK5J,EAAE4J,GAIX,OADAzH,KAAMrC,EAAIA,EAAE2kB,WAAa0jB,4CAA8CnoC,EAAGF,EAAEsoC,0CAA4ChmC,GACjHA,EAGT,SAASE,GAAExC,GAET,OAAO,OADPA,EAAIA,EAAEuoC,mBAIR,SAASC,GAAGxoC,GACVwB,GAAEe,IACFf,GAAES,IAGJ,SAASwmC,GAAGzoC,GACVwB,GAAEe,IACFf,GAAES,IAGJ,SAASymC,GAAG1oC,EAAGE,EAAGgC,GAChB,GAAID,GAAEiW,UAAY+vB,GAAI,MAAMvhC,MAAMtG,EAAE,MACpCwB,GAAEK,GAAG/B,GACL0B,GAAEW,GAAGL,GAGP,SAASymC,GAAG3oC,EAAGE,EAAGgC,GAChB,IAAIG,EAAIrC,EAAE2kB,UAEV,GADA3kB,EAAIE,EAAEqoC,kBACF,mBAAsBlmC,EAAEumC,gBAAiB,OAAO1mC,EAGpD,IAAK,IAAII,KAFTD,EAAIA,EAAEumC,kBAGJ,KAAMtmC,KAAKtC,GAAI,MAAM0G,MAAMtG,EAAE,IAAK0lB,EAAG5lB,IAAM,UAAWoC,IAGxD,OAAOM,EAAE,GAAIV,EAAG,GAAIG,GAGtB,SAASwmC,GAAG7oC,GACV,IAAIE,EAAIF,EAAE2kB,UAKV,OAJAzkB,EAAIA,GAAKA,EAAE4oC,2CAA6Cb,GACxDC,GAAKjmC,GAAEiW,QACPtW,GAAEK,GAAG/B,GACL0B,GAAEW,GAAGA,GAAE2V,UACA,EAGT,SAAS6wB,GAAG/oC,EAAGE,EAAGgC,GAChB,IAAIG,EAAIrC,EAAE2kB,UACV,IAAKtiB,EAAG,MAAMqE,MAAMtG,EAAE,MACtB8B,GAAKhC,EAAIyoC,GAAG3oC,EAAGE,EAAGgoC,IAAK7lC,EAAEymC,0CAA4C5oC,EAAGsB,GAAEe,IAAOf,GAAES,IAAOL,GAAEK,GAAG/B,IAASsB,GAAEe,IAC1GX,GAAEW,GAAGL,GAGP,IAAI8mC,GAAKlpC,EAAEyE,yBACP0kC,GAAKnpC,EAAE2E,0BACPykC,GAAKppC,EAAE8E,wBACPukC,GAAKrpC,EAAEoF,qBACPkkC,GAAKtpC,EAAEqF,sBACPkkC,GAAKvpC,EAAEG,aACPqpC,GAAKxpC,EAAEmF,iCACPskC,GAAKzpC,EAAEoE,2BACPslC,GAAK1pC,EAAEqE,8BACPslC,GAAK3pC,EAAEsE,wBACPslC,GAAK5pC,EAAEwE,qBACPqlC,GAAK7pC,EAAEuE,sBACPulC,GAAK,GACLC,QAAK,IAAWT,GAAKA,GAAK,aAC1BU,GAAK,KACLC,GAAK,KACLC,IAAK,EACLC,GAAKZ,KACLa,GAAK,IAAMD,GAAKZ,GAAK,WACvB,OAAOA,KAAOY,IAGhB,SAASE,KACP,OAAQb,MACN,KAAKC,GACH,OAAO,GAET,KAAKC,GACH,OAAO,GAET,KAAKC,GACH,OAAO,GAET,KAAKC,GACH,OAAO,GAET,KAAKC,GACH,OAAO,GAET,QACE,MAAMjjC,MAAMtG,EAAE,OAIpB,SAASgqC,GAAGpqC,GACV,OAAQA,GACN,KAAK,GACH,OAAOupC,GAET,KAAK,GACH,OAAOC,GAET,KAAK,GACH,OAAOC,GAET,KAAK,GACH,OAAOC,GAET,KAAK,GACH,OAAOC,GAET,QACE,MAAMjjC,MAAMtG,EAAE,OAIpB,SAASiqC,GAAGrqC,EAAGE,GAEb,OADAF,EAAIoqC,GAAGpqC,GACAgpC,GAAGhpC,EAAGE,GAGf,SAASoqC,GAAGtqC,EAAGE,EAAGgC,GAEhB,OADAlC,EAAIoqC,GAAGpqC,GACAipC,GAAGjpC,EAAGE,EAAGgC,GAGlB,SAASqoC,GAAGvqC,GAEV,OADA,OAAS8pC,IAAMA,GAAK,CAAC9pC,GAAI+pC,GAAKd,GAAGM,GAAIiB,KAAOV,GAAG1nC,KAAKpC,GAC7C4pC,GAGT,SAASa,KACP,GAAI,OAASV,GAAI,CACf,IAAI/pC,EAAI+pC,GACRA,GAAK,KACLb,GAAGlpC,GAGLwqC,KAGF,SAASA,KACP,IAAKR,IAAM,OAASF,GAAI,CACtBE,IAAK,EACL,IAAIhqC,EAAI,EAER,IACE,IAAIE,EAAI4pC,GACRO,GAAG,IAAI,WACL,KAAOrqC,EAAIE,EAAEiC,OAAQnC,IAAK,CACxB,IAAIkC,EAAIhC,EAAEF,GAEV,GACEkC,EAAIA,GAAE,SACC,OAASA,OAGtB4nC,GAAK,KACL,MAAO5nC,GACP,MAAM,OAAS4nC,KAAOA,GAAKA,GAAG9tB,MAAMhc,EAAI,IAAKipC,GAAGM,GAAIkB,IAAKvoC,EACzD,QACA8nC,IAAK,IAKX,IAAIU,GAAK,EAET,SAASC,GAAG3qC,EAAGE,EAAGgC,GAEhB,OAAO,YAAoD,IAApC,WAAalC,EAAIE,EAAI,KAD5CgC,GAAK,IACiD,IAAUA,EAGlE,SAAS0oC,GAAG5qC,EAAGE,GACb,GAAIF,GAAKA,EAAEgS,aAIT,IAAK,IAAI9P,KAHThC,EAAI0C,EAAE,GAAI1C,GACVF,EAAIA,EAAEgS,kBAGJ,IAAW9R,EAAEgC,KAAOhC,EAAEgC,GAAKlC,EAAEkC,IAIjC,OAAOhC,EAGT,IAAI2qC,GAAK,CACP3yB,QAAS,MAEP4yB,GAAK,KACLC,GAAK,KACLC,GAAK,KAET,SAASC,KACPD,GAAKD,GAAKD,GAAK,KAGjB,SAASI,GAAGlrC,EAAGE,GACb,IAAIgC,EAAIlC,EAAEqO,KAAKgS,SACfze,GAAEipC,GAAI3oC,EAAE8d,eACR9d,EAAE8d,cAAgB9f,EAGpB,SAASirC,GAAGnrC,GACV,IAAIE,EAAI2qC,GAAG3yB,QACX1W,GAAEqpC,IACF7qC,EAAEqO,KAAKgS,SAASL,cAAgB9f,EAGlC,SAASkrC,GAAGprC,EAAGE,GACb,KAAO,OAASF,GAAI,CAClB,IAAIkC,EAAIlC,EAAE8sB,UACV,GAAI9sB,EAAEqrC,oBAAsBnrC,EAAGF,EAAEqrC,oBAAsBnrC,EAAG,OAASgC,GAAKA,EAAEmpC,oBAAsBnrC,IAAMgC,EAAEmpC,oBAAsBnrC,OAAQ,MAAI,OAASgC,GAAKA,EAAEmpC,oBAAsBnrC,GAAkC,MAA/BgC,EAAEmpC,oBAAsBnrC,EAC3MF,EAAIA,EAAU,QAIlB,SAASsrC,GAAGtrC,EAAGE,GACb4qC,GAAK9qC,EACLgrC,GAAKD,GAAK,KAEV,QADA/qC,EAAIA,EAAE8iB,eACQ,OAAS9iB,EAAEurC,eAAiBvrC,EAAE4D,gBAAkB1D,IAAMsrC,IAAK,GAAKxrC,EAAEurC,aAAe,MAGjG,SAASE,GAAGzrC,EAAGE,GACb,GAAI8qC,KAAOhrC,IAAK,IAAOE,GAAK,IAAMA,EAQhC,GAPI,iBAAoBA,GAAK,aAAeA,IAAG8qC,GAAKhrC,EAAGE,EAAI,YAC3DA,EAAI,CACFqe,QAASve,EACT0rC,aAAcxrC,EACdmf,KAAM,MAGJ,OAAS0rB,GAAI,CACf,GAAI,OAASD,GAAI,MAAMpkC,MAAMtG,EAAE,MAC/B2qC,GAAK7qC,EACL4qC,GAAGhoB,aAAe,CAChBlf,eAAgB,EAChB2nC,aAAcrrC,EACdyrC,WAAY,WAETZ,GAAKA,GAAG1rB,KAAOnf,EAGxB,OAAOF,EAAEggB,cAGX,IAAI4rB,IAAK,EAET,SAASC,GAAG7rC,GACV,MAAO,CACL8rC,UAAW9rC,EACX+rC,YAAa,KACbC,WAAY,KACZC,oBAAqB,KACrBC,mBAAoB,KACpBC,YAAa,KACbC,WAAY,KACZC,oBAAqB,KACrBC,mBAAoB,MAIxB,SAASC,GAAGvsC,GACV,MAAO,CACL8rC,UAAW9rC,EAAE8rC,UACbC,YAAa/rC,EAAE+rC,YACfC,WAAYhsC,EAAEgsC,WACdC,oBAAqB,KACrBC,mBAAoB,KACpBC,YAAa,KACbC,WAAY,KACZC,oBAAqB,KACrBC,mBAAoB,MAIxB,SAASE,GAAGxsC,EAAGE,GACb,MAAO,CACL0D,eAAgB5D,EAChBysC,eAAgBvsC,EAChBqY,IAAK,EACLm0B,QAAS,KACThpC,SAAU,KACV2b,KAAM,KACNstB,WAAY,MAIhB,SAASC,GAAG5sC,EAAGE,GACb,OAASF,EAAEgsC,WAAahsC,EAAE+rC,YAAc/rC,EAAEgsC,WAAa9rC,GAAKF,EAAEgsC,WAAW3sB,KAAOnf,EAAGF,EAAEgsC,WAAa9rC,GAGpG,SAAS2sC,GAAG7sC,EAAGE,GACb,IAAIgC,EAAIlC,EAAE8sB,UAEV,GAAI,OAAS5qB,EAAG,CACd,IAAIG,EAAIrC,EAAE8sC,YACNxqC,EAAI,KACR,OAASD,IAAMA,EAAIrC,EAAE8sC,YAAcjB,GAAG7rC,EAAEitB,qBACnC5qB,EAAIrC,EAAE8sC,YAAaxqC,EAAIJ,EAAE4qC,YAAa,OAASzqC,EAAI,OAASC,GAAKD,EAAIrC,EAAE8sC,YAAcjB,GAAG7rC,EAAEitB,eAAgB3qB,EAAIJ,EAAE4qC,YAAcjB,GAAG3pC,EAAE+qB,gBAAkB5qB,EAAIrC,EAAE8sC,YAAcP,GAAGjqC,GAAK,OAASA,IAAMA,EAAIJ,EAAE4qC,YAAcP,GAAGlqC,IAE9N,OAASC,GAAKD,IAAMC,EAAIsqC,GAAGvqC,EAAGnC,GAAK,OAASmC,EAAE2pC,YAAc,OAAS1pC,EAAE0pC,YAAcY,GAAGvqC,EAAGnC,GAAI0sC,GAAGtqC,EAAGpC,KAAO0sC,GAAGvqC,EAAGnC,GAAIoC,EAAE0pC,WAAa9rC,GAGvI,SAAS6sC,GAAG/sC,EAAGE,GACb,IAAIgC,EAAIlC,EAAE8sC,YAEV,QADA5qC,EAAI,OAASA,EAAIlC,EAAE8sC,YAAcjB,GAAG7rC,EAAEitB,eAAiB+f,GAAGhtC,EAAGkC,IAClDgqC,mBAAqBhqC,EAAE+pC,oBAAsB/pC,EAAEgqC,mBAAqBhsC,GAAKgC,EAAEgqC,mBAAmB7sB,KAAOnf,EAAGgC,EAAEgqC,mBAAqBhsC,GAG5I,SAAS8sC,GAAGhtC,EAAGE,GACb,IAAIgC,EAAIlC,EAAE8sB,UAEV,OADA,OAAS5qB,GAAKhC,IAAMgC,EAAE4qC,cAAgB5sC,EAAIF,EAAE8sC,YAAcP,GAAGrsC,IACtDA,EAGT,SAAS+sC,GAAGjtC,EAAGE,EAAGgC,EAAGG,EAAGC,EAAGwH,GACzB,OAAQ5H,EAAEqW,KACR,KAAK,EACH,MAAsB,mBAAfvY,EAAIkC,EAAEwqC,SAAmC1sC,EAAEiJ,KAAKa,EAAGzH,EAAGC,GAAKtC,EAEpE,KAAK,EACHA,EAAE+sB,WAA2B,KAAf/sB,EAAE+sB,UAAoB,GAEtC,KAAK,EAGH,GAAI,OADJzqB,EAAI,mBADJtC,EAAIkC,EAAEwqC,SACwB1sC,EAAEiJ,KAAKa,EAAGzH,EAAGC,GAAKtC,GAChB,MAChC,OAAO4C,EAAE,GAAIP,EAAGC,GAElB,KAAK,EACHspC,IAAK,EAGT,OAAOvpC,EAGT,SAAS6qC,GAAGltC,EAAGE,EAAGgC,EAAGG,EAAGC,GACtBspC,IAAK,EAGL,IAAK,IAAI9hC,GAFT5J,EAAI8sC,GAAGhtC,EAAGE,IAEK4rC,UAAW3sC,EAAI,KAAMC,EAAI,EAAGC,EAAIa,EAAE6rC,YAAazsC,EAAIwK,EAAG,OAASzK,GAAI,CAChF,IAAIsD,EAAItD,EAAEuE,eACVjB,EAAIL,GAAK,OAASnD,IAAMA,EAAIE,EAAGyK,EAAIxK,GAAIF,EAAIuD,IAAMvD,EAAIuD,KAAOwqC,GAAGxqC,EAAGtD,EAAEotC,gBAAiBntC,EAAI2tC,GAAGjtC,EAAGE,EAAGb,EAAGC,EAAG4C,EAAGG,GAAI,OAAShD,EAAEqE,WAAa1D,EAAE+sB,WAAa,GAAI1tB,EAAEstC,WAAa,KAAM,OAASzsC,EAAEksC,WAAalsC,EAAEisC,YAAcjsC,EAAEksC,WAAa/sC,GAAKa,EAAEksC,WAAWO,WAAattC,EAAGa,EAAEksC,WAAa/sC,KACvRA,EAAIA,EAAEggB,KAKR,IAFA1c,EAAI,KAECtD,EAAIa,EAAE+rC,oBAAqB,OAAS5sC,GAAI,CAC3C,IAAI+B,EAAI/B,EAAEuE,eACVxC,EAAIkB,GAAK,OAASK,IAAMA,EAAItD,EAAG,OAASF,IAAM2K,EAAIxK,IAAKF,EAAIgC,IAAMhC,EAAIgC,KAAO9B,EAAI2tC,GAAGjtC,EAAGE,EAAGb,EAAGC,EAAG4C,EAAGG,GAAI,OAAShD,EAAEqE,WAAa1D,EAAE+sB,WAAa,GAAI1tB,EAAEstC,WAAa,KAAM,OAASzsC,EAAEosC,mBAAqBpsC,EAAEmsC,oBAAsBnsC,EAAEosC,mBAAqBjtC,GAAKa,EAAEosC,mBAAmBK,WAAattC,EAAGa,EAAEosC,mBAAqBjtC,KACtTA,EAAIA,EAAEggB,KAGR,OAASlgB,IAAMe,EAAE8rC,WAAa,MAC9B,OAASrpC,EAAIzC,EAAEgsC,mBAAqB,KAAOlsC,EAAE+sB,WAAa,GAC1D,OAAS5tB,GAAK,OAASwD,IAAMmH,EAAIxK,GACjCY,EAAE4rC,UAAYhiC,EACd5J,EAAE6rC,YAAc5sC,EAChBe,EAAE+rC,oBAAsBtpC,EACxByqC,GAAGhuC,GACHY,EAAE4D,eAAiBxE,EACnBY,EAAEitB,cAAgB3tB,EAGpB,SAAS+tC,GAAGrtC,EAAGE,EAAGgC,GAChB,OAAShC,EAAE+rC,sBAAwB,OAAS/rC,EAAE8rC,aAAe9rC,EAAE8rC,WAAW3sB,KAAOnf,EAAE+rC,oBAAqB/rC,EAAE8rC,WAAa9rC,EAAEgsC,oBAAqBhsC,EAAE+rC,oBAAsB/rC,EAAEgsC,mBAAqB,MAC7LoB,GAAGptC,EAAEisC,YAAajqC,GAClBhC,EAAEisC,YAAcjsC,EAAEksC,WAAa,KAC/BkB,GAAGptC,EAAEmsC,oBAAqBnqC,GAC1BhC,EAAEmsC,oBAAsBnsC,EAAEosC,mBAAqB,KAGjD,SAASgB,GAAGttC,EAAGE,GACb,KAAO,OAASF,GAAI,CAClB,IAAIkC,EAAIlC,EAAE0D,SAEV,GAAI,OAASxB,EAAG,CACdlC,EAAE0D,SAAW,KACb,IAAIrB,EAAInC,EACR,GAAI,mBAAsBgC,EAAG,MAAMwE,MAAMtG,EAAE,IAAK8B,IAChDA,EAAE+G,KAAK5G,GAGTrC,EAAIA,EAAE2sC,YAIV,IAAIY,GAAK1oB,EAAG7C,wBACRwrB,IAAK,IAAIvvB,EAAGzV,WAAYgW,KAE5B,SAASivB,GAAGztC,EAAGE,EAAGgC,EAAGG,GAGnBH,EAAI,OADJA,EAAIA,EAAEG,EADNnC,EAAIF,EAAEitB,gBAE2B/sB,EAAI0C,EAAE,GAAI1C,EAAGgC,GAC9ClC,EAAEitB,cAAgB/qB,EAElB,QADAG,EAAIrC,EAAE8sC,cACQ,IAAM9sC,EAAE4D,iBAAmBvB,EAAEypC,UAAY5pC,GAGzD,IAAIwrC,GAAK,CACPvvB,UAAW,SAAmBne,GAC5B,SAAQA,EAAIA,EAAE2tC,sBAAuB9gB,GAAG7sB,KAAOA,GAEjDse,gBAAiB,SAAyBte,EAAGE,EAAGgC,GAC9ClC,EAAIA,EAAE2tC,oBACN,IAAItrC,EAAIurC,KACJtrC,EAAIirC,GAAGtrB,UAEX3f,EAAIkqC,GADJnqC,EAAIwrC,GAAGxrC,EAAGrC,EAAGsC,GACHA,IACRoqC,QAAUxsC,EACZ,MAAWgC,IAAoBI,EAAEoB,SAAWxB,GAC5C2qC,GAAG7sC,EAAGsC,GACNwrC,GAAG9tC,EAAGqC,IAERgc,oBAAqB,SAA6Bre,EAAGE,EAAGgC,GACtDlC,EAAIA,EAAE2tC,oBACN,IAAItrC,EAAIurC,KACJtrC,EAAIirC,GAAGtrB,UAEX3f,EAAIkqC,GADJnqC,EAAIwrC,GAAGxrC,EAAGrC,EAAGsC,GACHA,IACRiW,IAAM,EACRjW,EAAEoqC,QAAUxsC,EACZ,MAAWgC,IAAoBI,EAAEoB,SAAWxB,GAC5C2qC,GAAG7sC,EAAGsC,GACNwrC,GAAG9tC,EAAGqC,IAER+b,mBAAoB,SAA4Bpe,EAAGE,GACjDF,EAAIA,EAAE2tC,oBACN,IAAIzrC,EAAI0rC,KACJvrC,EAAIkrC,GAAGtrB,UAEX5f,EAAImqC,GADJtqC,EAAI2rC,GAAG3rC,EAAGlC,EAAGqC,GACHA,IACRkW,IAAM,EACR,MAAWrY,IAAoBmC,EAAEqB,SAAWxD,GAC5C2sC,GAAG7sC,EAAGqC,GACNyrC,GAAG9tC,EAAGkC,KAIV,SAAS6rC,GAAG/tC,EAAGE,EAAGgC,EAAGG,EAAGC,EAAGwH,EAAG3K,GAE5B,MAAO,mBADPa,EAAIA,EAAE2kB,WACyB5c,sBAAwB/H,EAAE+H,sBAAsB1F,EAAGyH,EAAG3K,IAAKe,EAAEoH,YAAapH,EAAEoH,UAAUuX,wBAAwBynB,GAAGpkC,EAAGG,KAAOikC,GAAGhkC,EAAGwH,IAGlK,SAASkkC,GAAGhuC,EAAGE,EAAGgC,GAChB,IAAIG,GAAI,EACJC,EAAI2lC,GACJn+B,EAAI5J,EAAE+tC,YAQV,MAPA,iBAAoBnkC,GAAK,OAASA,EAAIA,EAAI2hC,GAAG3hC,IAAMxH,EAAIE,GAAEtC,GAAKgoC,GAAKjmC,GAAEiW,QAA6BpO,GAAKzH,EAAI,OAA7BA,EAAInC,EAAEkoC,eAAqDD,GAAGnoC,EAAGsC,GAAK2lC,IACpJ/nC,EAAI,IAAIA,EAAEgC,EAAG4H,GACb9J,EAAEitB,cAAgB,OAAS/sB,EAAE0G,YAAS,IAAW1G,EAAE0G,MAAQ1G,EAAE0G,MAAQ,KACrE1G,EAAEue,QAAUivB,GACZ1tC,EAAE2kB,UAAYzkB,EACdA,EAAEytC,oBAAsB3tC,EACxBqC,KAAMrC,EAAIA,EAAE2kB,WAAa0jB,4CAA8C/lC,EAAGtC,EAAEsoC,0CAA4Cx+B,GACjH5J,EAGT,SAASguC,GAAGluC,EAAGE,EAAGgC,EAAGG,GACnBrC,EAAIE,EAAE0G,MACN,mBAAsB1G,EAAEiuC,2BAA6BjuC,EAAEiuC,0BAA0BjsC,EAAGG,GACpF,mBAAsBnC,EAAEkuC,kCAAoCluC,EAAEkuC,iCAAiClsC,EAAGG,GAClGnC,EAAE0G,QAAU5G,GAAK0tC,GAAGrvB,oBAAoBne,EAAGA,EAAE0G,MAAO,MAGtD,SAASynC,GAAGruC,EAAGE,EAAGgC,EAAGG,GACnB,IAAIC,EAAItC,EAAE2kB,UACVriB,EAAE2E,MAAQ/E,EACVI,EAAEsE,MAAQ5G,EAAEitB,cACZ3qB,EAAEkc,KAAOgvB,GACT,IAAI1jC,EAAI5J,EAAE+tC,YACV,iBAAoBnkC,GAAK,OAASA,EAAIxH,EAAEic,QAAUktB,GAAG3hC,IAAMA,EAAItH,GAAEtC,GAAKgoC,GAAKjmC,GAAEiW,QAAS5V,EAAEic,QAAU4pB,GAAGnoC,EAAG8J,IAExG,QADAA,EAAI9J,EAAE8sC,eACSI,GAAGltC,EAAG8J,EAAG5H,EAAGI,EAAGD,GAAIC,EAAEsE,MAAQ5G,EAAEitB,eAE9C,mBADAnjB,EAAI5J,EAAEouC,4BACsBb,GAAGztC,EAAGE,EAAG4J,EAAG5H,GAAII,EAAEsE,MAAQ5G,EAAEitB,eACxD,mBAAsB/sB,EAAEouC,0BAA4B,mBAAsBhsC,EAAEisC,yBAA2B,mBAAsBjsC,EAAEksC,2BAA6B,mBAAsBlsC,EAAE2F,qBAAuB/H,EAAIoC,EAAEsE,MAAO,mBAAsBtE,EAAE2F,oBAAsB3F,EAAE2F,qBAAsB,mBAAsB3F,EAAEksC,2BAA6BlsC,EAAEksC,4BAA6BtuC,IAAMoC,EAAEsE,OAAS8mC,GAAGrvB,oBAAoB/b,EAAGA,EAAEsE,MAAO,MAA0B,QAAnBkD,EAAI9J,EAAE8sC,eAA4BI,GAAGltC,EAAG8J,EAAG5H,EAAGI,EAAGD,GAAIC,EAAEsE,MAAQ5G,EAAEitB,gBAC9e,mBAAsB3qB,EAAEmsC,oBAAsBzuC,EAAE+sB,WAAa,GAG/D,IAAI2hB,GAAKh8B,MAAMD,QAEf,SAASk8B,GAAG3uC,EAAGE,EAAGgC,GAGhB,GAAI,QAFJlC,EAAIkC,EAAE4c,MAEY,mBAAsB9e,GAAK,iBAAoBA,EAAG,CAClE,GAAIkC,EAAE+c,OAAQ,CAGZ,GAFA/c,EAAIA,EAAE+c,OAEC,CACL,GAAI,IAAM/c,EAAEqW,IAAK,MAAM7R,MAAMtG,EAAE,MAC/B,IAAIiC,EAAIH,EAAEyiB,UAGZ,IAAKtiB,EAAG,MAAMqE,MAAMtG,EAAE,IAAKJ,IAC3B,IAAIsC,EAAI,GAAKtC,EACb,OAAI,OAASE,GAAK,OAASA,EAAE4e,KAAO,mBAAsB5e,EAAE4e,KAAO5e,EAAE4e,IAAI8vB,aAAetsC,EAAUpC,EAAE4e,MAEpG5e,EAAI,SAAWF,GACb,IAAIE,EAAImC,EAAEmc,KACVte,IAAMstC,KAAOttC,EAAImC,EAAEmc,KAAO,IAC1B,OAASxe,SAAWE,EAAEoC,GAAKpC,EAAEoC,GAAKtC,IAGlC4uC,WAAatsC,EACRpC,GAGT,GAAI,iBAAoBF,EAAG,MAAM0G,MAAMtG,EAAE,MACzC,IAAK8B,EAAE+c,OAAQ,MAAMvY,MAAMtG,EAAE,IAAKJ,IAGpC,OAAOA,EAGT,SAAS6uC,GAAG7uC,EAAGE,GACb,GAAI,aAAeF,EAAEqO,KAAM,MAAM3H,MAAMtG,EAAE,GAAI,oBAAsBb,OAAO+H,UAAUiM,SAAStK,KAAK/I,GAAK,qBAAuBX,OAAO4J,KAAKjJ,GAAGya,KAAK,MAAQ,IAAMza,EAAG,KAGrK,SAAS4uC,GAAG9uC,GACV,SAASE,EAAEA,EAAGgC,GACZ,GAAIlC,EAAG,CACL,IAAIqC,EAAInC,EAAEksC,WACV,OAAS/pC,GAAKA,EAAEsqC,WAAazqC,EAAGhC,EAAEksC,WAAalqC,GAAKhC,EAAEisC,YAAcjsC,EAAEksC,WAAalqC,EACnFA,EAAEyqC,WAAa,KACfzqC,EAAE6qB,UAAY,GAIlB,SAAS7qB,EAAEA,EAAGG,GACZ,IAAKrC,EAAG,OAAO,KAEf,KAAO,OAASqC,GACdnC,EAAEgC,EAAGG,GAAIA,EAAIA,EAAEgrB,QAGjB,OAAO,KAGT,SAAShrB,EAAErC,EAAGE,GACZ,IAAKF,EAAI,IAAIinB,IAAO,OAAS/mB,GAC3B,OAASA,EAAE6F,IAAM/F,EAAE+K,IAAI7K,EAAE6F,IAAK7F,GAAKF,EAAE+K,IAAI7K,EAAEkI,MAAOlI,GAAIA,EAAIA,EAAEmtB,QAG9D,OAAOrtB,EAGT,SAASsC,EAAEtC,EAAGE,EAAGgC,GAIf,OAHAlC,EAAI+uC,GAAG/uC,EAAGE,IACRkI,MAAQ,EACVpI,EAAEqtB,QAAU,KACLrtB,EAGT,SAAS8J,EAAE5J,EAAGgC,EAAGG,GAEf,OADAnC,EAAEkI,MAAQ/F,EACLrC,EAED,QADJqC,EAAInC,EAAE4sB,YACiBzqB,EAAIA,EAAE+F,OAAWlG,GAAKhC,EAAE6sB,UAAY,EAAG7qB,GAAKG,GACnEnC,EAAE6sB,UAAY,EACP7qB,GAJQA,EAOjB,SAAS/C,EAAEe,GAET,OADAF,GAAK,OAASE,EAAE4sB,YAAc5sB,EAAE6sB,UAAY,GACrC7sB,EAGT,SAASd,EAAEY,EAAGE,EAAGgC,EAAGG,GAClB,OAAI,OAASnC,GAAK,IAAMA,EAAEqY,MAAYrY,EAAI8uC,GAAG9sC,EAAGlC,EAAEivC,KAAM5sC,IAAc,OAAIrC,EAAGE,KAC7EA,EAAIoC,EAAEpC,EAAGgC,IACC,OAAIlC,EACPE,GAGT,SAASb,EAAEW,EAAGE,EAAGgC,EAAGG,GAClB,OAAI,OAASnC,GAAKA,EAAEgvC,cAAgBhtC,EAAEmM,OAAahM,EAAIC,EAAEpC,EAAGgC,EAAE+E,QAAa6X,IAAM6vB,GAAG3uC,EAAGE,EAAGgC,GAAIG,EAAU,OAAIrC,EAAGqC,KAC/GA,EAAI8sC,GAAGjtC,EAAEmM,KAAMnM,EAAE6D,IAAK7D,EAAE+E,MAAO,KAAMjH,EAAEivC,KAAM5sC,IAC3Cyc,IAAM6vB,GAAG3uC,EAAGE,EAAGgC,GACjBG,EAAU,OAAIrC,EACPqC,GAGT,SAAS/C,EAAEU,EAAGE,EAAGgC,EAAGG,GAClB,OAAI,OAASnC,GAAK,IAAMA,EAAEqY,KAAOrY,EAAEykB,UAAUsK,gBAAkB/sB,EAAE+sB,eAAiB/uB,EAAEykB,UAAUyqB,iBAAmBltC,EAAEktC,iBAAuBlvC,EAAImvC,GAAGntC,EAAGlC,EAAEivC,KAAM5sC,IAAc,OAAIrC,EAAGE,KACjLA,EAAIoC,EAAEpC,EAAGgC,EAAEkO,UAAY,KACb,OAAIpQ,EACPE,GAGT,SAASyC,EAAE3C,EAAGE,EAAGgC,EAAGG,EAAGyH,GACrB,OAAI,OAAS5J,GAAK,IAAMA,EAAEqY,MAAYrY,EAAIovC,GAAGptC,EAAGlC,EAAEivC,KAAM5sC,EAAGyH,IAAc,OAAI9J,EAAGE,KAChFA,EAAIoC,EAAEpC,EAAGgC,IACC,OAAIlC,EACPE,GAGT,SAASkB,EAAEpB,EAAGE,EAAGgC,GACf,GAAI,iBAAoBhC,GAAK,iBAAoBA,EAAG,OAAOA,EAAI8uC,GAAG,GAAK9uC,EAAGF,EAAEivC,KAAM/sC,IAAc,OAAIlC,EAAGE,EAEvG,GAAI,iBAAoBA,GAAK,OAASA,EAAG,CACvC,OAAQA,EAAEsT,UACR,KAAKuR,EACH,OAAO7iB,EAAIitC,GAAGjvC,EAAEmO,KAAMnO,EAAE6F,IAAK7F,EAAE+G,MAAO,KAAMjH,EAAEivC,KAAM/sC,IAAM4c,IAAM6vB,GAAG3uC,EAAG,KAAME,GAAIgC,EAAU,OAAIlC,EAAGkC,EAEnG,KAAK8iB,EACH,OAAO9kB,EAAImvC,GAAGnvC,EAAGF,EAAEivC,KAAM/sC,IAAc,OAAIlC,EAAGE,EAGlD,GAAIwuC,GAAGxuC,IAAM2lB,EAAG3lB,GAAI,OAAOA,EAAIovC,GAAGpvC,EAAGF,EAAEivC,KAAM/sC,EAAG,OAAiB,OAAIlC,EAAGE,EACxE2uC,GAAG7uC,EAAGE,GAGR,OAAO,KAGT,SAASU,EAAEZ,EAAGE,EAAGgC,EAAGG,GAClB,IAAIC,EAAI,OAASpC,EAAIA,EAAE6F,IAAM,KAC7B,GAAI,iBAAoB7D,GAAK,iBAAoBA,EAAG,OAAO,OAASI,EAAI,KAAOlD,EAAEY,EAAGE,EAAG,GAAKgC,EAAGG,GAE/F,GAAI,iBAAoBH,GAAK,OAASA,EAAG,CACvC,OAAQA,EAAEsR,UACR,KAAKuR,EACH,OAAO7iB,EAAE6D,MAAQzD,EAAIJ,EAAEmM,OAAS4W,EAAKtiB,EAAE3C,EAAGE,EAAGgC,EAAE+E,MAAMmJ,SAAU/N,EAAGC,GAAKjD,EAAEW,EAAGE,EAAGgC,EAAGG,GAAK,KAEzF,KAAK2iB,EACH,OAAO9iB,EAAE6D,MAAQzD,EAAIhD,EAAEU,EAAGE,EAAGgC,EAAGG,GAAK,KAGzC,GAAIqsC,GAAGxsC,IAAM2jB,EAAG3jB,GAAI,OAAO,OAASI,EAAI,KAAOK,EAAE3C,EAAGE,EAAGgC,EAAGG,EAAG,MAC7DwsC,GAAG7uC,EAAGkC,GAGR,OAAO,KAGT,SAASP,EAAE3B,EAAGE,EAAGgC,EAAGG,EAAGC,GACrB,GAAI,iBAAoBD,GAAK,iBAAoBA,EAAG,OAA6BjD,EAAEc,EAAxBF,EAAIA,EAAE8K,IAAI5I,IAAM,KAAc,GAAKG,EAAGC,GAEjG,GAAI,iBAAoBD,GAAK,OAASA,EAAG,CACvC,OAAQA,EAAEmR,UACR,KAAKuR,EACH,OAAO/kB,EAAIA,EAAE8K,IAAI,OAASzI,EAAE0D,IAAM7D,EAAIG,EAAE0D,MAAQ,KAAM1D,EAAEgM,OAAS4W,EAAKtiB,EAAEzC,EAAGF,EAAGqC,EAAE4E,MAAMmJ,SAAU9N,EAAGD,EAAE0D,KAAO1G,EAAEa,EAAGF,EAAGqC,EAAGC,GAEzH,KAAK0iB,EACH,OAAsD1lB,EAAEY,EAAjDF,EAAIA,EAAE8K,IAAI,OAASzI,EAAE0D,IAAM7D,EAAIG,EAAE0D,MAAQ,KAAc1D,EAAGC,GAGrE,GAAIosC,GAAGrsC,IAAMwjB,EAAGxjB,GAAI,OAA6BM,EAAEzC,EAAxBF,EAAIA,EAAE8K,IAAI5I,IAAM,KAAcG,EAAGC,EAAG,MAC/DusC,GAAG3uC,EAAGmC,GAGR,OAAO,KAGT,SAASxB,EAAEyB,EAAGnD,EAAGC,EAAGC,GAClB,IAAK,IAAIC,EAAI,KAAMqD,EAAI,KAAMG,EAAI3D,EAAGwB,EAAIxB,EAAI,EAAG4B,EAAI,KAAM,OAAS+B,GAAKnC,EAAIvB,EAAE+C,OAAQxB,IAAK,CACxFmC,EAAEsF,MAAQzH,GAAKI,EAAI+B,EAAGA,EAAI,MAAQ/B,EAAI+B,EAAEuqB,QACxC,IAAIxtB,EAAIe,EAAE0B,EAAGQ,EAAG1D,EAAEuB,GAAItB,GAEtB,GAAI,OAASQ,EAAG,CACd,OAASiD,IAAMA,EAAI/B,GACnB,MAGFf,GAAK8C,GAAK,OAASjD,EAAEitB,WAAa5sB,EAAEoC,EAAGQ,GACvC3D,EAAI2K,EAAEjK,EAAGV,EAAGwB,GACZ,OAASgC,EAAIrD,EAAIO,EAAI8C,EAAE0qB,QAAUxtB,EACjC8C,EAAI9C,EACJiD,EAAI/B,EAGN,GAAIJ,IAAMvB,EAAE+C,OAAQ,OAAOD,EAAEI,EAAGQ,GAAIxD,EAEpC,GAAI,OAASwD,EAAG,CACd,KAAOnC,EAAIvB,EAAE+C,OAAQxB,IACA,QAAnBmC,EAAI1B,EAAEkB,EAAGlD,EAAEuB,GAAItB,MAAmBF,EAAI2K,EAAEhH,EAAG3D,EAAGwB,GAAI,OAASgC,EAAIrD,EAAIwD,EAAIH,EAAE0qB,QAAUvqB,EAAGH,EAAIG,GAG5F,OAAOxD,EAGT,IAAKwD,EAAIT,EAAEC,EAAGQ,GAAInC,EAAIvB,EAAE+C,OAAQxB,IACL,QAAzBI,EAAIY,EAAEmB,EAAGR,EAAG3B,EAAGvB,EAAEuB,GAAItB,MAAmBW,GAAK,OAASe,EAAE+rB,WAAahqB,EAAU,OAAE,OAAS/B,EAAEgF,IAAMpF,EAAII,EAAEgF,KAAM5G,EAAI2K,EAAE/I,EAAG5B,EAAGwB,GAAI,OAASgC,EAAIrD,EAAIyB,EAAI4B,EAAE0qB,QAAUtsB,EAAG4B,EAAI5B,GAMxK,OAHAf,GAAK8C,EAAEiN,SAAQ,SAAU/P,GACvB,OAAOE,EAAEoC,EAAGtC,MAEPV,EAGT,SAASiwC,EAAGjtC,EAAGnD,EAAGC,EAAGC,GACnB,IAAIC,EAAIumB,EAAGzmB,GACX,GAAI,mBAAsBE,EAAG,MAAMoH,MAAMtG,EAAE,MAE3C,GAAI,OADJhB,EAAIE,EAAE2J,KAAK7J,IACI,MAAMsH,MAAMtG,EAAE,MAE7B,IAAK,IAAIuC,EAAIrD,EAAI,KAAMwD,EAAI3D,EAAGwB,EAAIxB,EAAI,EAAG4B,EAAI,KAAMlB,EAAIT,EAAEigB,OAAQ,OAASvc,IAAMjD,EAAEyf,KAAM3e,IAAKd,EAAIT,EAAEigB,OAAQ,CACzGvc,EAAEsF,MAAQzH,GAAKI,EAAI+B,EAAGA,EAAI,MAAQ/B,EAAI+B,EAAEuqB,QACxC,IAAIxsB,EAAID,EAAE0B,EAAGQ,EAAGjD,EAAEH,MAAOL,GAEzB,GAAI,OAASwB,EAAG,CACd,OAASiC,IAAMA,EAAI/B,GACnB,MAGFf,GAAK8C,GAAK,OAASjC,EAAEisB,WAAa5sB,EAAEoC,EAAGQ,GACvC3D,EAAI2K,EAAEjJ,EAAG1B,EAAGwB,GACZ,OAASgC,EAAIrD,EAAIuB,EAAI8B,EAAE0qB,QAAUxsB,EACjC8B,EAAI9B,EACJiC,EAAI/B,EAGN,GAAIlB,EAAEyf,KAAM,OAAOpd,EAAEI,EAAGQ,GAAIxD,EAE5B,GAAI,OAASwD,EAAG,CACd,MAAQjD,EAAEyf,KAAM3e,IAAKd,EAAIT,EAAEigB,OACH,QAAtBxf,EAAIuB,EAAEkB,EAAGzC,EAAEH,MAAOL,MAAmBF,EAAI2K,EAAEjK,EAAGV,EAAGwB,GAAI,OAASgC,EAAIrD,EAAIO,EAAI8C,EAAE0qB,QAAUxtB,EAAG8C,EAAI9C,GAG/F,OAAOP,EAGT,IAAKwD,EAAIT,EAAEC,EAAGQ,IAAKjD,EAAEyf,KAAM3e,IAAKd,EAAIT,EAAEigB,OACR,QAA5Bxf,EAAI8B,EAAEmB,EAAGR,EAAG3B,EAAGd,EAAEH,MAAOL,MAAmBW,GAAK,OAASH,EAAEitB,WAAahqB,EAAU,OAAE,OAASjD,EAAEkG,IAAMpF,EAAId,EAAEkG,KAAM5G,EAAI2K,EAAEjK,EAAGV,EAAGwB,GAAI,OAASgC,EAAIrD,EAAIO,EAAI8C,EAAE0qB,QAAUxtB,EAAG8C,EAAI9C,GAM3K,OAHAG,GAAK8C,EAAEiN,SAAQ,SAAU/P,GACvB,OAAOE,EAAEoC,EAAGtC,MAEPV,EAGT,OAAO,SAAUU,EAAGqC,EAAGyH,EAAG1K,GACxB,IAAIC,EAAI,iBAAoByK,GAAK,OAASA,GAAKA,EAAEuE,OAAS4W,GAAM,OAASnb,EAAE/D,IAC3E1G,IAAMyK,EAAIA,EAAE7C,MAAMmJ,UAClB,IAAI9Q,EAAI,iBAAoBwK,GAAK,OAASA,EAC1C,GAAIxK,EAAG,OAAQwK,EAAE0J,UACf,KAAKuR,EACH/kB,EAAG,CAGD,IAFAV,EAAIwK,EAAE/D,IAED1G,EAAIgD,EAAG,OAAShD,GAAI,CACvB,GAAIA,EAAE0G,MAAQzG,EAAG,CACf,GAAI,IAAMD,EAAEkZ,IAAMzO,EAAEuE,OAAS4W,EAAK5lB,EAAE6vC,cAAgBplC,EAAEuE,KAAM,CAC1DnM,EAAElC,EAAGX,EAAEguB,UACPhrB,EAAIC,EAAEjD,EAAGyK,EAAEuE,OAAS4W,EAAKnb,EAAE7C,MAAMmJ,SAAWtG,EAAE7C,QAC5C6X,IAAM6vB,GAAG3uC,EAAGX,EAAGyK,GACjBzH,EAAU,OAAIrC,EACdA,EAAIqC,EACJ,MAAMrC,EAENkC,EAAElC,EAAGX,GACL,MAEGa,EAAEF,EAAGX,GACZA,EAAIA,EAAEguB,QAGRvjB,EAAEuE,OAAS4W,IAAM5iB,EAAIitC,GAAGxlC,EAAE7C,MAAMmJ,SAAUpQ,EAAEivC,KAAM7vC,EAAG0K,EAAE/D,MAAgB,OAAI/F,EAAGA,EAAIqC,KAAMjD,EAAI+vC,GAAGrlC,EAAEuE,KAAMvE,EAAE/D,IAAK+D,EAAE7C,MAAO,KAAMjH,EAAEivC,KAAM7vC,IAAM0f,IAAM6vB,GAAG3uC,EAAGqC,EAAGyH,GAAI1K,EAAU,OAAIY,EAAGA,EAAIZ,GAGrL,OAAOD,EAAEa,GAEX,KAAKglB,EACHhlB,EAAG,CACD,IAAKX,EAAIyK,EAAE/D,IAAK,OAAS1D,GAAI,CAC3B,GAAIA,EAAE0D,MAAQ1G,EAAG,CACf,GAAI,IAAMgD,EAAEkW,KAAOlW,EAAEsiB,UAAUsK,gBAAkBnlB,EAAEmlB,eAAiB5sB,EAAEsiB,UAAUyqB,iBAAmBtlC,EAAEslC,eAAgB,CACnHltC,EAAElC,EAAGqC,EAAEgrB,UACPhrB,EAAIC,EAAED,EAAGyH,EAAEsG,UAAY,KACb,OAAIpQ,EACdA,EAAIqC,EACJ,MAAMrC,EAENkC,EAAElC,EAAGqC,GACL,MAEGnC,EAAEF,EAAGqC,GACZA,EAAIA,EAAEgrB,SAGRhrB,EAAIgtC,GAAGvlC,EAAG9J,EAAEivC,KAAM7vC,IACR,OAAIY,EACdA,EAAIqC,EAGN,OAAOlD,EAAEa,GAEb,GAAI,iBAAoB8J,GAAK,iBAAoBA,EAAG,OAAOA,EAAI,GAAKA,EAAG,OAASzH,GAAK,IAAMA,EAAEkW,KAAOrW,EAAElC,EAAGqC,EAAEgrB,UAAUhrB,EAAIC,EAAED,EAAGyH,IAAiB,OAAI9J,EAAGA,EAAIqC,IAAMH,EAAElC,EAAGqC,IAAIA,EAAI2sC,GAAGllC,EAAG9J,EAAEivC,KAAM7vC,IAAc,OAAIY,EAAGA,EAAIqC,GAAIlD,EAAEa,GAC1N,GAAI0uC,GAAG5kC,GAAI,OAAOjJ,EAAEb,EAAGqC,EAAGyH,EAAG1K,GAC7B,GAAIymB,EAAG/b,GAAI,OAAOylC,EAAGvvC,EAAGqC,EAAGyH,EAAG1K,GAE9B,GADAE,GAAKuvC,GAAG7uC,EAAG8J,QACP,IAAuBA,IAAMzK,EAAG,OAAQW,EAAEuY,KAC5C,KAAK,EACL,KAAK,EACH,MAAMvY,EAAIA,EAAEqO,KAAM3H,MAAMtG,EAAE,IAAKJ,EAAEyI,aAAezI,EAAE0I,MAAQ,cAE9D,OAAOxG,EAAElC,EAAGqC,IAIhB,IAAImtC,GAAKV,IAAG,GACRW,GAAKX,IAAG,GACRY,GAAK,GACLC,GAAK,CACPz3B,QAASw3B,IAEPE,GAAK,CACP13B,QAASw3B,IAEPG,GAAK,CACP33B,QAASw3B,IAGX,SAASI,GAAG9vC,GACV,GAAIA,IAAM0vC,GAAI,MAAMhpC,MAAMtG,EAAE,MAC5B,OAAOJ,EAGT,SAAS+vC,GAAG/vC,EAAGE,GACb0B,GAAEiuC,GAAI3vC,GACN0B,GAAEguC,GAAI5vC,GACN4B,GAAE+tC,GAAID,IACN,IAAIxtC,EAAIhC,EAAEyrB,SAEV,OAAQzpB,GACN,KAAK,EACL,KAAK,GACHhC,GAAKA,EAAIA,EAAE8vC,iBAAmB9vC,EAAEorB,aAAeL,GAAG,KAAM,IACxD,MAEF,QAC6E/qB,EAAI+qB,GAA/C/qB,GAAhCgC,EAAI,IAAMA,EAAIhC,EAAEuc,WAAavc,GAASorB,cAAgB,KAAMppB,EAAIA,EAAEyW,SAGtEnX,GAAEmuC,IACF/tC,GAAE+tC,GAAIzvC,GAGR,SAAS+vC,GAAGjwC,GACVwB,GAAEmuC,IACFnuC,GAAEouC,IACFpuC,GAAEquC,IAGJ,SAASK,GAAGlwC,GACV8vC,GAAGD,GAAG33B,SACN,IAAIhY,EAAI4vC,GAAGH,GAAGz3B,SACVhW,EAAI+oB,GAAG/qB,EAAGF,EAAEqO,MAChBnO,IAAMgC,IAAMN,GAAEguC,GAAI5vC,GAAO4B,GAAE+tC,GAAIztC,IAGjC,SAASiuC,GAAGnwC,GACV4vC,GAAG13B,UAAYlY,IAAMwB,GAAEmuC,IAAQnuC,GAAEouC,KAGnC,IAAIntC,GAAI,CACNyV,QAAS,GAGX,SAASk4B,GAAGpwC,GACV,IAAK,IAAIE,EAAIF,EAAG,OAASE,GAAI,CAC3B,GAAI,KAAOA,EAAEqY,IAAK,CAChB,IAAIrW,EAAIhC,EAAE+sB,cACV,GAAI,OAAS/qB,IAAwB,QAAlBA,EAAIA,EAAEgrB,aAA0BhrB,EAAEs/B,OAASZ,IAAM1+B,EAAEs/B,OAASX,IAAK,OAAO3gC,OACtF,GAAI,KAAOA,EAAEqY,UAAO,IAAWrY,EAAEmwC,cAAcC,aACpD,GAAI,IAAqB,GAAdpwC,EAAE6sB,WAAiB,OAAO7sB,OAChC,GAAI,OAASA,EAAEiO,MAAO,CAC3BjO,EAAEiO,MAAc,OAAIjO,EACpBA,EAAIA,EAAEiO,MACN,SAGF,GAAIjO,IAAMF,EAAG,MAEb,KAAO,OAASE,EAAEmtB,SAAU,CAC1B,GAAI,OAASntB,EAAU,QAAKA,EAAU,SAAMF,EAAG,OAAO,KACtDE,EAAIA,EAAU,OAGhBA,EAAEmtB,QAAgB,OAAIntB,EAAU,OAChCA,EAAIA,EAAEmtB,QAGR,OAAO,KAGT,SAASkjB,GAAGvwC,EAAGE,GACb,MAAO,CACLswC,UAAWxwC,EACXiH,MAAO/G,GAIX,IAAIuwC,GAAK5rB,EAAG9C,uBACR9e,GAAI4hB,EAAG7C,wBACP0uB,GAAK,EACLC,GAAK,KACLztC,GAAI,KACJ0tC,GAAK,KACLC,GAAK,KACL1tC,GAAI,KACJ2tC,GAAK,KACLC,GAAK,EACLC,GAAK,KACLC,GAAK,EACLC,IAAK,EACLC,GAAK,KACLC,GAAK,EAET,SAAShuC,KACP,MAAMsD,MAAMtG,EAAE,MAGhB,SAASixC,GAAGrxC,EAAGE,GACb,GAAI,OAASA,EAAG,OAAO,EAEvB,IAAK,IAAIgC,EAAI,EAAGA,EAAIhC,EAAEiC,QAAUD,EAAIlC,EAAEmC,OAAQD,IAC5C,IAAKkkC,GAAGpmC,EAAEkC,GAAIhC,EAAEgC,IAAK,OAAO,EAG9B,OAAO,EAGT,SAASovC,GAAGtxC,EAAGE,EAAGgC,EAAGG,EAAGC,EAAGwH,GAOzB,GANA4mC,GAAK5mC,EACL6mC,GAAKzwC,EACL0wC,GAAK,OAAS5wC,EAAIA,EAAEitB,cAAgB,KACpCwjB,GAAGv4B,QAAU,OAAS04B,GAAKW,GAAKC,GAChCtxC,EAAIgC,EAAEG,EAAGC,GAEL4uC,GAAI,CACN,GACEA,IAAK,EAAIE,IAAM,EAAGR,GAAK,OAAS5wC,EAAIA,EAAEitB,cAAgB,KAAM6jB,GAAKD,GAAIG,GAAK7tC,GAAID,GAAI,KAAMutC,GAAGv4B,QAAUs5B,GAAItxC,EAAIgC,EAAEG,EAAGC,SAC3G4uC,IAETC,GAAK,KACLC,GAAK,EAeP,GAZAX,GAAGv4B,QAAUu5B,IACbzxC,EAAI2wC,IACF1jB,cAAgB4jB,GAClB7wC,EAAE4D,eAAiBmtC,GACnB/wC,EAAE8sC,YAAckE,GAChBhxC,EAAE+sB,WAAakkB,GACfjxC,EAAI,OAASkD,IAAK,OAASA,GAAEmc,KAC7BqxB,GAAK,EACLI,GAAK3tC,GAAI0tC,GAAKD,GAAK1tC,GAAIytC,GAAK,KAC5BI,GAAK,EACLC,GAAK,KACLC,GAAK,EACDjxC,EAAG,MAAM0G,MAAMtG,EAAE,MACrB,OAAOF,EAGT,SAASwxC,KACPjB,GAAGv4B,QAAUu5B,GACbf,GAAK,EACLI,GAAK3tC,GAAI0tC,GAAKD,GAAK1tC,GAAIytC,GAAK,KAC5BI,GAAK,EACLC,GAAK,KACLC,GAAK,EACLC,IAAK,EACLC,GAAK,KACLC,GAAK,EAGP,SAASO,KACP,IAAI3xC,EAAI,CACNitB,cAAe,KACf6e,UAAW,KACX8F,MAAO,KACPC,WAAY,KACZxyB,KAAM,MAGR,OADA,OAASlc,GAAI0tC,GAAK1tC,GAAInD,EAAImD,GAAIA,GAAEkc,KAAOrf,EAChCmD,GAGT,SAAS2uC,KACP,GAAI,OAAShB,GAAYA,IAAR3tC,GAAI2tC,IAAWzxB,KAAcuxB,GAAK,QAAb1tC,GAAI0tC,IAAsB1tC,GAAEmc,KAAO,SAAU,CACjF,GAAI,OAASuxB,GAAI,MAAMlqC,MAAMtG,EAAE,MAE/B,IAAIJ,EAAI,CACNitB,eAFF/pB,GAAI0tC,IAEe3jB,cACjB6e,UAAW5oC,GAAE4oC,UACb8F,MAAO1uC,GAAE0uC,MACTC,WAAY3uC,GAAE2uC,WACdxyB,KAAM,MAERlc,GAAI,OAASA,GAAI0tC,GAAK7wC,EAAImD,GAAEkc,KAAOrf,EACnC4wC,GAAK1tC,GAAEmc,KAET,OAAOlc,GAGT,SAAS4uC,GAAG/xC,EAAGE,GACb,MAAO,mBAAsBA,EAAIA,EAAEF,GAAKE,EAG1C,SAAS8xC,GAAGhyC,GACV,IAAIE,EAAI4xC,KACJ5vC,EAAIhC,EAAE0xC,MACV,GAAI,OAAS1vC,EAAG,MAAMwE,MAAMtG,EAAE,MAG9B,GAFA8B,EAAE+vC,oBAAsBjyC,EAEpB,EAAIoxC,GAAI,CACV,IAAI/uC,EAAIH,EAAEgwC,SAEV,GAAI,OAASf,GAAI,CACf,IAAI7uC,EAAI6uC,GAAGrmC,IAAI5I,GAEf,QAAI,IAAWI,EAAG,CAChB6uC,GAAW,OAAEjvC,GACb,IAAI4H,EAAI5J,EAAE+sB,cAEV,GACEnjB,EAAI9J,EAAE8J,EAAGxH,EAAE6vC,QAAS7vC,EAAIA,EAAE+c,WACnB,OAAS/c,GAMlB,OAJA8jC,GAAGt8B,EAAG5J,EAAE+sB,iBAAmBue,IAAK,GAChCtrC,EAAE+sB,cAAgBnjB,EAClB5J,EAAE2xC,aAAe3vC,EAAEkwC,OAASlyC,EAAE4rC,UAAYhiC,GAC1C5H,EAAEmwC,kBAAoBvoC,EACf,CAACA,EAAGzH,IAIf,MAAO,CAACnC,EAAE+sB,cAAe5qB,GAG3BA,EAAIH,EAAEkwC,KACN,IAAIjzC,EAAIe,EAAE2xC,WAIV,GAHA/nC,EAAI5J,EAAE4rC,UACN,OAAS3sC,GAAK,OAASkD,IAAMA,EAAEgd,KAAO,MAAOhd,EAAIlD,EAAEkgB,MAAQhd,EAAI,OAASA,EAAIA,EAAEgd,KAAO,KAEjF,OAAShd,EAAG,CACd,IAAIjD,EAAIkD,EAAI,KACRjD,EAAIgD,EACJ/C,GAAI,EAER,EAAG,CACD,IAAIqD,EAAItD,EAAEuE,eACVjB,EAAI+tC,IAAMpxC,IAAMA,GAAI,EAAIF,EAAID,EAAGmD,EAAIwH,GAAInH,EAAIouC,IAAe3D,GAAR2D,GAAKpuC,KAAewqC,GAAGxqC,EAAGtD,EAAEotC,gBAAiB3iC,EAAIzK,EAAEizC,eAAiBtyC,EAAIX,EAAEkzC,WAAavyC,EAAE8J,EAAGzK,EAAE8yC,SAChJhzC,EAAIE,EACJA,EAAIA,EAAEggB,WACC,OAAShgB,GAAKA,IAAMgD,GAE7B/C,IAAMF,EAAID,EAAGmD,EAAIwH,GACjBs8B,GAAGt8B,EAAG5J,EAAE+sB,iBAAmBue,IAAK,GAChCtrC,EAAE+sB,cAAgBnjB,EAClB5J,EAAE2xC,WAAazyC,EACfc,EAAE4rC,UAAYxpC,EACdJ,EAAEmwC,kBAAoBvoC,EAGxB,MAAO,CAAC5J,EAAE+sB,cAAe/qB,EAAEgwC,UAG7B,SAASM,GAAGxyC,GACV,IAAIE,EAAIyxC,KAUR,MATA,mBAAsB3xC,IAAMA,EAAIA,KAChCE,EAAE+sB,cAAgB/sB,EAAE4rC,UAAY9rC,EAOhCA,GANAA,EAAIE,EAAE0xC,MAAQ,CACZQ,KAAM,KACNF,SAAU,KACVD,oBAAqBF,GACrBM,kBAAmBryC,IAEfkyC,SAAWO,GAAGlpC,KAAK,KAAMonC,GAAI3wC,GAC5B,CAACE,EAAE+sB,cAAejtB,GAG3B,SAAS0yC,GAAG1yC,GACV,OAAOgyC,GAAGD,IAGZ,SAASY,GAAG3yC,EAAGE,EAAGgC,EAAGG,GAWnB,OAVArC,EAAI,CACFuY,IAAKvY,EACLuH,OAAQrH,EACR0yC,QAAS1wC,EACT2wC,KAAMxwC,EACNgd,KAAM,MAER,OAAS2xB,IAAMA,GAAK,CAClB5E,WAAY,OACRA,WAAapsC,EAAEqf,KAAOrf,EAAyB,QAAnBE,EAAI8wC,GAAG5E,YAAyB4E,GAAG5E,WAAapsC,EAAEqf,KAAOrf,GAAKkC,EAAIhC,EAAEmf,KAAMnf,EAAEmf,KAAOrf,EAAGA,EAAEqf,KAAOnd,EAAG8uC,GAAG5E,WAAapsC,GAC7IA,EAGT,SAAS8yC,GAAG9yC,EAAGE,EAAGgC,EAAGG,GACnB,IAAIC,EAAIqvC,KACRV,IAAMjxC,EACNsC,EAAE2qB,cAAgB0lB,GAAGzyC,EAAGgC,OAAG,OAAQ,IAAWG,EAAI,KAAOA,GAG3D,SAAS0wC,GAAG/yC,EAAGE,EAAGgC,EAAGG,GACnB,IAAIC,EAAIwvC,KACRzvC,OAAI,IAAWA,EAAI,KAAOA,EAC1B,IAAIyH,OAAI,EAER,GAAI,OAAS5G,GAAG,CACd,IAAI/D,EAAI+D,GAAE+pB,cAGV,GAFAnjB,EAAI3K,EAAEyzC,QAEF,OAASvwC,GAAKgvC,GAAGhvC,EAAGlD,EAAE0zC,MAExB,YADAF,GAAG,EAAGzwC,EAAG4H,EAAGzH,GAKhB4uC,IAAMjxC,EACNsC,EAAE2qB,cAAgB0lB,GAAGzyC,EAAGgC,EAAG4H,EAAGzH,GAGhC,SAAS2wC,GAAGhzC,EAAGE,GACb,OAAO4yC,GAAG,IAAK,IAAK9yC,EAAGE,GAGzB,SAAS+yC,GAAGjzC,EAAGE,GACb,OAAO6yC,GAAG,IAAK,IAAK/yC,EAAGE,GAGzB,SAASgzC,GAAGlzC,EAAGE,GACb,MAAI,mBAAsBA,GAAUF,EAAIA,IAAKE,EAAEF,GAAI,WACjDE,EAAE,QAEA,MAASA,GAA0BF,EAAIA,IAAKE,EAAEgY,QAAUlY,EAAG,WAC7DE,EAAEgY,QAAU,YADd,EAKF,SAASi7B,MAET,SAASC,GAAGpzC,EAAGE,GAEb,OADAyxC,KAAK1kB,cAAgB,CAACjtB,OAAG,IAAWE,EAAI,KAAOA,GACxCF,EAGT,SAASqzC,GAAGrzC,EAAGE,GACb,IAAIgC,EAAI4vC,KACR5xC,OAAI,IAAWA,EAAI,KAAOA,EAC1B,IAAImC,EAAIH,EAAE+qB,cACV,OAAI,OAAS5qB,GAAK,OAASnC,GAAKmxC,GAAGnxC,EAAGmC,EAAE,IAAYA,EAAE,IACtDH,EAAE+qB,cAAgB,CAACjtB,EAAGE,GACfF,GAGT,SAASyyC,GAAGzyC,EAAGE,EAAGgC,GAChB,KAAM,GAAKkvC,IAAK,MAAM1qC,MAAMtG,EAAE,MAC9B,IAAIiC,EAAIrC,EAAE8sB,UACV,GAAI9sB,IAAM2wC,IAAM,OAAStuC,GAAKA,IAAMsuC,GAClC,GAAIO,IAAK,EAAIlxC,EAAI,CACf4D,eAAgB8sC,GAChBjE,eAAgB,KAChB0F,OAAQjwC,EACRowC,aAAc,KACdC,WAAY,KACZlzB,KAAM,MACL,OAAS8xB,KAAOA,GAAK,IAAIlqB,UAAuB,KAAf/kB,EAAIivC,GAAGrmC,IAAI5K,IAAkBixC,GAAGpmC,IAAI7K,EAAGF,OAAQ,CACjF,IAAKE,EAAIgC,EAAG,OAAShC,EAAEmf,MACrBnf,EAAIA,EAAEmf,KAGRnf,EAAEmf,KAAOrf,MAEN,CACL,IAAIsC,EAAIsrC,KACJ9jC,EAAIyjC,GAAGtrB,SAEXnY,EAAI,CACFlG,eAFFtB,EAAIurC,GAAGvrC,EAAGtC,EAAG8J,GAGX2iC,eAAgB3iC,EAChBqoC,OAAQjwC,EACRowC,aAAc,KACdC,WAAY,KACZlzB,KAAM,MAER,IAAIlgB,EAAIe,EAAEkyC,KACV,GAAI,OAASjzC,EAAG2K,EAAEuV,KAAOvV,MAAO,CAC9B,IAAI1K,EAAID,EAAEkgB,KACV,OAASjgB,IAAM0K,EAAEuV,KAAOjgB,GACxBD,EAAEkgB,KAAOvV,EAGX,GADA5J,EAAEkyC,KAAOtoC,EACL,IAAM9J,EAAE4D,iBAAmB,OAASvB,GAAK,IAAMA,EAAEuB,iBAA+C,QAA3BvB,EAAInC,EAAE+xC,qBAAkC,IAC/G,IAAI5yC,EAAIa,EAAEmyC,kBACN/yC,EAAI+C,EAAEhD,EAAG6C,GAGb,GAFA4H,EAAEwoC,aAAejwC,EACjByH,EAAEyoC,WAAajzC,EACX8mC,GAAG9mC,EAAGD,GAAI,OACd,MAAOsD,IACTmrC,GAAG9tC,EAAGsC,IAIV,IAAImvC,GAAK,CACP6B,YAAa7H,GACb7qB,YAAaxd,GACbyd,WAAYzd,GACZ0d,UAAW1d,GACX2d,oBAAqB3d,GACrB6d,gBAAiB7d,GACjB8d,QAAS9d,GACT+d,WAAY/d,GACZge,OAAQhe,GACRie,SAAUje,GACV4d,cAAe5d,GACfmwC,aAAcnwC,GACdowC,iBAAkBpwC,GAClBqwC,cAAerwC,IAEbmuC,GAAK,CACP+B,YAAa7H,GACb7qB,YAAawyB,GACbvyB,WAAY4qB,GACZ3qB,UAAWkyB,GACXjyB,oBAAqB,SAA6B/gB,EAAGE,EAAGgC,GAEtD,OADAA,EAAI,MAASA,EAAoBA,EAAE+M,OAAO,CAACjP,IAAM,KAC1C8yC,GAAG,EAAG,GAAII,GAAG3pC,KAAK,KAAMrJ,EAAGF,GAAIkC,IAExC+e,gBAAiB,SAAyBjhB,EAAGE,GAC3C,OAAO4yC,GAAG,EAAG,GAAI9yC,EAAGE,IAEtBghB,QAAS,SAAiBlhB,EAAGE,GAC3B,IAAIgC,EAAIyvC,KAIR,OAHAzxC,OAAI,IAAWA,EAAI,KAAOA,EAC1BF,EAAIA,IACJkC,EAAE+qB,cAAgB,CAACjtB,EAAGE,GACfF,GAETmhB,WAAY,SAAoBnhB,EAAGE,EAAGgC,GACpC,IAAIG,EAAIsvC,KAUR,OATAzxC,OAAI,IAAWgC,EAAIA,EAAEhC,GAAKA,EAC1BmC,EAAE4qB,cAAgB5qB,EAAEypC,UAAY5rC,EAOhCF,GANAA,EAAIqC,EAAEuvC,MAAQ,CACZQ,KAAM,KACNF,SAAU,KACVD,oBAAqBjyC,EACrBqyC,kBAAmBnyC,IAEfgyC,SAAWO,GAAGlpC,KAAK,KAAMonC,GAAI3wC,GAC5B,CAACqC,EAAE4qB,cAAejtB,IAE3BohB,OAAQ,SAAgBphB,GAKtB,OAHAA,EAAI,CACFkY,QAASlY,GAFH2xC,KAIC1kB,cAAgBjtB,GAE3BqhB,SAAUmxB,GACVxxB,cAAemyB,GACfI,aAAchD,GACdiD,iBAAkB,SAA0BxzC,EAAGE,GAC7C,IAAIgC,EAAIswC,GAAGxyC,GACPqC,EAAIH,EAAE,GACNI,EAAIJ,EAAE,GAaV,OAZA8wC,IAAG,WACDlzC,EAAE0E,eAAc,WACd,IAAItC,EAAIe,GAAEgf,SACVhf,GAAEgf,cAAW,IAAW/hB,EAAI,KAAOA,EAEnC,IACEoC,EAAEtC,GACF,QACAiD,GAAEgf,SAAW/f,QAGhB,CAAClC,EAAGE,IACAmC,GAEToxC,cAAe,SAAuBzzC,GACpC,IAAIE,EAAIsyC,IAAG,GACPtwC,EAAIhC,EAAE,GACNmC,EAAInC,EAAE,GACV,MAAO,CAACkzC,IAAG,SAAUlzC,GACnBmC,GAAE,GACFvC,EAAE0E,eAAc,WACd,IAAItC,EAAIe,GAAEgf,SACVhf,GAAEgf,cAAW,IAAWjiB,EAAI,KAAOA,EAEnC,IACEqC,GAAE,GAAKnC,IACP,QACA+C,GAAEgf,SAAW/f,QAGhB,CAAClC,EAAGkC,IAAKA,KAGZsvC,GAAK,CACP8B,YAAa7H,GACb7qB,YAAayyB,GACbxyB,WAAY4qB,GACZ3qB,UAAWmyB,GACXlyB,oBAAqB,SAA6B/gB,EAAGE,EAAGgC,GAEtD,OADAA,EAAI,MAASA,EAAoBA,EAAE+M,OAAO,CAACjP,IAAM,KAC1C+yC,GAAG,EAAG,GAAIG,GAAG3pC,KAAK,KAAMrJ,EAAGF,GAAIkC,IAExC+e,gBAAiB,SAAyBjhB,EAAGE,GAC3C,OAAO6yC,GAAG,EAAG,GAAI/yC,EAAGE,IAEtBghB,QAAS,SAAiBlhB,EAAGE,GAC3B,IAAIgC,EAAI4vC,KACR5xC,OAAI,IAAWA,EAAI,KAAOA,EAC1B,IAAImC,EAAIH,EAAE+qB,cACV,OAAI,OAAS5qB,GAAK,OAASnC,GAAKmxC,GAAGnxC,EAAGmC,EAAE,IAAYA,EAAE,IACtDrC,EAAIA,IACJkC,EAAE+qB,cAAgB,CAACjtB,EAAGE,GACfF,IAETmhB,WAAY6wB,GACZ5wB,OAAQ,WACN,OAAO0wB,KAAK7kB,eAEd5L,SAAUqxB,GACV1xB,cAAemyB,GACfI,aAAchD,GACdiD,iBAAkB,SAA0BxzC,EAAGE,GAC7C,IAAIgC,EAAIwwC,KACJrwC,EAAIH,EAAE,GACNI,EAAIJ,EAAE,GAaV,OAZA+wC,IAAG,WACDnzC,EAAE0E,eAAc,WACd,IAAItC,EAAIe,GAAEgf,SACVhf,GAAEgf,cAAW,IAAW/hB,EAAI,KAAOA,EAEnC,IACEoC,EAAEtC,GACF,QACAiD,GAAEgf,SAAW/f,QAGhB,CAAClC,EAAGE,IACAmC,GAEToxC,cAAe,SAAuBzzC,GACpC,IAAIE,EAAIwyC,KACJxwC,EAAIhC,EAAE,GACNmC,EAAInC,EAAE,GACV,MAAO,CAACmzC,IAAG,SAAUnzC,GACnBmC,GAAE,GACFvC,EAAE0E,eAAc,WACd,IAAItC,EAAIe,GAAEgf,SACVhf,GAAEgf,cAAW,IAAWjiB,EAAI,KAAOA,EAEnC,IACEqC,GAAE,GAAKnC,IACP,QACA+C,GAAEgf,SAAW/f,QAGhB,CAAClC,EAAGkC,IAAKA,KAGZwxC,GAAK,KACLC,GAAK,KACLC,IAAK,EAET,SAASC,GAAG7zC,EAAGE,GACb,IAAIgC,EAAI4xC,GAAG,EAAG,KAAM,KAAM,GAC1B5xC,EAAEgtC,YAAc,UAChBhtC,EAAEmM,KAAO,UACTnM,EAAEyiB,UAAYzkB,EACdgC,EAAU,OAAIlC,EACdkC,EAAE6qB,UAAY,EACd,OAAS/sB,EAAEosC,YAAcpsC,EAAEosC,WAAWO,WAAazqC,EAAGlC,EAAEosC,WAAalqC,GAAKlC,EAAEmsC,YAAcnsC,EAAEosC,WAAalqC,EAG3G,SAAS6xC,GAAG/zC,EAAGE,GACb,OAAQF,EAAEuY,KACR,KAAK,EACH,IAAIrW,EAAIlC,EAAEqO,KAEV,OAAO,QADPnO,EAAI,IAAMA,EAAEyrB,UAAYzpB,EAAEuW,gBAAkBvY,EAAEsoB,SAAS/P,cAAgB,KAAOvY,KACzDF,EAAE2kB,UAAYzkB,GAAG,GAExC,KAAK,EACH,OAAiE,QAA1DA,EAAI,KAAOF,EAAEg0C,cAAgB,IAAM9zC,EAAEyrB,SAAW,KAAOzrB,KAAiBF,EAAE2kB,UAAYzkB,GAAG,GAElG,KAAK,GAGL,QACE,OAAO,GAIb,SAAS+zC,GAAGj0C,GACV,GAAI4zC,GAAI,CACN,IAAI1zC,EAAIyzC,GAER,GAAIzzC,EAAG,CACL,IAAIgC,EAAIhC,EAER,IAAK6zC,GAAG/zC,EAAGE,GAAI,CAGb,KAFAA,EAAImhC,GAAGn/B,EAAEk+B,gBAEE2T,GAAG/zC,EAAGE,GAIf,OAHAF,EAAE+sB,WAA2B,KAAf/sB,EAAE+sB,UAAoB,EACpC6mB,IAAK,OACLF,GAAK1zC,GAIP6zC,GAAGH,GAAIxxC,GAGTwxC,GAAK1zC,EACL2zC,GAAKtS,GAAGnhC,EAAEsrB,iBACLxrB,EAAE+sB,WAA2B,KAAf/sB,EAAE+sB,UAAoB,EAAG6mB,IAAK,EAAIF,GAAK1zC,GAIhE,SAASk0C,GAAGl0C,GACV,IAAKA,EAAIA,EAAU,OAAG,OAASA,GAAK,IAAMA,EAAEuY,KAAO,IAAMvY,EAAEuY,KAAO,KAAOvY,EAAEuY,KACzEvY,EAAIA,EAAU,OAGhB0zC,GAAK1zC,EAGP,SAASm0C,GAAGn0C,GACV,GAAIA,IAAM0zC,GAAI,OAAO,EACrB,IAAKE,GAAI,OAAOM,GAAGl0C,GAAI4zC,IAAK,GAAI,EAChC,IAAI1zC,EAAIF,EAAEqO,KACV,GAAI,IAAMrO,EAAEuY,KAAO,SAAWrY,GAAK,SAAWA,IAAMghC,GAAGhhC,EAAGF,EAAEqwC,eAAgB,IAAKnwC,EAAIyzC,GAAIzzC,GACvF2zC,GAAG7zC,EAAGE,GAAIA,EAAImhC,GAAGnhC,EAAEkgC,aAIrB,GAFA8T,GAAGl0C,GAEC,KAAOA,EAAEuY,IAAK,CAGhB,KADAvY,EAAI,QADJA,EAAIA,EAAEitB,eACWjtB,EAAEktB,WAAa,MACxB,MAAMxmB,MAAMtG,EAAE,MAEtBJ,EAAG,CAGD,IAFAA,EAAIA,EAAEogC,YAEDlgC,EAAI,EAAGF,GAAI,CACd,GAAI,IAAMA,EAAE2rB,SAAU,CACpB,IAAIzpB,EAAIlC,EAAEwhC,KAEV,GAAIt/B,IAAMy+B,GAAI,CACZ,GAAI,IAAMzgC,EAAG,CACXyzC,GAAKtS,GAAGrhC,EAAEogC,aACV,MAAMpgC,EAGRE,SACKgC,IAAMw+B,IAAMx+B,IAAM2+B,IAAM3+B,IAAM0+B,IAAM1gC,IAG7CF,EAAIA,EAAEogC,YAGRuT,GAAK,WAEFA,GAAKD,GAAKrS,GAAGrhC,EAAE2kB,UAAUyb,aAAe,KAE/C,OAAO,EAGT,SAASgU,KACPT,GAAKD,GAAK,KACVE,IAAK,EAGP,IAAIS,GAAKxvB,EAAG3C,kBACRspB,IAAK,EAET,SAASnoC,GAAErD,EAAGE,EAAGgC,EAAGG,GAClBnC,EAAEiO,MAAQ,OAASnO,EAAIyvC,GAAGvvC,EAAG,KAAMgC,EAAGG,GAAKmtC,GAAGtvC,EAAGF,EAAEmO,MAAOjM,EAAGG,GAG/D,SAASiyC,GAAGt0C,EAAGE,EAAGgC,EAAGG,EAAGC,GACtBJ,EAAIA,EAAEqG,OACN,IAAIuB,EAAI5J,EAAE4e,IAGV,OAFAwsB,GAAGprC,EAAGoC,GACND,EAAIivC,GAAGtxC,EAAGE,EAAGgC,EAAGG,EAAGyH,EAAGxH,GAClB,OAAStC,GAAMwrC,IACnBtrC,EAAE6sB,WAAa,EACf1pB,GAAErD,EAAGE,EAAGmC,EAAGC,GACJpC,EAAEiO,QAHqBjO,EAAE4sC,YAAc9sC,EAAE8sC,YAAa5sC,EAAE6sB,YAAc,IAAK/sB,EAAE4D,gBAAkBtB,IAAMtC,EAAE4D,eAAiB,GAAI2wC,GAAGv0C,EAAGE,EAAGoC,IAM9I,SAASkyC,GAAGx0C,EAAGE,EAAGgC,EAAGG,EAAGC,EAAGwH,GACzB,GAAI,OAAS9J,EAAG,CACd,IAAIb,EAAI+C,EAAEmM,KACV,MAAI,mBAAsBlP,GAAMs1C,GAAGt1C,SAAM,IAAWA,EAAE6S,cAAgB,OAAS9P,EAAE4G,cAAW,IAAW5G,EAAE8P,eACzGhS,EAAImvC,GAAGjtC,EAAEmM,KAAM,KAAMhM,EAAG,KAAMnC,EAAE+uC,KAAMnlC,IACpCgV,IAAM5e,EAAE4e,IACV9e,EAAU,OAAIE,EACPA,EAAEiO,MAAQnO,IAJ6GE,EAAEqY,IAAM,GAAIrY,EAAEmO,KAAOlP,EAAGu1C,GAAG10C,EAAGE,EAAGf,EAAGkD,EAAGC,EAAGwH,IAQ1K,OADA3K,EAAIa,EAAEmO,MACF7L,EAAIwH,IAAMxH,EAAInD,EAAEkxC,eAA8BnuC,EAAI,QAAnBA,EAAIA,EAAE4G,SAA0B5G,EAAIokC,IAAMhkC,EAAGD,IAAMrC,EAAE8e,MAAQ5e,EAAE4e,KAAay1B,GAAGv0C,EAAGE,EAAG4J,IACxH5J,EAAE6sB,WAAa,GACf/sB,EAAI+uC,GAAG5vC,EAAGkD,IACRyc,IAAM5e,EAAE4e,IACV9e,EAAU,OAAIE,EACPA,EAAEiO,MAAQnO,GAGnB,SAAS00C,GAAG10C,EAAGE,EAAGgC,EAAGG,EAAGC,EAAGwH,GACzB,OAAO,OAAS9J,GAAKsmC,GAAGtmC,EAAEqwC,cAAehuC,IAAMrC,EAAE8e,MAAQ5e,EAAE4e,MAAQ0sB,IAAK,EAAIlpC,EAAIwH,GAAKyqC,GAAGv0C,EAAGE,EAAG4J,GAAK6qC,GAAG30C,EAAGE,EAAGgC,EAAGG,EAAGyH,GAGpH,SAAS8qC,GAAG50C,EAAGE,GACb,IAAIgC,EAAIhC,EAAE4e,KACN,OAAS9e,GAAK,OAASkC,GAAK,OAASlC,GAAKA,EAAE8e,MAAQ5c,KAAGhC,EAAE6sB,WAAa,KAG5E,SAAS4nB,GAAG30C,EAAGE,EAAGgC,EAAGG,EAAGC,GACtB,IAAIwH,EAAItH,GAAEN,GAAKgmC,GAAKjmC,GAAEiW,QAItB,OAHApO,EAAIq+B,GAAGjoC,EAAG4J,GACVwhC,GAAGprC,EAAGoC,GACNJ,EAAIovC,GAAGtxC,EAAGE,EAAGgC,EAAGG,EAAGyH,EAAGxH,GAClB,OAAStC,GAAMwrC,IACnBtrC,EAAE6sB,WAAa,EACf1pB,GAAErD,EAAGE,EAAGgC,EAAGI,GACJpC,EAAEiO,QAHqBjO,EAAE4sC,YAAc9sC,EAAE8sC,YAAa5sC,EAAE6sB,YAAc,IAAK/sB,EAAE4D,gBAAkBtB,IAAMtC,EAAE4D,eAAiB,GAAI2wC,GAAGv0C,EAAGE,EAAGoC,IAM9I,SAASuyC,GAAG70C,EAAGE,EAAGgC,EAAGG,EAAGC,GACtB,GAAIE,GAAEN,GAAI,CACR,IAAI4H,GAAI,EACR++B,GAAG3oC,QACE4J,GAAI,EAGX,GADAwhC,GAAGprC,EAAGoC,GACF,OAASpC,EAAEykB,UAAW,OAAS3kB,IAAMA,EAAE8sB,UAAY,KAAM5sB,EAAE4sB,UAAY,KAAM5sB,EAAE6sB,WAAa,GAAIihB,GAAG9tC,EAAGgC,EAAGG,GAAOgsC,GAAGnuC,EAAGgC,EAAGG,EAAGC,GAAID,GAAI,OAAQ,GAAI,OAASrC,EAAG,CAC9J,IAAIb,EAAIe,EAAEykB,UACNvlB,EAAIc,EAAEmwC,cACVlxC,EAAE8H,MAAQ7H,EACV,IAAIC,EAAIF,EAAEof,QACNjf,EAAI4C,EAAE+rC,YACV,iBAAoB3uC,GAAK,OAASA,EAAIA,EAAImsC,GAAGnsC,GAAiCA,EAAI6oC,GAAGjoC,EAAlCZ,EAAIkD,GAAEN,GAAKgmC,GAAKjmC,GAAEiW,SACrE,IAAIvV,EAAIT,EAAEosC,yBACNltC,EAAI,mBAAsBuB,GAAK,mBAAsBxD,EAAEovC,wBAC3DntC,GAAK,mBAAsBjC,EAAEivC,kCAAoC,mBAAsBjvC,EAAEgvC,4BAA8B/uC,IAAMiD,GAAKhD,IAAMC,IAAM4uC,GAAGhuC,EAAGf,EAAGkD,EAAG/C,GAC1JssC,IAAK,EACL,IAAIhrC,EAAIV,EAAE+sB,cACV5tB,EAAIF,EAAEyH,MAAQhG,EACd,IAAIe,EAAIzB,EAAE4sC,YACV,OAASnrC,IAAMurC,GAAGhtC,EAAGyB,EAAGU,EAAGlD,EAAGmD,GAAIjD,EAAIa,EAAE+sB,eACxC7tB,IAAMiD,GAAKzB,IAAMvB,GAAKkD,GAAE2V,SAAW0zB,IAAM,mBAAsBjpC,IAAM8qC,GAAGvtC,EAAGgC,EAAGS,EAAGN,GAAIhD,EAAIa,EAAE+sB,gBAAiB7tB,EAAIwsC,IAAMmC,GAAG7tC,EAAGgC,EAAG9C,EAAGiD,EAAGzB,EAAGvB,EAAGC,KAAO8B,GAAK,mBAAsBjC,EAAEqvC,2BAA6B,mBAAsBrvC,EAAE8I,qBAAuB,mBAAsB9I,EAAE8I,oBAAsB9I,EAAE8I,qBAAsB,mBAAsB9I,EAAEqvC,2BAA6BrvC,EAAEqvC,6BAA8B,mBAAsBrvC,EAAEsvC,oBAAsBvuC,EAAE6sB,WAAa,KAAO,mBAAsB5tB,EAAEsvC,oBAAsBvuC,EAAE6sB,WAAa,GAAI7sB,EAAEmwC,cAAgBhuC,EAAGnC,EAAE+sB,cAAgB5tB,GAAIF,EAAE8H,MAAQ5E,EAAGlD,EAAEyH,MAAQvH,EAAGF,EAAEof,QAAUjf,EAAG+C,EAAIjD,IAAM,mBAAsBD,EAAEsvC,oBAAsBvuC,EAAE6sB,WAAa,GAAI1qB,GAAI,QACzrBlD,EAAIe,EAAEykB,UAAWvlB,EAAIc,EAAEmwC,cAAelxC,EAAE8H,MAAQ/G,EAAEmO,OAASnO,EAAEgvC,YAAc9vC,EAAIwrC,GAAG1qC,EAAEmO,KAAMjP,GAAIC,EAAIF,EAAEof,QAA4B,iBAAnBjf,EAAI4C,EAAE+rC,cAAsC,OAAS3uC,EAAIA,EAAImsC,GAAGnsC,GAAiCA,EAAI6oC,GAAGjoC,EAAlCZ,EAAIkD,GAAEN,GAAKgmC,GAAKjmC,GAAEiW,UAAyD9W,EAAI,mBAArCuB,EAAIT,EAAEosC,2BAA0D,mBAAsBnvC,EAAEovC,0BAA4B,mBAAsBpvC,EAAEivC,kCAAoC,mBAAsBjvC,EAAEgvC,4BAA8B/uC,IAAMiD,GAAKhD,IAAMC,IAAM4uC,GAAGhuC,EAAGf,EAAGkD,EAAG/C,GAAIssC,IAAK,EAAIvsC,EAAIa,EAAE+sB,cAAersB,EAAIzB,EAAEyH,MAAQvH,EAAsB,QAAnBsC,EAAIzB,EAAE4sC,eAA4BI,GAAGhtC,EAAGyB,EAAGU,EAAGlD,EAAGmD,GAAI1B,EAAIV,EAAE+sB,eAAgB7tB,IAAMiD,GAAKhD,IAAMuB,GAAK2B,GAAE2V,SAAW0zB,IAAM,mBAAsBjpC,IAAM8qC,GAAGvtC,EAAGgC,EAAGS,EAAGN,GAAIzB,EAAIV,EAAE+sB,gBAAiBtqB,EAAIipC,IAAMmC,GAAG7tC,EAAGgC,EAAG9C,EAAGiD,EAAGhD,EAAGuB,EAAGtB,KAAO8B,GAAK,mBAAsBjC,EAAE21C,4BAA8B,mBAAsB31C,EAAE41C,sBAAwB,mBAAsB51C,EAAE41C,qBAAuB51C,EAAE41C,oBAAoB1yC,EAAGzB,EAAGtB,GAAI,mBAAsBH,EAAE21C,4BAA8B31C,EAAE21C,2BAA2BzyC,EAAGzB,EAAGtB,IAAK,mBAAsBH,EAAE+I,qBAAuBhI,EAAE6sB,WAAa,GAAI,mBAAsB5tB,EAAEovC,0BAA4BruC,EAAE6sB,WAAa,OAAS,mBAAsB5tB,EAAE+I,oBAAsB9I,IAAMY,EAAEqwC,eAAiBhxC,IAAMW,EAAEitB,gBAAkB/sB,EAAE6sB,WAAa,GAAI,mBAAsB5tB,EAAEovC,yBAA2BnvC,IAAMY,EAAEqwC,eAAiBhxC,IAAMW,EAAEitB,gBAAkB/sB,EAAE6sB,WAAa,KAAM7sB,EAAEmwC,cAAgBhuC,EAAGnC,EAAE+sB,cAAgBrsB,GAAIzB,EAAE8H,MAAQ5E,EAAGlD,EAAEyH,MAAQhG,EAAGzB,EAAEof,QAAUjf,EAAG+C,EAAIM,IAAM,mBAAsBxD,EAAE+I,oBAAsB9I,IAAMY,EAAEqwC,eAAiBhxC,IAAMW,EAAEitB,gBAAkB/sB,EAAE6sB,WAAa,GAAI,mBAAsB5tB,EAAEovC,yBAA2BnvC,IAAMY,EAAEqwC,eAAiBhxC,IAAMW,EAAEitB,gBAAkB/sB,EAAE6sB,WAAa,KAAM1qB,GAAI,GACnuD,OAAO2yC,GAAGh1C,EAAGE,EAAGgC,EAAGG,EAAGyH,EAAGxH,GAG3B,SAAS0yC,GAAGh1C,EAAGE,EAAGgC,EAAGG,EAAGC,EAAGwH,GACzB8qC,GAAG50C,EAAGE,GACN,IAAIf,EAAI,IAAqB,GAAde,EAAE6sB,WACjB,IAAK1qB,IAAMlD,EAAG,OAAOmD,GAAKymC,GAAG7oC,EAAGgC,GAAG,GAAKqyC,GAAGv0C,EAAGE,EAAG4J,GACjDzH,EAAInC,EAAEykB,UACN0vB,GAAGn8B,QAAUhY,EACb,IAAId,EAAID,GAAK,mBAAsB+C,EAAE+yC,yBAA2B,KAAO5yC,EAAEkG,SAKzE,OAJArI,EAAE6sB,WAAa,EACf,OAAS/sB,GAAKb,GAAKe,EAAEiO,MAAQqhC,GAAGtvC,EAAGF,EAAEmO,MAAO,KAAMrE,GAAI5J,EAAEiO,MAAQqhC,GAAGtvC,EAAG,KAAMd,EAAG0K,IAAMzG,GAAErD,EAAGE,EAAGd,EAAG0K,GAChG5J,EAAE+sB,cAAgB5qB,EAAEuE,MACpBtE,GAAKymC,GAAG7oC,EAAGgC,GAAG,GACPhC,EAAEiO,MAGX,SAAS+mC,GAAGl1C,GACV,IAAIE,EAAIF,EAAE2kB,UACVzkB,EAAEi1C,eAAiBzM,GAAG1oC,EAAGE,EAAEi1C,eAAgBj1C,EAAEi1C,iBAAmBj1C,EAAEqe,SAAWre,EAAEqe,SAAWmqB,GAAG1oC,EAAGE,EAAEqe,SAAS,GAC3GwxB,GAAG/vC,EAAGE,EAAE+uB,eAGV,IA4MImmB,GAAIC,GAAIC,GAAIC,GA5MZC,GAAK,CACPtoB,WAAY,KACZuoB,UAAW,GAGb,SAASC,GAAG11C,EAAGE,EAAGgC,GAChB,IAII9C,EAJAiD,EAAInC,EAAE+uC,KACN3sC,EAAIpC,EAAE8zC,aACNlqC,EAAIrH,GAAEyV,QACN/Y,GAAI,EAMR,IAJCC,EAAI,IAAqB,GAAdc,EAAE6sB,cAAqB3tB,EAAI,IAAW,EAAJ0K,KAAW,OAAS9J,GAAK,OAASA,EAAEitB,gBAClF7tB,GAAKD,GAAI,EAAIe,EAAE6sB,YAAc,IAAM,OAAS/sB,GAAK,OAASA,EAAEitB,oBAAiB,IAAW3qB,EAAEqzC,WAAY,IAAOrzC,EAAEszC,6BAA+B9rC,GAAK,GACnJlI,GAAEa,GAAO,EAAJqH,GAED,OAAS9J,EAAG,CAGd,QAFA,IAAWsC,EAAEqzC,UAAY1B,GAAG/zC,GAExBf,EAAG,CAIL,GAHAA,EAAImD,EAAEqzC,UACNrzC,EAAIgtC,GAAG,KAAMjtC,EAAG,EAAG,OACT,OAAInC,EACV,IAAgB,EAATA,EAAE+uC,MAAW,IAAKjvC,EAAI,OAASE,EAAE+sB,cAAgB/sB,EAAEiO,MAAMA,MAAQjO,EAAEiO,MAAO7L,EAAE6L,MAAQnO,EAAG,OAASA,GACzGA,EAAU,OAAIsC,EAAGtC,EAAIA,EAAEqtB,QAOzB,OALAnrB,EAAIotC,GAAGnwC,EAAGkD,EAAGH,EAAG,OACN,OAAIhC,EACdoC,EAAE+qB,QAAUnrB,EACZhC,EAAE+sB,cAAgBuoB,GAClBt1C,EAAEiO,MAAQ7L,EACHJ,EAKT,OAFAG,EAAIC,EAAE8N,SACNlQ,EAAE+sB,cAAgB,KACX/sB,EAAEiO,MAAQshC,GAAGvvC,EAAG,KAAMmC,EAAGH,GAGlC,GAAI,OAASlC,EAAEitB,cAAe,CAI5B,GAFA5qB,GADArC,EAAIA,EAAEmO,OACAkf,QAEFluB,EAAG,CAIL,GAHAmD,EAAIA,EAAEqzC,UACNzzC,EAAI6sC,GAAG/uC,EAAGA,EAAEg0C,eACF,OAAI9zC,EACV,IAAgB,EAATA,EAAE+uC,QAAc9vC,EAAI,OAASe,EAAE+sB,cAAgB/sB,EAAEiO,MAAMA,MAAQjO,EAAEiO,SAAanO,EAAEmO,MAAQ,IAAKjM,EAAEiM,MAAQhP,EAAG,OAASA,GAC5HA,EAAU,OAAI+C,EAAG/C,EAAIA,EAAEkuB,QAQzB,OANAhrB,EAAI0sC,GAAG1sC,EAAGC,EAAGD,EAAEuB,iBACL,OAAI1D,EACdgC,EAAEmrB,QAAUhrB,EACZH,EAAEmpC,oBAAsB,EACxBnrC,EAAE+sB,cAAgBuoB,GAClBt1C,EAAEiO,MAAQjM,EACHG,EAKT,OAFAH,EAAIstC,GAAGtvC,EAAGF,EAAEmO,MAAO7L,EAAE8N,SAAUlO,GAC/BhC,EAAE+sB,cAAgB,KACX/sB,EAAEiO,MAAQjM,EAKnB,GAFAlC,EAAIA,EAAEmO,MAEFhP,EAAG,CAML,GALAA,EAAImD,EAAEqzC,UACNrzC,EAAIgtC,GAAG,KAAMjtC,EAAG,EAAG,OACT,OAAInC,EACdoC,EAAE6L,MAAQnO,EACV,OAASA,IAAMA,EAAU,OAAIsC,GACzB,IAAgB,EAATpC,EAAE+uC,MAAW,IAAKjvC,EAAI,OAASE,EAAE+sB,cAAgB/sB,EAAEiO,MAAMA,MAAQjO,EAAEiO,MAAO7L,EAAE6L,MAAQnO,EAAG,OAASA,GACzGA,EAAU,OAAIsC,EAAGtC,EAAIA,EAAEqtB,QASzB,OAPAnrB,EAAIotC,GAAGnwC,EAAGkD,EAAGH,EAAG,OACN,OAAIhC,EACdoC,EAAE+qB,QAAUnrB,EACZA,EAAE6qB,WAAa,EACfzqB,EAAE+oC,oBAAsB,EACxBnrC,EAAE+sB,cAAgBuoB,GAClBt1C,EAAEiO,MAAQ7L,EACHJ,EAIT,OADAhC,EAAE+sB,cAAgB,KACX/sB,EAAEiO,MAAQqhC,GAAGtvC,EAAGF,EAAGsC,EAAE8N,SAAUlO,GAGxC,SAAS2zC,GAAG71C,EAAGE,GACbF,EAAE4D,eAAiB1D,IAAMF,EAAE4D,eAAiB1D,GAC5C,IAAIgC,EAAIlC,EAAE8sB,UACV,OAAS5qB,GAAKA,EAAE0B,eAAiB1D,IAAMgC,EAAE0B,eAAiB1D,GAC1DkrC,GAAGprC,EAAU,OAAGE,GAGlB,SAAS41C,GAAG91C,EAAGE,EAAGgC,EAAGG,EAAGC,EAAGwH,GACzB,IAAI3K,EAAIa,EAAEitB,cACV,OAAS9tB,EAAIa,EAAEitB,cAAgB,CAC7B8oB,YAAa71C,EACb81C,UAAW,KACX5D,KAAM/vC,EACN4zC,KAAM/zC,EACNg0C,eAAgB,EAChBC,SAAU7zC,EACV8pC,WAAYtiC,IACT3K,EAAE42C,YAAc71C,EAAGf,EAAE62C,UAAY,KAAM72C,EAAEizC,KAAO/vC,EAAGlD,EAAE82C,KAAO/zC,EAAG/C,EAAE+2C,eAAiB,EAAG/2C,EAAEg3C,SAAW7zC,EAAGnD,EAAEitC,WAAatiC,GAG3H,SAASssC,GAAGp2C,EAAGE,EAAGgC,GAChB,IAAIG,EAAInC,EAAE8zC,aACN1xC,EAAID,EAAEiuC,YACNxmC,EAAIzH,EAAE4zC,KAGV,GAFA5yC,GAAErD,EAAGE,EAAGmC,EAAE+N,SAAUlO,GAEhB,IAAW,GADfG,EAAII,GAAEyV,UACa7V,EAAQ,EAAJA,EAAQ,EAAGnC,EAAE6sB,WAAa,OAAQ,CACvD,GAAI,OAAS/sB,GAAK,IAAqB,GAAdA,EAAE+sB,WAAiB/sB,EAAG,IAAKA,EAAIE,EAAEiO,MAAO,OAASnO,GAAI,CAC5E,GAAI,KAAOA,EAAEuY,IAAK,OAASvY,EAAEitB,eAAiB4oB,GAAG71C,EAAGkC,QAAQ,GAAI,KAAOlC,EAAEuY,IAAKs9B,GAAG71C,EAAGkC,QAAQ,GAAI,OAASlC,EAAEmO,MAAO,CAChHnO,EAAEmO,MAAc,OAAInO,EACpBA,EAAIA,EAAEmO,MACN,SAEF,GAAInO,IAAME,EAAG,MAAMF,EAEnB,KAAO,OAASA,EAAEqtB,SAAU,CAC1B,GAAI,OAASrtB,EAAU,QAAKA,EAAU,SAAME,EAAG,MAAMF,EACrDA,EAAIA,EAAU,OAGhBA,EAAEqtB,QAAgB,OAAIrtB,EAAU,OAChCA,EAAIA,EAAEqtB,QAERhrB,GAAK,EAGP,GADAT,GAAEa,GAAGJ,GACD,IAAgB,EAATnC,EAAE+uC,MAAW/uC,EAAE+sB,cAAgB,UAAU,OAAQ3qB,GAC1D,IAAK,WAGH,IAFAJ,EAAIhC,EAAEiO,MAED7L,EAAI,KAAM,OAASJ,GACL,QAAjBlC,EAAIkC,EAAE4qB,YAAyB,OAASsjB,GAAGpwC,KAAOsC,EAAIJ,GAAIA,EAAIA,EAAEmrB,QAIlE,QADAnrB,EAAII,IACUA,EAAIpC,EAAEiO,MAAOjO,EAAEiO,MAAQ,OAAS7L,EAAIJ,EAAEmrB,QAASnrB,EAAEmrB,QAAU,MACzEyoB,GAAG51C,GAAG,EAAIoC,EAAGJ,EAAG4H,EAAG5J,EAAEksC,YACrB,MAEF,IAAK,YAIH,IAHAlqC,EAAI,KACJI,EAAIpC,EAAEiO,MAEDjO,EAAEiO,MAAQ,KAAM,OAAS7L,GAAI,CAGhC,GAAI,QAFJtC,EAAIsC,EAAEwqB,YAEY,OAASsjB,GAAGpwC,GAAI,CAChCE,EAAEiO,MAAQ7L,EACV,MAGFtC,EAAIsC,EAAE+qB,QACN/qB,EAAE+qB,QAAUnrB,EACZA,EAAII,EACJA,EAAItC,EAGN81C,GAAG51C,GAAG,EAAIgC,EAAG,KAAM4H,EAAG5J,EAAEksC,YACxB,MAEF,IAAK,WACH0J,GAAG51C,GAAG,EAAI,KAAM,UAAM,EAAQA,EAAEksC,YAChC,MAEF,QACElsC,EAAE+sB,cAAgB,KAEtB,OAAO/sB,EAAEiO,MAGX,SAASomC,GAAGv0C,EAAGE,EAAGgC,GAChB,OAASlC,IAAME,EAAE4iB,aAAe9iB,EAAE8iB,cAClC,IAAIzgB,EAAInC,EAAE0D,eAEV,GADA,IAAMvB,GAAK+qC,GAAG/qC,GACVnC,EAAEmrC,oBAAsBnpC,EAAG,OAAO,KACtC,GAAI,OAASlC,GAAKE,EAAEiO,QAAUnO,EAAEmO,MAAO,MAAMzH,MAAMtG,EAAE,MAErD,GAAI,OAASF,EAAEiO,MAAO,CAKpB,IAHAjM,EAAI6sC,GADJ/uC,EAAIE,EAAEiO,MACInO,EAAEg0C,aAAch0C,EAAE4D,gBAC5B1D,EAAEiO,MAAQjM,EAELA,EAAU,OAAIhC,EAAG,OAASF,EAAEqtB,SAC/BrtB,EAAIA,EAAEqtB,SAASnrB,EAAIA,EAAEmrB,QAAU0hB,GAAG/uC,EAAGA,EAAEg0C,aAAch0C,EAAE4D,iBAA2B,OAAI1D,EAGxFgC,EAAEmrB,QAAU,KAGd,OAAOntB,EAAEiO,MAGX,SAASkoC,GAAGr2C,GACVA,EAAE+sB,WAAa,EAuGjB,SAASupB,GAAGt2C,EAAGE,GACb,OAAQF,EAAEm2C,UACR,IAAK,SACHj2C,EAAIF,EAAEi2C,KAEN,IAAK,IAAI/zC,EAAI,KAAM,OAAShC,GAC1B,OAASA,EAAE4sB,YAAc5qB,EAAIhC,GAAIA,EAAIA,EAAEmtB,QAGzC,OAASnrB,EAAIlC,EAAEi2C,KAAO,KAAO/zC,EAAEmrB,QAAU,KACzC,MAEF,IAAK,YACHnrB,EAAIlC,EAAEi2C,KAEN,IAAK,IAAI5zC,EAAI,KAAM,OAASH,GAC1B,OAASA,EAAE4qB,YAAczqB,EAAIH,GAAIA,EAAIA,EAAEmrB,QAGzC,OAAShrB,EAAInC,GAAK,OAASF,EAAEi2C,KAAOj2C,EAAEi2C,KAAO,KAAOj2C,EAAEi2C,KAAK5oB,QAAU,KAAOhrB,EAAEgrB,QAAU,MAI9F,SAASkpB,GAAGv2C,GACV,OAAQA,EAAEuY,KACR,KAAK,EACH/V,GAAExC,EAAEqO,OAASm6B,KACb,IAAItoC,EAAIF,EAAE+sB,UACV,OAAW,KAAJ7sB,GAAYF,EAAE+sB,WAAiB,KAAL7sB,EAAY,GAAIF,GAAK,KAExD,KAAK,EAIH,GAHAiwC,KACAxH,KAEI,IAAW,IADfvoC,EAAIF,EAAE+sB,YACc,MAAMrmB,MAAMtG,EAAE,MAElC,OADAJ,EAAE+sB,WAAiB,KAAL7sB,EAAY,GACnBF,EAET,KAAK,EACH,OAAOmwC,GAAGnwC,GAAI,KAEhB,KAAK,GACH,OAAOwB,GAAEiB,IAA4B,MAArBvC,EAAIF,EAAE+sB,YAAuB/sB,EAAE+sB,WAAiB,KAAL7sB,EAAY,GAAIF,GAAK,KAElF,KAAK,GACH,OAAOwB,GAAEiB,IAAO,KAElB,KAAK,EACH,OAAOwtC,KAAO,KAEhB,KAAK,GACH,OAAO9E,GAAGnrC,GAAI,KAEhB,QACE,OAAO,MAIb,SAASw2C,GAAGx2C,EAAGE,GACb,MAAO,CACLR,MAAOM,EACP4K,OAAQ1K,EACRu2C,MAAO1wB,EAAG7lB,IAhKdk1C,GAAK,SAAYp1C,EAAGE,GAClB,IAAK,IAAIgC,EAAIhC,EAAEiO,MAAO,OAASjM,GAAI,CACjC,GAAI,IAAMA,EAAEqW,KAAO,IAAMrW,EAAEqW,IAAKvY,EAAEoc,YAAYla,EAAEyiB,gBAAgB,GAAI,IAAMziB,EAAEqW,KAAO,OAASrW,EAAEiM,MAAO,CACnGjM,EAAEiM,MAAc,OAAIjM,EACpBA,EAAIA,EAAEiM,MACN,SAEF,GAAIjM,IAAMhC,EAAG,MAEb,KAAO,OAASgC,EAAEmrB,SAAU,CAC1B,GAAI,OAASnrB,EAAU,QAAKA,EAAU,SAAMhC,EAAG,OAC/CgC,EAAIA,EAAU,OAGhBA,EAAEmrB,QAAgB,OAAInrB,EAAU,OAChCA,EAAIA,EAAEmrB,UAIVgoB,GAAK,aAELC,GAAK,SAAYt1C,EAAGE,EAAGgC,EAAGG,EAAGC,GAC3B,IAAIwH,EAAI9J,EAAEqwC,cAEV,GAAIvmC,IAAMzH,EAAG,CACX,IAsCIjD,EAAGC,EAtCHF,EAAIe,EAAEykB,UAIV,OAHAmrB,GAAGH,GAAGz3B,SACNlY,EAAI,KAEIkC,GACN,IAAK,QACH4H,EAAIof,GAAG/pB,EAAG2K,GACVzH,EAAI6mB,GAAG/pB,EAAGkD,GACVrC,EAAI,GACJ,MAEF,IAAK,SACH8J,EAAIkgB,GAAG7qB,EAAG2K,GACVzH,EAAI2nB,GAAG7qB,EAAGkD,GACVrC,EAAI,GACJ,MAEF,IAAK,SACH8J,EAAIlH,EAAE,GAAIkH,EAAG,CACXpK,WAAO,IAET2C,EAAIO,EAAE,GAAIP,EAAG,CACX3C,WAAO,IAETM,EAAI,GACJ,MAEF,IAAK,WACH8J,EAAIwgB,GAAGnrB,EAAG2K,GACVzH,EAAIioB,GAAGnrB,EAAGkD,GACVrC,EAAI,GACJ,MAEF,QACE,mBAAsB8J,EAAE4sC,SAAW,mBAAsBr0C,EAAEq0C,UAAYv3C,EAAEw3C,QAAU7W,IAOvF,IAAK1gC,KAJLsgC,GAAGx9B,EAAGG,GAENH,EAAI,KAEM4H,EACR,IAAKzH,EAAEiH,eAAelK,IAAM0K,EAAER,eAAelK,IAAM,MAAQ0K,EAAE1K,GAAI,GAAI,UAAYA,EAAG,IAAKC,KAAKF,EAAI2K,EAAE1K,GAClGD,EAAEmK,eAAejK,KAAO6C,IAAMA,EAAI,IAAKA,EAAE7C,GAAK,QACzC,4BAA8BD,GAAK,aAAeA,GAAK,mCAAqCA,GAAK,6BAA+BA,GAAK,cAAgBA,IAAMwjB,EAAGtZ,eAAelK,GAAKY,IAAMA,EAAI,KAAOA,EAAIA,GAAK,IAAIoC,KAAKhD,EAAG,OAGjO,IAAKA,KAAKiD,EAAG,CACX,IAAI/C,EAAI+C,EAAEjD,GAEV,GADAD,EAAI,MAAQ2K,EAAIA,EAAE1K,QAAK,EACnBiD,EAAEiH,eAAelK,IAAME,IAAMH,IAAM,MAAQG,GAAK,MAAQH,GAAI,GAAI,UAAYC,EAC9E,GAAID,EAAG,CACL,IAAKE,KAAKF,GACPA,EAAEmK,eAAejK,IAAMC,GAAKA,EAAEgK,eAAejK,KAAO6C,IAAMA,EAAI,IAAKA,EAAE7C,GAAK,IAG7E,IAAKA,KAAKC,EACRA,EAAEgK,eAAejK,IAAMF,EAAEE,KAAOC,EAAED,KAAO6C,IAAMA,EAAI,IAAKA,EAAE7C,GAAKC,EAAED,SAE9D6C,IAAMlC,IAAMA,EAAI,IAAKA,EAAEoC,KAAKhD,EAAG8C,IAAKA,EAAI5C,MAC1C,4BAA8BF,GAAKE,EAAIA,EAAIA,EAAEme,YAAS,EAAQte,EAAIA,EAAIA,EAAEse,YAAS,EAAQ,MAAQne,GAAKH,IAAMG,IAAMU,EAAIA,GAAK,IAAIoC,KAAKhD,EAAG,GAAKE,IAAM,aAAeF,EAAID,IAAMG,GAAK,iBAAoBA,GAAK,iBAAoBA,IAAMU,EAAIA,GAAK,IAAIoC,KAAKhD,EAAG,GAAKE,GAAK,mCAAqCF,GAAK,6BAA+BA,IAAMwjB,EAAGtZ,eAAelK,IAAM,MAAQE,GAAKugC,GAAGv9B,EAAGlD,GAAIY,GAAKb,IAAMG,IAAMU,EAAI,MAAQA,EAAIA,GAAK,IAAIoC,KAAKhD,EAAGE,IAG3b4C,IAAMlC,EAAIA,GAAK,IAAIoC,KAAK,QAASF,GACjCI,EAAItC,GACHE,EAAE4sC,YAAcxqC,IAAM+zC,GAAGn2C,KAI9Bq1C,GAAK,SAAYv1C,EAAGE,EAAGgC,EAAGG,GACxBH,IAAMG,GAAKg0C,GAAGn2C,IAqEhB,IAAI02C,GAAK,mBAAsBC,QAAUA,QAAUtb,IAEnD,SAASub,GAAG92C,EAAGE,GACb,IAAIgC,EAAIhC,EAAE0K,OACNvI,EAAInC,EAAEu2C,MACV,OAASp0C,GAAK,OAASH,IAAMG,EAAI0jB,EAAG7jB,IACpC,OAASA,GAAK4jB,EAAG5jB,EAAEmM,MACnBnO,EAAIA,EAAER,MACN,OAASM,GAAK,IAAMA,EAAEuY,KAAOuN,EAAG9lB,EAAEqO,MAElC,IACEvN,QAAQI,MAAMhB,GACd,MAAOoC,GACPnC,YAAW,WACT,MAAMmC,MAaZ,SAASy0C,GAAG/2C,GACV,IAAIE,EAAIF,EAAE8e,IACV,GAAI,OAAS5e,EAAG,GAAI,mBAAsBA,EAAG,IAC3CA,EAAE,MACF,MAAOgC,GACP80C,GAAGh3C,EAAGkC,QACDhC,EAAEgY,QAAU,KAGrB,SAAS++B,GAAGj3C,EAAGE,GACb,OAAQA,EAAEqY,KACR,KAAK,EACL,KAAK,GACL,KAAK,GACH2+B,GAAG,EAAG,EAAGh3C,GACT,MAEF,KAAK,EACH,GAAkB,IAAdA,EAAE6sB,WAAmB,OAAS/sB,EAAG,CACnC,IAAIkC,EAAIlC,EAAEqwC,cACNhuC,EAAIrC,EAAEitB,cAEV/sB,GADAF,EAAIE,EAAEykB,WACA4pB,wBAAwBruC,EAAEgvC,cAAgBhvC,EAAEmO,KAAOnM,EAAI0oC,GAAG1qC,EAAEmO,KAAMnM,GAAIG,GAC5ErC,EAAEm3C,oCAAsCj3C,EAG1C,MAEF,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACH,MAEF,QACE,MAAMwG,MAAMtG,EAAE,OAIpB,SAAS82C,GAAGl3C,EAAGE,EAAGgC,GAIhB,GAAI,QAFJA,EAAI,QADJA,EAAIA,EAAE4qC,aACW5qC,EAAEkqC,WAAa,MAEhB,CACd,IAAI/pC,EAAIH,EAAIA,EAAEmd,KAEd,EAAG,CACD,GAAI,IAAOhd,EAAEkW,IAAMvY,GAAI,CACrB,IAAIsC,EAAID,EAAEuwC,QACVvwC,EAAEuwC,aAAU,OACZ,IAAWtwC,GAAKA,IAGlB,IAAOD,EAAEkW,IAAMrY,KAAOoC,EAAID,EAAEkF,OAAQlF,EAAEuwC,QAAUtwC,KAChDD,EAAIA,EAAEgd,WACChd,IAAMH,IAInB,SAASk1C,GAAGp3C,EAAGE,EAAGgC,GAGhB,OAFA,mBAAsBm1C,IAAMA,GAAGn3C,GAEvBA,EAAEqY,KACR,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GAGH,GAAI,QAFJvY,EAAIE,EAAE4sC,cAE+B,QAAlB9sC,EAAIA,EAAEosC,YAAyB,CAChD,IAAI/pC,EAAIrC,EAAEqf,KACVgrB,GAAG,GAAKnoC,EAAI,GAAKA,GAAG,WAClB,IAAIlC,EAAIqC,EAER,EAAG,CACD,IAAIH,EAAIlC,EAAE4yC,QAEV,QAAI,IAAW1wC,EAAG,CAChB,IAAI/C,EAAIe,EAER,IACEgC,IACA,MAAO9C,GACP43C,GAAG73C,EAAGC,IAIVY,EAAIA,EAAEqf,WACCrf,IAAMqC,MAInB,MAEF,KAAK,EACH00C,GAAG72C,GAEH,mBADAgC,EAAIhC,EAAEykB,WACkBxc,sBA1G9B,SAAYnI,EAAGE,GACb,IACEA,EAAE+G,MAAQjH,EAAEqwC,cAAenwC,EAAE0G,MAAQ5G,EAAEitB,cAAe/sB,EAAEiI,uBACxD,MAAOjG,GACP80C,GAAGh3C,EAAGkC,IAsG4Co1C,CAAGp3C,EAAGgC,GACtD,MAEF,KAAK,EACH60C,GAAG72C,GACH,MAEF,KAAK,EACHq3C,GAAGv3C,EAAGE,EAAGgC,IAIf,SAASs1C,GAAGx3C,GACV,IAAIE,EAAIF,EAAE8sB,UACV9sB,EAAU,OAAI,KACdA,EAAEmO,MAAQ,KACVnO,EAAEitB,cAAgB,KAClBjtB,EAAE8sC,YAAc,KAChB9sC,EAAE8iB,aAAe,KACjB9iB,EAAE8sB,UAAY,KACd9sB,EAAEmsC,YAAc,KAChBnsC,EAAEosC,WAAa,KACfpsC,EAAEg0C,aAAe,KACjBh0C,EAAEqwC,cAAgB,KAClB,OAASnwC,GAAKs3C,GAAGt3C,GAGnB,SAASu3C,GAAGz3C,GACV,OAAO,IAAMA,EAAEuY,KAAO,IAAMvY,EAAEuY,KAAO,IAAMvY,EAAEuY,IAG/C,SAASm/B,GAAG13C,GACVA,EAAG,CACD,IAAK,IAAIE,EAAIF,EAAU,OAAG,OAASE,GAAI,CACrC,GAAIu3C,GAAGv3C,GAAI,CACT,IAAIgC,EAAIhC,EACR,MAAMF,EAGRE,EAAIA,EAAU,OAGhB,MAAMwG,MAAMtG,EAAE,MAKhB,OAFAF,EAAIgC,EAAEyiB,UAEEziB,EAAEqW,KACR,KAAK,EACH,IAAIlW,GAAI,EACR,MAEF,KAAK,EAKL,KAAK,EACHnC,EAAIA,EAAE+uB,cACN5sB,GAAI,EACJ,MAEF,QACE,MAAMqE,MAAMtG,EAAE,MAGJ,GAAd8B,EAAE6qB,YAAmBtB,GAAGvrB,EAAG,IAAKgC,EAAE6qB,YAAc,IAEhD/sB,EAAGE,EAAG,IAAKgC,EAAIlC,IAAK,CAClB,KAAO,OAASkC,EAAEmrB,SAAU,CAC1B,GAAI,OAASnrB,EAAU,QAAKu1C,GAAGv1C,EAAU,QAAI,CAC3CA,EAAI,KACJ,MAAMlC,EAGRkC,EAAIA,EAAU,OAKhB,IAFAA,EAAEmrB,QAAgB,OAAInrB,EAAU,OAE3BA,EAAIA,EAAEmrB,QAAS,IAAMnrB,EAAEqW,KAAO,IAAMrW,EAAEqW,KAAO,KAAOrW,EAAEqW,KAAM,CAC/D,GAAkB,EAAdrW,EAAE6qB,UAAe,SAAS7sB,EAC9B,GAAI,OAASgC,EAAEiM,OAAS,IAAMjM,EAAEqW,IAAK,SAASrY,EAAOgC,EAAEiM,MAAc,OAAIjM,EAAGA,EAAIA,EAAEiM,MAGpF,KAAoB,EAAdjM,EAAE6qB,WAAgB,CACtB7qB,EAAIA,EAAEyiB,UACN,MAAM3kB,GAIV,IAAK,IAAIsC,EAAItC,IAAK,CAChB,IAAI8J,EAAI,IAAMxH,EAAEiW,KAAO,IAAMjW,EAAEiW,IAE/B,GAAIzO,EAAG,CACL,IAAI3K,EAAI2K,EAAIxH,EAAEqiB,UAAYriB,EAAEqiB,UAAU3d,SACtC,GAAI9E,EACF,GAAIG,EAAG,CAEL,IAAIjD,EAAID,EACRA,EAAI+C,EACJ,KAHA4H,EAAI5J,GAGIyrB,SAAW7hB,EAAE2S,WAAWk7B,aAAav4C,EAAGD,GAAK2K,EAAE6tC,aAAav4C,EAAGD,QAClEe,EAAEy3C,aAAax4C,EAAG+C,QACpBG,GAAY,KAAPjD,EAAIc,GAAWyrB,UAAY7hB,EAAI1K,EAAEqd,YAAck7B,aAAax4C,EAAGC,IAAO0K,EAAI1K,GAAKgd,YAAYjd,GAAgC,OAA3BC,EAAIA,EAAEw4C,sBAAmD,OAAS9tC,EAAE6sC,UAAY7sC,EAAE6sC,QAAU7W,KAAO5/B,EAAEkc,YAAYjd,QACxN,GAAI,IAAMmD,EAAEiW,KAAO,OAASjW,EAAE6L,MAAO,CAC1C7L,EAAE6L,MAAc,OAAI7L,EACpBA,EAAIA,EAAE6L,MACN,SAGF,GAAI7L,IAAMtC,EAAG,MAEb,KAAO,OAASsC,EAAE+qB,SAAU,CAC1B,GAAI,OAAS/qB,EAAU,QAAKA,EAAU,SAAMtC,EAAG,OAC/CsC,EAAIA,EAAU,OAGhBA,EAAE+qB,QAAgB,OAAI/qB,EAAU,OAChCA,EAAIA,EAAE+qB,SAIV,SAASkqB,GAAGv3C,EAAGE,EAAGgC,GAChB,IAAK,IAAmB4H,EAAG3K,EAAlBkD,EAAInC,EAAGoC,GAAI,IAAY,CAC9B,IAAKA,EAAG,CACNA,EAAID,EAAU,OAEdrC,EAAG,OAAS,CACV,GAAI,OAASsC,EAAG,MAAMoE,MAAMtG,EAAE,MAG9B,OAFA0J,EAAIxH,EAAEqiB,UAEEriB,EAAEiW,KACR,KAAK,EACHpZ,GAAI,EACJ,MAAMa,EAER,KAAK,EAKL,KAAK,EACH8J,EAAIA,EAAEmlB,cACN9vB,GAAI,EACJ,MAAMa,EAGVsC,EAAIA,EAAU,OAGhBA,GAAI,EAGN,GAAI,IAAMD,EAAEkW,KAAO,IAAMlW,EAAEkW,IAAK,CAC9BvY,EAAG,IAAK,IAAIZ,EAAIY,EAAGX,EAAIgD,EAAG/C,EAAI4C,EAAGS,EAAItD,IACnC,GAAI+3C,GAAGh4C,EAAGuD,EAAGrD,GAAI,OAASqD,EAAEwL,OAAS,IAAMxL,EAAE4V,IAAK5V,EAAEwL,MAAc,OAAIxL,EAAGA,EAAIA,EAAEwL,UAAW,CACxF,GAAIxL,IAAMtD,EAAG,MAEb,KAAO,OAASsD,EAAE0qB,SAAU,CAC1B,GAAI,OAAS1qB,EAAU,QAAKA,EAAU,SAAMtD,EAAG,MAAMW,EACrD2C,EAAIA,EAAU,OAGhBA,EAAE0qB,QAAgB,OAAI1qB,EAAU,OAChCA,EAAIA,EAAE0qB,QAIVluB,GAAKC,EAAI0K,EAAGzK,EAAIgD,EAAEsiB,UAAW,IAAMvlB,EAAEusB,SAAWvsB,EAAEqd,WAAWC,YAAYrd,GAAKD,EAAEsd,YAAYrd,IAAMyK,EAAE4S,YAAYra,EAAEsiB,gBAC7G,GAAI,IAAMtiB,EAAEkW,KACjB,GAAI,OAASlW,EAAE8L,MAAO,CACpBrE,EAAIzH,EAAEsiB,UAAUsK,cAChB9vB,GAAI,EACJkD,EAAE8L,MAAc,OAAI9L,EACpBA,EAAIA,EAAE8L,MACN,eAEG,GAAIipC,GAAGp3C,EAAGqC,EAAGH,GAAI,OAASG,EAAE8L,MAAO,CACxC9L,EAAE8L,MAAc,OAAI9L,EACpBA,EAAIA,EAAE8L,MACN,SAGF,GAAI9L,IAAMnC,EAAG,MAEb,KAAO,OAASmC,EAAEgrB,SAAU,CAC1B,GAAI,OAAShrB,EAAU,QAAKA,EAAU,SAAMnC,EAAG,OAE/C,KADAmC,EAAIA,EAAU,QACNkW,MAAQjW,GAAI,GAGtBD,EAAEgrB,QAAgB,OAAIhrB,EAAU,OAChCA,EAAIA,EAAEgrB,SAIV,SAASwqB,GAAG73C,EAAGE,GACb,OAAQA,EAAEqY,KACR,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACH2+B,GAAG,EAAG,EAAGh3C,GACT,MAEF,KAAK,EACH,MAEF,KAAK,EACH,IAAIgC,EAAIhC,EAAEykB,UAEV,GAAI,MAAQziB,EAAG,CACb,IAAIG,EAAInC,EAAEmwC,cACN/tC,EAAI,OAAStC,EAAIA,EAAEqwC,cAAgBhuC,EACvCrC,EAAIE,EAAEmO,KACN,IAAIvE,EAAI5J,EAAE4sC,YAGV,GAFA5sC,EAAE4sC,YAAc,KAEZ,OAAShjC,EAAG,CAMd,IALA5H,EAAE0/B,IAAMv/B,EACR,UAAYrC,GAAK,UAAYqC,EAAEgM,MAAQ,MAAQhM,EAAEqG,MAAQghB,GAAGxnB,EAAGG,GAC/Ds9B,GAAG3/B,EAAGsC,GACNpC,EAAIy/B,GAAG3/B,EAAGqC,GAELC,EAAI,EAAGA,EAAIwH,EAAE3H,OAAQG,GAAK,EAAG,CAChC,IAAInD,EAAI2K,EAAExH,GACNlD,EAAI0K,EAAExH,EAAI,GACd,UAAYnD,EAAIs/B,GAAGv8B,EAAG9C,GAAK,4BAA8BD,EAAIgsB,GAAGjpB,EAAG9C,GAAK,aAAeD,EAAIssB,GAAGvpB,EAAG9C,GAAK4oB,GAAG9lB,EAAG/C,EAAGC,EAAGc,GAGpH,OAAQF,GACN,IAAK,QACH2pB,GAAGznB,EAAGG,GACN,MAEF,IAAK,WACHmoB,GAAGtoB,EAAGG,GACN,MAEF,IAAK,SACHnC,EAAIgC,EAAEmnB,cAAcyuB,YAAa51C,EAAEmnB,cAAcyuB,cAAgBz1C,EAAE01C,SAAuB,OAAb/3C,EAAIqC,EAAE3C,OAAmBwqB,GAAGhoB,IAAKG,EAAE01C,SAAU/3C,GAAG,GAAME,MAAQmC,EAAE01C,WAAa,MAAQ11C,EAAE+mB,aAAec,GAAGhoB,IAAKG,EAAE01C,SAAU11C,EAAE+mB,cAAc,GAAMc,GAAGhoB,IAAKG,EAAE01C,SAAU11C,EAAE01C,SAAW,GAAK,IAAI,MAK/Q,MAEF,KAAK,EACH,GAAI,OAAS73C,EAAEykB,UAAW,MAAMje,MAAMtG,EAAE,MACxCF,EAAEykB,UAAUiH,UAAY1rB,EAAEmwC,cAC1B,MAEF,KAAK,GACHnwC,EAAIA,EAAEykB,WACJqK,UAAY9uB,EAAE8uB,SAAU,EAAIQ,GAAGtvB,EAAE+uB,gBACnC,MAEF,KAAK,GACH,MAEF,KAAK,GAGH,GAFA/sB,EAAIhC,EACJ,OAASA,EAAE+sB,cAAgB5qB,GAAI,GAAMA,GAAI,EAAIH,EAAIhC,EAAEiO,MAAO6pC,GAAK9N,MAC3D,OAAShoC,EAAGlC,EAAG,IAAKA,EAAIkC,IAAK,CAC/B,GAAI,IAAMlC,EAAEuY,IAAKzO,EAAI9J,EAAE2kB,UAAWtiB,EAAkB,mBAAbyH,EAAIA,EAAEgI,OAA+B4sB,YAAc50B,EAAE40B,YAAY,UAAW,OAAQ,aAAe50B,EAAEmuC,QAAU,QAAWnuC,EAAI9J,EAAE2kB,UAAsCriB,EAAI,OAA/BA,EAAItC,EAAEqwC,cAAcv+B,QAAyCxP,EAAEgH,eAAe,WAAahH,EAAE21C,QAAU,KAAMnuC,EAAEgI,MAAMmmC,QAAU1Z,GAAG,UAAWj8B,SAAS,GAAI,IAAMtC,EAAEuY,IAAKvY,EAAE2kB,UAAUiH,UAAYvpB,EAAI,GAAKrC,EAAEqwC,kBAAmB,IAAI,KAAOrwC,EAAEuY,KAAO,OAASvY,EAAEitB,eAAiB,OAASjtB,EAAEitB,cAAcC,WAAY,EAClepjB,EAAI9J,EAAEmO,MAAMkf,SACF,OAAIrtB,EACdA,EAAI8J,EACJ,SACK,GAAI,OAAS9J,EAAEmO,MAAO,CAC3BnO,EAAEmO,MAAc,OAAInO,EACpBA,EAAIA,EAAEmO,MACN,UAEF,GAAInO,IAAMkC,EAAG,MAAMlC,EAEnB,KAAO,OAASA,EAAEqtB,SAAU,CAC1B,GAAI,OAASrtB,EAAU,QAAKA,EAAU,SAAMkC,EAAG,MAAMlC,EACrDA,EAAIA,EAAU,OAGhBA,EAAEqtB,QAAgB,OAAIrtB,EAAU,OAChCA,EAAIA,EAAEqtB,QAER6qB,GAAGh4C,GACH,MAEF,KAAK,GACHg4C,GAAGh4C,GACH,MAEF,KAAK,GAGL,KAAK,GAGL,KAAK,GACH,MAEF,QACE,MAAMwG,MAAMtG,EAAE,OAIpB,SAAS83C,GAAGl4C,GACV,IAAIE,EAAIF,EAAE8sC,YAEV,GAAI,OAAS5sC,EAAG,CACdF,EAAE8sC,YAAc,KAChB,IAAI5qC,EAAIlC,EAAE2kB,UACV,OAASziB,IAAMA,EAAIlC,EAAE2kB,UAAY,IAAIiyB,IACrC12C,EAAE6P,SAAQ,SAAU7P,GAClB,IAAImC,EAAI81C,GAAG5uC,KAAK,KAAMvJ,EAAGE,GACzBgC,EAAEu5B,IAAIv7B,KAAOgC,EAAEw5B,IAAIx7B,GAAIA,EAAEk4C,KAAK/1C,EAAGA,QAKvC,IAAIg2C,GAAK,mBAAsBhd,QAAUA,QAAUpU,IAEnD,SAASqxB,GAAGt4C,EAAGE,EAAGgC,IAChBA,EAAIsqC,GAAGtqC,EAAG,OACRqW,IAAM,EACRrW,EAAEwqC,QAAU,CACV6L,QAAS,MAEX,IAAIl2C,EAAInC,EAAER,MAOV,OALAwC,EAAEwB,SAAW,WACX80C,KAAOA,IAAK,EAAIC,GAAKp2C,GACrBy0C,GAAG92C,EAAGE,IAGDgC,EAGT,SAASw2C,GAAG14C,EAAGE,EAAGgC,IAChBA,EAAIsqC,GAAGtqC,EAAG,OACRqW,IAAM,EACR,IAAIlW,EAAIrC,EAAEqO,KAAK4mC,yBAEf,GAAI,mBAAsB5yC,EAAG,CAC3B,IAAIC,EAAIpC,EAAER,MAEVwC,EAAEwqC,QAAU,WAEV,OADAoK,GAAG92C,EAAGE,GACCmC,EAAEC,IAIb,IAAIwH,EAAI9J,EAAE2kB,UAQV,OAPA,OAAS7a,GAAK,mBAAsBA,EAAE6uC,oBAAsBz2C,EAAEwB,SAAW,WACvE,mBAAsBrB,IAAM,OAASu2C,GAAKA,GAAK,IAAIrd,IAAI,CAACx2B,OAAS6zC,GAAGld,IAAI32B,MAAO+xC,GAAG92C,EAAGE,IACrF,IAAIgC,EAAIhC,EAAEu2C,MACV1xC,KAAK4zC,kBAAkBz4C,EAAER,MAAO,CAC9Bm5C,eAAgB,OAAS32C,EAAIA,EAAI,OAG9BA,EAGT,IAg5CI42C,GAh5CAC,GAAKt3C,KAAKu3C,KACVC,GAAKp0B,EAAG9C,uBACRm3B,GAAKr0B,EAAG3C,kBACR5e,GAAI,EACJ61C,GAAK,EACLC,GAAK,GACLC,GAAK,GACLC,GAAK,EACLC,GAAK,EACLC,GAAK,EACLC,GAAK,EACLC,GAAK,EACLC,GAAK,EACLp2C,GAAID,GACJE,GAAI,KACJC,GAAI,KACJI,GAAI,EACJC,GAAIw1C,GACJM,GAAK,KACLC,GAAK,WACLC,GAAK,WACLC,GAAK,KACLC,GAAK,EACLC,IAAK,EACLjC,GAAK,EACLkC,GAAK,IACLl2C,GAAI,KACJw0C,IAAK,EACLC,GAAK,KACLG,GAAK,KACLuB,IAAK,EACLC,GAAK,KACLC,GAAK,GACLC,GAAK,KACLC,GAAK,EACLC,GAAK,KACLC,GAAK,EAET,SAAS7M,KACP,OAAQrqC,IAAK61C,GAAKC,OAAS/1C,GAAI,YAAc4mC,KAAO,GAAK,GAAK,IAAMuQ,GAAKA,GAAKA,GAAK,YAAcvQ,KAAO,GAAK,GAG/G,SAAS2D,GAAG7tC,EAAGE,EAAGgC,GAEhB,GAAI,IAAW,GADfhC,EAAIA,EAAE+uC,OACa,OAAO,WAC1B,IAAI5sC,EAAI8nC,KACR,GAAI,IAAW,EAAJjqC,GAAQ,OAAO,KAAOmC,EAAI,WAAa,WAClD,IAAKkB,GAAI61C,MAAQ91C,GAAG,OAAOO,GAC3B,GAAI,OAAS3B,EAAGlC,EAAI2qC,GAAG3qC,EAAiB,EAAdkC,EAAEw4C,WAAiB,IAAK,UAAU,OAAQr4C,GAClE,KAAK,GACHrC,EAAI,WACJ,MAEF,KAAK,GACHA,EAAI2qC,GAAG3qC,EAAG,IAAK,KACf,MAEF,KAAK,GACL,KAAK,GACHA,EAAI2qC,GAAG3qC,EAAG,IAAK,KACf,MAEF,KAAK,GACHA,EAAI,EACJ,MAEF,QACE,MAAM0G,MAAMtG,EAAE,MAGlB,OADA,OAASoD,IAAKxD,IAAM6D,MAAO7D,EACpBA,EAGT,SAAS8tC,GAAG9tC,EAAGE,GACb,GAAI,GAAKq6C,GAAI,MAAMA,GAAK,EAAGC,GAAK,KAAM9zC,MAAMtG,EAAE,MAG9C,GAAI,QAFJJ,EAAI26C,GAAG36C,EAAGE,IAEM,CACd,IAAIgC,EAAIioC,KACR,aAAejqC,GAAKqD,GAAI41C,MAAQ71C,KAAMC,IAAK61C,GAAKC,OAAS/1C,GAAIs3C,GAAG56C,IAAMiE,GAAEjE,GAAIuD,KAAMD,IAAKmnC,MAAQxmC,GAAEjE,IAC5F,EAAJuD,MAAWD,IAAK,KAAOpB,GAAK,KAAOA,IAAM,OAASo4C,GAAKA,GAAK,IAAIrzB,IAAI,CAAC,CAACjnB,EAAGE,WAAwB,KAAhBgC,EAAIo4C,GAAGxvC,IAAI9K,KAAqBkC,EAAIhC,IAAMo6C,GAAGvvC,IAAI/K,EAAGE,KAI1I,SAASy6C,GAAG36C,EAAGE,GACbF,EAAE4D,eAAiB1D,IAAMF,EAAE4D,eAAiB1D,GAC5C,IAAIgC,EAAIlC,EAAE8sB,UACV,OAAS5qB,GAAKA,EAAE0B,eAAiB1D,IAAMgC,EAAE0B,eAAiB1D,GAC1D,IAAImC,EAAIrC,EAAU,OACdsC,EAAI,KACR,GAAI,OAASD,GAAK,IAAMrC,EAAEuY,IAAKjW,EAAItC,EAAE2kB,eAAe,KAAO,OAAStiB,GAAI,CAKtE,GAJAH,EAAIG,EAAEyqB,UACNzqB,EAAEgpC,oBAAsBnrC,IAAMmC,EAAEgpC,oBAAsBnrC,GACtD,OAASgC,GAAKA,EAAEmpC,oBAAsBnrC,IAAMgC,EAAEmpC,oBAAsBnrC,GAEhE,OAASmC,EAAU,QAAK,IAAMA,EAAEkW,IAAK,CACvCjW,EAAID,EAAEsiB,UACN,MAGFtiB,EAAIA,EAAU,OAGhB,OADA,OAASC,IAAMkB,KAAMlB,IAAM8qC,GAAGltC,GAAI4D,KAAM41C,IAAMmB,GAAGv4C,EAAGuB,KAAKi3C,GAAGx4C,EAAGpC,IACxDoC,EAGT,SAASy4C,GAAG/6C,GACV,IAAIE,EAAIF,EAAEg7C,gBACV,OAAI,IAAM96C,EAAUA,EAEf+6C,GAAGj7C,EADRE,EAAIF,EAAEk7C,mBAENh7C,EAAIF,EAAEm7C,iBACNn7C,EAAIA,EAAEo7C,uBACSl7C,EAAIF,EAHGE,EAMxB,SAAS+D,GAAEjE,GACT,GAAI,IAAMA,EAAEg7C,gBAAiBh7C,EAAEq7C,uBAAyB,WAAYr7C,EAAEs7C,iBAAmB,GAAIt7C,EAAEu7C,aAAehR,GAAGqQ,GAAGrxC,KAAK,KAAMvJ,QAAS,CACtI,IAAIE,EAAI66C,GAAG/6C,GACPkC,EAAIlC,EAAEu7C,aACV,GAAI,IAAMr7C,EAAG,OAASgC,IAAMlC,EAAEu7C,aAAe,KAAMv7C,EAAEq7C,uBAAyB,EAAGr7C,EAAEs7C,iBAAmB,QAAS,CAC7G,IAAIj5C,EAAIurC,KAGR,GAFA,aAAe1tC,EAAImC,EAAI,GAAK,IAAMnC,GAAK,IAAMA,EAAImC,EAAI,GAAyDA,EAAI,IAAvDA,EAAI,IAAM,WAAanC,GAAK,IAAM,WAAamC,IAAiB,GAAK,KAAOA,EAAI,GAAK,MAAQA,EAAI,GAAK,GAE7J,OAASH,EAAG,CACd,IAAII,EAAItC,EAAEs7C,iBACV,GAAIt7C,EAAEq7C,yBAA2Bn7C,GAAKoC,GAAKD,EAAG,OAC9CH,IAAM0nC,IAAMV,GAAGhnC,GAGjBlC,EAAEq7C,uBAAyBn7C,EAC3BF,EAAEs7C,iBAAmBj5C,EACrBnC,EAAI,aAAeA,EAAIqqC,GAAGqQ,GAAGrxC,KAAK,KAAMvJ,IAAMsqC,GAAGjoC,EAAGm5C,GAAGjyC,KAAK,KAAMvJ,GAAI,CACpE2E,QAAS,IAAM,WAAazE,GAAKgqC,OAEnClqC,EAAEu7C,aAAer7C,IAKvB,SAASs7C,GAAGx7C,EAAGE,GAEb,GADAu6C,GAAK,EACDv6C,EAAG,OAAiBu7C,GAAGz7C,EAAbE,EAAI0tC,MAAgB3pC,GAAEjE,GAAI,KACxC,IAAIkC,EAAI64C,GAAG/6C,GAEX,GAAI,IAAMkC,EAAG,CAEX,GADAhC,EAAIF,EAAEu7C,cACDh4C,IAAK61C,GAAKC,OAAS/1C,GAAG,MAAMoD,MAAMtG,EAAE,MAIzC,GAHAs7C,KACA17C,IAAMwD,IAAKtB,IAAM2B,IAAK83C,GAAG37C,EAAGkC,GAExB,OAASuB,GAAG,CACd,IAAIpB,EAAIkB,GACRA,IAAK61C,GAGL,IAFA,IAAI92C,EAAIs5C,OAGN,IACEC,KACA,MACA,MAAOz8C,GACP08C,GAAG97C,EAAGZ,GAOV,GAHA6rC,KACA1nC,GAAIlB,EACJ42C,GAAG/gC,QAAU5V,EACTwB,KAAMy1C,GAAI,MAAMr5C,EAAI05C,GAAI+B,GAAG37C,EAAGkC,GAAI24C,GAAG76C,EAAGkC,GAAI+B,GAAEjE,GAAIE,EACtD,GAAI,OAASuD,GAAG,OAAQnB,EAAItC,EAAE+7C,aAAe/7C,EAAEkY,QAAQ4U,UAAW9sB,EAAEg8C,uBAAyB95C,EAAGG,EAAIyB,GAAGN,GAAI,KAAMnB,GAC/G,KAAKi3C,GACL,KAAKC,GACH,MAAM7yC,MAAMtG,EAAE,MAEhB,KAAKo5C,GACHiC,GAAGz7C,EAAG,EAAIkC,EAAI,EAAIA,GAClB,MAEF,KAAKu3C,GAKH,GAJAoB,GAAG76C,EAAGkC,GAENA,KADAG,EAAIrC,EAAEi8C,qBACMj8C,EAAEo7C,sBAAwBc,GAAG55C,IAErC,aAAeu3C,IAA2B,IAApBv3C,EAAI01C,GAAKkC,GAAKhQ,MAAe,CACrD,GAAI+P,GAAI,CACN,IAAInwC,EAAI9J,EAAEm7C,eAEV,GAAI,IAAMrxC,GAAKA,GAAK5H,EAAG,CACrBlC,EAAEm7C,eAAiBj5C,EACnBy5C,GAAG37C,EAAGkC,GACN,OAKJ,GAAI,KADJ4H,EAAIixC,GAAG/6C,KACQ8J,IAAM5H,EAAG,MAExB,GAAI,IAAMG,GAAKA,IAAMH,EAAG,CACtBlC,EAAEm7C,eAAiB94C,EACnB,MAGFrC,EAAEm8C,cAAgBhb,GAAGib,GAAG7yC,KAAK,KAAMvJ,GAAIsC,GACvC,MAGF85C,GAAGp8C,GACH,MAEF,KAAK05C,GAKH,GAJAmB,GAAG76C,EAAGkC,GAENA,KADAG,EAAIrC,EAAEi8C,qBACMj8C,EAAEo7C,sBAAwBc,GAAG55C,IAErC23C,KAA6B,KAAtB33C,EAAItC,EAAEm7C,iBAA2B74C,GAAKJ,GAAI,CACnDlC,EAAEm7C,eAAiBj5C,EACnBy5C,GAAG37C,EAAGkC,GACN,MAIF,GAAI,KADJI,EAAIy4C,GAAG/6C,KACQsC,IAAMJ,EAAG,MAExB,GAAI,IAAMG,GAAKA,IAAMH,EAAG,CACtBlC,EAAEm7C,eAAiB94C,EACnB,MAKF,GAFA,aAAey3C,GAAKz3C,EAAI,IAAM,WAAay3C,IAAM5P,KAAO,aAAe2P,GAAKx3C,EAAI,GAAKA,EAAI,IAAM,WAAaw3C,IAAM,IAAyD,GAAXx3C,GAAzCC,EAAI4nC,MAA6C7nC,KAAaA,EAAI,IAAxDH,EAAI,IAAM,WAAaA,GAAKI,IAAgCD,GAAK,IAAMA,EAAI,IAAM,IAAMA,EAAI,IAAM,KAAOA,EAAI,KAAO,KAAOA,EAAI,KAAO,IAAMA,EAAI,IAAM,KAAOA,EAAI,KAAO,KAAO02C,GAAG12C,EAAI,OAASA,KAAaA,EAAIH,IAE5U,GAAKG,EAAG,CACVrC,EAAEm8C,cAAgBhb,GAAGib,GAAG7yC,KAAK,KAAMvJ,GAAIqC,GACvC,MAGF+5C,GAAGp8C,GACH,MAEF,KAAK25C,GACH,GAAI,aAAeE,IAAM,OAASE,GAAI,CACpCjwC,EAAI+vC,GACJ,IAAI16C,EAAI46C,GAIR,GAFA,IADA13C,EAA0B,EAAtBlD,EAAEk9C,mBACGh6C,EAAI,GAAKC,EAAoB,EAAhBnD,EAAEm9C,YAAgFj6C,GAA/DyH,EAAIogC,MAAQ,IAAM,WAAapgC,IAAoB,EAAd3K,EAAEu7C,WAAiB,QAAgBp4C,EAAI,EAAIA,EAAID,EAAIyH,GAE7H,GAAKzH,EAAG,CACVw4C,GAAG76C,EAAGkC,GACNlC,EAAEm8C,cAAgBhb,GAAGib,GAAG7yC,KAAK,KAAMvJ,GAAIqC,GACvC,OAIJ+5C,GAAGp8C,GACH,MAEF,QACE,MAAM0G,MAAMtG,EAAE,MAGlB,GADA6D,GAAEjE,GACEA,EAAEu7C,eAAiBr7C,EAAG,OAAOs7C,GAAGjyC,KAAK,KAAMvJ,IAInD,OAAO,KAGT,SAAS46C,GAAG56C,GACV,IAAIE,EAAIF,EAAEg7C,gBAEV,GADA96C,EAAI,IAAMA,EAAIA,EAAI,WACdF,EAAEg8C,yBAA2B97C,EAAGk8C,GAAGp8C,OAAQ,CAC7C,IAAKuD,IAAK61C,GAAKC,OAAS/1C,GAAG,MAAMoD,MAAMtG,EAAE,MAIzC,GAHAs7C,KACA17C,IAAMwD,IAAKtD,IAAM2D,IAAK83C,GAAG37C,EAAGE,GAExB,OAASuD,GAAG,CACd,IAAIvB,EAAIqB,GACRA,IAAK61C,GAGL,IAFA,IAAI/2C,EAAIu5C,OAGN,IACEW,KACA,MACA,MAAOj6C,GACPw5C,GAAG97C,EAAGsC,GAOV,GAHA2oC,KACA1nC,GAAIrB,EACJ+2C,GAAG/gC,QAAU7V,EACTyB,KAAMy1C,GAAI,MAAMr3C,EAAI03C,GAAI+B,GAAG37C,EAAGE,GAAI26C,GAAG76C,EAAGE,GAAI+D,GAAEjE,GAAIkC,EACtD,GAAI,OAASuB,GAAG,MAAMiD,MAAMtG,EAAE,MAC9BJ,EAAE+7C,aAAe/7C,EAAEkY,QAAQ4U,UAC3B9sB,EAAEg8C,uBAAyB97C,EAC3BsD,GAAI,KACJ44C,GAAGp8C,GACHiE,GAAEjE,IAGN,OAAO,KAeT,SAASw8C,GAAGx8C,EAAGE,GACb,IAAIgC,EAAIqB,GACRA,IAAK,EAEL,IACE,OAAOvD,EAAEE,GACT,SACAqD,GAAIrB,KAASoB,IAAKmnC,MAItB,SAASgS,GAAGz8C,EAAGE,GACb,IAAIgC,EAAIqB,GACRA,KAAM,EACNA,IAAK41C,GAEL,IACE,OAAOn5C,EAAEE,GACT,SACAqD,GAAIrB,KAASoB,IAAKmnC,MAItB,SAASkR,GAAG37C,EAAGE,GACbF,EAAE+7C,aAAe,KACjB/7C,EAAEg8C,uBAAyB,EAC3B,IAAI95C,EAAIlC,EAAEm8C,cAEV,IADC,IAAMj6C,IAAMlC,EAAEm8C,eAAiB,EAAG/a,GAAGl/B,IAClC,OAASuB,GAAG,IAAKvB,EAAIuB,GAAU,OAAG,OAASvB,GAAI,CACjD,IAAIG,EAAIH,EAER,OAAQG,EAAEkW,KACR,KAAK,EACH,IAAIjW,EAAID,EAAEgM,KAAKk6B,kBACf,MAASjmC,GAAqBkmC,KAC9B,MAEF,KAAK,EACHyH,KACAxH,KACA,MAEF,KAAK,EACH0H,GAAG9tC,GACH,MAEF,KAAK,EACH4tC,KACA,MAEF,KAAK,GAIL,KAAK,GACHzuC,GAAEiB,IACF,MAEF,KAAK,GACH0oC,GAAG9oC,GAGPH,EAAIA,EAAU,OAEhBsB,GAAIxD,EACJyD,GAAIsrC,GAAG/uC,EAAEkY,QAAS,MAClBrU,GAAI3D,EACJ4D,GAAIw1C,GACJM,GAAK,KACLE,GAAKD,GAAK,WACVE,GAAK,KACLC,GAAK,EACLC,IAAK,EAGP,SAAS6B,GAAG97C,EAAGE,GACb,OAAG,CACD,IAGE,GAFA+qC,KACAyG,KACI,OAASjuC,IAAK,OAASA,GAAU,OAAG,OAAOK,GAAIy1C,GAAIK,GAAK15C,EAAG,KAE/DF,EAAG,CACD,IAAIkC,EAAIlC,EACJqC,EAAIoB,GAAU,OACdnB,EAAImB,GACJqG,EAAI5J,EAKR,GAJAA,EAAI2D,GACJvB,EAAEyqB,WAAa,KACfzqB,EAAE6pC,YAAc7pC,EAAE8pC,WAAa,KAE3B,OAAStiC,GAAK,iBAAoBA,GAAK,mBAAsBA,EAAEsuC,KAAM,CACvE,IAAIj5C,EAAI2K,EACJ1K,EAAI,IAAmB,EAAZqD,GAAEyV,SACb7Y,EAAIgD,EAER,EAAG,CACD,IAAI/C,EAEJ,GAAIA,EAAI,KAAOD,EAAEkZ,IAAK,CACpB,IAAI5V,EAAItD,EAAE4tB,cACV,GAAI,OAAStqB,EAAGrD,EAAI,OAASqD,EAAEuqB,eAA0B,CACvD,IAAI9rB,EAAI/B,EAAEgxC,cACV/wC,OAAI,IAAW8B,EAAEu0C,YAAgB,IAAOv0C,EAAEw0C,6BAAkCx2C,IAIhF,GAAIE,EAAG,CACL,IAAIsB,EAAIvB,EAAEytC,YAEV,GAAI,OAASlsC,EAAG,CACd,IAAIe,EAAI,IAAI45B,IACZ55B,EAAE+5B,IAAIv8B,GACNE,EAAEytC,YAAcnrC,OACXf,EAAE86B,IAAIv8B,GAEb,GAAI,IAAgB,EAATE,EAAE4vC,MAAW,CAGtB,GAFA5vC,EAAE0tB,WAAa,GACfzqB,EAAEyqB,YAAc,KACZ,IAAMzqB,EAAEiW,IAAK,GAAI,OAASjW,EAAEwqB,UAAWxqB,EAAEiW,IAAM,OAAQ,CACzD,IAAI1X,EAAI2rC,GAAG,WAAY,MACvB3rC,EAAE0X,IAAM,EACRs0B,GAAGvqC,EAAGzB,GAERyB,EAAEsB,eAAiB,WACnB,MAAM5D,EAGR8J,OAAI,EACJxH,EAAIpC,EACJ,IAAIqvC,EAAKrtC,EAAEw6C,UAGX,GAFA,OAASnN,GAAMA,EAAKrtC,EAAEw6C,UAAY,IAAIrE,GAAMvuC,EAAI,IAAIyxB,IAAOgU,EAAGxkC,IAAI5L,EAAG2K,SAAsB,KAAfA,EAAIylC,EAAGzkC,IAAI3L,MAAqB2K,EAAI,IAAIyxB,IAAOgU,EAAGxkC,IAAI5L,EAAG2K,KAEhIA,EAAE2xB,IAAIn5B,GAAI,CACbwH,EAAE4xB,IAAIp5B,GACN,IAAIQ,EAAI65C,GAAGpzC,KAAK,KAAMrH,EAAG/C,EAAGmD,GAC5BnD,EAAEi5C,KAAKt1C,EAAGA,GAGZzD,EAAE0tB,WAAa,KACf1tB,EAAEuE,eAAiB1D,EACnB,MAAMF,EAGRX,EAAIA,EAAU,aACP,OAASA,GAElByK,EAAIpD,OAAOof,EAAGxjB,EAAE+L,OAAS,qBAAuB,wLAA0L0X,EAAGzjB,IAG/OwB,KAAM61C,KAAO71C,GAAI01C,IACjB1vC,EAAI0sC,GAAG1sC,EAAGxH,GACVjD,EAAIgD,EAEJ,EAAG,CACD,OAAQhD,EAAEkZ,KACR,KAAK,EACHpZ,EAAI2K,EACJzK,EAAE0tB,WAAa,KACf1tB,EAAEuE,eAAiB1D,EAEnB6sC,GAAG1tC,EADKi5C,GAAGj5C,EAAGF,EAAGe,IAEjB,MAAMF,EAER,KAAK,EACHb,EAAI2K,EACJ,IAAI/I,EAAI1B,EAAEgP,KACNxO,EAAIR,EAAEslB,UAEV,GAAI,IAAqB,GAAdtlB,EAAE0tB,aAAoB,mBAAsBhsB,EAAEk0C,0BAA4B,OAASp1C,GAAK,mBAAsBA,EAAE84C,oBAAsB,OAASC,KAAOA,GAAGnd,IAAI57B,KAAM,CAC5KR,EAAE0tB,WAAa,KACf1tB,EAAEuE,eAAiB1D,EAEnB6sC,GAAG1tC,EADKq5C,GAAGr5C,EAAGF,EAAGe,IAEjB,MAAMF,GAKZX,EAAIA,EAAU,aACP,OAASA,GAGpBoE,GAAIm5C,GAAGn5C,IACP,MAAOZ,GACP3C,EAAI2C,EACJ,SAGF,OAIJ,SAAS+4C,KACP,IAAI57C,EAAIi5C,GAAG/gC,QAEX,OADA+gC,GAAG/gC,QAAUu5B,GACN,OAASzxC,EAAIyxC,GAAKzxC,EAG3B,SAASmtC,GAAGntC,EAAGE,GACbF,EAAI65C,IAAM,EAAI75C,IAAM65C,GAAK75C,GACzB,OAASE,GAAKF,EAAI85C,IAAM,EAAI95C,IAAM85C,GAAK95C,EAAG+5C,GAAK75C,GAGjD,SAASktC,GAAGptC,GACVA,EAAIg6C,KAAOA,GAAKh6C,GAGlB,SAASu8C,KACP,KAAO,OAAS94C,IACdA,GAAIo5C,GAAGp5C,IAIX,SAASo4C,KACP,KAAO,OAASp4C,KAAM0lC,MACpB1lC,GAAIo5C,GAAGp5C,IAIX,SAASo5C,GAAG78C,GACV,IAAIE,EAAI44C,GAAG94C,EAAE8sB,UAAW9sB,EAAG6D,IAI3B,OAHA7D,EAAEqwC,cAAgBrwC,EAAEg0C,aACpB,OAAS9zC,IAAMA,EAAI08C,GAAG58C,IACtBk5C,GAAGhhC,QAAU,KACNhY,EAGT,SAAS08C,GAAG58C,GACVyD,GAAIzD,EAEJ,EAAG,CACD,IAAIE,EAAIuD,GAAEqpB,UAGV,GAFA9sB,EAAIyD,GAAU,OAEV,IAAqB,KAAdA,GAAEspB,WAAmB,CAC9B/sB,EAAG,CACD,IAAIkC,EAAIhC,EAEJmC,EAAIwB,GACJvB,GAFJpC,EAAIuD,IAEMuwC,aAEV,OAAQ9zC,EAAEqY,KACR,KAAK,EAGL,KAAK,GACH,MAEF,KAAK,GACL,KAAK,EACH,MAEF,KAAK,EACH/V,GAAEtC,EAAEmO,OAASm6B,KACb,MAEF,KAAK,EACHyH,KACAxH,MACAnmC,EAAIpC,EAAEykB,WACJwwB,iBAAmB7yC,EAAEic,QAAUjc,EAAE6yC,eAAgB7yC,EAAE6yC,eAAiB,OACrE,OAASjzC,GAAK,OAASA,EAAEiM,QAAUgmC,GAAGj0C,IAAMm2C,GAAGn2C,GAChDm1C,GAAGn1C,GACH,MAEF,KAAK,EACHiwC,GAAGjwC,GACHmC,EAAIytC,GAAGD,GAAG33B,SACV,IAAIpO,EAAI5J,EAAEmO,KACV,GAAI,OAASnM,GAAK,MAAQhC,EAAEykB,UAAW2wB,GAAGpzC,EAAGhC,EAAG4J,EAAGxH,EAAGD,GAAIH,EAAE4c,MAAQ5e,EAAE4e,MAAQ5e,EAAE6sB,WAAa,UAAU,GAAIzqB,EAAG,CAC5G,IAAInD,EAAI2wC,GAAGH,GAAGz3B,SAEd,GAAIi8B,GAAGj0C,GAAI,CAET,IAAId,GADJkD,EAAIpC,GACMykB,UACVziB,EAAII,EAAE+L,KACN,IAAIhP,EAAIiD,EAAE+tC,cACN/wC,EAAI+C,EAMR,OALAjD,EAAEuiC,IAAMr/B,EACRlD,EAAEwiC,IAAMviC,EACRyK,OAAI,EACJzH,EAAIjD,EAEI8C,GACN,IAAK,SACL,IAAK,SACL,IAAK,QACHX,GAAE,OAAQc,GACV,MAEF,IAAK,QACL,IAAK,QACH,IAAKjD,EAAI,EAAGA,EAAIwtB,GAAGzqB,OAAQ/C,IACzBmC,GAAEqrB,GAAGxtB,GAAIiD,GAGX,MAEF,IAAK,SACHd,GAAE,QAASc,GACX,MAEF,IAAK,MACL,IAAK,QACL,IAAK,OACHd,GAAE,QAASc,GACXd,GAAE,OAAQc,GACV,MAEF,IAAK,OACHd,GAAE,QAASc,GACXd,GAAE,SAAUc,GACZ,MAEF,IAAK,UACHd,GAAE,SAAUc,GACZ,MAEF,IAAK,QACHknB,GAAGlnB,EAAGhD,GACNkC,GAAE,UAAWc,GACbw9B,GAAGvgC,EAAG,YACN,MAEF,IAAK,SACH+C,EAAEgnB,cAAgB,CAChByuB,cAAez4C,EAAE04C,UAEnBx2C,GAAE,UAAWc,GACbw9B,GAAGvgC,EAAG,YACN,MAEF,IAAK,WACHirB,GAAGloB,EAAGhD,GAAIkC,GAAE,UAAWc,GAAIw9B,GAAGvgC,EAAG,YAMrC,IAAKwK,KAHL41B,GAAGx9B,EAAG7C,GACND,EAAI,KAEMC,EACRA,EAAEiK,eAAeQ,KAAO3K,EAAIE,EAAEyK,GAAI,aAAeA,EAAI,iBAAoB3K,EAAIkD,EAAEqoB,cAAgBvrB,IAAMC,EAAI,CAAC,WAAYD,IAAM,iBAAoBA,GAAKkD,EAAEqoB,cAAgB,GAAKvrB,IAAMC,EAAI,CAAC,WAAY,GAAKD,IAAMyjB,EAAGtZ,eAAeQ,IAAM,MAAQ3K,GAAK0gC,GAAGvgC,EAAGwK,IAG3P,OAAQ5H,GACN,IAAK,QACHumB,GAAGpmB,GACHwnB,GAAGxnB,EAAGhD,GAAG,GACT,MAEF,IAAK,WACHopB,GAAGpmB,GACHooB,GAAGpoB,GACH,MAEF,IAAK,SACL,IAAK,SACH,MAEF,QACE,mBAAsBhD,EAAEq3C,UAAYr0C,EAAEs0C,QAAU7W,IAGpDh2B,EAAI1K,EACJkD,EAAEwqC,YAAchjC,GAChBxH,EAAI,OAASwH,IACRusC,GAAGn2C,OACH,CACLgC,EAAIhC,EACJZ,EAAIwK,EACJzK,EAAIiD,EACJlD,EAAI,IAAMiD,EAAEspB,SAAWtpB,EAAIA,EAAEynB,cAC7B3qB,IAAMyrB,GAAGC,OAAS1rB,EAAI6rB,GAAG1rB,IACzBH,IAAMyrB,GAAGC,KAAO,WAAavrB,IAAKD,EAAID,EAAEiH,cAAc,QAAUoI,UAAY,qBAAwBrP,EAAIC,EAAEqd,YAAYrd,EAAEmsB,aAAe,iBAAoBnsB,EAAEugC,GAAKxgC,EAAIA,EAAEiH,cAAc/G,EAAG,CACvLsgC,GAAIvgC,EAAEugC,MACFxgC,EAAIA,EAAEiH,cAAc/G,GAAI,WAAaA,IAAMA,EAAIF,EAAGC,EAAE04C,SAAWz4C,EAAEy4C,UAAW,EAAK14C,EAAEy9C,OAASx9C,EAAEw9C,KAAOz9C,EAAEy9C,QAAU19C,EAAIA,EAAE29C,gBAAgB59C,EAAGG,IAChJD,EAAID,GACFuiC,IAAMz/B,EACR7C,EAAEuiC,IAAMt/B,EACR8yC,GAAG/1C,EAAGa,GAAG,GAAI,GACbA,EAAEykB,UAAYtlB,EAGd,IAAIsD,EAAIN,EACJjB,EAAIu+B,GAHRrgC,EAAIwK,EACJ5H,EAAII,GAIJ,OAAQhD,GACN,IAAK,SACL,IAAK,SACL,IAAK,QACHiC,GAAE,OAAQlC,GACVgD,EAAIH,EACJ,MAEF,IAAK,QACL,IAAK,QACH,IAAKG,EAAI,EAAGA,EAAIuqB,GAAGzqB,OAAQE,IACzBd,GAAEqrB,GAAGvqB,GAAIhD,GAGXgD,EAAIH,EACJ,MAEF,IAAK,SACHX,GAAE,QAASlC,GACXgD,EAAIH,EACJ,MAEF,IAAK,MACL,IAAK,QACL,IAAK,OACHX,GAAE,QAASlC,GACXkC,GAAE,OAAQlC,GACVgD,EAAIH,EACJ,MAEF,IAAK,OACHX,GAAE,QAASlC,GACXkC,GAAE,SAAUlC,GACZgD,EAAIH,EACJ,MAEF,IAAK,UACHX,GAAE,SAAUlC,GACZgD,EAAIH,EACJ,MAEF,IAAK,QACHqnB,GAAGlqB,EAAG6C,GACNG,EAAI6mB,GAAG7pB,EAAG6C,GACVX,GAAE,UAAWlC,GACbwgC,GAAGl9B,EAAG,YACN,MAEF,IAAK,SACHN,EAAI2nB,GAAG3qB,EAAG6C,GACV,MAEF,IAAK,SACH7C,EAAEgqB,cAAgB,CAChByuB,cAAe51C,EAAE61C,UAEnB11C,EAAIO,EAAE,GAAIV,EAAG,CACXxC,WAAO,IAET6B,GAAE,UAAWlC,GACbwgC,GAAGl9B,EAAG,YACN,MAEF,IAAK,WACH4nB,GAAGlrB,EAAG6C,GACNG,EAAIioB,GAAGjrB,EAAG6C,GACVX,GAAE,UAAWlC,GACbwgC,GAAGl9B,EAAG,YACN,MAEF,QACEN,EAAIH,EAGRw9B,GAAGpgC,EAAG+C,GACNjD,OAAI,EACJD,EAAIG,EACJ,IAAIsB,EAAIvB,EACJsC,EAAIU,EAER,IAAKjD,KAAKuC,EACR,GAAIA,EAAE2H,eAAelK,GAAI,CACvB,IAAIyB,EAAIc,EAAEvC,GACV,UAAYA,EAAIq/B,GAAG79B,EAAGC,GAAK,4BAA8BzB,EAAgC,OAA3ByB,EAAIA,EAAIA,EAAE4c,YAAS,IAAqB0N,GAAGvqB,EAAGC,GAAM,aAAezB,EAAI,iBAAoByB,GAAK,aAAe1B,GAAK,KAAO0B,IAAM4qB,GAAG7qB,EAAGC,GAAK,iBAAoBA,GAAK4qB,GAAG7qB,EAAG,GAAKC,GAAK,mCAAqCzB,GAAK,6BAA+BA,GAAK,cAAgBA,IAAMwjB,EAAGtZ,eAAelK,GAAK,MAAQyB,GAAKg/B,GAAGl9B,EAAGvD,GAAK,MAAQyB,GAAKmnB,GAAGpnB,EAAGxB,EAAGyB,EAAGO,IAIna,OAAQ9B,GACN,IAAK,QACHmpB,GAAGppB,GACHwqB,GAAGxqB,EAAG6C,GAAG,GACT,MAEF,IAAK,WACHumB,GAAGppB,GACHorB,GAAGprB,GACH,MAEF,IAAK,SACH,MAAQ6C,EAAExC,OAASL,EAAEic,aAAa,QAAS,GAAKyM,GAAG7lB,EAAExC,QACrD,MAEF,IAAK,UACH2C,EAAIhD,GACF04C,WAAa71C,EAAE61C,SAEjB,OADA14C,EAAI6C,EAAExC,OACMwqB,GAAG7nB,IAAKH,EAAE61C,SAAU14C,GAAG,GAAM,MAAQ6C,EAAEknB,cAAgBc,GAAG7nB,IAAKH,EAAE61C,SAAU71C,EAAEknB,cAAc,GACvG,MAEF,QACE,mBAAsB/mB,EAAEq0C,UAAYr3C,EAAEs3C,QAAU7W,KAGnDx9B,EAAI0+B,GAAGl3B,EAAGxH,KAAO+zC,GAAGn2C,GAGvB,OAASA,EAAE4e,MAAQ5e,EAAE6sB,WAAa,UAC7B,GAAI,OAAS7sB,EAAEykB,UAAW,MAAMje,MAAMtG,EAAE,MAC/C,MAEF,KAAK,EACH,GAAI8B,GAAK,MAAQhC,EAAEykB,UAAW4wB,GAAGrzC,EAAGhC,EAAGgC,EAAEmuC,cAAe/tC,OAAQ,CAC9D,GAAI,iBAAoBA,GAAK,OAASpC,EAAEykB,UAAW,MAAMje,MAAMtG,EAAE,MACjEiC,EAAIytC,GAAGD,GAAG33B,SACV43B,GAAGH,GAAGz3B,SACNi8B,GAAGj0C,IAAa4J,GAAPxH,EAAIpC,GAASykB,UAAWtiB,EAAIC,EAAE+tC,cAAevmC,EAAE63B,IAAMr/B,GAAIA,EAAIwH,EAAE8hB,YAAcvpB,IAAMg0C,GAAGn2C,KAAO4J,EAAI5J,GAAGoC,GAAK,IAAMD,EAAEspB,SAAWtpB,EAAIA,EAAEynB,eAAezN,eAAe/Z,IAAMq/B,IAAM73B,EAAG5J,EAAEykB,UAAYriB,GAExM,MAEF,KAAK,GACH,MAEF,KAAK,GAIH,GAHAd,GAAEiB,IACFH,EAAIpC,EAAE+sB,cAEF,IAAqB,GAAd/sB,EAAE6sB,WAAiB,CAC5B7sB,EAAE0D,eAAiBvB,EACnB,MAAMrC,EAGRsC,EAAI,OAASA,EACbwH,GAAI,EACJ,OAAS5H,OAAI,IAAWhC,EAAEmwC,cAAcsF,UAAYxB,GAAGj0C,IAA2B4J,EAAI,QAAzBzH,EAAIH,EAAE+qB,eAA+B3qB,GAAK,OAASD,GAA2B,QAArBA,EAAIH,EAAEiM,MAAMkf,WAA2C,QAAnBhuB,EAAIa,EAAEisC,cAA2BjsC,EAAEisC,YAAc9pC,EAAGA,EAAEsqC,WAAattC,IAAMa,EAAEisC,YAAcjsC,EAAEksC,WAAa/pC,EAAGA,EAAEsqC,WAAa,MAAOtqC,EAAE0qB,UAAY,IACrSzqB,IAAMwH,GAAK,IAAgB,EAAT5J,EAAE+uC,QAAe,OAAS/sC,IAAK,IAAOhC,EAAEmwC,cAAcuF,4BAA8B,IAAmB,EAAZnzC,GAAEyV,SAAcpU,KAAMw1C,KAAOx1C,GAAI21C,KAC5I31C,KAAMw1C,IAAMx1C,KAAM21C,KAAI31C,GAAI41C,IAC9B,IAAMM,IAAM,OAASx2C,KAAMq3C,GAAGr3C,GAAGK,IAAIi3C,GAAGt3C,GAAGw2C,QAEzC13C,GAAKwH,KAAG5J,EAAE6sB,WAAa,GAC3B,MAEF,KAAK,EAGL,KAAK,EAGL,KAAK,GACH,MAEF,KAAK,EACHkjB,KACAoF,GAAGn1C,GACH,MAEF,KAAK,GACHirC,GAAGjrC,GACH,MAEF,KAAK,EAGL,KAAK,GACH,MAEF,KAAK,GACHsC,GAAEtC,EAAEmO,OAASm6B,KACb,MAEF,KAAK,GAGH,GAFAhnC,GAAEiB,IAEE,QADJH,EAAIpC,EAAE+sB,eACU,MAGhB,GAFAnjB,EAAI,IAAqB,GAAd5J,EAAE6sB,WAET,QADJ1tB,EAAIiD,EAAE0zC,YAEJ,GAAIlsC,EAAGwsC,GAAGh0C,GAAG,QACX,GAAIwB,KAAMw1C,IAAM,OAASp3C,GAAK,IAAqB,GAAdA,EAAE6qB,WAAiB,IAAK7qB,EAAIhC,EAAEiO,MAAO,OAASjM,GAAI,CAGrF,GAAI,QAFJ7C,EAAI+wC,GAAGluC,IAES,CASd,IARAhC,EAAE6sB,WAAa,GACfupB,GAAGh0C,GAAG,GAEN,QADAwH,EAAIzK,EAAEytC,eACS5sC,EAAE4sC,YAAchjC,EAAG5J,EAAE6sB,WAAa,GACjD,OAASzqB,EAAE8pC,aAAelsC,EAAEisC,YAAc,MAC1CjsC,EAAEksC,WAAa9pC,EAAE8pC,WACjB9pC,EAAID,EAECyH,EAAI5J,EAAEiO,MAAO,OAASrE,GAClB5H,EAAII,GAAXD,EAAIyH,GAAYijB,WAAa,EAAG1qB,EAAEsqC,WAAa,KAAMtqC,EAAE8pC,YAAc,KAAM9pC,EAAE+pC,WAAa,KAAuB,QAAjB/sC,EAAIgD,EAAEyqB,YAAyBzqB,EAAEgpC,oBAAsB,EAAGhpC,EAAEuB,eAAiB1B,EAAGG,EAAE8L,MAAQ,KAAM9L,EAAEguC,cAAgB,KAAMhuC,EAAE4qB,cAAgB,KAAM5qB,EAAEyqC,YAAc,KAAMzqC,EAAEygB,aAAe,OAASzgB,EAAEgpC,oBAAsBhsC,EAAEgsC,oBAAqBhpC,EAAEuB,eAAiBvE,EAAEuE,eAAgBvB,EAAE8L,MAAQ9O,EAAE8O,MAAO9L,EAAEguC,cAAgBhxC,EAAEgxC,cAAehuC,EAAE4qB,cAAgB5tB,EAAE4tB,cAAe5qB,EAAEyqC,YAAcztC,EAAEytC,YAAa5qC,EAAI7C,EAAEyjB,aAAczgB,EAAEygB,aAAe,OAAS5gB,EAAI,KAAO,CACniB0B,eAAgB1B,EAAE0B,eAClB2nC,aAAcrpC,EAAEqpC,aAChBI,WAAYzpC,EAAEypC,aACZ7hC,EAAIA,EAAEujB,QAGZzrB,GAAEa,GAAe,EAAZA,GAAEyV,QAAc,GACrBhY,EAAIA,EAAEiO,MACN,MAAMnO,EAGRkC,EAAIA,EAAEmrB,aAGL,CACL,IAAKvjB,EAAG,GAAe,QAAX5H,EAAIkuC,GAAG/wC,KACjB,GAAIa,EAAE6sB,WAAa,GAAIjjB,GAAI,EAAuB,QAAnBzH,EAAIH,EAAE4qC,eAA4B5sC,EAAE4sC,YAAczqC,EAAGnC,EAAE6sB,WAAa,GAAIupB,GAAGh0C,GAAG,GAAK,OAASA,EAAE2zC,MAAQ,WAAa3zC,EAAE6zC,WAAa92C,EAAEytB,UAAW,CAE5K,QADA5sB,EAAIA,EAAEksC,WAAa9pC,EAAE8pC,cACNlsC,EAAEysC,WAAa,MAC9B,YAEGzC,KAAO5nC,EAAE4zC,gBAAkB,EAAI7zC,IAAMnC,EAAE6sB,WAAa,GAAIjjB,GAAI,EAAIwsC,GAAGh0C,GAAG,GAAKpC,EAAE0D,eAAiB1D,EAAEmrC,oBAAsBhpC,EAAI,GACjIC,EAAEyzC,aAAe12C,EAAEguB,QAAUntB,EAAEiO,MAAOjO,EAAEiO,MAAQ9O,IAAkB,QAAZgD,EAAIC,EAAE8vC,MAAmB/vC,EAAEgrB,QAAUhuB,EAAIa,EAAEiO,MAAQ9O,EAAGiD,EAAE8vC,KAAO/yC,GAGvH,GAAI,OAASiD,EAAE2zC,KAAM,CACnB,IAAM3zC,EAAE4zC,iBAAmB5zC,EAAE4zC,eAAiBhM,KAAO,KACrD7nC,EAAIC,EAAE2zC,KACN3zC,EAAE0zC,UAAY3zC,EACdC,EAAE2zC,KAAO5zC,EAAEgrB,QACX/qB,EAAE8pC,WAAalsC,EAAEksC,WACjB/pC,EAAEgrB,QAAU,KACZ/qB,EAAIG,GAAEyV,QAENtW,GAAEa,GADFH,EAAIwH,EAAQ,EAAJxH,EAAQ,EAAQ,EAAJA,GAEpBpC,EAAImC,EACJ,MAAMrC,EAGR,MAEF,KAAK,GAGL,KAAK,GACH,MAEF,QACE,MAAM0G,MAAMtG,EAAE,IAAKF,EAAEqY,MAGzBrY,EAAI,KAKN,GAFAoC,EAAImB,GAEA,IAAMI,IAAK,IAAMvB,EAAE+oC,oBAAqB,CAG1C,IAFAvhC,EAAI,EAECzH,EAAIC,EAAE6L,MAAO,OAAS9L,IACzBH,EAAIG,EAAEuB,gBAA+CkG,IAAMA,EAAI5H,IAAzC7C,EAAIgD,EAAEgpC,qBAA2CvhC,IAAMA,EAAIzK,GAAIgD,EAAIA,EAAEgrB,QAG7F/qB,EAAE+oC,oBAAsBvhC,EAG1B,GAAI,OAAS5J,EAAG,OAAOA,EACvB,OAASF,GAAK,IAAqB,KAAdA,EAAE+sB,aAAsB,OAAS/sB,EAAEmsC,cAAgBnsC,EAAEmsC,YAAc1oC,GAAE0oC,aAAc,OAAS1oC,GAAE2oC,aAAe,OAASpsC,EAAEosC,aAAepsC,EAAEosC,WAAWO,WAAalpC,GAAE0oC,aAAcnsC,EAAEosC,WAAa3oC,GAAE2oC,YAAa,EAAI3oC,GAAEspB,YAAc,OAAS/sB,EAAEosC,WAAapsC,EAAEosC,WAAWO,WAAalpC,GAAIzD,EAAEmsC,YAAc1oC,GAAGzD,EAAEosC,WAAa3oC,SAC3U,CAEL,GAAI,QADJvD,EAAIq2C,GAAG9yC,KACS,OAAOvD,EAAE6sB,WAAa,KAAM7sB,EAC5C,OAASF,IAAMA,EAAEmsC,YAAcnsC,EAAEosC,WAAa,KAAMpsC,EAAE+sB,WAAa,MAIrE,GAAI,QADJ7sB,EAAIuD,GAAE4pB,SACU,OAAOntB,EACvBuD,GAAIzD,QACG,OAASyD,IAGlB,OADAK,KAAMw1C,KAAOx1C,GAAI61C,IACV,KAGT,SAASuC,GAAGl8C,GACV,IAAIE,EAAIF,EAAE4D,eAEV,OAAO1D,GADPF,EAAIA,EAAEqrC,qBACSnrC,EAAIF,EAGrB,SAASo8C,GAAGp8C,GACV,IAAIE,EAAIiqC,KAER,OADAE,GAAG,GAAI2S,GAAGzzC,KAAK,KAAMvJ,EAAGE,IACjB,KAGT,SAAS88C,GAAGh9C,EAAGE,GACb,GACEw7C,WACO,OAAStB,IAElB,IAAK72C,IAAK61C,GAAKC,OAAS/1C,GAAG,MAAMoD,MAAMtG,EAAE,MACzC,IAAI8B,EAAIlC,EAAE+7C,aACN15C,EAAIrC,EAAEg8C,uBACV,GAAI,OAAS95C,EAAG,OAAO,KAGvB,GAFAlC,EAAE+7C,aAAe,KACjB/7C,EAAEg8C,uBAAyB,EACvB95C,IAAMlC,EAAEkY,QAAS,MAAMxR,MAAMtG,EAAE,MACnCJ,EAAEu7C,aAAe,KACjBv7C,EAAEq7C,uBAAyB,EAC3Br7C,EAAEs7C,iBAAmB,GACrBt7C,EAAEo7C,sBAAwB,EAC1B,IAAI94C,EAAI45C,GAAGh6C,GAQX,GAPAlC,EAAEk7C,iBAAmB54C,EACrBD,GAAKrC,EAAEi8C,kBAAoBj8C,EAAEi9C,mBAAqBj9C,EAAEi8C,kBAAoBj8C,EAAEo7C,sBAAwB,EAAI/4C,GAAKrC,EAAEi9C,qBAAuBj9C,EAAEi9C,mBAAqB56C,EAAI,GAC/JA,GAAKrC,EAAEm7C,iBAAmBn7C,EAAEm7C,eAAiB,GAC7C94C,GAAKrC,EAAEg7C,kBAAoBh7C,EAAEg7C,gBAAkB,GAC/Ch7C,IAAMwD,KAAMC,GAAID,GAAI,KAAMK,GAAI,GAC9B,EAAI3B,EAAE6qB,UAAY,OAAS7qB,EAAEkqC,YAAclqC,EAAEkqC,WAAWO,WAAazqC,EAAGI,EAAIJ,EAAEiqC,aAAe7pC,EAAIJ,EAAII,EAAIJ,EAAEiqC,YAEvG,OAAS7pC,EAAG,CACd,IAAIwH,EAAIvG,GACRA,IAAK81C,GACLH,GAAGhhC,QAAU,KACb4oB,GAAKnG,GACL,IAAIx7B,EAAIkhC,KAER,GAAIG,GAAGrhC,GAAI,CACT,GAAI,mBAAoBA,EAAG,IAAIC,EAAI,CACjC2nC,MAAO5nC,EAAE6nC,eACTC,IAAK9nC,EAAE+nC,mBACFlnC,EAAG,CAER,IAAIX,GADJD,GAAKA,EAAID,EAAE2qB,gBAAkB1qB,EAAE8mC,aAAevmC,QACpCynC,cAAgBhoC,EAAEgoC,eAE5B,GAAI/nC,GAAK,IAAMA,EAAE69C,WAAY,CAC3B99C,EAAIC,EAAE8nC,WACN,IAAI7nC,EAAID,EAAEgoC,aACN1kC,EAAItD,EAAEioC,UACVjoC,EAAIA,EAAEkoC,YAEN,IACEnoC,EAAEusB,SAAUhpB,EAAEgpB,SACd,MAAOwxB,GACP/9C,EAAI,KACJ,MAAMY,EAGR,IAAIoB,EAAI,EACJR,GAAK,EACLe,GAAK,EACLd,EAAI,EACJ0uC,EAAK,EACLzsC,EAAI3D,EACJwB,EAAI,KAERT,EAAG,OAAS,CACV,IAAK,IAAIa,EACP+B,IAAM1D,GAAK,IAAME,GAAK,IAAMwD,EAAE6oB,WAAa/qB,EAAIQ,EAAI9B,GACnDwD,IAAMH,GAAK,IAAMtD,GAAK,IAAMyD,EAAE6oB,WAAahqB,EAAIP,EAAI/B,GACnD,IAAMyD,EAAE6oB,WAAavqB,GAAK0B,EAAE8oB,UAAUzpB,QAClC,QAAUpB,EAAI+B,EAAE0oB,aACpB7qB,EAAImC,EACJA,EAAI/B,EAGN,OAAS,CACP,GAAI+B,IAAM3D,EAAG,MAAMe,EAGnB,GAFAS,IAAMvB,KAAOyB,IAAMvB,IAAMsB,EAAIQ,GAC7BT,IAAMgC,KAAO4sC,IAAOlwC,IAAMsC,EAAIP,GAC1B,QAAUL,EAAI+B,EAAEs9B,aAAc,MAElCz/B,GADAmC,EAAInC,GACE8b,WAGR3Z,EAAI/B,EAGN3B,GAAK,IAAMwB,IAAM,IAAMe,EAAI,KAAO,CAChColC,MAAOnmC,EACPqmC,IAAKtlC,QAEFvC,EAAI,KAEbA,EAAIA,GAAK,CACP2nC,MAAO,EACPE,IAAK,QAEF7nC,EAAI,KAEX2hC,GAAK,CACHqc,YAAaj+C,EACbk+C,eAAgBj+C,GAElBu7B,IAAK,EACL32B,GAAI1B,EAEJ,GACE,IACEg7C,KACA,MAAOH,GACP,GAAI,OAASn5C,GAAG,MAAM0C,MAAMtG,EAAE,MAC9B42C,GAAGhzC,GAAGm5C,GACNn5C,GAAIA,GAAE2oC,kBAED,OAAS3oC,IAElBA,GAAI1B,EAEJ,GACE,IACE,IAAKnD,EAAIa,EAAGZ,EAAIc,EAAG,OAAS8D,IAAI,CAC9B,IAAInE,EAAImE,GAAE+oB,UAGV,GAFI,GAAJltB,GAAU4rB,GAAGznB,GAAE2gB,UAAW,IAElB,IAAJ9kB,EAAS,CACX,IAAIE,EAAIiE,GAAE8oB,UAEV,GAAI,OAAS/sB,EAAG,CACd,IAAI8C,EAAI9C,EAAE+e,IACV,OAASjc,IAAM,mBAAsBA,EAAIA,EAAE,MAAQA,EAAEqV,QAAU,OAInE,OAAY,KAAJrY,GACN,KAAK,EACH63C,GAAG1zC,IACHA,GAAE+oB,YAAc,EAChB,MAEF,KAAK,EACH2qB,GAAG1zC,IACHA,GAAE+oB,YAAc,EAChB8qB,GAAG7zC,GAAE8oB,UAAW9oB,IAChB,MAEF,KAAK,KACHA,GAAE+oB,YAAc,KAChB,MAEF,KAAK,KACH/oB,GAAE+oB,YAAc,KAChB8qB,GAAG7zC,GAAE8oB,UAAW9oB,IAChB,MAEF,KAAK,EACH6zC,GAAG7zC,GAAE8oB,UAAW9oB,IAChB,MAEF,KAAK,EACIuzC,GAAGp4C,EAAVG,EAAI0E,GAAY5E,GAAIo4C,GAAGl4C,GAG3B0E,GAAIA,GAAE2oC,YAER,MAAOwQ,GACP,GAAI,OAASn5C,GAAG,MAAM0C,MAAMtG,EAAE,MAC9B42C,GAAGhzC,GAAGm5C,GACNn5C,GAAIA,GAAE2oC,kBAED,OAAS3oC,IAOlB,GALAnB,EAAIk+B,GACJhhC,EAAIsgC,KACJxgC,EAAIgD,EAAEu6C,YACNh+C,EAAIyD,EAAEw6C,eAEFt9C,IAAMF,GAAKA,GAAKA,EAAEiqB,eA1qI1B,SAASyzB,EAAGv9C,EAAGE,GACb,SAAOF,IAAKE,KAAIF,IAAME,KAASF,GAAK,IAAMA,EAAE2rB,YAAgBzrB,GAAK,IAAMA,EAAEyrB,SAAW4xB,EAAGv9C,EAAGE,EAAEuc,YAAc,aAAczc,EAAIA,EAAEw9C,SAASt9C,KAAKF,EAAEy9C,4BAA4D,GAA/Bz9C,EAAEy9C,wBAAwBv9C,MAyqI5Jq9C,CAAG19C,EAAEiqB,cAAckmB,gBAAiBnwC,GAAI,CAC7E,OAAST,GAAKohC,GAAG3gC,KAAOE,EAAIX,EAAE2nC,WAAkB,KAAXlkC,EAAIzD,EAAE6nC,OAAsBpkC,EAAI9C,GAAI,mBAAoBF,GAAKA,EAAEmnC,eAAiBjnC,EAAGF,EAAEqnC,aAAezlC,KAAKi8C,IAAI76C,EAAGhD,EAAEH,MAAMyC,UAAYU,GAAK9C,EAAIF,EAAEiqB,eAAiB1jB,WAAarG,EAAEmmC,aAAevmC,QAAUynC,eAAiBvkC,EAAIA,EAAEukC,eAAgB9nC,EAAIO,EAAE6qB,YAAYvoB,OAAQhD,EAAIsC,KAAKi8C,IAAIt+C,EAAE2nC,MAAOznC,GAAIF,OAAI,IAAWA,EAAE6nC,IAAM9nC,EAAIsC,KAAKi8C,IAAIt+C,EAAE6nC,IAAK3nC,IAAKuD,EAAE4uB,QAAUtyB,EAAIC,IAAME,EAAIF,EAAGA,EAAID,EAAGA,EAAIG,GAAIA,EAAI4gC,GAAGrgC,EAAGV,GAAIwD,EAAIu9B,GAAGrgC,EAAGT,GAAIE,GAAKqD,IAAM,IAAME,EAAEq6C,YAAcr6C,EAAEskC,aAAe7nC,EAAE4R,MAAQrO,EAAEwkC,eAAiB/nC,EAAE6gC,QAAUt9B,EAAEykC,YAAc3kC,EAAEuO,MAAQrO,EAAE0kC,cAAgB5kC,EAAEw9B,WAAYpgC,EAAIA,EAAE49C,eAAiBC,SAASt+C,EAAE4R,KAAM5R,EAAE6gC,QAASt9B,EAAEg7C,kBAAmB1+C,EAAIC,GAAKyD,EAAEi7C,SAAS/9C,GAAI8C,EAAE4uB,OAAO9uB,EAAEuO,KAAMvO,EAAEw9B,UAAYpgC,EAAEg+C,OAAOp7C,EAAEuO,KAAMvO,EAAEw9B,QAASt9B,EAAEi7C,SAAS/9C,OAC3vBA,EAAI,GAEJ,IAAK8C,EAAIhD,EAAGgD,EAAIA,EAAE4Z,YAChB,IAAM5Z,EAAE8oB,UAAY5rB,EAAEqC,KAAK,CACzBm2C,QAAS11C,EACTm7C,KAAMn7C,EAAEo7C,WACRC,IAAKr7C,EAAEs7C,YAMX,IAFA,mBAAsBt+C,EAAEu+C,OAASv+C,EAAEu+C,QAE9Bv+C,EAAI,EAAGA,EAAIE,EAAEoC,OAAQtC,KACxBgD,EAAI9C,EAAEF,IAAM04C,QAAQ0F,WAAap7C,EAAEm7C,KAAMn7C,EAAE01C,QAAQ4F,UAAYt7C,EAAEq7C,IAIrEnd,GAAK,KACLpG,KAAOmG,GACPA,GAAK,KACL9gC,EAAEkY,QAAUhW,EACZ8B,GAAI1B,EAEJ,GACE,IACE,IAAKzC,EAAIwC,EAAG,OAAS2B,IAAI,CACvB,IAAIq6C,EAAKr6C,GAAE+oB,UAEX,GAAS,GAALsxB,EAAS,CACX,IAAIC,EAAKt6C,GAAE8oB,UAIX,OAFAjqB,EAAIhD,GADJE,EAAIiE,IAGMuU,KACR,KAAK,EACL,KAAK,GACL,KAAK,GACH2+B,GAAG,GAAI,GAAIn3C,GACX,MAEF,KAAK,EACH,IAAIw+C,EAAKx+C,EAAE4kB,UACX,GAAkB,EAAd5kB,EAAEgtB,UAAe,GAAI,OAASuxB,EAAIC,EAAG9P,wBAAyB,CAChE,IAAI+P,EAAKz+C,EAAEmvC,cAAgBnvC,EAAEsO,KAAOiwC,EAAGjO,cAAgBzF,GAAG7qC,EAAEsO,KAAMiwC,EAAGjO,eACrEkO,EAAGr2C,mBAAmBs2C,EAAIF,EAAGrxB,cAAesxB,EAAGpH,qCAEjD,IAAIsH,EAAK1+C,EAAE+sC,YACX,OAAS2R,GAAMpR,GAAGttC,EAAG0+C,EAAIF,GACzB,MAEF,KAAK,EACH,IAAIG,EAAK3+C,EAAE+sC,YAEX,GAAI,OAAS4R,EAAI,CAEf,GADAv/C,EAAI,KACA,OAASY,EAAEoO,MAAO,OAAQpO,EAAEoO,MAAMoK,KACpC,KAAK,EACHpZ,EAAIY,EAAEoO,MAAMwW,UACZ,MAEF,KAAK,EACHxlB,EAAIY,EAAEoO,MAAMwW,UAEhB0oB,GAAGttC,EAAG2+C,EAAIv/C,GAGZ,MAEF,KAAK,EACH,IAAIw/C,EAAK5+C,EAAE4kB,UACX,OAAS25B,GAAoB,EAAdv+C,EAAEgtB,WAAiBiU,GAAGjhC,EAAEsO,KAAMtO,EAAEswC,gBAAkBsO,EAAGP,QACpE,MAEF,KAAK,EAGL,KAAK,EAGL,KAAK,GACH,MAEF,KAAK,GACH,GAAI,OAASr+C,EAAEktB,cAAe,CAC5B,IAAI2xB,EAAK7+C,EAAE+sB,UAEX,GAAI,OAAS8xB,EAAI,CACf,IAAIC,EAAKD,EAAG3xB,cAEZ,GAAI,OAAS4xB,EAAI,CACf,IAAIC,EAAKD,EAAG3xB,WACZ,OAAS4xB,GAAMtvB,GAAGsvB,KAKxB,MAEF,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACH,MAEF,QACE,MAAMp4C,MAAMtG,EAAE,OAIpB,GAAS,IAALi+C,EAAU,CACZt+C,OAAI,EACJ,IAAIg/C,EAAK/6C,GAAE8a,IAEX,GAAI,OAASigC,EAAI,CACf,IAAIC,EAAKh7C,GAAE2gB,UAEX,OAAQ3gB,GAAEuU,KACR,KAAK,EACHxY,EAAIi/C,EACJ,MAEF,QACEj/C,EAAIi/C,EAGR,mBAAsBD,EAAKA,EAAGh/C,GAAKg/C,EAAG7mC,QAAUnY,GAIpDiE,GAAIA,GAAE2oC,YAER,MAAOwQ,GACP,GAAI,OAASn5C,GAAG,MAAM0C,MAAMtG,EAAE,MAC9B42C,GAAGhzC,GAAGm5C,GACNn5C,GAAIA,GAAE2oC,kBAED,OAAS3oC,IAElBA,GAAI,KACJ6lC,KACAtmC,GAAIuG,OACC9J,EAAEkY,QAAUhW,EAEnB,GAAIi4C,GAAIA,IAAK,EAAIC,GAAKp6C,EAAGq6C,GAAKn6C,OAAO,IAAK8D,GAAI1B,EAAG,OAAS0B,IACxD9D,EAAI8D,GAAE2oC,WAAY3oC,GAAE2oC,WAAa,KAAM3oC,GAAI9D,EAO7C,GAJA,KADAA,EAAIF,EAAEk7C,oBACMtC,GAAK,MACjB,aAAe14C,EAAIF,IAAMw6C,GAAKD,MAAQA,GAAK,EAAGC,GAAKx6C,GAAKu6C,GAAK,EAC7D,mBAAsB0E,IAAMA,GAAG/8C,EAAEyiB,UAAWtiB,GAC5C4B,GAAEjE,GACEw4C,GAAI,MAAMA,IAAK,EAAIx4C,EAAIy4C,GAAIA,GAAK,KAAMz4C,EAC1C,OAAKuD,GAAI41C,MAAQ71C,GAAU,MAC3BmnC,KACO,MAGT,SAAS6S,KACP,KAAO,OAASt5C,IAAI,CAClB,IAAIhE,EAAIgE,GAAE+oB,UACV,IAAW,IAAJ/sB,IAAYi3C,GAAGjzC,GAAE8oB,UAAW9oB,IACnC,IAAW,IAAJhE,IAAYm6C,KAAOA,IAAK,EAAI7P,GAAG,IAAI,WAExC,OADAoR,KACO,SAET13C,GAAIA,GAAE2oC,YAIV,SAAS+O,KACP,GAAI,KAAOrB,GAAI,CACb,IAAIr6C,EAAI,GAAKq6C,GAAK,GAAKA,GAEvB,OADAA,GAAK,GACEhQ,GAAGrqC,EAAGk/C,KAIjB,SAASA,KACP,GAAI,OAAS9E,GAAI,OAAO,EACxB,IAAIp6C,EAAIo6C,GAER,GADAA,GAAK,MACA72C,IAAK61C,GAAKC,OAAS/1C,GAAG,MAAMoD,MAAMtG,EAAE,MACzC,IAAIF,EAAIqD,GAGR,IAFAA,IAAK81C,GAEAr5C,EAAIA,EAAEkY,QAAQi0B,YAAa,OAASnsC,GAAI,CAC3C,IACE,IAAIkC,EAAIlC,EACR,GAAI,IAAqB,IAAdkC,EAAE6qB,WAAkB,OAAQ7qB,EAAEqW,KACvC,KAAK,EACL,KAAK,GACL,KAAK,GACH2+B,GAAG,IAAK,EAAGh1C,GAAIg1C,GAAG,EAAG,GAAIh1C,IAE7B,MAAOG,GACP,GAAI,OAASrC,EAAG,MAAM0G,MAAMtG,EAAE,MAC9B42C,GAAGh3C,EAAGqC,GAGRH,EAAIlC,EAAE2sC,WACN3sC,EAAE2sC,WAAa,KACf3sC,EAAIkC,EAKN,OAFAqB,GAAIrD,EACJuqC,MACO,EAGT,SAAS0U,GAAGn/C,EAAGE,EAAGgC,GAGhB2qC,GAAG7sC,EADHE,EAAIo4C,GAAGt4C,EADPE,EAAIs2C,GAAGt0C,EAAGhC,GACG,aAGb,QADAF,EAAI26C,GAAG36C,EAAG,cACIiE,GAAEjE,GAGlB,SAASg3C,GAAGh3C,EAAGE,GACb,GAAI,IAAMF,EAAEuY,IAAK4mC,GAAGn/C,EAAGA,EAAGE,QAAQ,IAAK,IAAIgC,EAAIlC,EAAU,OAAG,OAASkC,GAAI,CACvE,GAAI,IAAMA,EAAEqW,IAAK,CACf4mC,GAAGj9C,EAAGlC,EAAGE,GACT,MACK,GAAI,IAAMgC,EAAEqW,IAAK,CACtB,IAAIlW,EAAIH,EAAEyiB,UAEV,GAAI,mBAAsBziB,EAAEmM,KAAK4mC,0BAA4B,mBAAsB5yC,EAAEs2C,oBAAsB,OAASC,KAAOA,GAAGnd,IAAIp5B,IAAK,CAGrIwqC,GAAG3qC,EADHlC,EAAI04C,GAAGx2C,EADPlC,EAAIw2C,GAAGt2C,EAAGF,GACG,aAGb,QADAkC,EAAIy4C,GAAGz4C,EAAG,cACI+B,GAAE/B,GAChB,OAIJA,EAAIA,EAAU,QAIlB,SAASy6C,GAAG38C,EAAGE,EAAGgC,GAChB,IAAIG,EAAIrC,EAAE08C,UACV,OAASr6C,GAAKA,EAAU,OAAEnC,GAC1BsD,KAAMxD,GAAK6D,KAAM3B,EAAI4B,KAAM41C,IAAM51C,KAAM21C,IAAM,aAAeI,IAAM3P,KAAO8N,GAAKkC,GAAKyB,GAAG37C,EAAG6D,IAAKo2C,IAAK,EAAKgB,GAAGj7C,EAAGkC,KAA6B,KAAtBhC,EAAIF,EAAEm7C,iBAA2Bj7C,EAAIgC,IAAMlC,EAAEm7C,eAAiBj5C,EAAGlC,EAAEg8C,yBAA2B95C,IAAMlC,EAAEg8C,uBAAyB,EAAGh8C,EAAE+7C,aAAe,MAAO93C,GAAEjE,KAGnR,SAASm4C,GAAGn4C,EAAGE,GACb,IAAIgC,EAAIlC,EAAE2kB,UACV,OAASziB,GAAKA,EAAU,OAAEhC,GAE1B,KADAA,EAAI,KACkBA,EAAI2tC,GAAd3tC,EAAI0tC,KAAgB5tC,EAAG,OAEnC,QADAA,EAAI26C,GAAG36C,EAAGE,KACI+D,GAAEjE,GAKlB84C,GAAK,SAAY94C,EAAGE,EAAGgC,GACrB,IAAIG,EAAInC,EAAE0D,eAEV,GAAI,OAAS5D,EAAG,CACd,IAAIsC,EAAIpC,EAAE8zC,aACV,GAAIh0C,EAAEqwC,gBAAkB/tC,GAAKC,GAAE2V,QAASszB,IAAK,MAAQ,CACnD,GAAInpC,EAAIH,EAAG,CAGT,OAFAspC,IAAK,EAEGtrC,EAAEqY,KACR,KAAK,EACH28B,GAAGh1C,GACHk0C,KACA,MAEF,KAAK,EAEH,GADAlE,GAAGhwC,GACU,EAATA,EAAE+uC,MAAY,IAAM/sC,GAAKI,EAAE88C,OAAQ,OAAOl/C,EAAE0D,eAAiB1D,EAAEmrC,oBAAsB,EAAG,KAC5F,MAEF,KAAK,EACH7oC,GAAEtC,EAAEmO,OAASw6B,GAAG3oC,GAChB,MAEF,KAAK,EACH6vC,GAAG7vC,EAAGA,EAAEykB,UAAUsK,eAClB,MAEF,KAAK,GACHic,GAAGhrC,EAAGA,EAAEmwC,cAAc3wC,OACtB,MAEF,KAAK,GACH,GAAI,OAASQ,EAAE+sB,cAEb,OAAI,KADJ5qB,EAAInC,EAAEiO,MAAMk9B,sBACGhpC,GAAKH,EAAUwzC,GAAG11C,EAAGE,EAAGgC,IACvCN,GAAEa,GAAe,EAAZA,GAAEyV,SAEA,QADPhY,EAAIq0C,GAAGv0C,EAAGE,EAAGgC,IACOhC,EAAEmtB,QAAU,MAGlCzrB,GAAEa,GAAe,EAAZA,GAAEyV,SACP,MAEF,KAAK,GAGH,GAFA7V,EAAInC,EAAEmrC,qBAAuBnpC,EAEzB,IAAqB,GAAdlC,EAAE+sB,WAAiB,CAC5B,GAAI1qB,EAAG,OAAO+zC,GAAGp2C,EAAGE,EAAGgC,GACvBhC,EAAE6sB,WAAa,GAMjB,GAFA,QADAzqB,EAAIpC,EAAE+sB,iBACS3qB,EAAE0zC,UAAY,KAAM1zC,EAAE2zC,KAAO,MAC5Cr0C,GAAEa,GAAGA,GAAEyV,UACF7V,EAAG,OAAO,KAGnB,OAAOkyC,GAAGv0C,EAAGE,EAAGgC,GAGlBspC,IAAK,QAEFA,IAAK,EAIZ,OAFAtrC,EAAE0D,eAAiB,EAEX1D,EAAEqY,KACR,KAAK,EASH,GARAlW,EAAInC,EAAEmO,KACN,OAASrO,IAAMA,EAAE8sB,UAAY,KAAM5sB,EAAE4sB,UAAY,KAAM5sB,EAAE6sB,WAAa,GACtE/sB,EAAIE,EAAE8zC,aACN1xC,EAAI6lC,GAAGjoC,EAAG+B,GAAEiW,SACZozB,GAAGprC,EAAGgC,GACNI,EAAIgvC,GAAG,KAAMpxC,EAAGmC,EAAGrC,EAAGsC,EAAGJ,GACzBhC,EAAE6sB,WAAa,EAEX,iBAAoBzqB,GAAK,OAASA,GAAK,mBAAsBA,EAAEiG,aAAU,IAAWjG,EAAEkR,SAAU,CAIlG,GAHAtT,EAAEqY,IAAM,EACRm5B,KAEIlvC,GAAEH,GAAI,CACR,IAAIyH,GAAI,EACR++B,GAAG3oC,QACE4J,GAAI,EAEX5J,EAAE+sB,cAAgB,OAAS3qB,EAAEsE,YAAS,IAAWtE,EAAEsE,MAAQtE,EAAEsE,MAAQ,KACrE,IAAIzH,EAAIkD,EAAEisC,yBACV,mBAAsBnvC,GAAKsuC,GAAGvtC,EAAGmC,EAAGlD,EAAGa,GACvCsC,EAAEmc,QAAUivB,GACZxtC,EAAEykB,UAAYriB,EACdA,EAAEqrC,oBAAsBztC,EACxBmuC,GAAGnuC,EAAGmC,EAAGrC,EAAGkC,GACZhC,EAAI80C,GAAG,KAAM90C,EAAGmC,GAAG,EAAIyH,EAAG5H,QACrBhC,EAAEqY,IAAM,EAAGlV,GAAE,KAAMnD,EAAGoC,EAAGJ,GAAIhC,EAAIA,EAAEiO,MAE1C,OAAOjO,EAET,KAAK,GAKH,GAJAoC,EAAIpC,EAAEgvC,YACN,OAASlvC,IAAMA,EAAE8sB,UAAY,KAAM5sB,EAAE4sB,UAAY,KAAM5sB,EAAE6sB,WAAa,GACtE/sB,EAAIE,EAAE8zC,aAzuMZ,SAAYh0C,GACV,IAAK,IAAMA,EAAEygB,QAAS,CACpBzgB,EAAEygB,QAAU,EACZ,IAAIvgB,EAAIF,EAAEwgB,MACVtgB,EAAIA,IACJF,EAAE0gB,QAAUxgB,EACZA,EAAEk4C,MAAK,SAAUl4C,GACf,IAAMF,EAAEygB,UAAYvgB,EAAIA,EAAW,QAAGF,EAAEygB,QAAU,EAAGzgB,EAAE0gB,QAAUxgB,MAChE,SAAUA,GACX,IAAMF,EAAEygB,UAAYzgB,EAAEygB,QAAU,EAAGzgB,EAAE0gB,QAAUxgB,OAiuM/Cm/C,CAAG/8C,GACC,IAAMA,EAAEme,QAAS,MAAMne,EAAEoe,QAM7B,OALApe,EAAIA,EAAEoe,QACNxgB,EAAEmO,KAAO/L,EACTwH,EAAI5J,EAAEqY,IA+MZ,SAAYvY,GACV,GAAI,mBAAsBA,EAAG,OAAOy0C,GAAGz0C,GAAK,EAAI,EAEhD,GAAI,MAAWA,EAAiB,CAE9B,IADAA,EAAIA,EAAEwT,YACI+R,EAAI,OAAO,GACrB,GAAIvlB,IAAM0lB,EAAI,OAAO,GAGvB,OAAO,EAxNS45B,CAAGh9C,GACftC,EAAI4qC,GAAGtoC,EAAGtC,GAEF8J,GACN,KAAK,EACH5J,EAAIy0C,GAAG,KAAMz0C,EAAGoC,EAAGtC,EAAGkC,GACtB,MAEF,KAAK,EACHhC,EAAI20C,GAAG,KAAM30C,EAAGoC,EAAGtC,EAAGkC,GACtB,MAEF,KAAK,GACHhC,EAAIo0C,GAAG,KAAMp0C,EAAGoC,EAAGtC,EAAGkC,GACtB,MAEF,KAAK,GACHhC,EAAIs0C,GAAG,KAAMt0C,EAAGoC,EAAGsoC,GAAGtoC,EAAE+L,KAAMrO,GAAIqC,EAAGH,GACrC,MAEF,QACE,MAAMwE,MAAMtG,EAAE,IAAKkC,EAAG,KAG1B,OAAOpC,EAET,KAAK,EACH,OAAOmC,EAAInC,EAAEmO,KAAM/L,EAAIpC,EAAE8zC,aAAsDW,GAAG30C,EAAGE,EAAGmC,EAAjDC,EAAIpC,EAAEgvC,cAAgB7sC,EAAIC,EAAIsoC,GAAGvoC,EAAGC,GAAmBJ,GAEhG,KAAK,EACH,OAAOG,EAAInC,EAAEmO,KAAM/L,EAAIpC,EAAE8zC,aAAsDa,GAAG70C,EAAGE,EAAGmC,EAAjDC,EAAIpC,EAAEgvC,cAAgB7sC,EAAIC,EAAIsoC,GAAGvoC,EAAGC,GAAmBJ,GAEhG,KAAK,EAGH,GAFAgzC,GAAGh1C,GAEC,QADJmC,EAAInC,EAAE4sC,aACU,MAAMpmC,MAAMtG,EAAE,MAK9B,GAHAkC,EAAI,QADJA,EAAIpC,EAAE+sB,eACW3qB,EAAEi2C,QAAU,KAC7BrL,GAAGhtC,EAAGmC,EAAGnC,EAAE8zC,aAAc,KAAM9xC,IAC/BG,EAAInC,EAAE+sB,cAAcsrB,WACVj2C,EAAG8xC,KAAMl0C,EAAIq0C,GAAGv0C,EAAGE,EAAGgC,OAAQ,CAEtC,IADII,EAAIpC,EAAEykB,UAAUqK,WAAS2kB,GAAKtS,GAAGnhC,EAAEykB,UAAUsK,cAAczD,YAAakoB,GAAKxzC,EAAGoC,EAAIsxC,IAAK,GACzFtxC,EAAG,IAAKJ,EAAIutC,GAAGvvC,EAAG,KAAMmC,EAAGH,GAAIhC,EAAEiO,MAAQjM,EAAGA,GAC9CA,EAAE6qB,WAA2B,EAAf7qB,EAAE6qB,UAAiB,KAAM7qB,EAAIA,EAAEmrB,aACxChqB,GAAErD,EAAGE,EAAGmC,EAAGH,GAAIkyC,KACtBl0C,EAAIA,EAAEiO,MAER,OAAOjO,EAET,KAAK,EACH,OAAOgwC,GAAGhwC,GAAI,OAASF,GAAKi0C,GAAG/zC,GAAImC,EAAInC,EAAEmO,KAAM/L,EAAIpC,EAAE8zC,aAAclqC,EAAI,OAAS9J,EAAIA,EAAEqwC,cAAgB,KAAMlxC,EAAImD,EAAE8N,SAAU8wB,GAAG7+B,EAAGC,GAAKnD,EAAI,KAAO,OAAS2K,GAAKo3B,GAAG7+B,EAAGyH,KAAO5J,EAAE6sB,WAAa,IAAK6nB,GAAG50C,EAAGE,GAAa,EAATA,EAAE+uC,MAAY,IAAM/sC,GAAKI,EAAE88C,QAAUl/C,EAAE0D,eAAiB1D,EAAEmrC,oBAAsB,EAAGnrC,EAAI,OAASmD,GAAErD,EAAGE,EAAGf,EAAG+C,GAAIhC,EAAIA,EAAEiO,OAAQjO,EAE1U,KAAK,EACH,OAAO,OAASF,GAAKi0C,GAAG/zC,GAAI,KAE9B,KAAK,GACH,OAAOw1C,GAAG11C,EAAGE,EAAGgC,GAElB,KAAK,EACH,OAAO6tC,GAAG7vC,EAAGA,EAAEykB,UAAUsK,eAAgB5sB,EAAInC,EAAE8zC,aAAc,OAASh0C,EAAIE,EAAEiO,MAAQqhC,GAAGtvC,EAAG,KAAMmC,EAAGH,GAAKmB,GAAErD,EAAGE,EAAGmC,EAAGH,GAAIhC,EAAEiO,MAE3H,KAAK,GACH,OAAO9L,EAAInC,EAAEmO,KAAM/L,EAAIpC,EAAE8zC,aAAsDM,GAAGt0C,EAAGE,EAAGmC,EAAjDC,EAAIpC,EAAEgvC,cAAgB7sC,EAAIC,EAAIsoC,GAAGvoC,EAAGC,GAAmBJ,GAEhG,KAAK,EACH,OAAOmB,GAAErD,EAAGE,EAAGA,EAAE8zC,aAAc9xC,GAAIhC,EAAEiO,MAEvC,KAAK,EAGL,KAAK,GACH,OAAO9K,GAAErD,EAAGE,EAAGA,EAAE8zC,aAAa5jC,SAAUlO,GAAIhC,EAAEiO,MAEhD,KAAK,GACHnO,EAAG,CAOD,GANAqC,EAAInC,EAAEmO,KAAKgS,SACX/d,EAAIpC,EAAE8zC,aACN70C,EAAIe,EAAEmwC,cAENnF,GAAGhrC,EADH4J,EAAIxH,EAAE5C,OAGF,OAASP,EAAG,CACd,IAAIC,EAAID,EAAEO,MAGV,GAAI,KAFJoK,EAAIs8B,GAAGhnC,EAAG0K,GAAK,EAAmG,GAA9F,mBAAsBzH,EAAE0d,sBAAwB1d,EAAE0d,sBAAsB3gB,EAAG0K,GAAK,cAGlG,GAAI3K,EAAEiR,WAAa9N,EAAE8N,WAAa7N,GAAE2V,QAAS,CAC3ChY,EAAIq0C,GAAGv0C,EAAGE,EAAGgC,GACb,MAAMlC,QAEH,IAAkB,QAAbZ,EAAIc,EAAEiO,SAAsB/O,EAAU,OAAIc,GAAI,OAASd,GAAI,CACrE,IAAIC,EAAID,EAAE0jB,aAEV,GAAI,OAASzjB,EAAG,CACdF,EAAIC,EAAE+O,MAEN,IAAK,IAAI7O,EAAID,EAAEksC,aAAc,OAASjsC,GAAI,CACxC,GAAIA,EAAEif,UAAYlc,GAAK,IAAO/C,EAAEosC,aAAe5hC,GAAI,CACjD,IAAM1K,EAAEmZ,OAAQjZ,EAAIktC,GAAGtqC,EAAG,OAASqW,IAAM,EAAGs0B,GAAGztC,EAAGE,IAClDF,EAAEwE,eAAiB1B,IAAM9C,EAAEwE,eAAiB1B,GAE5C,QADA5C,EAAIF,EAAE0tB,YACQxtB,EAAEsE,eAAiB1B,IAAM5C,EAAEsE,eAAiB1B,GAC1DkpC,GAAGhsC,EAAU,OAAG8C,GAChB7C,EAAEuE,eAAiB1B,IAAM7C,EAAEuE,eAAiB1B,GAC5C,MAGF5C,EAAIA,EAAE+f,WAEHlgB,EAAI,KAAOC,EAAEmZ,KAAMnZ,EAAEiP,OAASnO,EAAEmO,KAAO,KAAiBjP,EAAE+O,MAEjE,GAAI,OAAShP,EAAGA,EAAU,OAAIC,OAAO,IAAKD,EAAIC,EAAG,OAASD,GAAI,CAC5D,GAAIA,IAAMe,EAAG,CACXf,EAAI,KACJ,MAKF,GAAI,QAFJC,EAAID,EAAEkuB,SAEU,CACdjuB,EAAU,OAAID,EAAU,OACxBA,EAAIC,EACJ,MAGFD,EAAIA,EAAU,OAEhBC,EAAID,GAIRkE,GAAErD,EAAGE,EAAGoC,EAAE8N,SAAUlO,GACpBhC,EAAIA,EAAEiO,MAGR,OAAOjO,EAET,KAAK,EACH,OAAOoC,EAAIpC,EAAEmO,KAA0BhM,GAApByH,EAAI5J,EAAE8zC,cAAoB5jC,SAAUk7B,GAAGprC,EAAGgC,GAAwCG,EAAIA,EAAxCC,EAAImpC,GAAGnpC,EAAGwH,EAAEy1C,wBAAkCr/C,EAAE6sB,WAAa,EAAG1pB,GAAErD,EAAGE,EAAGmC,EAAGH,GAAIhC,EAAEiO,MAEpJ,KAAK,GACH,OAAmBrE,EAAI8gC,GAAhBtoC,EAAIpC,EAAEmO,KAAgBnO,EAAE8zC,cAAkCQ,GAAGx0C,EAAGE,EAAGoC,EAA5BwH,EAAI8gC,GAAGtoC,EAAE+L,KAAMvE,GAAmBzH,EAAGH,GAErF,KAAK,GACH,OAAOwyC,GAAG10C,EAAGE,EAAGA,EAAEmO,KAAMnO,EAAE8zC,aAAc3xC,EAAGH,GAE7C,KAAK,GACH,OAAOG,EAAInC,EAAEmO,KAAM/L,EAAIpC,EAAE8zC,aAAc1xC,EAAIpC,EAAEgvC,cAAgB7sC,EAAIC,EAAIsoC,GAAGvoC,EAAGC,GAAI,OAAStC,IAAMA,EAAE8sB,UAAY,KAAM5sB,EAAE4sB,UAAY,KAAM5sB,EAAE6sB,WAAa,GAAI7sB,EAAEqY,IAAM,EAAG/V,GAAEH,IAAMrC,GAAI,EAAI6oC,GAAG3oC,IAAMF,GAAI,EAAIsrC,GAAGprC,EAAGgC,GAAI8rC,GAAG9tC,EAAGmC,EAAGC,GAAO+rC,GAAGnuC,EAAGmC,EAAGC,EAAGJ,GAAI8yC,GAAG,KAAM90C,EAAGmC,GAAG,EAAIrC,EAAGkC,GAEvQ,KAAK,GACH,OAAOk0C,GAAGp2C,EAAGE,EAAGgC,GAGpB,MAAMwE,MAAMtG,EAAE,IAAKF,EAAEqY,OAGvB,IAAI0mC,GAAK,KACL5H,GAAK,KA0BT,SAASmI,GAAGx/C,EAAGE,EAAGgC,EAAGG,GACnB0C,KAAKwT,IAAMvY,EACX+E,KAAKgB,IAAM7D,EACX6C,KAAKsoB,QAAUtoB,KAAKoJ,MAAQpJ,KAAa,OAAIA,KAAK4f,UAAY5f,KAAKsJ,KAAOtJ,KAAKmqC,YAAc,KAC7FnqC,KAAKqD,MAAQ,EACbrD,KAAK+Z,IAAM,KACX/Z,KAAKivC,aAAe9zC,EACpB6E,KAAK+d,aAAe/d,KAAKkoB,cAAgBloB,KAAK+nC,YAAc/nC,KAAKsrC,cAAgB,KACjFtrC,KAAKkqC,KAAO5sC,EACZ0C,KAAKgoB,UAAY,EACjBhoB,KAAKqnC,WAAarnC,KAAKonC,YAAcpnC,KAAK4nC,WAAa,KACvD5nC,KAAKsmC,oBAAsBtmC,KAAKnB,eAAiB,EACjDmB,KAAK+nB,UAAY,KAGnB,SAASgnB,GAAG9zC,EAAGE,EAAGgC,EAAGG,GACnB,OAAO,IAAIm9C,GAAGx/C,EAAGE,EAAGgC,EAAGG,GAGzB,SAASoyC,GAAGz0C,GAEV,UADAA,EAAIA,EAAEsH,aACUtH,EAAE0e,kBAepB,SAASqwB,GAAG/uC,EAAGE,GACb,IAAIgC,EAAIlC,EAAE8sB,UAiBV,OAhBA,OAAS5qB,IAAKA,EAAI4xC,GAAG9zC,EAAEuY,IAAKrY,EAAGF,EAAE+F,IAAK/F,EAAEivC,OAASC,YAAclvC,EAAEkvC,YAAahtC,EAAEmM,KAAOrO,EAAEqO,KAAMnM,EAAEyiB,UAAY3kB,EAAE2kB,UAAWziB,EAAE4qB,UAAY9sB,EAAGA,EAAE8sB,UAAY5qB,IAAMA,EAAE8xC,aAAe9zC,EAAGgC,EAAE6qB,UAAY,EAAG7qB,EAAEyqC,WAAa,KAAMzqC,EAAEiqC,YAAc,KAAMjqC,EAAEkqC,WAAa,MAC9PlqC,EAAEmpC,oBAAsBrrC,EAAEqrC,oBAC1BnpC,EAAE0B,eAAiB5D,EAAE4D,eACrB1B,EAAEiM,MAAQnO,EAAEmO,MACZjM,EAAEmuC,cAAgBrwC,EAAEqwC,cACpBnuC,EAAE+qB,cAAgBjtB,EAAEitB,cACpB/qB,EAAE4qC,YAAc9sC,EAAE8sC,YAClB5sC,EAAIF,EAAE8iB,aACN5gB,EAAE4gB,aAAe,OAAS5iB,EAAI,KAAO,CACnC0D,eAAgB1D,EAAE0D,eAClB2nC,aAAcrrC,EAAEqrC,aAChBI,WAAYzrC,EAAEyrC,YAEhBzpC,EAAEmrB,QAAUrtB,EAAEqtB,QACdnrB,EAAEkG,MAAQpI,EAAEoI,MACZlG,EAAE4c,IAAM9e,EAAE8e,IACH5c,EAGT,SAASitC,GAAGnvC,EAAGE,EAAGgC,EAAGG,EAAGC,EAAGwH,GACzB,IAAI3K,EAAI,EAER,GADAkD,EAAIrC,EACA,mBAAsBA,EAAGy0C,GAAGz0C,KAAOb,EAAI,QAAQ,GAAI,iBAAoBa,EAAGb,EAAI,OAAOa,EAAG,OAAQA,GAClG,KAAKilB,EACH,OAAOqqB,GAAGptC,EAAEkO,SAAU9N,EAAGwH,EAAG5J,GAE9B,KAAKolB,EACHnmB,EAAI,EACJmD,GAAK,EACL,MAEF,KAAK4iB,EACH/lB,EAAI,EACJmD,GAAK,EACL,MAEF,KAAK6iB,EACH,OAAOnlB,EAAI8zC,GAAG,GAAI5xC,EAAGhC,EAAO,EAAJoC,IAAU4sC,YAAc/pB,EAAInlB,EAAEqO,KAAO8W,EAAInlB,EAAE4D,eAAiBkG,EAAG9J,EAEzF,KAAKwlB,EACH,OAAOxlB,EAAI8zC,GAAG,GAAI5xC,EAAGhC,EAAGoC,IAAM+L,KAAOmX,EAAIxlB,EAAEkvC,YAAc1pB,EAAIxlB,EAAE4D,eAAiBkG,EAAG9J,EAErF,KAAKylB,EACH,OAAOzlB,EAAI8zC,GAAG,GAAI5xC,EAAGhC,EAAGoC,IAAM4sC,YAAczpB,EAAIzlB,EAAE4D,eAAiBkG,EAAG9J,EAExE,QACE,GAAI,iBAAoBA,GAAK,OAASA,EAAG,OAAQA,EAAEwT,UACjD,KAAK4R,EACHjmB,EAAI,GACJ,MAAMa,EAER,KAAKqlB,EACHlmB,EAAI,EACJ,MAAMa,EAER,KAAKulB,EACHpmB,EAAI,GACJ,MAAMa,EAER,KAAK0lB,EACHvmB,EAAI,GACJ,MAAMa,EAER,KAAK2lB,EACHxmB,EAAI,GACJkD,EAAI,KACJ,MAAMrC,EAEV,MAAM0G,MAAMtG,EAAE,IAAK,MAAQJ,EAAIA,SAAWA,EAAG,KAMjD,OAJAE,EAAI4zC,GAAG30C,EAAG+C,EAAGhC,EAAGoC,IACd4sC,YAAclvC,EAChBE,EAAEmO,KAAOhM,EACTnC,EAAE0D,eAAiBkG,EACZ5J,EAGT,SAASovC,GAAGtvC,EAAGE,EAAGgC,EAAGG,GAGnB,OAFArC,EAAI8zC,GAAG,EAAG9zC,EAAGqC,EAAGnC,IACd0D,eAAiB1B,EACZlC,EAGT,SAASgvC,GAAGhvC,EAAGE,EAAGgC,GAGhB,OAFAlC,EAAI8zC,GAAG,EAAG9zC,EAAG,KAAME,IACjB0D,eAAiB1B,EACZlC,EAGT,SAASqvC,GAAGrvC,EAAGE,EAAGgC,GAQhB,OAPAhC,EAAI4zC,GAAG,EAAG,OAAS9zC,EAAEoQ,SAAWpQ,EAAEoQ,SAAW,GAAIpQ,EAAE+F,IAAK7F,IACtD0D,eAAiB1B,EACnBhC,EAAEykB,UAAY,CACZsK,cAAejvB,EAAEivB,cACjBwwB,gBAAiB,KACjBrQ,eAAgBpvC,EAAEovC,gBAEblvC,EAGT,SAASw/C,GAAG1/C,EAAGE,EAAGgC,GAChB6C,KAAKwT,IAAMrY,EACX6E,KAAKmT,QAAU,KACfnT,KAAKkqB,cAAgBjvB,EACrB+E,KAAK23C,UAAY33C,KAAK06C,gBAAkB,KACxC16C,KAAKi3C,uBAAyB,EAC9Bj3C,KAAKg3C,aAAe,KACpBh3C,KAAKo3C,eAAiB,EACtBp3C,KAAKowC,eAAiBpwC,KAAKwZ,QAAU,KACrCxZ,KAAKiqB,QAAU9sB,EACf6C,KAAKw2C,aAAe,KACpBx2C,KAAKu2C,iBAAmB,GACxBv2C,KAAKi2C,gBAAkBj2C,KAAKo2C,eAAiBp2C,KAAKq2C,sBAAwBr2C,KAAKk3C,kBAAoBl3C,KAAKk4C,mBAAqBl4C,KAAKm2C,iBAAmB,EAGvJ,SAASD,GAAGj7C,EAAGE,GACb,IAAIgC,EAAIlC,EAAEi9C,mBAEV,OADAj9C,EAAIA,EAAEi8C,kBACC,IAAM/5C,GAAKA,GAAKhC,GAAKF,GAAKE,EAGnC,SAAS26C,GAAG76C,EAAGE,GACb,IAAIgC,EAAIlC,EAAEi9C,mBACN56C,EAAIrC,EAAEi8C,kBACV/5C,EAAIhC,IAAMF,EAAEi9C,mBAAqB/8C,IAC7BmC,EAAInC,GAAK,IAAMgC,KAAGlC,EAAEi8C,kBAAoB/7C,GAC5CA,GAAKF,EAAEm7C,iBAAmBn7C,EAAEm7C,eAAiB,GAC7Cj7C,GAAKF,EAAEg7C,kBAAoBh7C,EAAEg7C,gBAAkB,GAGjD,SAASF,GAAG96C,EAAGE,GACbA,EAAIF,EAAEk7C,mBAAqBl7C,EAAEk7C,iBAAmBh7C,GAChD,IAAIgC,EAAIlC,EAAEi9C,mBACV,IAAM/6C,IAAMhC,GAAKgC,EAAIlC,EAAEi9C,mBAAqBj9C,EAAEi8C,kBAAoBj8C,EAAEo7C,sBAAwB,EAAIl7C,GAAKF,EAAEi8C,oBAAsBj8C,EAAEi8C,kBAAoB/7C,EAAI,GAAIA,EAAIF,EAAEo7C,wBAA0Bp7C,EAAEo7C,sBAAwBl7C,IAGvN,SAASu7C,GAAGz7C,EAAGE,GACb,IAAIgC,EAAIlC,EAAEg7C,iBACN,IAAM94C,GAAKA,EAAIhC,KAAGF,EAAEg7C,gBAAkB96C,GAG5C,SAASy/C,GAAG3/C,EAAGE,EAAGgC,EAAGG,GACnB,IAAIC,EAAIpC,EAAEgY,QACNpO,EAAI8jC,KACJzuC,EAAIouC,GAAGtrB,SACXnY,EAAI+jC,GAAG/jC,EAAGxH,EAAGnD,GAEba,EAAG,GAAIkC,EAAG,CAGRhC,EAAG,CACD,GAAI2sB,GAHN3qB,EAAIA,EAAEyrC,uBAGUzrC,GAAK,IAAMA,EAAEqW,IAAK,MAAM7R,MAAMtG,EAAE,MAC9C,IAAIhB,EAAI8C,EAER,EAAG,CACD,OAAQ9C,EAAEmZ,KACR,KAAK,EACHnZ,EAAIA,EAAEulB,UAAUpG,QAChB,MAAMre,EAER,KAAK,EACH,GAAIsC,GAAEpD,EAAEiP,MAAO,CACbjP,EAAIA,EAAEulB,UAAUmkB,0CAChB,MAAM5oC,GAKZd,EAAIA,EAAU,aACP,OAASA,GAElB,MAAMsH,MAAMtG,EAAE,MAGhB,GAAI,IAAM8B,EAAEqW,IAAK,CACf,IAAIlZ,EAAI6C,EAAEmM,KAEV,GAAI7L,GAAEnD,GAAI,CACR6C,EAAIymC,GAAGzmC,EAAG7C,EAAGD,GACb,MAAMY,GAIVkC,EAAI9C,OACC8C,EAAI+lC,GAWX,OATA,OAAS/nC,EAAEqe,QAAUre,EAAEqe,QAAUrc,EAAIhC,EAAEi1C,eAAiBjzC,GACxDhC,EAAIssC,GAAG1iC,EAAG3K,IACRutC,QAAU,CACV6L,QAASv4C,GAGX,QADAqC,OAAI,IAAWA,EAAI,KAAOA,KACXnC,EAAEwD,SAAWrB,GAC5BwqC,GAAGvqC,EAAGpC,GACN4tC,GAAGxrC,EAAGwH,GACCA,EAGT,SAAS81C,GAAG5/C,GAEV,KADAA,EAAIA,EAAEkY,SACC/J,MAAO,OAAO,KAErB,OAAQnO,EAAEmO,MAAMoK,KACd,KAAK,EAGL,QACE,OAAOvY,EAAEmO,MAAMwW,WAIrB,SAASk7B,GAAG7/C,EAAGE,GAEb,QADAF,EAAIA,EAAEitB,gBACQ,OAASjtB,EAAEktB,YAAcltB,EAAEy1C,UAAYv1C,IAAMF,EAAEy1C,UAAYv1C,GAG3E,SAAS4/C,GAAG9/C,EAAGE,GACb2/C,GAAG7/C,EAAGE,IACLF,EAAIA,EAAE8sB,YAAc+yB,GAAG7/C,EAAGE,GAG7B,SAAS6/C,GAAG//C,EAAGE,EAAGgC,GAEhB,IAAIG,EAAI,IAAIq9C,GAAG1/C,EAAGE,EADlBgC,EAAI,MAAQA,IAAK,IAAOA,EAAE8sB,SAEtB1sB,EAAIwxC,GAAG,EAAG,KAAM,KAAM,IAAM5zC,EAAI,EAAI,IAAMA,EAAI,EAAI,GACtDmC,EAAE6V,QAAU5V,EACZA,EAAEqiB,UAAYtiB,EACdrC,EAAE6hC,IAAMx/B,EAAE6V,QACVhW,GAAK,IAAMhC,GAn9Lb,SAAYF,GACV,IAAIE,EAAIo7B,GAAGt7B,GACXkuB,GAAGne,SAAQ,SAAU7N,GACnBs5B,GAAGt5B,EAAGlC,EAAGE,MAEXiuB,GAAGpe,SAAQ,SAAU7N,GACnBs5B,GAAGt5B,EAAGlC,EAAGE,MA68LK8/C,CAAG,IAAMhgD,EAAE2rB,SAAW3rB,EAAIA,EAAE8pB,eAC5C/kB,KAAKk7C,cAAgB59C,EAiBvB,SAAS69C,GAAGlgD,GACV,SAAUA,GAAK,IAAMA,EAAE2rB,UAAY,IAAM3rB,EAAE2rB,UAAY,KAAO3rB,EAAE2rB,WAAa,IAAM3rB,EAAE2rB,UAAY,iCAAmC3rB,EAAE4rB,YAaxI,SAASu0B,GAAGngD,EAAGE,EAAGgC,EAAGG,EAAGC,GACtB,IAAIwH,EAAI5H,EAAE01C,oBAEV,GAAI9tC,EAAG,CACL,IAAI3K,EAAI2K,EAAEm2C,cAEV,GAAI,mBAAsB39C,EAAG,CAC3B,IAAIlD,EAAIkD,EAERA,EAAI,WACF,IAAItC,EAAI4/C,GAAGzgD,GACXC,EAAE6J,KAAKjJ,IAIX2/C,GAAGz/C,EAAGf,EAAGa,EAAGsC,OACP,CAIL,GAHAwH,EAAI5H,EAAE01C,oBA3BV,SAAY53C,EAAGE,GAEb,GADAA,IAA0EA,MAApEA,EAAIF,EAAI,IAAMA,EAAE2rB,SAAW3rB,EAAEgwC,gBAAkBhwC,EAAEwrB,WAAa,OAAkB,IAAMtrB,EAAEyrB,WAAazrB,EAAEkgD,aAAa,qBACrHlgD,EAAG,IAAK,IAAIgC,EAAGA,EAAIlC,EAAE0rB,WACxB1rB,EAAE0c,YAAYxa,GAEhB,OAAO,IAAI69C,GAAG//C,EAAG,EAAGE,EAAI,CACtB8uB,SAAS,QACP,GAoB0BqxB,CAAGn+C,EAAGG,GAClClD,EAAI2K,EAAEm2C,cAEF,mBAAsB39C,EAAG,CAC3B,IAAIjD,EAAIiD,EAERA,EAAI,WACF,IAAItC,EAAI4/C,GAAGzgD,GACXE,EAAE4J,KAAKjJ,IAIXy8C,IAAG,WACDkD,GAAGz/C,EAAGf,EAAGa,EAAGsC,MAIhB,OAAOs9C,GAAGzgD,GAwGZ,SAASmhD,GAAGtgD,EAAGE,GACb,IAAIgC,EAAI,EAAI8C,UAAU7C,aAAU,IAAW6C,UAAU,GAAKA,UAAU,GAAK,KACzE,IAAKk7C,GAAGhgD,GAAI,MAAMwG,MAAMtG,EAAE,MAC1B,OAxGF,SAAYJ,EAAGE,EAAGgC,GAChB,IAAIG,EAAI,EAAI2C,UAAU7C,aAAU,IAAW6C,UAAU,GAAKA,UAAU,GAAK,KACzE,MAAO,CACLwO,SAAUwR,EACVjf,IAAK,MAAQ1D,EAAI,KAAO,GAAKA,EAC7B+N,SAAUpQ,EACVivB,cAAe/uB,EACfkvC,eAAgBltC,GAiGXq+C,CAAGvgD,EAAGE,EAAG,KAAMgC,GAzKxB69C,GAAGz4C,UAAUiB,OAAS,SAAUvI,EAAGE,GACjCy/C,GAAG3/C,EAAG+E,KAAKk7C,cAAe,UAAM,IAAW//C,EAAI,KAAOA,IAGxD6/C,GAAGz4C,UAAUk5C,QAAU,SAAUxgD,GAC/B,IAAIE,EAAI6E,KAAKk7C,cACT/9C,OAAI,IAAWlC,EAAI,KAAOA,EAC1BqC,EAAInC,EAAE+uB,cACV0wB,GAAG,KAAMz/C,EAAG,MAAM,WAChBmC,EAAEw/B,IAAM,KACR,OAAS3/B,GAAKA,QAkElBqrB,GAAK,SAAYvtB,GACf,GAAI,KAAOA,EAAEuY,IAAK,CAChB,IAAIrY,EAAIyqC,GAAGiD,KAAM,IAAK,KACtBE,GAAG9tC,EAAGE,GACN4/C,GAAG9/C,EAAGE,KAIVstB,GAAK,SAAYxtB,GACf,GAAI,KAAOA,EAAEuY,IAAK,CAChBq1B,KACA,IAAI1tC,EAAIwqC,KACRoD,GAAG9tC,EAAGE,GACN4/C,GAAG9/C,EAAGE,KAIVutB,GAAK,SAAYztB,GACf,GAAI,KAAOA,EAAEuY,IAAK,CAChB,IAAIrY,EAAI0tC,KAERE,GAAG9tC,EADHE,EAAI2tC,GAAG3tC,EAAGF,EAAG,OAEb8/C,GAAG9/C,EAAGE,KAIVmmB,GAAK,SAAYrmB,EAAGE,EAAGgC,GACrB,OAAQhC,GACN,IAAK,QAIH,GAHAypB,GAAG3pB,EAAGkC,GACNhC,EAAIgC,EAAEwG,KAEF,UAAYxG,EAAEmM,MAAQ,MAAQnO,EAAG,CACnC,IAAKgC,EAAIlC,EAAGkC,EAAEua,YACZva,EAAIA,EAAEua,WAKR,IAFAva,EAAIA,EAAE6Z,iBAAiB,cAAgB0kC,KAAKC,UAAU,GAAKxgD,GAAK,mBAE3DA,EAAI,EAAGA,EAAIgC,EAAEC,OAAQjC,IAAK,CAC7B,IAAImC,EAAIH,EAAEhC,GAEV,GAAImC,IAAMrC,GAAKqC,EAAEs+C,OAAS3gD,EAAE2gD,KAAM,CAChC,IAAIr+C,EAAIy/B,GAAG1/B,GACX,IAAKC,EAAG,MAAMoE,MAAMtG,EAAE,KACtB4oB,GAAG3mB,GACHsnB,GAAGtnB,EAAGC,KAKZ,MAEF,IAAK,WACHkoB,GAAGxqB,EAAGkC,GACN,MAEF,IAAK,SACU,OAAbhC,EAAIgC,EAAExC,QAAoBwqB,GAAGlqB,IAAKkC,EAAE61C,SAAU73C,GAAG,KAIvDwmB,GAAK81B,GAEL71B,GAAK,SAAY3mB,EAAGE,EAAGgC,EAAGG,GACxB,IAAIC,EAAIiB,GACRA,IAAK,EAEL,IACE,OAAO8mC,GAAG,GAAIrqC,EAAEuJ,KAAK,KAAMrJ,EAAGgC,EAAGG,IACjC,SACAkB,GAAIjB,KAASgB,IAAKmnC,OAItB7jB,GAAK,YACFrjB,IAAK,EAAI61C,GAAKC,OAAS/1C,KA1yD1B,WACE,GAAI,OAASg3C,GAAI,CACf,IAAIt6C,EAAIs6C,GACRA,GAAK,KACLt6C,EAAE+P,SAAQ,SAAU/P,EAAGkC,GACrBu5C,GAAGv5C,EAAGlC,GACNiE,GAAE/B,MAEJuoC,MAkyD4BmW,GAAMlF,OAGtC70B,GAAK,SAAY7mB,EAAGE,GAClB,IAAIgC,EAAIqB,GACRA,IAAK,EAEL,IACE,OAAOvD,EAAEE,GACT,SACAqD,GAAIrB,KAASoB,IAAKmnC,OAUtB,IA8DWzqC,GACLE,GA/DF2gD,GAAK,CACPC,aAAcR,GACdS,YAAa,SAAqB/gD,GAChC,GAAI,MAAQA,EAAG,OAAO,KACtB,GAAI,IAAMA,EAAE2rB,SAAU,OAAO3rB,EAC7B,IAAIE,EAAIF,EAAE2tC,oBAEV,QAAI,IAAWztC,EAAG,CAChB,GAAI,mBAAsBF,EAAEuI,OAAQ,MAAM7B,MAAMtG,EAAE,MAClD,MAAMsG,MAAMtG,EAAE,IAAKb,OAAO4J,KAAKnJ,KAKjC,OADAA,EAAI,QADJA,EAAIotB,GAAGltB,IACU,KAAOF,EAAE2kB,WAG5BqK,QAAS,SAAiBhvB,EAAGE,EAAGgC,GAC9B,IAAKg+C,GAAGhgD,GAAI,MAAMwG,MAAMtG,EAAE,MAC1B,OAAO+/C,GAAG,KAAMngD,EAAGE,GAAG,EAAIgC,IAE5BqG,OAAQ,SAAgBvI,EAAGE,EAAGgC,GAC5B,IAAKg+C,GAAGhgD,GAAI,MAAMwG,MAAMtG,EAAE,MAC1B,OAAO+/C,GAAG,KAAMngD,EAAGE,GAAG,EAAIgC,IAE5B8+C,oCAAqC,SAA6ChhD,EAAGE,EAAGgC,EAAGG,GACzF,IAAK69C,GAAGh+C,GAAI,MAAMwE,MAAMtG,EAAE,MAC1B,GAAI,MAAQJ,QAAK,IAAWA,EAAE2tC,oBAAqB,MAAMjnC,MAAMtG,EAAE,KACjE,OAAO+/C,GAAGngD,EAAGE,EAAGgC,GAAG,EAAIG,IAEzB4+C,uBAAwB,SAAgCjhD,GACtD,IAAKkgD,GAAGlgD,GAAI,MAAM0G,MAAMtG,EAAE,KAC1B,QAAOJ,EAAE43C,sBAAuB6E,IAAG,WACjC0D,GAAG,KAAM,KAAMngD,GAAG,GAAI,WACpBA,EAAE43C,oBAAsB,KACxB53C,EAAE6hC,IAAM,YAER,IAENqf,sBAAuB,WACrB,OAAOZ,GAAGx7C,WAAM,EAAQE,YAE1Bm8C,wBAAyB3E,GACzB4E,UAAW,SAAmBphD,EAAGE,GAC/B,IAAKqD,IAAK61C,GAAKC,OAAS/1C,GAAG,MAAMoD,MAAMtG,EAAE,MACzC,IAAI8B,EAAIqB,GACRA,IAAK,EAEL,IACE,OAAO8mC,GAAG,GAAIrqC,EAAEuJ,KAAK,KAAMrJ,IAC3B,QACAqD,GAAIrB,EAAGuoC,OAGX3oB,mDAAoD,CAClDu/B,OAAQ,CAACzyB,GAAIkT,GAAIC,GAAIxd,EAAGE,yBAA0BjC,EAAI2N,GAAI,SAAUnwB,GAClE8jB,EAAG9jB,EAAGkwB,KACLnW,GAAI0M,GAAIsU,GAAIzW,EAAIo3B,GAAI,CACrBxjC,SAAS,MAMThY,IADKF,GAqBR,CACDshD,wBAAyBxyB,GACzByyB,WAAY,EACZ1/B,QAAS,UACT2/B,oBAAqB,cAxBXF,wBAjhBZ,SAAYthD,GACV,GAAI,oBAAuBkW,+BAAgC,OAAO,EAClE,IAAIhW,EAAIgW,+BACR,GAAIhW,EAAEuhD,aAAevhD,EAAEwhD,cAAe,OAAO,EAE7C,IACE,IAAIx/C,EAAIhC,EAAEyhD,OAAO3hD,GAEjBi/C,GAAK,SAAYj/C,GACf,IACEE,EAAE0hD,kBAAkB1/C,EAAGlC,OAAG,EAAQ,KAA8B,GAAtBA,EAAEkY,QAAQ6U,YACpD,MAAOzqB,MAGX+0C,GAAK,SAAYr3C,GACf,IACEE,EAAE2hD,qBAAqB3/C,EAAGlC,GAC1B,MAAOsC,MAEX,MAAOD,KA+fFy/C,CAAGl/C,EAAE,GAAI5C,GAAG,CACjB+hD,kBAAmB,KACnBC,cAAe,KACfC,mBAAoB,KACpBC,eAAgB,KAChBC,qBAAsBt9B,EAAG9C,uBACzBqgC,wBAAyB,SAAiCpiD,GAExD,OAAO,QADPA,EAAIotB,GAAGptB,IACa,KAAOA,EAAE2kB,WAE/B28B,wBAAyB,SAAiCthD,GACxD,OAAOE,GAAIA,GAAEF,GAAK,MAEpBqiD,4BAA6B,KAC7BC,gBAAiB,KACjBC,aAAc,KACdC,kBAAmB,KACnBC,gBAAiB,QASrB,IAAIC,GAAK,CACP,QAAW7B,IAET8B,GAAKD,IAAM7B,IAAM6B,GACrBp8C,EAAO7G,QAAUkjD,GAAY,SAAKA","file":"commons-2e644671e1023bf8738b.js","sourcesContent":["/** @license React v0.18.0\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nrequire(\"core-js/modules/es6.date.now\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: !0\n});\n\nvar _f, g, h, k, l;\n\nif (\"undefined\" === typeof window || \"function\" !== typeof MessageChannel) {\n var p = null,\n q = null,\n t = function t() {\n if (null !== p) try {\n var a = exports.unstable_now();\n p(!0, a);\n p = null;\n } catch (b) {\n throw setTimeout(t, 0), b;\n }\n },\n u = Date.now();\n\n exports.unstable_now = function () {\n return Date.now() - u;\n };\n\n _f = function f(a) {\n null !== p ? setTimeout(_f, 0, a) : (p = a, setTimeout(t, 0));\n };\n\n g = function g(a, b) {\n q = setTimeout(a, b);\n };\n\n h = function h() {\n clearTimeout(q);\n };\n\n k = function k() {\n return !1;\n };\n\n l = exports.unstable_forceFrameRate = function () {};\n} else {\n var w = window.performance,\n x = window.Date,\n y = window.setTimeout,\n z = window.clearTimeout;\n\n if (\"undefined\" !== typeof console) {\n var A = window.cancelAnimationFrame;\n \"function\" !== typeof window.requestAnimationFrame && console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\n \"function\" !== typeof A && console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\n }\n\n if (\"object\" === typeof w && \"function\" === typeof w.now) exports.unstable_now = function () {\n return w.now();\n };else {\n var B = x.now();\n\n exports.unstable_now = function () {\n return x.now() - B;\n };\n }\n var C = !1,\n D = null,\n E = -1,\n F = 5,\n G = 0;\n\n k = function k() {\n return exports.unstable_now() >= G;\n };\n\n l = function l() {};\n\n exports.unstable_forceFrameRate = function (a) {\n 0 > a || 125 < a ? console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported\") : F = 0 < a ? Math.floor(1E3 / a) : 5;\n };\n\n var H = new MessageChannel(),\n I = H.port2;\n\n H.port1.onmessage = function () {\n if (null !== D) {\n var a = exports.unstable_now();\n G = a + F;\n\n try {\n D(!0, a) ? I.postMessage(null) : (C = !1, D = null);\n } catch (b) {\n throw I.postMessage(null), b;\n }\n } else C = !1;\n };\n\n _f = function _f(a) {\n D = a;\n C || (C = !0, I.postMessage(null));\n };\n\n g = function g(a, b) {\n E = y(function () {\n a(exports.unstable_now());\n }, b);\n };\n\n h = function h() {\n z(E);\n E = -1;\n };\n}\n\nfunction J(a, b) {\n var c = a.length;\n a.push(b);\n\n a: for (;;) {\n var d = Math.floor((c - 1) / 2),\n e = a[d];\n if (void 0 !== e && 0 < K(e, b)) a[d] = b, a[c] = e, c = d;else break a;\n }\n}\n\nfunction L(a) {\n a = a[0];\n return void 0 === a ? null : a;\n}\n\nfunction M(a) {\n var b = a[0];\n\n if (void 0 !== b) {\n var c = a.pop();\n\n if (c !== b) {\n a[0] = c;\n\n a: for (var d = 0, e = a.length; d < e;) {\n var m = 2 * (d + 1) - 1,\n n = a[m],\n v = m + 1,\n r = a[v];\n if (void 0 !== n && 0 > K(n, c)) void 0 !== r && 0 > K(r, n) ? (a[d] = r, a[v] = c, d = v) : (a[d] = n, a[m] = c, d = m);else if (void 0 !== r && 0 > K(r, c)) a[d] = r, a[v] = c, d = v;else break a;\n }\n }\n\n return b;\n }\n\n return null;\n}\n\nfunction K(a, b) {\n var c = a.sortIndex - b.sortIndex;\n return 0 !== c ? c : a.id - b.id;\n}\n\nvar N = [],\n O = [],\n P = 1,\n Q = null,\n R = 3,\n S = !1,\n T = !1,\n U = !1;\n\nfunction V(a) {\n for (var b = L(O); null !== b;) {\n if (null === b.callback) M(O);else if (b.startTime <= a) M(O), b.sortIndex = b.expirationTime, J(N, b);else break;\n b = L(O);\n }\n}\n\nfunction W(a) {\n U = !1;\n V(a);\n if (!T) if (null !== L(N)) T = !0, _f(X);else {\n var b = L(O);\n null !== b && g(W, b.startTime - a);\n }\n}\n\nfunction X(a, b) {\n T = !1;\n U && (U = !1, h());\n S = !0;\n var c = R;\n\n try {\n V(b);\n\n for (Q = L(N); null !== Q && (!(Q.expirationTime > b) || a && !k());) {\n var d = Q.callback;\n\n if (null !== d) {\n Q.callback = null;\n R = Q.priorityLevel;\n var e = d(Q.expirationTime <= b);\n b = exports.unstable_now();\n \"function\" === typeof e ? Q.callback = e : Q === L(N) && M(N);\n V(b);\n } else M(N);\n\n Q = L(N);\n }\n\n if (null !== Q) var m = !0;else {\n var n = L(O);\n null !== n && g(W, n.startTime - b);\n m = !1;\n }\n return m;\n } finally {\n Q = null, R = c, S = !1;\n }\n}\n\nfunction Y(a) {\n switch (a) {\n case 1:\n return -1;\n\n case 2:\n return 250;\n\n case 5:\n return 1073741823;\n\n case 4:\n return 1E4;\n\n default:\n return 5E3;\n }\n}\n\nvar Z = l;\nexports.unstable_ImmediatePriority = 1;\nexports.unstable_UserBlockingPriority = 2;\nexports.unstable_NormalPriority = 3;\nexports.unstable_IdlePriority = 5;\nexports.unstable_LowPriority = 4;\n\nexports.unstable_runWithPriority = function (a, b) {\n switch (a) {\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n break;\n\n default:\n a = 3;\n }\n\n var c = R;\n R = a;\n\n try {\n return b();\n } finally {\n R = c;\n }\n};\n\nexports.unstable_next = function (a) {\n switch (R) {\n case 1:\n case 2:\n case 3:\n var b = 3;\n break;\n\n default:\n b = R;\n }\n\n var c = R;\n R = b;\n\n try {\n return a();\n } finally {\n R = c;\n }\n};\n\nexports.unstable_scheduleCallback = function (a, b, c) {\n var d = exports.unstable_now();\n\n if (\"object\" === typeof c && null !== c) {\n var e = c.delay;\n e = \"number\" === typeof e && 0 < e ? d + e : d;\n c = \"number\" === typeof c.timeout ? c.timeout : Y(a);\n } else c = Y(a), e = d;\n\n c = e + c;\n a = {\n id: P++,\n callback: b,\n priorityLevel: a,\n startTime: e,\n expirationTime: c,\n sortIndex: -1\n };\n e > d ? (a.sortIndex = e, J(O, a), null === L(N) && a === L(O) && (U ? h() : U = !0, g(W, e - d))) : (a.sortIndex = c, J(N, a), T || S || (T = !0, _f(X)));\n return a;\n};\n\nexports.unstable_cancelCallback = function (a) {\n a.callback = null;\n};\n\nexports.unstable_wrapCallback = function (a) {\n var b = R;\n return function () {\n var c = R;\n R = b;\n\n try {\n return a.apply(this, arguments);\n } finally {\n R = c;\n }\n };\n};\n\nexports.unstable_getCurrentPriorityLevel = function () {\n return R;\n};\n\nexports.unstable_shouldYield = function () {\n var a = exports.unstable_now();\n V(a);\n var b = L(N);\n return b !== Q && null !== Q && null !== b && null !== b.callback && b.startTime <= a && b.expirationTime < Q.expirationTime || k();\n};\n\nexports.unstable_requestPaint = Z;\n\nexports.unstable_continueExecution = function () {\n T || S || (T = !0, _f(X));\n};\n\nexports.unstable_pauseExecution = function () {};\n\nexports.unstable_getFirstCallbackNode = function () {\n return L(N);\n};\n\nexports.unstable_Profiling = null;","'use strict';\n\nrequire(\"core-js/modules/es6.array.index-of\");\n\nrequire(\"core-js/modules/es6.array.map\");\n\nrequire(\"core-js/modules/es6.function.name\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\n\nvar shallowEqual = _interopDefault(require('shallowequal'));\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(SideEffect, _Component);\n\n function SideEffect() {\n return _Component.apply(this, arguments) || this;\n } // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !shallowEqual(nextProps, this.props);\n };\n\n _proto.componentWillMount = function componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.Component);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;","require(\"core-js/modules/es6.function.bind\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\n//\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB); // Test for A's keys different from B.\n\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || ret === void 0 && valueA !== valueB) {\n return false;\n }\n }\n\n return true;\n};","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n withAssetPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n parsePath,\n} from \"gatsby-link\"\nimport PageRenderer from \"./public-page-renderer\"\nimport loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nconst StaticQueryContext = React.createContext({})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n <React.Fragment>\n {finalData && render(finalData)}\n {!finalData && <div>Loading (StaticQuery)</div>}\n </React.Fragment>\n )\n}\n\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n <StaticQueryContext.Consumer>\n {staticQueryData => (\n <StaticQueryDataRenderer\n data={data}\n query={query}\n render={render || children}\n staticQueryData={staticQueryData}\n />\n )}\n </StaticQueryContext.Consumer>\n )\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n const context = React.useContext(StaticQueryContext)\n if (context[query] && context[query].data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withAssetPrefix,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n push, // TODO replace for v3\n replace, // TODO remove replace for v3\n navigateTo, // TODO: remove navigateTo for v3\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n useStaticQuery,\n prefetchPathname,\n}\n","import React from 'react';\nimport {Link} from 'gatsby'\nimport logo from '../assets/EF_WHT-OR_png.png';\nimport PropTypes from 'prop-types';\nimport {resolveI18nPath} from \"../i18n\";\n\nconst Header = ({lang}) => {\n const resolvePath = resolveI18nPath(lang);\n return (\n <header className='eclipse-jkube__header'>\n <div className='eclipse-jkube__header-container'>\n <Link to={resolvePath('/')} className='eclipse-jkube__header-logo'>\n <div className='eclipse-jkube__header-logo-image'><img src={logo} alt='Eclipse Foundation' /></div>\n <div>JKube</div>\n </Link>\n <div className='eclipse-jkube__header-content'>\n <ul>\n <li><Link to={resolvePath('/docs')}>Docs</Link></li>\n <li><Link to={resolvePath('/demos')}>Demos</Link></li>\n <li><Link to={resolvePath('/community')}>Community</Link></li>\n <li><Link to={resolvePath('/contributing')}>Contributing</Link></li>\n <li>\n <a\n className='eclipse-jkube__header-stars'\n href='https://github.com/eclipse/jkube' title='eclipse/jkube'\n target='_blank' rel='nofollow noopener noreferrer'\n >\n <img src='https://img.shields.io/github/stars/eclipse/jkube?style=social' alt='eclipse/jkube stargazers' />\n </a>\n </li>\n </ul>\n </div>\n </div>\n </header>\n );\n};\n\nHeader.propTypes = {\n lang: PropTypes.string.isRequired,\n};\n\nexport default Header;\n","require(\"core-js/modules/es6.array.is-array\");\n\nrequire(\"core-js/modules/es6.array.some\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.array.index-of\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nrequire(\"core-js/modules/es6.object.assign\");\n\nexports.__esModule = true;\nexports.Helmet = undefined;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactSideEffect = require(\"react-side-effect\");\n\nvar _reactSideEffect2 = _interopRequireDefault(_reactSideEffect);\n\nvar _reactFastCompare = require(\"react-fast-compare\");\n\nvar _reactFastCompare2 = _interopRequireDefault(_reactFastCompare);\n\nvar _HelmetUtils = require(\"./HelmetUtils.js\");\n\nvar _HelmetConstants = require(\"./HelmetConstants.js\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n _inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n _classCallCheck(this, HelmetWrapper);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !(0, _reactFastCompare2[\"default\"])(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.SCRIPT:\n case _HelmetConstants.TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case _HelmetConstants.TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _extends2;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n return _extends({}, arrayTypeChildren, (_extends2 = {}, _extends2[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _extends2));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _extends3, _extends4;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.TITLE:\n return _extends({}, newProps, (_extends3 = {}, _extends3[child.type] = nestedChildren, _extends3.titleAttributes = _extends({}, newChildProps), _extends3));\n\n case _HelmetConstants.TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case _HelmetConstants.TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_extends4 = {}, _extends4[child.type] = _extends({}, newChildProps), _extends4));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _extends5;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_extends5 = {}, _extends5[arrayChildName] = arrayTypeChildren[arrayChildName], _extends5));\n });\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!_HelmetConstants.VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return (0, _HelmetUtils.warn)(\"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return (0, _HelmetUtils.warn)(\"Only elements types \" + _HelmetConstants.VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``}</\" + child.type + \"> ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n\n _react2[\"default\"].Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = _objectWithoutProperties(_child$props, [\"children\"]);\n\n var newChildProps = (0, _HelmetUtils.convertReactPropstoHtmlAttributes)(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.LINK:\n case _HelmetConstants.TAG_NAMES.META:\n case _HelmetConstants.TAG_NAMES.NOSCRIPT:\n case _HelmetConstants.TAG_NAMES.SCRIPT:\n case _HelmetConstants.TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = _objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return _react2[\"default\"].createElement(Component, newProps);\n };\n\n _createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \"<img src='http://mysite.com/js/test.js'\"}]\n * @param {Function} onChangeClientState: \"(newState) => console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n\n return HelmetWrapper;\n }(_react2[\"default\"].Component), _class.propTypes = {\n base: _propTypes2[\"default\"].object,\n bodyAttributes: _propTypes2[\"default\"].object,\n children: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].arrayOf(_propTypes2[\"default\"].node), _propTypes2[\"default\"].node]),\n defaultTitle: _propTypes2[\"default\"].string,\n defer: _propTypes2[\"default\"].bool,\n encodeSpecialCharacters: _propTypes2[\"default\"].bool,\n htmlAttributes: _propTypes2[\"default\"].object,\n link: _propTypes2[\"default\"].arrayOf(_propTypes2[\"default\"].object),\n meta: _propTypes2[\"default\"].arrayOf(_propTypes2[\"default\"].object),\n noscript: _propTypes2[\"default\"].arrayOf(_propTypes2[\"default\"].object),\n onChangeClientState: _propTypes2[\"default\"].func,\n script: _propTypes2[\"default\"].arrayOf(_propTypes2[\"default\"].object),\n style: _propTypes2[\"default\"].arrayOf(_propTypes2[\"default\"].object),\n title: _propTypes2[\"default\"].string,\n titleAttributes: _propTypes2[\"default\"].object,\n titleTemplate: _propTypes2[\"default\"].string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = (0, _HelmetUtils.mapStateOnServer)({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = (0, _reactSideEffect2[\"default\"])(_HelmetUtils.reducePropsToState, _HelmetUtils.handleClientStateChange, _HelmetUtils.mapStateOnServer)(NullComponent);\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\nexports.Helmet = HelmetExport;\nexports[\"default\"] = HelmetExport;","'use strict';\n\nrequire(\"core-js/modules/es6.function.name\");\n\nrequire(\"core-js/modules/es6.regexp.match\");\n\nrequire(\"core-js/modules/es6.regexp.to-string\");\n\nrequire(\"core-js/modules/es6.date.to-string\");\n\nrequire(\"core-js/modules/es6.regexp.constructor\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\nrequire(\"core-js/modules/es6.array.is-array\");\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\nvar hasElementType = typeof Element !== 'undefined';\n\nfunction equal(a, b) {\n // fast-deep-equal index.js 2.0.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = isArray(a),\n arrB = isArray(b),\n i,\n length,\n key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n }\n\n if (arrA != arrB) return false;\n var dateA = a instanceof Date,\n dateB = b instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n var regexpA = a instanceof RegExp,\n regexpB = b instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n var keys = keyList(a);\n length = keys.length;\n if (length !== keyList(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!hasProp.call(b, keys[i])) return false;\n } // end fast-deep-equal\n // start react-fast-compare\n // custom handling for DOM elements\n\n\n if (hasElementType && a instanceof Element && b instanceof Element) return a === b; // custom handling for React\n\n for (i = length; i-- !== 0;) {\n key = keys[i];\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of a react element\n continue;\n } else {\n // all other properties should be traversed as usual\n if (!equal(a[key], b[key])) return false;\n }\n } // end react-fast-compare\n // fast-deep-equal index.js 2.0.1\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nmodule.exports = function exportedEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (error.message && error.message.match(/stack|recursion/i) || error.number === -2146828260) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message);\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Helmet from 'react-helmet';\n\nconst Seo = ({lang, title, description}) => {\n return (\n <Helmet>\n <meta charSet=\"UTF-8\" />\n <html lang={lang} />\n <title>{title}</title>\n <meta name=\"description\" content={description} />\n </Helmet>\n );\n};\n\nSeo.propTypes = {\n lang: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n};\n\nexport default Seo;\n","require(\"core-js/modules/es6.array.reduce\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\nrequire(\"core-js/modules/es6.array.map\");\n\nexports.__esModule = true;\nvar ATTRIBUTE_NAMES = exports.ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\nvar TAG_NAMES = exports.TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\nvar VALID_TAG_NAMES = exports.VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\nvar TAG_PROPERTIES = exports.TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\"\n};\nvar REACT_TAG_MAP = exports.REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n \"class\": \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HELMET_PROPS = exports.HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\nvar HTML_TAG_MAP = exports.HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\nvar SELF_CLOSING_TAGS = exports.SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\nvar HELMET_ATTRIBUTE = exports.HELMET_ATTRIBUTE = \"data-react-helmet\";","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function') {\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}","\nconst defaultLangKey = 'en';\n\nconst resolveI18nPath = langKey => path =>\n langKey === defaultLangKey ? path : `${langKey}/${path}`;\n\nmodule.exports = {\n defaultLangKey,\n resolveI18nPath\n};\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location, pageResources }) => {\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","module.exports = __webpack_public_path__ + \"static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png\";","require(\"core-js/modules/es6.array.some\");\n\nrequire(\"core-js/modules/es6.regexp.split\");\n\nrequire(\"core-js/modules/es6.date.now\");\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.array.is-array\");\n\nrequire(\"core-js/modules/es6.array.index-of\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\nrequire(\"core-js/modules/es6.array.filter\");\n\nrequire(\"core-js/modules/es6.array.map\");\n\nrequire(\"core-js/modules/es6.array.reduce\");\n\nrequire(\"core-js/modules/es6.regexp.replace\");\n\nrequire(\"core-js/modules/es6.object.assign\");\n\nrequire(\"core-js/modules/es7.symbol.async-iterator\");\n\nrequire(\"core-js/modules/es6.symbol\");\n\nexports.__esModule = true;\nexports.warn = exports.requestAnimationFrame = exports.reducePropsToState = exports.mapStateOnServer = exports.handleClientStateChange = exports.convertReactPropstoHtmlAttributes = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _objectAssign = require(\"object-assign\");\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar _HelmetConstants = require(\"./HelmetConstants.js\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, _HelmetConstants.TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[_HelmetConstants.TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[_HelmetConstants.TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase(); // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === _HelmetConstants.TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === _HelmetConstants.TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n } // Special case for innerHTML which doesn't work lowercased\n\n\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || attributeKey === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT || attributeKey === _HelmetConstants.TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n }); // Update seen tags with tags from this instance\n\n var keys = Object.keys(instanceSeenTags);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = (0, _objectAssign2[\"default\"])({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([_HelmetConstants.TAG_PROPERTIES.HREF], propsList),\n bodyAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.LINK, [_HelmetConstants.TAG_PROPERTIES.REL, _HelmetConstants.TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.META, [_HelmetConstants.TAG_PROPERTIES.NAME, _HelmetConstants.TAG_PROPERTIES.CHARSET, _HelmetConstants.TAG_PROPERTIES.HTTPEQUIV, _HelmetConstants.TAG_PROPERTIES.PROPERTY, _HelmetConstants.TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.NOSCRIPT, [_HelmetConstants.TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.SCRIPT, [_HelmetConstants.TAG_PROPERTIES.SRC, _HelmetConstants.TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.STYLE, [_HelmetConstants.TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n updateAttributes(_HelmetConstants.TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(_HelmetConstants.TAG_NAMES.HTML, htmlAttributes);\n updateTitle(title, titleAttributes);\n var tagUpdates = {\n baseTag: updateTags(_HelmetConstants.TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(_HelmetConstants.TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(_HelmetConstants.TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(_HelmetConstants.TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(_HelmetConstants.TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(_HelmetConstants.TAG_NAMES.STYLE, styleTags)\n };\n var addedTags = {};\n var removedTags = {};\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n cb && cb();\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(_HelmetConstants.TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(_HelmetConstants.HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(_HelmetConstants.HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(_HelmetConstants.HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(_HelmetConstants.HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(_HelmetConstants.TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + _HelmetConstants.HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(_HelmetConstants.HELMET_ATTRIBUTE, \"true\"); // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\" : \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || attribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n var isSelfClosing = _HelmetConstants.SELF_CLOSING_TAGS.indexOf(type) === -1;\n return str + \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"</\" + type + \">\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[_HelmetConstants.REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(props).reduce(function (obj, key) {\n obj[_HelmetConstants.HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps; // assigning into an array to define toString function on it\n\n\n var initProps = (_initProps = {\n key: title\n }, _initProps[_HelmetConstants.HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n return [_react2[\"default\"].createElement(_HelmetConstants.TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[_HelmetConstants.HELMET_ATTRIBUTE] = true, _mappedTag);\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = _HelmetConstants.REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || mappedAttribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = {\n __html: content\n };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return _react2[\"default\"].createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case _HelmetConstants.TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n\n case _HelmetConstants.ATTRIBUTE_NAMES.BODY:\n case _HelmetConstants.ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(_HelmetConstants.TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(_HelmetConstants.ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(_HelmetConstants.ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(_HelmetConstants.TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(_HelmetConstants.TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(_HelmetConstants.TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(_HelmetConstants.TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(_HelmetConstants.TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(_HelmetConstants.TAG_NAMES.TITLE, {\n title: title,\n titleAttributes: titleAttributes\n }, encode)\n };\n};\n\nexports.convertReactPropstoHtmlAttributes = convertReactPropstoHtmlAttributes;\nexports.handleClientStateChange = handleClientStateChange;\nexports.mapStateOnServer = mapStateOnServer;\nexports.reducePropsToState = reducePropsToState;\nexports.requestAnimationFrame = requestAnimationFrame;\nexports.warn = warn;","/** @license React v16.12.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nrequire(\"core-js/modules/es6.function.bind\");\n\nrequire(\"core-js/modules/es6.regexp.to-string\");\n\nrequire(\"core-js/modules/es6.date.to-string\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\nrequire(\"core-js/modules/es6.array.is-array\");\n\nrequire(\"core-js/modules/es6.regexp.replace\");\n\nrequire(\"core-js/modules/es7.symbol.async-iterator\");\n\nrequire(\"core-js/modules/es6.symbol\");\n\nvar h = require(\"object-assign\"),\n n = \"function\" === typeof Symbol && Symbol[\"for\"],\n p = n ? Symbol[\"for\"](\"react.element\") : 60103,\n q = n ? Symbol[\"for\"](\"react.portal\") : 60106,\n r = n ? Symbol[\"for\"](\"react.fragment\") : 60107,\n t = n ? Symbol[\"for\"](\"react.strict_mode\") : 60108,\n u = n ? Symbol[\"for\"](\"react.profiler\") : 60114,\n v = n ? Symbol[\"for\"](\"react.provider\") : 60109,\n w = n ? Symbol[\"for\"](\"react.context\") : 60110,\n x = n ? Symbol[\"for\"](\"react.forward_ref\") : 60112,\n y = n ? Symbol[\"for\"](\"react.suspense\") : 60113;\n\nn && Symbol[\"for\"](\"react.suspense_list\");\nvar z = n ? Symbol[\"for\"](\"react.memo\") : 60115,\n aa = n ? Symbol[\"for\"](\"react.lazy\") : 60116;\nn && Symbol[\"for\"](\"react.fundamental\");\nn && Symbol[\"for\"](\"react.responder\");\nn && Symbol[\"for\"](\"react.scope\");\nvar A = \"function\" === typeof Symbol && Symbol.iterator;\n\nfunction B(a) {\n for (var b = \"https://reactjs.org/docs/error-decoder.html?invariant=\" + a, c = 1; c < arguments.length; c++) {\n b += \"&args[]=\" + encodeURIComponent(arguments[c]);\n }\n\n return \"Minified React error #\" + a + \"; visit \" + b + \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";\n}\n\nvar C = {\n isMounted: function isMounted() {\n return !1;\n },\n enqueueForceUpdate: function enqueueForceUpdate() {},\n enqueueReplaceState: function enqueueReplaceState() {},\n enqueueSetState: function enqueueSetState() {}\n},\n D = {};\n\nfunction E(a, b, c) {\n this.props = a;\n this.context = b;\n this.refs = D;\n this.updater = c || C;\n}\n\nE.prototype.isReactComponent = {};\n\nE.prototype.setState = function (a, b) {\n if (\"object\" !== typeof a && \"function\" !== typeof a && null != a) throw Error(B(85));\n this.updater.enqueueSetState(this, a, b, \"setState\");\n};\n\nE.prototype.forceUpdate = function (a) {\n this.updater.enqueueForceUpdate(this, a, \"forceUpdate\");\n};\n\nfunction F() {}\n\nF.prototype = E.prototype;\n\nfunction G(a, b, c) {\n this.props = a;\n this.context = b;\n this.refs = D;\n this.updater = c || C;\n}\n\nvar H = G.prototype = new F();\nH.constructor = G;\nh(H, E.prototype);\nH.isPureReactComponent = !0;\nvar I = {\n current: null\n},\n J = {\n current: null\n},\n K = Object.prototype.hasOwnProperty,\n L = {\n key: !0,\n ref: !0,\n __self: !0,\n __source: !0\n};\n\nfunction M(a, b, c) {\n var e,\n d = {},\n g = null,\n l = null;\n if (null != b) for (e in void 0 !== b.ref && (l = b.ref), void 0 !== b.key && (g = \"\" + b.key), b) {\n K.call(b, e) && !L.hasOwnProperty(e) && (d[e] = b[e]);\n }\n var f = arguments.length - 2;\n if (1 === f) d.children = c;else if (1 < f) {\n for (var k = Array(f), m = 0; m < f; m++) {\n k[m] = arguments[m + 2];\n }\n\n d.children = k;\n }\n if (a && a.defaultProps) for (e in f = a.defaultProps, f) {\n void 0 === d[e] && (d[e] = f[e]);\n }\n return {\n $$typeof: p,\n type: a,\n key: g,\n ref: l,\n props: d,\n _owner: J.current\n };\n}\n\nfunction ba(a, b) {\n return {\n $$typeof: p,\n type: a.type,\n key: b,\n ref: a.ref,\n props: a.props,\n _owner: a._owner\n };\n}\n\nfunction N(a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === p;\n}\n\nfunction escape(a) {\n var b = {\n \"=\": \"=0\",\n \":\": \"=2\"\n };\n return \"$\" + (\"\" + a).replace(/[=:]/g, function (a) {\n return b[a];\n });\n}\n\nvar O = /\\/+/g,\n P = [];\n\nfunction Q(a, b, c, e) {\n if (P.length) {\n var d = P.pop();\n d.result = a;\n d.keyPrefix = b;\n d.func = c;\n d.context = e;\n d.count = 0;\n return d;\n }\n\n return {\n result: a,\n keyPrefix: b,\n func: c,\n context: e,\n count: 0\n };\n}\n\nfunction R(a) {\n a.result = null;\n a.keyPrefix = null;\n a.func = null;\n a.context = null;\n a.count = 0;\n 10 > P.length && P.push(a);\n}\n\nfunction S(a, b, c, e) {\n var d = typeof a;\n if (\"undefined\" === d || \"boolean\" === d) a = null;\n var g = !1;\n if (null === a) g = !0;else switch (d) {\n case \"string\":\n case \"number\":\n g = !0;\n break;\n\n case \"object\":\n switch (a.$$typeof) {\n case p:\n case q:\n g = !0;\n }\n\n }\n if (g) return c(e, a, \"\" === b ? \".\" + T(a, 0) : b), 1;\n g = 0;\n b = \"\" === b ? \".\" : b + \":\";\n if (Array.isArray(a)) for (var l = 0; l < a.length; l++) {\n d = a[l];\n var f = b + T(d, l);\n g += S(d, f, c, e);\n } else if (null === a || \"object\" !== typeof a ? f = null : (f = A && a[A] || a[\"@@iterator\"], f = \"function\" === typeof f ? f : null), \"function\" === typeof f) for (a = f.call(a), l = 0; !(d = a.next()).done;) {\n d = d.value, f = b + T(d, l++), g += S(d, f, c, e);\n } else if (\"object\" === d) throw c = \"\" + a, Error(B(31, \"[object Object]\" === c ? \"object with keys {\" + Object.keys(a).join(\", \") + \"}\" : c, \"\"));\n return g;\n}\n\nfunction U(a, b, c) {\n return null == a ? 0 : S(a, \"\", b, c);\n}\n\nfunction T(a, b) {\n return \"object\" === typeof a && null !== a && null != a.key ? escape(a.key) : b.toString(36);\n}\n\nfunction ca(a, b) {\n a.func.call(a.context, b, a.count++);\n}\n\nfunction da(a, b, c) {\n var e = a.result,\n d = a.keyPrefix;\n a = a.func.call(a.context, b, a.count++);\n Array.isArray(a) ? V(a, e, c, function (a) {\n return a;\n }) : null != a && (N(a) && (a = ba(a, d + (!a.key || b && b.key === a.key ? \"\" : (\"\" + a.key).replace(O, \"$&/\") + \"/\") + c)), e.push(a));\n}\n\nfunction V(a, b, c, e, d) {\n var g = \"\";\n null != c && (g = (\"\" + c).replace(O, \"$&/\") + \"/\");\n b = Q(b, g, e, d);\n U(a, da, b);\n R(b);\n}\n\nfunction W() {\n var a = I.current;\n if (null === a) throw Error(B(321));\n return a;\n}\n\nvar X = {\n Children: {\n map: function map(a, b, c) {\n if (null == a) return a;\n var e = [];\n V(a, e, null, b, c);\n return e;\n },\n forEach: function forEach(a, b, c) {\n if (null == a) return a;\n b = Q(null, null, b, c);\n U(a, ca, b);\n R(b);\n },\n count: function count(a) {\n return U(a, function () {\n return null;\n }, null);\n },\n toArray: function toArray(a) {\n var b = [];\n V(a, b, null, function (a) {\n return a;\n });\n return b;\n },\n only: function only(a) {\n if (!N(a)) throw Error(B(143));\n return a;\n }\n },\n createRef: function createRef() {\n return {\n current: null\n };\n },\n Component: E,\n PureComponent: G,\n createContext: function createContext(a, b) {\n void 0 === b && (b = null);\n a = {\n $$typeof: w,\n _calculateChangedBits: b,\n _currentValue: a,\n _currentValue2: a,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n a.Provider = {\n $$typeof: v,\n _context: a\n };\n return a.Consumer = a;\n },\n forwardRef: function forwardRef(a) {\n return {\n $$typeof: x,\n render: a\n };\n },\n lazy: function lazy(a) {\n return {\n $$typeof: aa,\n _ctor: a,\n _status: -1,\n _result: null\n };\n },\n memo: function memo(a, b) {\n return {\n $$typeof: z,\n type: a,\n compare: void 0 === b ? null : b\n };\n },\n useCallback: function useCallback(a, b) {\n return W().useCallback(a, b);\n },\n useContext: function useContext(a, b) {\n return W().useContext(a, b);\n },\n useEffect: function useEffect(a, b) {\n return W().useEffect(a, b);\n },\n useImperativeHandle: function useImperativeHandle(a, b, c) {\n return W().useImperativeHandle(a, b, c);\n },\n useDebugValue: function useDebugValue() {},\n useLayoutEffect: function useLayoutEffect(a, b) {\n return W().useLayoutEffect(a, b);\n },\n useMemo: function useMemo(a, b) {\n return W().useMemo(a, b);\n },\n useReducer: function useReducer(a, b, c) {\n return W().useReducer(a, b, c);\n },\n useRef: function useRef(a) {\n return W().useRef(a);\n },\n useState: function useState(a) {\n return W().useState(a);\n },\n Fragment: r,\n Profiler: u,\n StrictMode: t,\n Suspense: y,\n createElement: M,\n cloneElement: function cloneElement(a, b, c) {\n if (null === a || void 0 === a) throw Error(B(267, a));\n var e = h({}, a.props),\n d = a.key,\n g = a.ref,\n l = a._owner;\n\n if (null != b) {\n void 0 !== b.ref && (g = b.ref, l = J.current);\n void 0 !== b.key && (d = \"\" + b.key);\n if (a.type && a.type.defaultProps) var f = a.type.defaultProps;\n\n for (k in b) {\n K.call(b, k) && !L.hasOwnProperty(k) && (e[k] = void 0 === b[k] && void 0 !== f ? f[k] : b[k]);\n }\n }\n\n var k = arguments.length - 2;\n if (1 === k) e.children = c;else if (1 < k) {\n f = Array(k);\n\n for (var m = 0; m < k; m++) {\n f[m] = arguments[m + 2];\n }\n\n e.children = f;\n }\n return {\n $$typeof: p,\n type: a.type,\n key: d,\n ref: g,\n props: e,\n _owner: l\n };\n },\n createFactory: function createFactory(a) {\n var b = M.bind(null, a);\n b.type = a;\n return b;\n },\n isValidElement: N,\n version: \"16.12.0\",\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: {\n ReactCurrentDispatcher: I,\n ReactCurrentBatchConfig: {\n suspense: null\n },\n ReactCurrentOwner: J,\n IsSomeRendererActing: {\n current: !1\n },\n assign: h\n }\n},\n Y = {\n \"default\": X\n},\n Z = Y && X || Y;\nmodule.exports = Z[\"default\"] || Z;","var g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if (typeof window === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;","/** @license React v16.12.0\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';\n\nrequire(\"core-js/modules/es6.weak-set\");\n\nrequire(\"core-js/modules/es6.object.is\");\n\nrequire(\"core-js/modules/es6.string.trim\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\nrequire(\"core-js/modules/es6.set\");\n\nrequire(\"core-js/modules/es6.weak-map\");\n\nrequire(\"core-js/modules/es6.function.bind\");\n\nrequire(\"core-js/modules/es6.date.now\");\n\nrequire(\"core-js/modules/es6.regexp.to-string\");\n\nrequire(\"core-js/modules/es6.date.to-string\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nrequire(\"core-js/modules/es6.regexp.split\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.string.iterator\");\n\nrequire(\"core-js/modules/es6.map\");\n\nrequire(\"core-js/modules/es6.regexp.replace\");\n\nrequire(\"core-js/modules/es6.function.name\");\n\nrequire(\"core-js/modules/es7.symbol.async-iterator\");\n\nrequire(\"core-js/modules/es6.symbol\");\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.array.is-array\");\n\nrequire(\"core-js/modules/es6.array.index-of\");\n\nvar aa = require(\"react\"),\n n = require(\"object-assign\"),\n q = require(\"scheduler\");\n\nfunction u(a) {\n for (var b = \"https://reactjs.org/docs/error-decoder.html?invariant=\" + a, c = 1; c < arguments.length; c++) {\n b += \"&args[]=\" + encodeURIComponent(arguments[c]);\n }\n\n return \"Minified React error #\" + a + \"; visit \" + b + \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";\n}\n\nif (!aa) throw Error(u(227));\nvar ba = null,\n ca = {};\n\nfunction da() {\n if (ba) for (var a in ca) {\n var b = ca[a],\n c = ba.indexOf(a);\n if (!(-1 < c)) throw Error(u(96, a));\n\n if (!ea[c]) {\n if (!b.extractEvents) throw Error(u(97, a));\n ea[c] = b;\n c = b.eventTypes;\n\n for (var d in c) {\n var e = void 0;\n var f = c[d],\n g = b,\n h = d;\n if (fa.hasOwnProperty(h)) throw Error(u(99, h));\n fa[h] = f;\n var k = f.phasedRegistrationNames;\n\n if (k) {\n for (e in k) {\n k.hasOwnProperty(e) && ha(k[e], g, h);\n }\n\n e = !0;\n } else f.registrationName ? (ha(f.registrationName, g, h), e = !0) : e = !1;\n\n if (!e) throw Error(u(98, d, a));\n }\n }\n }\n}\n\nfunction ha(a, b, c) {\n if (ia[a]) throw Error(u(100, a));\n ia[a] = b;\n ja[a] = b.eventTypes[c].dependencies;\n}\n\nvar ea = [],\n fa = {},\n ia = {},\n ja = {};\n\nfunction ka(a, b, c, d, e, f, g, h, k) {\n var l = Array.prototype.slice.call(arguments, 3);\n\n try {\n b.apply(c, l);\n } catch (m) {\n this.onError(m);\n }\n}\n\nvar la = !1,\n ma = null,\n na = !1,\n oa = null,\n pa = {\n onError: function onError(a) {\n la = !0;\n ma = a;\n }\n};\n\nfunction qa(a, b, c, d, e, f, g, h, k) {\n la = !1;\n ma = null;\n ka.apply(pa, arguments);\n}\n\nfunction ra(a, b, c, d, e, f, g, h, k) {\n qa.apply(this, arguments);\n\n if (la) {\n if (la) {\n var l = ma;\n la = !1;\n ma = null;\n } else throw Error(u(198));\n\n na || (na = !0, oa = l);\n }\n}\n\nvar sa = null,\n ua = null,\n va = null;\n\nfunction wa(a, b, c) {\n var d = a.type || \"unknown-event\";\n a.currentTarget = va(c);\n ra(d, b, void 0, a);\n a.currentTarget = null;\n}\n\nfunction xa(a, b) {\n if (null == b) throw Error(u(30));\n if (null == a) return b;\n\n if (Array.isArray(a)) {\n if (Array.isArray(b)) return a.push.apply(a, b), a;\n a.push(b);\n return a;\n }\n\n return Array.isArray(b) ? [a].concat(b) : [a, b];\n}\n\nfunction ya(a, b, c) {\n Array.isArray(a) ? a.forEach(b, c) : a && b.call(c, a);\n}\n\nvar za = null;\n\nfunction Aa(a) {\n if (a) {\n var b = a._dispatchListeners,\n c = a._dispatchInstances;\n if (Array.isArray(b)) for (var d = 0; d < b.length && !a.isPropagationStopped(); d++) {\n wa(a, b[d], c[d]);\n } else b && wa(a, b, c);\n a._dispatchListeners = null;\n a._dispatchInstances = null;\n a.isPersistent() || a.constructor.release(a);\n }\n}\n\nfunction Ba(a) {\n null !== a && (za = xa(za, a));\n a = za;\n za = null;\n\n if (a) {\n ya(a, Aa);\n if (za) throw Error(u(95));\n if (na) throw a = oa, na = !1, oa = null, a;\n }\n}\n\nvar Ca = {\n injectEventPluginOrder: function injectEventPluginOrder(a) {\n if (ba) throw Error(u(101));\n ba = Array.prototype.slice.call(a);\n da();\n },\n injectEventPluginsByName: function injectEventPluginsByName(a) {\n var b = !1,\n c;\n\n for (c in a) {\n if (a.hasOwnProperty(c)) {\n var d = a[c];\n\n if (!ca.hasOwnProperty(c) || ca[c] !== d) {\n if (ca[c]) throw Error(u(102, c));\n ca[c] = d;\n b = !0;\n }\n }\n }\n\n b && da();\n }\n};\n\nfunction Da(a, b) {\n var c = a.stateNode;\n if (!c) return null;\n var d = sa(c);\n if (!d) return null;\n c = d[b];\n\n a: switch (b) {\n case \"onClick\":\n case \"onClickCapture\":\n case \"onDoubleClick\":\n case \"onDoubleClickCapture\":\n case \"onMouseDown\":\n case \"onMouseDownCapture\":\n case \"onMouseMove\":\n case \"onMouseMoveCapture\":\n case \"onMouseUp\":\n case \"onMouseUpCapture\":\n (d = !d.disabled) || (a = a.type, d = !(\"button\" === a || \"input\" === a || \"select\" === a || \"textarea\" === a));\n a = !d;\n break a;\n\n default:\n a = !1;\n }\n\n if (a) return null;\n if (c && \"function\" !== typeof c) throw Error(u(231, b, typeof c));\n return c;\n}\n\nvar Ea = aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\nEa.hasOwnProperty(\"ReactCurrentDispatcher\") || (Ea.ReactCurrentDispatcher = {\n current: null\n});\nEa.hasOwnProperty(\"ReactCurrentBatchConfig\") || (Ea.ReactCurrentBatchConfig = {\n suspense: null\n});\nvar Fa = /^(.*)[\\\\\\/]/,\n w = \"function\" === typeof Symbol && Symbol[\"for\"],\n Ga = w ? Symbol[\"for\"](\"react.element\") : 60103,\n Ha = w ? Symbol[\"for\"](\"react.portal\") : 60106,\n Ia = w ? Symbol[\"for\"](\"react.fragment\") : 60107,\n Ja = w ? Symbol[\"for\"](\"react.strict_mode\") : 60108,\n Ka = w ? Symbol[\"for\"](\"react.profiler\") : 60114,\n La = w ? Symbol[\"for\"](\"react.provider\") : 60109,\n Ma = w ? Symbol[\"for\"](\"react.context\") : 60110,\n Na = w ? Symbol[\"for\"](\"react.concurrent_mode\") : 60111,\n Oa = w ? Symbol[\"for\"](\"react.forward_ref\") : 60112,\n Pa = w ? Symbol[\"for\"](\"react.suspense\") : 60113,\n Qa = w ? Symbol[\"for\"](\"react.suspense_list\") : 60120,\n Ra = w ? Symbol[\"for\"](\"react.memo\") : 60115,\n Sa = w ? Symbol[\"for\"](\"react.lazy\") : 60116;\nw && Symbol[\"for\"](\"react.fundamental\");\nw && Symbol[\"for\"](\"react.responder\");\nw && Symbol[\"for\"](\"react.scope\");\nvar Ta = \"function\" === typeof Symbol && Symbol.iterator;\n\nfunction Ua(a) {\n if (null === a || \"object\" !== typeof a) return null;\n a = Ta && a[Ta] || a[\"@@iterator\"];\n return \"function\" === typeof a ? a : null;\n}\n\nfunction Va(a) {\n if (-1 === a._status) {\n a._status = 0;\n var b = a._ctor;\n b = b();\n a._result = b;\n b.then(function (b) {\n 0 === a._status && (b = b[\"default\"], a._status = 1, a._result = b);\n }, function (b) {\n 0 === a._status && (a._status = 2, a._result = b);\n });\n }\n}\n\nfunction Wa(a) {\n if (null == a) return null;\n if (\"function\" === typeof a) return a.displayName || a.name || null;\n if (\"string\" === typeof a) return a;\n\n switch (a) {\n case Ia:\n return \"Fragment\";\n\n case Ha:\n return \"Portal\";\n\n case Ka:\n return \"Profiler\";\n\n case Ja:\n return \"StrictMode\";\n\n case Pa:\n return \"Suspense\";\n\n case Qa:\n return \"SuspenseList\";\n }\n\n if (\"object\" === typeof a) switch (a.$$typeof) {\n case Ma:\n return \"Context.Consumer\";\n\n case La:\n return \"Context.Provider\";\n\n case Oa:\n var b = a.render;\n b = b.displayName || b.name || \"\";\n return a.displayName || (\"\" !== b ? \"ForwardRef(\" + b + \")\" : \"ForwardRef\");\n\n case Ra:\n return Wa(a.type);\n\n case Sa:\n if (a = 1 === a._status ? a._result : null) return Wa(a);\n }\n return null;\n}\n\nfunction Xa(a) {\n var b = \"\";\n\n do {\n a: switch (a.tag) {\n case 3:\n case 4:\n case 6:\n case 7:\n case 10:\n case 9:\n var c = \"\";\n break a;\n\n default:\n var d = a._debugOwner,\n e = a._debugSource,\n f = Wa(a.type);\n c = null;\n d && (c = Wa(d.type));\n d = f;\n f = \"\";\n e ? f = \" (at \" + e.fileName.replace(Fa, \"\") + \":\" + e.lineNumber + \")\" : c && (f = \" (created by \" + c + \")\");\n c = \"\\n in \" + (d || \"Unknown\") + f;\n }\n\n b += c;\n a = a[\"return\"];\n } while (a);\n\n return b;\n}\n\nvar Ya = !(\"undefined\" === typeof window || \"undefined\" === typeof window.document || \"undefined\" === typeof window.document.createElement),\n Za = null,\n $a = null,\n ab = null;\n\nfunction bb(a) {\n if (a = ua(a)) {\n if (\"function\" !== typeof Za) throw Error(u(280));\n var b = sa(a.stateNode);\n Za(a.stateNode, a.type, b);\n }\n}\n\nfunction cb(a) {\n $a ? ab ? ab.push(a) : ab = [a] : $a = a;\n}\n\nfunction db() {\n if ($a) {\n var a = $a,\n b = ab;\n ab = $a = null;\n bb(a);\n if (b) for (a = 0; a < b.length; a++) {\n bb(b[a]);\n }\n }\n}\n\nfunction eb(a, b) {\n return a(b);\n}\n\nfunction fb(a, b, c, d) {\n return a(b, c, d);\n}\n\nfunction gb() {}\n\nvar hb = eb,\n ib = !1,\n jb = !1;\n\nfunction kb() {\n if (null !== $a || null !== ab) gb(), db();\n}\n\nnew Map();\nvar lb = /^[: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][: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\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,\n mb = Object.prototype.hasOwnProperty,\n nb = {},\n ob = {};\n\nfunction pb(a) {\n if (mb.call(ob, a)) return !0;\n if (mb.call(nb, a)) return !1;\n if (lb.test(a)) return ob[a] = !0;\n nb[a] = !0;\n return !1;\n}\n\nfunction qb(a, b, c, d) {\n if (null !== c && 0 === c.type) return !1;\n\n switch (typeof b) {\n case \"function\":\n case \"symbol\":\n return !0;\n\n case \"boolean\":\n if (d) return !1;\n if (null !== c) return !c.acceptsBooleans;\n a = a.toLowerCase().slice(0, 5);\n return \"data-\" !== a && \"aria-\" !== a;\n\n default:\n return !1;\n }\n}\n\nfunction rb(a, b, c, d) {\n if (null === b || \"undefined\" === typeof b || qb(a, b, c, d)) return !0;\n if (d) return !1;\n if (null !== c) switch (c.type) {\n case 3:\n return !b;\n\n case 4:\n return !1 === b;\n\n case 5:\n return isNaN(b);\n\n case 6:\n return isNaN(b) || 1 > b;\n }\n return !1;\n}\n\nfunction B(a, b, c, d, e, f) {\n this.acceptsBooleans = 2 === b || 3 === b || 4 === b;\n this.attributeName = d;\n this.attributeNamespace = e;\n this.mustUseProperty = c;\n this.propertyName = a;\n this.type = b;\n this.sanitizeURL = f;\n}\n\nvar D = {};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function (a) {\n D[a] = new B(a, 0, !1, a, null, !1);\n});\n[[\"acceptCharset\", \"accept-charset\"], [\"className\", \"class\"], [\"htmlFor\", \"for\"], [\"httpEquiv\", \"http-equiv\"]].forEach(function (a) {\n var b = a[0];\n D[b] = new B(b, 1, !1, a[1], null, !1);\n});\n[\"contentEditable\", \"draggable\", \"spellCheck\", \"value\"].forEach(function (a) {\n D[a] = new B(a, 2, !1, a.toLowerCase(), null, !1);\n});\n[\"autoReverse\", \"externalResourcesRequired\", \"focusable\", \"preserveAlpha\"].forEach(function (a) {\n D[a] = new B(a, 2, !1, a, null, !1);\n});\n\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function (a) {\n D[a] = new B(a, 3, !1, a.toLowerCase(), null, !1);\n});\n[\"checked\", \"multiple\", \"muted\", \"selected\"].forEach(function (a) {\n D[a] = new B(a, 3, !0, a, null, !1);\n});\n[\"capture\", \"download\"].forEach(function (a) {\n D[a] = new B(a, 4, !1, a, null, !1);\n});\n[\"cols\", \"rows\", \"size\", \"span\"].forEach(function (a) {\n D[a] = new B(a, 6, !1, a, null, !1);\n});\n[\"rowSpan\", \"start\"].forEach(function (a) {\n D[a] = new B(a, 5, !1, a.toLowerCase(), null, !1);\n});\nvar sb = /[\\-:]([a-z])/g;\n\nfunction tb(a) {\n return a[1].toUpperCase();\n}\n\n\"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\".split(\" \").forEach(function (a) {\n var b = a.replace(sb, tb);\n D[b] = new B(b, 1, !1, a, null, !1);\n});\n\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function (a) {\n var b = a.replace(sb, tb);\n D[b] = new B(b, 1, !1, a, \"http://www.w3.org/1999/xlink\", !1);\n});\n[\"xml:base\", \"xml:lang\", \"xml:space\"].forEach(function (a) {\n var b = a.replace(sb, tb);\n D[b] = new B(b, 1, !1, a, \"http://www.w3.org/XML/1998/namespace\", !1);\n});\n[\"tabIndex\", \"crossOrigin\"].forEach(function (a) {\n D[a] = new B(a, 1, !1, a.toLowerCase(), null, !1);\n});\nD.xlinkHref = new B(\"xlinkHref\", 1, !1, \"xlink:href\", \"http://www.w3.org/1999/xlink\", !0);\n[\"src\", \"href\", \"action\", \"formAction\"].forEach(function (a) {\n D[a] = new B(a, 1, !1, a.toLowerCase(), null, !0);\n});\n\nfunction ub(a) {\n switch (typeof a) {\n case \"boolean\":\n case \"number\":\n case \"object\":\n case \"string\":\n case \"undefined\":\n return a;\n\n default:\n return \"\";\n }\n}\n\nfunction vb(a, b, c, d) {\n var e = D.hasOwnProperty(b) ? D[b] : null;\n var f = null !== e ? 0 === e.type : d ? !1 : !(2 < b.length) || \"o\" !== b[0] && \"O\" !== b[0] || \"n\" !== b[1] && \"N\" !== b[1] ? !1 : !0;\n f || (rb(b, c, e, d) && (c = null), d || null === e ? pb(b) && (null === c ? a.removeAttribute(b) : a.setAttribute(b, \"\" + c)) : e.mustUseProperty ? a[e.propertyName] = null === c ? 3 === e.type ? !1 : \"\" : c : (b = e.attributeName, d = e.attributeNamespace, null === c ? a.removeAttribute(b) : (e = e.type, c = 3 === e || 4 === e && !0 === c ? \"\" : \"\" + c, d ? a.setAttributeNS(d, b, c) : a.setAttribute(b, c))));\n}\n\nfunction wb(a) {\n var b = a.type;\n return (a = a.nodeName) && \"input\" === a.toLowerCase() && (\"checkbox\" === b || \"radio\" === b);\n}\n\nfunction xb(a) {\n var b = wb(a) ? \"checked\" : \"value\",\n c = Object.getOwnPropertyDescriptor(a.constructor.prototype, b),\n d = \"\" + a[b];\n\n if (!a.hasOwnProperty(b) && \"undefined\" !== typeof c && \"function\" === typeof c.get && \"function\" === typeof c.set) {\n var e = c.get,\n f = c.set;\n Object.defineProperty(a, b, {\n configurable: !0,\n get: function get() {\n return e.call(this);\n },\n set: function set(a) {\n d = \"\" + a;\n f.call(this, a);\n }\n });\n Object.defineProperty(a, b, {\n enumerable: c.enumerable\n });\n return {\n getValue: function getValue() {\n return d;\n },\n setValue: function setValue(a) {\n d = \"\" + a;\n },\n stopTracking: function stopTracking() {\n a._valueTracker = null;\n delete a[b];\n }\n };\n }\n}\n\nfunction yb(a) {\n a._valueTracker || (a._valueTracker = xb(a));\n}\n\nfunction zb(a) {\n if (!a) return !1;\n var b = a._valueTracker;\n if (!b) return !0;\n var c = b.getValue();\n var d = \"\";\n a && (d = wb(a) ? a.checked ? \"true\" : \"false\" : a.value);\n a = d;\n return a !== c ? (b.setValue(a), !0) : !1;\n}\n\nfunction Ab(a, b) {\n var c = b.checked;\n return n({}, b, {\n defaultChecked: void 0,\n defaultValue: void 0,\n value: void 0,\n checked: null != c ? c : a._wrapperState.initialChecked\n });\n}\n\nfunction Bb(a, b) {\n var c = null == b.defaultValue ? \"\" : b.defaultValue,\n d = null != b.checked ? b.checked : b.defaultChecked;\n c = ub(null != b.value ? b.value : c);\n a._wrapperState = {\n initialChecked: d,\n initialValue: c,\n controlled: \"checkbox\" === b.type || \"radio\" === b.type ? null != b.checked : null != b.value\n };\n}\n\nfunction Cb(a, b) {\n b = b.checked;\n null != b && vb(a, \"checked\", b, !1);\n}\n\nfunction Eb(a, b) {\n Cb(a, b);\n var c = ub(b.value),\n d = b.type;\n if (null != c) {\n if (\"number\" === d) {\n if (0 === c && \"\" === a.value || a.value != c) a.value = \"\" + c;\n } else a.value !== \"\" + c && (a.value = \"\" + c);\n } else if (\"submit\" === d || \"reset\" === d) {\n a.removeAttribute(\"value\");\n return;\n }\n b.hasOwnProperty(\"value\") ? Fb(a, b.type, c) : b.hasOwnProperty(\"defaultValue\") && Fb(a, b.type, ub(b.defaultValue));\n null == b.checked && null != b.defaultChecked && (a.defaultChecked = !!b.defaultChecked);\n}\n\nfunction Gb(a, b, c) {\n if (b.hasOwnProperty(\"value\") || b.hasOwnProperty(\"defaultValue\")) {\n var d = b.type;\n if (!(\"submit\" !== d && \"reset\" !== d || void 0 !== b.value && null !== b.value)) return;\n b = \"\" + a._wrapperState.initialValue;\n c || b === a.value || (a.value = b);\n a.defaultValue = b;\n }\n\n c = a.name;\n \"\" !== c && (a.name = \"\");\n a.defaultChecked = !a.defaultChecked;\n a.defaultChecked = !!a._wrapperState.initialChecked;\n \"\" !== c && (a.name = c);\n}\n\nfunction Fb(a, b, c) {\n if (\"number\" !== b || a.ownerDocument.activeElement !== a) null == c ? a.defaultValue = \"\" + a._wrapperState.initialValue : a.defaultValue !== \"\" + c && (a.defaultValue = \"\" + c);\n}\n\nfunction Hb(a) {\n var b = \"\";\n aa.Children.forEach(a, function (a) {\n null != a && (b += a);\n });\n return b;\n}\n\nfunction Ib(a, b) {\n a = n({\n children: void 0\n }, b);\n if (b = Hb(b.children)) a.children = b;\n return a;\n}\n\nfunction Jb(a, b, c, d) {\n a = a.options;\n\n if (b) {\n b = {};\n\n for (var e = 0; e < c.length; e++) {\n b[\"$\" + c[e]] = !0;\n }\n\n for (c = 0; c < a.length; c++) {\n e = b.hasOwnProperty(\"$\" + a[c].value), a[c].selected !== e && (a[c].selected = e), e && d && (a[c].defaultSelected = !0);\n }\n } else {\n c = \"\" + ub(c);\n b = null;\n\n for (e = 0; e < a.length; e++) {\n if (a[e].value === c) {\n a[e].selected = !0;\n d && (a[e].defaultSelected = !0);\n return;\n }\n\n null !== b || a[e].disabled || (b = a[e]);\n }\n\n null !== b && (b.selected = !0);\n }\n}\n\nfunction Kb(a, b) {\n if (null != b.dangerouslySetInnerHTML) throw Error(u(91));\n return n({}, b, {\n value: void 0,\n defaultValue: void 0,\n children: \"\" + a._wrapperState.initialValue\n });\n}\n\nfunction Lb(a, b) {\n var c = b.value;\n\n if (null == c) {\n c = b.defaultValue;\n b = b.children;\n\n if (null != b) {\n if (null != c) throw Error(u(92));\n\n if (Array.isArray(b)) {\n if (!(1 >= b.length)) throw Error(u(93));\n b = b[0];\n }\n\n c = b;\n }\n\n null == c && (c = \"\");\n }\n\n a._wrapperState = {\n initialValue: ub(c)\n };\n}\n\nfunction Mb(a, b) {\n var c = ub(b.value),\n d = ub(b.defaultValue);\n null != c && (c = \"\" + c, c !== a.value && (a.value = c), null == b.defaultValue && a.defaultValue !== c && (a.defaultValue = c));\n null != d && (a.defaultValue = \"\" + d);\n}\n\nfunction Nb(a) {\n var b = a.textContent;\n b === a._wrapperState.initialValue && \"\" !== b && null !== b && (a.value = b);\n}\n\nvar Ob = {\n html: \"http://www.w3.org/1999/xhtml\",\n mathml: \"http://www.w3.org/1998/Math/MathML\",\n svg: \"http://www.w3.org/2000/svg\"\n};\n\nfunction Pb(a) {\n switch (a) {\n case \"svg\":\n return \"http://www.w3.org/2000/svg\";\n\n case \"math\":\n return \"http://www.w3.org/1998/Math/MathML\";\n\n default:\n return \"http://www.w3.org/1999/xhtml\";\n }\n}\n\nfunction Qb(a, b) {\n return null == a || \"http://www.w3.org/1999/xhtml\" === a ? Pb(b) : \"http://www.w3.org/2000/svg\" === a && \"foreignObject\" === b ? \"http://www.w3.org/1999/xhtml\" : a;\n}\n\nvar Rb,\n Sb = function (a) {\n return \"undefined\" !== typeof MSApp && MSApp.execUnsafeLocalFunction ? function (b, c, d, e) {\n MSApp.execUnsafeLocalFunction(function () {\n return a(b, c, d, e);\n });\n } : a;\n}(function (a, b) {\n if (a.namespaceURI !== Ob.svg || \"innerHTML\" in a) a.innerHTML = b;else {\n Rb = Rb || document.createElement(\"div\");\n Rb.innerHTML = \"<svg>\" + b.valueOf().toString() + \"</svg>\";\n\n for (b = Rb.firstChild; a.firstChild;) {\n a.removeChild(a.firstChild);\n }\n\n for (; b.firstChild;) {\n a.appendChild(b.firstChild);\n }\n }\n});\n\nfunction Tb(a, b) {\n if (b) {\n var c = a.firstChild;\n\n if (c && c === a.lastChild && 3 === c.nodeType) {\n c.nodeValue = b;\n return;\n }\n }\n\n a.textContent = b;\n}\n\nfunction Ub(a, b) {\n var c = {};\n c[a.toLowerCase()] = b.toLowerCase();\n c[\"Webkit\" + a] = \"webkit\" + b;\n c[\"Moz\" + a] = \"moz\" + b;\n return c;\n}\n\nvar Vb = {\n animationend: Ub(\"Animation\", \"AnimationEnd\"),\n animationiteration: Ub(\"Animation\", \"AnimationIteration\"),\n animationstart: Ub(\"Animation\", \"AnimationStart\"),\n transitionend: Ub(\"Transition\", \"TransitionEnd\")\n},\n Wb = {},\n Xb = {};\nYa && (Xb = document.createElement(\"div\").style, \"AnimationEvent\" in window || (delete Vb.animationend.animation, delete Vb.animationiteration.animation, delete Vb.animationstart.animation), \"TransitionEvent\" in window || delete Vb.transitionend.transition);\n\nfunction Yb(a) {\n if (Wb[a]) return Wb[a];\n if (!Vb[a]) return a;\n var b = Vb[a],\n c;\n\n for (c in b) {\n if (b.hasOwnProperty(c) && c in Xb) return Wb[a] = b[c];\n }\n\n return a;\n}\n\nvar Zb = Yb(\"animationend\"),\n $b = Yb(\"animationiteration\"),\n ac = Yb(\"animationstart\"),\n bc = Yb(\"transitionend\"),\n cc = \"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \");\n\nfunction ec(a) {\n var b = a,\n c = a;\n if (a.alternate) for (; b[\"return\"];) {\n b = b[\"return\"];\n } else {\n a = b;\n\n do {\n b = a, 0 !== (b.effectTag & 1026) && (c = b[\"return\"]), a = b[\"return\"];\n } while (a);\n }\n return 3 === b.tag ? c : null;\n}\n\nfunction fc(a) {\n if (13 === a.tag) {\n var b = a.memoizedState;\n null === b && (a = a.alternate, null !== a && (b = a.memoizedState));\n if (null !== b) return b.dehydrated;\n }\n\n return null;\n}\n\nfunction gc(a) {\n if (ec(a) !== a) throw Error(u(188));\n}\n\nfunction hc(a) {\n var b = a.alternate;\n\n if (!b) {\n b = ec(a);\n if (null === b) throw Error(u(188));\n return b !== a ? null : a;\n }\n\n for (var c = a, d = b;;) {\n var e = c[\"return\"];\n if (null === e) break;\n var f = e.alternate;\n\n if (null === f) {\n d = e[\"return\"];\n\n if (null !== d) {\n c = d;\n continue;\n }\n\n break;\n }\n\n if (e.child === f.child) {\n for (f = e.child; f;) {\n if (f === c) return gc(e), a;\n if (f === d) return gc(e), b;\n f = f.sibling;\n }\n\n throw Error(u(188));\n }\n\n if (c[\"return\"] !== d[\"return\"]) c = e, d = f;else {\n for (var g = !1, h = e.child; h;) {\n if (h === c) {\n g = !0;\n c = e;\n d = f;\n break;\n }\n\n if (h === d) {\n g = !0;\n d = e;\n c = f;\n break;\n }\n\n h = h.sibling;\n }\n\n if (!g) {\n for (h = f.child; h;) {\n if (h === c) {\n g = !0;\n c = f;\n d = e;\n break;\n }\n\n if (h === d) {\n g = !0;\n d = f;\n c = e;\n break;\n }\n\n h = h.sibling;\n }\n\n if (!g) throw Error(u(189));\n }\n }\n if (c.alternate !== d) throw Error(u(190));\n }\n\n if (3 !== c.tag) throw Error(u(188));\n return c.stateNode.current === c ? a : b;\n}\n\nfunction ic(a) {\n a = hc(a);\n if (!a) return null;\n\n for (var b = a;;) {\n if (5 === b.tag || 6 === b.tag) return b;\n if (b.child) b.child[\"return\"] = b, b = b.child;else {\n if (b === a) break;\n\n for (; !b.sibling;) {\n if (!b[\"return\"] || b[\"return\"] === a) return null;\n b = b[\"return\"];\n }\n\n b.sibling[\"return\"] = b[\"return\"];\n b = b.sibling;\n }\n }\n\n return null;\n}\n\nvar jc,\n kc,\n lc,\n mc = !1,\n nc = [],\n oc = null,\n pc = null,\n qc = null,\n rc = new Map(),\n sc = new Map(),\n tc = [],\n uc = \"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),\n vc = \"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");\n\nfunction wc(a) {\n var b = xc(a);\n uc.forEach(function (c) {\n yc(c, a, b);\n });\n vc.forEach(function (c) {\n yc(c, a, b);\n });\n}\n\nfunction zc(a, b, c, d) {\n return {\n blockedOn: a,\n topLevelType: b,\n eventSystemFlags: c | 32,\n nativeEvent: d\n };\n}\n\nfunction Ac(a, b) {\n switch (a) {\n case \"focus\":\n case \"blur\":\n oc = null;\n break;\n\n case \"dragenter\":\n case \"dragleave\":\n pc = null;\n break;\n\n case \"mouseover\":\n case \"mouseout\":\n qc = null;\n break;\n\n case \"pointerover\":\n case \"pointerout\":\n rc[\"delete\"](b.pointerId);\n break;\n\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n sc[\"delete\"](b.pointerId);\n }\n}\n\nfunction Bc(a, b, c, d, e) {\n if (null === a || a.nativeEvent !== e) return a = zc(b, c, d, e), null !== b && (b = Cc(b), null !== b && kc(b)), a;\n a.eventSystemFlags |= d;\n return a;\n}\n\nfunction Dc(a, b, c, d) {\n switch (b) {\n case \"focus\":\n return oc = Bc(oc, a, b, c, d), !0;\n\n case \"dragenter\":\n return pc = Bc(pc, a, b, c, d), !0;\n\n case \"mouseover\":\n return qc = Bc(qc, a, b, c, d), !0;\n\n case \"pointerover\":\n var e = d.pointerId;\n rc.set(e, Bc(rc.get(e) || null, a, b, c, d));\n return !0;\n\n case \"gotpointercapture\":\n return e = d.pointerId, sc.set(e, Bc(sc.get(e) || null, a, b, c, d)), !0;\n }\n\n return !1;\n}\n\nfunction Ec(a) {\n var b = Fc(a.target);\n\n if (null !== b) {\n var c = ec(b);\n if (null !== c) if (b = c.tag, 13 === b) {\n if (b = fc(c), null !== b) {\n a.blockedOn = b;\n q.unstable_runWithPriority(a.priority, function () {\n lc(c);\n });\n return;\n }\n } else if (3 === b && c.stateNode.hydrate) {\n a.blockedOn = 3 === c.tag ? c.stateNode.containerInfo : null;\n return;\n }\n }\n\n a.blockedOn = null;\n}\n\nfunction Gc(a) {\n if (null !== a.blockedOn) return !1;\n var b = Hc(a.topLevelType, a.eventSystemFlags, a.nativeEvent);\n\n if (null !== b) {\n var c = Cc(b);\n null !== c && kc(c);\n a.blockedOn = b;\n return !1;\n }\n\n return !0;\n}\n\nfunction Ic(a, b, c) {\n Gc(a) && c[\"delete\"](b);\n}\n\nfunction Jc() {\n for (mc = !1; 0 < nc.length;) {\n var a = nc[0];\n\n if (null !== a.blockedOn) {\n a = Cc(a.blockedOn);\n null !== a && jc(a);\n break;\n }\n\n var b = Hc(a.topLevelType, a.eventSystemFlags, a.nativeEvent);\n null !== b ? a.blockedOn = b : nc.shift();\n }\n\n null !== oc && Gc(oc) && (oc = null);\n null !== pc && Gc(pc) && (pc = null);\n null !== qc && Gc(qc) && (qc = null);\n rc.forEach(Ic);\n sc.forEach(Ic);\n}\n\nfunction Kc(a, b) {\n a.blockedOn === b && (a.blockedOn = null, mc || (mc = !0, q.unstable_scheduleCallback(q.unstable_NormalPriority, Jc)));\n}\n\nfunction Lc(a) {\n function b(b) {\n return Kc(b, a);\n }\n\n if (0 < nc.length) {\n Kc(nc[0], a);\n\n for (var c = 1; c < nc.length; c++) {\n var d = nc[c];\n d.blockedOn === a && (d.blockedOn = null);\n }\n }\n\n null !== oc && Kc(oc, a);\n null !== pc && Kc(pc, a);\n null !== qc && Kc(qc, a);\n rc.forEach(b);\n sc.forEach(b);\n\n for (c = 0; c < tc.length; c++) {\n d = tc[c], d.blockedOn === a && (d.blockedOn = null);\n }\n\n for (; 0 < tc.length && (c = tc[0], null === c.blockedOn);) {\n Ec(c), null === c.blockedOn && tc.shift();\n }\n}\n\nfunction Mc(a) {\n a = a.target || a.srcElement || window;\n a.correspondingUseElement && (a = a.correspondingUseElement);\n return 3 === a.nodeType ? a.parentNode : a;\n}\n\nfunction Nc(a) {\n do {\n a = a[\"return\"];\n } while (a && 5 !== a.tag);\n\n return a ? a : null;\n}\n\nfunction Oc(a, b, c) {\n if (b = Da(a, c.dispatchConfig.phasedRegistrationNames[b])) c._dispatchListeners = xa(c._dispatchListeners, b), c._dispatchInstances = xa(c._dispatchInstances, a);\n}\n\nfunction Pc(a) {\n if (a && a.dispatchConfig.phasedRegistrationNames) {\n for (var b = a._targetInst, c = []; b;) {\n c.push(b), b = Nc(b);\n }\n\n for (b = c.length; 0 < b--;) {\n Oc(c[b], \"captured\", a);\n }\n\n for (b = 0; b < c.length; b++) {\n Oc(c[b], \"bubbled\", a);\n }\n }\n}\n\nfunction Qc(a, b, c) {\n a && c && c.dispatchConfig.registrationName && (b = Da(a, c.dispatchConfig.registrationName)) && (c._dispatchListeners = xa(c._dispatchListeners, b), c._dispatchInstances = xa(c._dispatchInstances, a));\n}\n\nfunction Rc(a) {\n a && a.dispatchConfig.registrationName && Qc(a._targetInst, null, a);\n}\n\nfunction Sc(a) {\n ya(a, Pc);\n}\n\nfunction Tc() {\n return !0;\n}\n\nfunction Uc() {\n return !1;\n}\n\nfunction E(a, b, c, d) {\n this.dispatchConfig = a;\n this._targetInst = b;\n this.nativeEvent = c;\n a = this.constructor.Interface;\n\n for (var e in a) {\n a.hasOwnProperty(e) && ((b = a[e]) ? this[e] = b(c) : \"target\" === e ? this.target = d : this[e] = c[e]);\n }\n\n this.isDefaultPrevented = (null != c.defaultPrevented ? c.defaultPrevented : !1 === c.returnValue) ? Tc : Uc;\n this.isPropagationStopped = Uc;\n return this;\n}\n\nn(E.prototype, {\n preventDefault: function preventDefault() {\n this.defaultPrevented = !0;\n var a = this.nativeEvent;\n a && (a.preventDefault ? a.preventDefault() : \"unknown\" !== typeof a.returnValue && (a.returnValue = !1), this.isDefaultPrevented = Tc);\n },\n stopPropagation: function stopPropagation() {\n var a = this.nativeEvent;\n a && (a.stopPropagation ? a.stopPropagation() : \"unknown\" !== typeof a.cancelBubble && (a.cancelBubble = !0), this.isPropagationStopped = Tc);\n },\n persist: function persist() {\n this.isPersistent = Tc;\n },\n isPersistent: Uc,\n destructor: function destructor() {\n var a = this.constructor.Interface,\n b;\n\n for (b in a) {\n this[b] = null;\n }\n\n this.nativeEvent = this._targetInst = this.dispatchConfig = null;\n this.isPropagationStopped = this.isDefaultPrevented = Uc;\n this._dispatchInstances = this._dispatchListeners = null;\n }\n});\nE.Interface = {\n type: null,\n target: null,\n currentTarget: function currentTarget() {\n return null;\n },\n eventPhase: null,\n bubbles: null,\n cancelable: null,\n timeStamp: function timeStamp(a) {\n return a.timeStamp || Date.now();\n },\n defaultPrevented: null,\n isTrusted: null\n};\n\nE.extend = function (a) {\n function b() {}\n\n function c() {\n return d.apply(this, arguments);\n }\n\n var d = this;\n b.prototype = d.prototype;\n var e = new b();\n n(e, c.prototype);\n c.prototype = e;\n c.prototype.constructor = c;\n c.Interface = n({}, d.Interface, a);\n c.extend = d.extend;\n Vc(c);\n return c;\n};\n\nVc(E);\n\nfunction Wc(a, b, c, d) {\n if (this.eventPool.length) {\n var e = this.eventPool.pop();\n this.call(e, a, b, c, d);\n return e;\n }\n\n return new this(a, b, c, d);\n}\n\nfunction Xc(a) {\n if (!(a instanceof this)) throw Error(u(279));\n a.destructor();\n 10 > this.eventPool.length && this.eventPool.push(a);\n}\n\nfunction Vc(a) {\n a.eventPool = [];\n a.getPooled = Wc;\n a.release = Xc;\n}\n\nvar Yc = E.extend({\n animationName: null,\n elapsedTime: null,\n pseudoElement: null\n}),\n Zc = E.extend({\n clipboardData: function clipboardData(a) {\n return \"clipboardData\" in a ? a.clipboardData : window.clipboardData;\n }\n}),\n $c = E.extend({\n view: null,\n detail: null\n}),\n ad = $c.extend({\n relatedTarget: null\n});\n\nfunction bd(a) {\n var b = a.keyCode;\n \"charCode\" in a ? (a = a.charCode, 0 === a && 13 === b && (a = 13)) : a = b;\n 10 === a && (a = 13);\n return 32 <= a || 13 === a ? a : 0;\n}\n\nvar cd = {\n Esc: \"Escape\",\n Spacebar: \" \",\n Left: \"ArrowLeft\",\n Up: \"ArrowUp\",\n Right: \"ArrowRight\",\n Down: \"ArrowDown\",\n Del: \"Delete\",\n Win: \"OS\",\n Menu: \"ContextMenu\",\n Apps: \"ContextMenu\",\n Scroll: \"ScrollLock\",\n MozPrintableKey: \"Unidentified\"\n},\n dd = {\n 8: \"Backspace\",\n 9: \"Tab\",\n 12: \"Clear\",\n 13: \"Enter\",\n 16: \"Shift\",\n 17: \"Control\",\n 18: \"Alt\",\n 19: \"Pause\",\n 20: \"CapsLock\",\n 27: \"Escape\",\n 32: \" \",\n 33: \"PageUp\",\n 34: \"PageDown\",\n 35: \"End\",\n 36: \"Home\",\n 37: \"ArrowLeft\",\n 38: \"ArrowUp\",\n 39: \"ArrowRight\",\n 40: \"ArrowDown\",\n 45: \"Insert\",\n 46: \"Delete\",\n 112: \"F1\",\n 113: \"F2\",\n 114: \"F3\",\n 115: \"F4\",\n 116: \"F5\",\n 117: \"F6\",\n 118: \"F7\",\n 119: \"F8\",\n 120: \"F9\",\n 121: \"F10\",\n 122: \"F11\",\n 123: \"F12\",\n 144: \"NumLock\",\n 145: \"ScrollLock\",\n 224: \"Meta\"\n},\n ed = {\n Alt: \"altKey\",\n Control: \"ctrlKey\",\n Meta: \"metaKey\",\n Shift: \"shiftKey\"\n};\n\nfunction gd(a) {\n var b = this.nativeEvent;\n return b.getModifierState ? b.getModifierState(a) : (a = ed[a]) ? !!b[a] : !1;\n}\n\nfunction hd() {\n return gd;\n}\n\nvar id = $c.extend({\n key: function key(a) {\n if (a.key) {\n var b = cd[a.key] || a.key;\n if (\"Unidentified\" !== b) return b;\n }\n\n return \"keypress\" === a.type ? (a = bd(a), 13 === a ? \"Enter\" : String.fromCharCode(a)) : \"keydown\" === a.type || \"keyup\" === a.type ? dd[a.keyCode] || \"Unidentified\" : \"\";\n },\n location: null,\n ctrlKey: null,\n shiftKey: null,\n altKey: null,\n metaKey: null,\n repeat: null,\n locale: null,\n getModifierState: hd,\n charCode: function charCode(a) {\n return \"keypress\" === a.type ? bd(a) : 0;\n },\n keyCode: function keyCode(a) {\n return \"keydown\" === a.type || \"keyup\" === a.type ? a.keyCode : 0;\n },\n which: function which(a) {\n return \"keypress\" === a.type ? bd(a) : \"keydown\" === a.type || \"keyup\" === a.type ? a.keyCode : 0;\n }\n}),\n jd = 0,\n kd = 0,\n ld = !1,\n md = !1,\n nd = $c.extend({\n screenX: null,\n screenY: null,\n clientX: null,\n clientY: null,\n pageX: null,\n pageY: null,\n ctrlKey: null,\n shiftKey: null,\n altKey: null,\n metaKey: null,\n getModifierState: hd,\n button: null,\n buttons: null,\n relatedTarget: function relatedTarget(a) {\n return a.relatedTarget || (a.fromElement === a.srcElement ? a.toElement : a.fromElement);\n },\n movementX: function movementX(a) {\n if (\"movementX\" in a) return a.movementX;\n var b = jd;\n jd = a.screenX;\n return ld ? \"mousemove\" === a.type ? a.screenX - b : 0 : (ld = !0, 0);\n },\n movementY: function movementY(a) {\n if (\"movementY\" in a) return a.movementY;\n var b = kd;\n kd = a.screenY;\n return md ? \"mousemove\" === a.type ? a.screenY - b : 0 : (md = !0, 0);\n }\n}),\n od = nd.extend({\n pointerId: null,\n width: null,\n height: null,\n pressure: null,\n tangentialPressure: null,\n tiltX: null,\n tiltY: null,\n twist: null,\n pointerType: null,\n isPrimary: null\n}),\n pd = nd.extend({\n dataTransfer: null\n}),\n qd = $c.extend({\n touches: null,\n targetTouches: null,\n changedTouches: null,\n altKey: null,\n metaKey: null,\n ctrlKey: null,\n shiftKey: null,\n getModifierState: hd\n}),\n rd = E.extend({\n propertyName: null,\n elapsedTime: null,\n pseudoElement: null\n}),\n sd = nd.extend({\n deltaX: function deltaX(a) {\n return \"deltaX\" in a ? a.deltaX : \"wheelDeltaX\" in a ? -a.wheelDeltaX : 0;\n },\n deltaY: function deltaY(a) {\n return \"deltaY\" in a ? a.deltaY : \"wheelDeltaY\" in a ? -a.wheelDeltaY : \"wheelDelta\" in a ? -a.wheelDelta : 0;\n },\n deltaZ: null,\n deltaMode: null\n}),\n td = [[\"blur\", \"blur\", 0], [\"cancel\", \"cancel\", 0], [\"click\", \"click\", 0], [\"close\", \"close\", 0], [\"contextmenu\", \"contextMenu\", 0], [\"copy\", \"copy\", 0], [\"cut\", \"cut\", 0], [\"auxclick\", \"auxClick\", 0], [\"dblclick\", \"doubleClick\", 0], [\"dragend\", \"dragEnd\", 0], [\"dragstart\", \"dragStart\", 0], [\"drop\", \"drop\", 0], [\"focus\", \"focus\", 0], [\"input\", \"input\", 0], [\"invalid\", \"invalid\", 0], [\"keydown\", \"keyDown\", 0], [\"keypress\", \"keyPress\", 0], [\"keyup\", \"keyUp\", 0], [\"mousedown\", \"mouseDown\", 0], [\"mouseup\", \"mouseUp\", 0], [\"paste\", \"paste\", 0], [\"pause\", \"pause\", 0], [\"play\", \"play\", 0], [\"pointercancel\", \"pointerCancel\", 0], [\"pointerdown\", \"pointerDown\", 0], [\"pointerup\", \"pointerUp\", 0], [\"ratechange\", \"rateChange\", 0], [\"reset\", \"reset\", 0], [\"seeked\", \"seeked\", 0], [\"submit\", \"submit\", 0], [\"touchcancel\", \"touchCancel\", 0], [\"touchend\", \"touchEnd\", 0], [\"touchstart\", \"touchStart\", 0], [\"volumechange\", \"volumeChange\", 0], [\"drag\", \"drag\", 1], [\"dragenter\", \"dragEnter\", 1], [\"dragexit\", \"dragExit\", 1], [\"dragleave\", \"dragLeave\", 1], [\"dragover\", \"dragOver\", 1], [\"mousemove\", \"mouseMove\", 1], [\"mouseout\", \"mouseOut\", 1], [\"mouseover\", \"mouseOver\", 1], [\"pointermove\", \"pointerMove\", 1], [\"pointerout\", \"pointerOut\", 1], [\"pointerover\", \"pointerOver\", 1], [\"scroll\", \"scroll\", 1], [\"toggle\", \"toggle\", 1], [\"touchmove\", \"touchMove\", 1], [\"wheel\", \"wheel\", 1], [\"abort\", \"abort\", 2], [Zb, \"animationEnd\", 2], [$b, \"animationIteration\", 2], [ac, \"animationStart\", 2], [\"canplay\", \"canPlay\", 2], [\"canplaythrough\", \"canPlayThrough\", 2], [\"durationchange\", \"durationChange\", 2], [\"emptied\", \"emptied\", 2], [\"encrypted\", \"encrypted\", 2], [\"ended\", \"ended\", 2], [\"error\", \"error\", 2], [\"gotpointercapture\", \"gotPointerCapture\", 2], [\"load\", \"load\", 2], [\"loadeddata\", \"loadedData\", 2], [\"loadedmetadata\", \"loadedMetadata\", 2], [\"loadstart\", \"loadStart\", 2], [\"lostpointercapture\", \"lostPointerCapture\", 2], [\"playing\", \"playing\", 2], [\"progress\", \"progress\", 2], [\"seeking\", \"seeking\", 2], [\"stalled\", \"stalled\", 2], [\"suspend\", \"suspend\", 2], [\"timeupdate\", \"timeUpdate\", 2], [bc, \"transitionEnd\", 2], [\"waiting\", \"waiting\", 2]],\n ud = {},\n vd = {},\n wd = 0;\n\nfor (; wd < td.length; wd++) {\n var yd = td[wd],\n zd = yd[0],\n Ad = yd[1],\n Bd = yd[2],\n Cd = \"on\" + (Ad[0].toUpperCase() + Ad.slice(1)),\n Dd = {\n phasedRegistrationNames: {\n bubbled: Cd,\n captured: Cd + \"Capture\"\n },\n dependencies: [zd],\n eventPriority: Bd\n };\n ud[Ad] = Dd;\n vd[zd] = Dd;\n}\n\nvar Ed = {\n eventTypes: ud,\n getEventPriority: function getEventPriority(a) {\n a = vd[a];\n return void 0 !== a ? a.eventPriority : 2;\n },\n extractEvents: function extractEvents(a, b, c, d) {\n var e = vd[a];\n if (!e) return null;\n\n switch (a) {\n case \"keypress\":\n if (0 === bd(c)) return null;\n\n case \"keydown\":\n case \"keyup\":\n a = id;\n break;\n\n case \"blur\":\n case \"focus\":\n a = ad;\n break;\n\n case \"click\":\n if (2 === c.button) return null;\n\n case \"auxclick\":\n case \"dblclick\":\n case \"mousedown\":\n case \"mousemove\":\n case \"mouseup\":\n case \"mouseout\":\n case \"mouseover\":\n case \"contextmenu\":\n a = nd;\n break;\n\n case \"drag\":\n case \"dragend\":\n case \"dragenter\":\n case \"dragexit\":\n case \"dragleave\":\n case \"dragover\":\n case \"dragstart\":\n case \"drop\":\n a = pd;\n break;\n\n case \"touchcancel\":\n case \"touchend\":\n case \"touchmove\":\n case \"touchstart\":\n a = qd;\n break;\n\n case Zb:\n case $b:\n case ac:\n a = Yc;\n break;\n\n case bc:\n a = rd;\n break;\n\n case \"scroll\":\n a = $c;\n break;\n\n case \"wheel\":\n a = sd;\n break;\n\n case \"copy\":\n case \"cut\":\n case \"paste\":\n a = Zc;\n break;\n\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n case \"pointercancel\":\n case \"pointerdown\":\n case \"pointermove\":\n case \"pointerout\":\n case \"pointerover\":\n case \"pointerup\":\n a = od;\n break;\n\n default:\n a = E;\n }\n\n b = a.getPooled(e, b, c, d);\n Sc(b);\n return b;\n }\n},\n Fd = q.unstable_UserBlockingPriority,\n Gd = q.unstable_runWithPriority,\n Hd = Ed.getEventPriority,\n Id = 10,\n Jd = [];\n\nfunction Kd(a) {\n var b = a.targetInst,\n c = b;\n\n do {\n if (!c) {\n a.ancestors.push(c);\n break;\n }\n\n var d = c;\n if (3 === d.tag) d = d.stateNode.containerInfo;else {\n for (; d[\"return\"];) {\n d = d[\"return\"];\n }\n\n d = 3 !== d.tag ? null : d.stateNode.containerInfo;\n }\n if (!d) break;\n b = c.tag;\n 5 !== b && 6 !== b || a.ancestors.push(c);\n c = Fc(d);\n } while (c);\n\n for (c = 0; c < a.ancestors.length; c++) {\n b = a.ancestors[c];\n var e = Mc(a.nativeEvent);\n d = a.topLevelType;\n\n for (var f = a.nativeEvent, g = a.eventSystemFlags, h = null, k = 0; k < ea.length; k++) {\n var l = ea[k];\n l && (l = l.extractEvents(d, b, f, e, g)) && (h = xa(h, l));\n }\n\n Ba(h);\n }\n}\n\nvar Ld = !0;\n\nfunction F(a, b) {\n Md(b, a, !1);\n}\n\nfunction Md(a, b, c) {\n switch (Hd(b)) {\n case 0:\n var d = Nd.bind(null, b, 1);\n break;\n\n case 1:\n d = Od.bind(null, b, 1);\n break;\n\n default:\n d = Pd.bind(null, b, 1);\n }\n\n c ? a.addEventListener(b, d, !0) : a.addEventListener(b, d, !1);\n}\n\nfunction Nd(a, b, c) {\n ib || gb();\n var d = Pd,\n e = ib;\n ib = !0;\n\n try {\n fb(d, a, b, c);\n } finally {\n (ib = e) || kb();\n }\n}\n\nfunction Od(a, b, c) {\n Gd(Fd, Pd.bind(null, a, b, c));\n}\n\nfunction Qd(a, b, c, d) {\n if (Jd.length) {\n var e = Jd.pop();\n e.topLevelType = a;\n e.eventSystemFlags = b;\n e.nativeEvent = c;\n e.targetInst = d;\n a = e;\n } else a = {\n topLevelType: a,\n eventSystemFlags: b,\n nativeEvent: c,\n targetInst: d,\n ancestors: []\n };\n\n try {\n if (b = Kd, c = a, jb) b(c, void 0);else {\n jb = !0;\n\n try {\n hb(b, c, void 0);\n } finally {\n jb = !1, kb();\n }\n }\n } finally {\n a.topLevelType = null, a.nativeEvent = null, a.targetInst = null, a.ancestors.length = 0, Jd.length < Id && Jd.push(a);\n }\n}\n\nfunction Pd(a, b, c) {\n if (Ld) if (0 < nc.length && -1 < uc.indexOf(a)) a = zc(null, a, b, c), nc.push(a);else {\n var d = Hc(a, b, c);\n null === d ? Ac(a, c) : -1 < uc.indexOf(a) ? (a = zc(d, a, b, c), nc.push(a)) : Dc(d, a, b, c) || (Ac(a, c), Qd(a, b, c, null));\n }\n}\n\nfunction Hc(a, b, c) {\n var d = Mc(c);\n d = Fc(d);\n\n if (null !== d) {\n var e = ec(d);\n if (null === e) d = null;else {\n var f = e.tag;\n\n if (13 === f) {\n d = fc(e);\n if (null !== d) return d;\n d = null;\n } else if (3 === f) {\n if (e.stateNode.hydrate) return 3 === e.tag ? e.stateNode.containerInfo : null;\n d = null;\n } else e !== d && (d = null);\n }\n }\n\n Qd(a, b, c, d);\n return null;\n}\n\nfunction Rd(a) {\n if (!Ya) return !1;\n a = \"on\" + a;\n var b = a in document;\n b || (b = document.createElement(\"div\"), b.setAttribute(a, \"return;\"), b = \"function\" === typeof b[a]);\n return b;\n}\n\nvar Sd = new (\"function\" === typeof WeakMap ? WeakMap : Map)();\n\nfunction xc(a) {\n var b = Sd.get(a);\n void 0 === b && (b = new Set(), Sd.set(a, b));\n return b;\n}\n\nfunction yc(a, b, c) {\n if (!c.has(a)) {\n switch (a) {\n case \"scroll\":\n Md(b, \"scroll\", !0);\n break;\n\n case \"focus\":\n case \"blur\":\n Md(b, \"focus\", !0);\n Md(b, \"blur\", !0);\n c.add(\"blur\");\n c.add(\"focus\");\n break;\n\n case \"cancel\":\n case \"close\":\n Rd(a) && Md(b, a, !0);\n break;\n\n case \"invalid\":\n case \"submit\":\n case \"reset\":\n break;\n\n default:\n -1 === cc.indexOf(a) && F(a, b);\n }\n\n c.add(a);\n }\n}\n\nvar Td = {\n animationIterationCount: !0,\n borderImageOutset: !0,\n borderImageSlice: !0,\n borderImageWidth: !0,\n boxFlex: !0,\n boxFlexGroup: !0,\n boxOrdinalGroup: !0,\n columnCount: !0,\n columns: !0,\n flex: !0,\n flexGrow: !0,\n flexPositive: !0,\n flexShrink: !0,\n flexNegative: !0,\n flexOrder: !0,\n gridArea: !0,\n gridRow: !0,\n gridRowEnd: !0,\n gridRowSpan: !0,\n gridRowStart: !0,\n gridColumn: !0,\n gridColumnEnd: !0,\n gridColumnSpan: !0,\n gridColumnStart: !0,\n fontWeight: !0,\n lineClamp: !0,\n lineHeight: !0,\n opacity: !0,\n order: !0,\n orphans: !0,\n tabSize: !0,\n widows: !0,\n zIndex: !0,\n zoom: !0,\n fillOpacity: !0,\n floodOpacity: !0,\n stopOpacity: !0,\n strokeDasharray: !0,\n strokeDashoffset: !0,\n strokeMiterlimit: !0,\n strokeOpacity: !0,\n strokeWidth: !0\n},\n Ud = [\"Webkit\", \"ms\", \"Moz\", \"O\"];\nObject.keys(Td).forEach(function (a) {\n Ud.forEach(function (b) {\n b = b + a.charAt(0).toUpperCase() + a.substring(1);\n Td[b] = Td[a];\n });\n});\n\nfunction Vd(a, b, c) {\n return null == b || \"boolean\" === typeof b || \"\" === b ? \"\" : c || \"number\" !== typeof b || 0 === b || Td.hasOwnProperty(a) && Td[a] ? (\"\" + b).trim() : b + \"px\";\n}\n\nfunction Wd(a, b) {\n a = a.style;\n\n for (var c in b) {\n if (b.hasOwnProperty(c)) {\n var d = 0 === c.indexOf(\"--\"),\n e = Vd(c, b[c], d);\n \"float\" === c && (c = \"cssFloat\");\n d ? a.setProperty(c, e) : a[c] = e;\n }\n }\n}\n\nvar Xd = n({\n menuitem: !0\n}, {\n area: !0,\n base: !0,\n br: !0,\n col: !0,\n embed: !0,\n hr: !0,\n img: !0,\n input: !0,\n keygen: !0,\n link: !0,\n meta: !0,\n param: !0,\n source: !0,\n track: !0,\n wbr: !0\n});\n\nfunction Yd(a, b) {\n if (b) {\n if (Xd[a] && (null != b.children || null != b.dangerouslySetInnerHTML)) throw Error(u(137, a, \"\"));\n\n if (null != b.dangerouslySetInnerHTML) {\n if (null != b.children) throw Error(u(60));\n if (!(\"object\" === typeof b.dangerouslySetInnerHTML && \"__html\" in b.dangerouslySetInnerHTML)) throw Error(u(61));\n }\n\n if (null != b.style && \"object\" !== typeof b.style) throw Error(u(62, \"\"));\n }\n}\n\nfunction Zd(a, b) {\n if (-1 === a.indexOf(\"-\")) return \"string\" === typeof b.is;\n\n switch (a) {\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n return !1;\n\n default:\n return !0;\n }\n}\n\nfunction $d(a, b) {\n a = 9 === a.nodeType || 11 === a.nodeType ? a : a.ownerDocument;\n var c = xc(a);\n b = ja[b];\n\n for (var d = 0; d < b.length; d++) {\n yc(b[d], a, c);\n }\n}\n\nfunction ae() {}\n\nfunction be(a) {\n a = a || (\"undefined\" !== typeof document ? document : void 0);\n if (\"undefined\" === typeof a) return null;\n\n try {\n return a.activeElement || a.body;\n } catch (b) {\n return a.body;\n }\n}\n\nfunction ce(a) {\n for (; a && a.firstChild;) {\n a = a.firstChild;\n }\n\n return a;\n}\n\nfunction de(a, b) {\n var c = ce(a);\n a = 0;\n\n for (var d; c;) {\n if (3 === c.nodeType) {\n d = a + c.textContent.length;\n if (a <= b && d >= b) return {\n node: c,\n offset: b - a\n };\n a = d;\n }\n\n a: {\n for (; c;) {\n if (c.nextSibling) {\n c = c.nextSibling;\n break a;\n }\n\n c = c.parentNode;\n }\n\n c = void 0;\n }\n\n c = ce(c);\n }\n}\n\nfunction ee(a, b) {\n return a && b ? a === b ? !0 : a && 3 === a.nodeType ? !1 : b && 3 === b.nodeType ? ee(a, b.parentNode) : \"contains\" in a ? a.contains(b) : a.compareDocumentPosition ? !!(a.compareDocumentPosition(b) & 16) : !1 : !1;\n}\n\nfunction fe() {\n for (var a = window, b = be(); b instanceof a.HTMLIFrameElement;) {\n try {\n var c = \"string\" === typeof b.contentWindow.location.href;\n } catch (d) {\n c = !1;\n }\n\n if (c) a = b.contentWindow;else break;\n b = be(a.document);\n }\n\n return b;\n}\n\nfunction ge(a) {\n var b = a && a.nodeName && a.nodeName.toLowerCase();\n return b && (\"input\" === b && (\"text\" === a.type || \"search\" === a.type || \"tel\" === a.type || \"url\" === a.type || \"password\" === a.type) || \"textarea\" === b || \"true\" === a.contentEditable);\n}\n\nvar he = \"$\",\n ie = \"/$\",\n je = \"$?\",\n ke = \"$!\",\n le = null,\n me = null;\n\nfunction ne(a, b) {\n switch (a) {\n case \"button\":\n case \"input\":\n case \"select\":\n case \"textarea\":\n return !!b.autoFocus;\n }\n\n return !1;\n}\n\nfunction oe(a, b) {\n return \"textarea\" === a || \"option\" === a || \"noscript\" === a || \"string\" === typeof b.children || \"number\" === typeof b.children || \"object\" === typeof b.dangerouslySetInnerHTML && null !== b.dangerouslySetInnerHTML && null != b.dangerouslySetInnerHTML.__html;\n}\n\nvar pe = \"function\" === typeof setTimeout ? setTimeout : void 0,\n qe = \"function\" === typeof clearTimeout ? clearTimeout : void 0;\n\nfunction re(a) {\n for (; null != a; a = a.nextSibling) {\n var b = a.nodeType;\n if (1 === b || 3 === b) break;\n }\n\n return a;\n}\n\nfunction se(a) {\n a = a.previousSibling;\n\n for (var b = 0; a;) {\n if (8 === a.nodeType) {\n var c = a.data;\n\n if (c === he || c === ke || c === je) {\n if (0 === b) return a;\n b--;\n } else c === ie && b++;\n }\n\n a = a.previousSibling;\n }\n\n return null;\n}\n\nvar te = Math.random().toString(36).slice(2),\n ue = \"__reactInternalInstance$\" + te,\n ve = \"__reactEventHandlers$\" + te,\n we = \"__reactContainere$\" + te;\n\nfunction Fc(a) {\n var b = a[ue];\n if (b) return b;\n\n for (var c = a.parentNode; c;) {\n if (b = c[we] || c[ue]) {\n c = b.alternate;\n if (null !== b.child || null !== c && null !== c.child) for (a = se(a); null !== a;) {\n if (c = a[ue]) return c;\n a = se(a);\n }\n return b;\n }\n\n a = c;\n c = a.parentNode;\n }\n\n return null;\n}\n\nfunction Cc(a) {\n a = a[ue] || a[we];\n return !a || 5 !== a.tag && 6 !== a.tag && 13 !== a.tag && 3 !== a.tag ? null : a;\n}\n\nfunction xe(a) {\n if (5 === a.tag || 6 === a.tag) return a.stateNode;\n throw Error(u(33));\n}\n\nfunction ye(a) {\n return a[ve] || null;\n}\n\nvar ze = null,\n Ae = null,\n Be = null;\n\nfunction Ce() {\n if (Be) return Be;\n var a,\n b = Ae,\n c = b.length,\n d,\n e = \"value\" in ze ? ze.value : ze.textContent,\n f = e.length;\n\n for (a = 0; a < c && b[a] === e[a]; a++) {\n ;\n }\n\n var g = c - a;\n\n for (d = 1; d <= g && b[c - d] === e[f - d]; d++) {\n ;\n }\n\n return Be = e.slice(a, 1 < d ? 1 - d : void 0);\n}\n\nvar De = E.extend({\n data: null\n}),\n Ee = E.extend({\n data: null\n}),\n Fe = [9, 13, 27, 32],\n Ge = Ya && \"CompositionEvent\" in window,\n He = null;\nYa && \"documentMode\" in document && (He = document.documentMode);\nvar Ie = Ya && \"TextEvent\" in window && !He,\n Je = Ya && (!Ge || He && 8 < He && 11 >= He),\n Ke = String.fromCharCode(32),\n Le = {\n beforeInput: {\n phasedRegistrationNames: {\n bubbled: \"onBeforeInput\",\n captured: \"onBeforeInputCapture\"\n },\n dependencies: [\"compositionend\", \"keypress\", \"textInput\", \"paste\"]\n },\n compositionEnd: {\n phasedRegistrationNames: {\n bubbled: \"onCompositionEnd\",\n captured: \"onCompositionEndCapture\"\n },\n dependencies: \"blur compositionend keydown keypress keyup mousedown\".split(\" \")\n },\n compositionStart: {\n phasedRegistrationNames: {\n bubbled: \"onCompositionStart\",\n captured: \"onCompositionStartCapture\"\n },\n dependencies: \"blur compositionstart keydown keypress keyup mousedown\".split(\" \")\n },\n compositionUpdate: {\n phasedRegistrationNames: {\n bubbled: \"onCompositionUpdate\",\n captured: \"onCompositionUpdateCapture\"\n },\n dependencies: \"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")\n }\n},\n Me = !1;\n\nfunction Ne(a, b) {\n switch (a) {\n case \"keyup\":\n return -1 !== Fe.indexOf(b.keyCode);\n\n case \"keydown\":\n return 229 !== b.keyCode;\n\n case \"keypress\":\n case \"mousedown\":\n case \"blur\":\n return !0;\n\n default:\n return !1;\n }\n}\n\nfunction Oe(a) {\n a = a.detail;\n return \"object\" === typeof a && \"data\" in a ? a.data : null;\n}\n\nvar Pe = !1;\n\nfunction Qe(a, b) {\n switch (a) {\n case \"compositionend\":\n return Oe(b);\n\n case \"keypress\":\n if (32 !== b.which) return null;\n Me = !0;\n return Ke;\n\n case \"textInput\":\n return a = b.data, a === Ke && Me ? null : a;\n\n default:\n return null;\n }\n}\n\nfunction Re(a, b) {\n if (Pe) return \"compositionend\" === a || !Ge && Ne(a, b) ? (a = Ce(), Be = Ae = ze = null, Pe = !1, a) : null;\n\n switch (a) {\n case \"paste\":\n return null;\n\n case \"keypress\":\n if (!(b.ctrlKey || b.altKey || b.metaKey) || b.ctrlKey && b.altKey) {\n if (b[\"char\"] && 1 < b[\"char\"].length) return b[\"char\"];\n if (b.which) return String.fromCharCode(b.which);\n }\n\n return null;\n\n case \"compositionend\":\n return Je && \"ko\" !== b.locale ? null : b.data;\n\n default:\n return null;\n }\n}\n\nvar Se = {\n eventTypes: Le,\n extractEvents: function extractEvents(a, b, c, d) {\n var e;\n if (Ge) b: {\n switch (a) {\n case \"compositionstart\":\n var f = Le.compositionStart;\n break b;\n\n case \"compositionend\":\n f = Le.compositionEnd;\n break b;\n\n case \"compositionupdate\":\n f = Le.compositionUpdate;\n break b;\n }\n\n f = void 0;\n } else Pe ? Ne(a, c) && (f = Le.compositionEnd) : \"keydown\" === a && 229 === c.keyCode && (f = Le.compositionStart);\n f ? (Je && \"ko\" !== c.locale && (Pe || f !== Le.compositionStart ? f === Le.compositionEnd && Pe && (e = Ce()) : (ze = d, Ae = \"value\" in ze ? ze.value : ze.textContent, Pe = !0)), f = De.getPooled(f, b, c, d), e ? f.data = e : (e = Oe(c), null !== e && (f.data = e)), Sc(f), e = f) : e = null;\n (a = Ie ? Qe(a, c) : Re(a, c)) ? (b = Ee.getPooled(Le.beforeInput, b, c, d), b.data = a, Sc(b)) : b = null;\n return null === e ? b : null === b ? e : [e, b];\n }\n},\n Te = {\n color: !0,\n date: !0,\n datetime: !0,\n \"datetime-local\": !0,\n email: !0,\n month: !0,\n number: !0,\n password: !0,\n range: !0,\n search: !0,\n tel: !0,\n text: !0,\n time: !0,\n url: !0,\n week: !0\n};\n\nfunction Ue(a) {\n var b = a && a.nodeName && a.nodeName.toLowerCase();\n return \"input\" === b ? !!Te[a.type] : \"textarea\" === b ? !0 : !1;\n}\n\nvar Ve = {\n change: {\n phasedRegistrationNames: {\n bubbled: \"onChange\",\n captured: \"onChangeCapture\"\n },\n dependencies: \"blur change click focus input keydown keyup selectionchange\".split(\" \")\n }\n};\n\nfunction We(a, b, c) {\n a = E.getPooled(Ve.change, a, b, c);\n a.type = \"change\";\n cb(c);\n Sc(a);\n return a;\n}\n\nvar Xe = null,\n Ye = null;\n\nfunction Ze(a) {\n Ba(a);\n}\n\nfunction $e(a) {\n var b = xe(a);\n if (zb(b)) return a;\n}\n\nfunction af(a, b) {\n if (\"change\" === a) return b;\n}\n\nvar bf = !1;\nYa && (bf = Rd(\"input\") && (!document.documentMode || 9 < document.documentMode));\n\nfunction cf() {\n Xe && (Xe.detachEvent(\"onpropertychange\", df), Ye = Xe = null);\n}\n\nfunction df(a) {\n if (\"value\" === a.propertyName && $e(Ye)) if (a = We(Ye, a, Mc(a)), ib) Ba(a);else {\n ib = !0;\n\n try {\n eb(Ze, a);\n } finally {\n ib = !1, kb();\n }\n }\n}\n\nfunction ef(a, b, c) {\n \"focus\" === a ? (cf(), Xe = b, Ye = c, Xe.attachEvent(\"onpropertychange\", df)) : \"blur\" === a && cf();\n}\n\nfunction ff(a) {\n if (\"selectionchange\" === a || \"keyup\" === a || \"keydown\" === a) return $e(Ye);\n}\n\nfunction gf(a, b) {\n if (\"click\" === a) return $e(b);\n}\n\nfunction hf(a, b) {\n if (\"input\" === a || \"change\" === a) return $e(b);\n}\n\nvar jf = {\n eventTypes: Ve,\n _isInputEventSupported: bf,\n extractEvents: function extractEvents(a, b, c, d) {\n var e = b ? xe(b) : window,\n f = e.nodeName && e.nodeName.toLowerCase();\n if (\"select\" === f || \"input\" === f && \"file\" === e.type) var g = af;else if (Ue(e)) {\n if (bf) g = hf;else {\n g = ff;\n var h = ef;\n }\n } else (f = e.nodeName) && \"input\" === f.toLowerCase() && (\"checkbox\" === e.type || \"radio\" === e.type) && (g = gf);\n if (g && (g = g(a, b))) return We(g, c, d);\n h && h(a, e, b);\n \"blur\" === a && (a = e._wrapperState) && a.controlled && \"number\" === e.type && Fb(e, \"number\", e.value);\n }\n},\n kf = {\n mouseEnter: {\n registrationName: \"onMouseEnter\",\n dependencies: [\"mouseout\", \"mouseover\"]\n },\n mouseLeave: {\n registrationName: \"onMouseLeave\",\n dependencies: [\"mouseout\", \"mouseover\"]\n },\n pointerEnter: {\n registrationName: \"onPointerEnter\",\n dependencies: [\"pointerout\", \"pointerover\"]\n },\n pointerLeave: {\n registrationName: \"onPointerLeave\",\n dependencies: [\"pointerout\", \"pointerover\"]\n }\n},\n lf,\n mf = {\n eventTypes: kf,\n extractEvents: function extractEvents(a, b, c, d, e) {\n var f = \"mouseover\" === a || \"pointerover\" === a,\n g = \"mouseout\" === a || \"pointerout\" === a;\n if (f && 0 === (e & 32) && (c.relatedTarget || c.fromElement) || !g && !f) return null;\n e = d.window === d ? d : (e = d.ownerDocument) ? e.defaultView || e.parentWindow : window;\n\n if (g) {\n if (g = b, b = (b = c.relatedTarget || c.toElement) ? Fc(b) : null, null !== b && (f = ec(b), b !== f || 5 !== b.tag && 6 !== b.tag)) b = null;\n } else g = null;\n\n if (g === b) return null;\n\n if (\"mouseout\" === a || \"mouseover\" === a) {\n var h = nd;\n var k = kf.mouseLeave;\n var l = kf.mouseEnter;\n var m = \"mouse\";\n } else if (\"pointerout\" === a || \"pointerover\" === a) h = od, k = kf.pointerLeave, l = kf.pointerEnter, m = \"pointer\";\n\n a = null == g ? e : xe(g);\n e = null == b ? e : xe(b);\n k = h.getPooled(k, g, c, d);\n k.type = m + \"leave\";\n k.target = a;\n k.relatedTarget = e;\n d = h.getPooled(l, b, c, d);\n d.type = m + \"enter\";\n d.target = e;\n d.relatedTarget = a;\n h = g;\n m = b;\n if (h && m) a: {\n l = h;\n a = m;\n g = 0;\n\n for (b = l; b; b = Nc(b)) {\n g++;\n }\n\n b = 0;\n\n for (e = a; e; e = Nc(e)) {\n b++;\n }\n\n for (; 0 < g - b;) {\n l = Nc(l), g--;\n }\n\n for (; 0 < b - g;) {\n a = Nc(a), b--;\n }\n\n for (; g--;) {\n if (l === a || l === a.alternate) break a;\n l = Nc(l);\n a = Nc(a);\n }\n\n l = null;\n } else l = null;\n a = l;\n\n for (l = []; h && h !== a;) {\n g = h.alternate;\n if (null !== g && g === a) break;\n l.push(h);\n h = Nc(h);\n }\n\n for (h = []; m && m !== a;) {\n g = m.alternate;\n if (null !== g && g === a) break;\n h.push(m);\n m = Nc(m);\n }\n\n for (m = 0; m < l.length; m++) {\n Qc(l[m], \"bubbled\", k);\n }\n\n for (m = h.length; 0 < m--;) {\n Qc(h[m], \"captured\", d);\n }\n\n if (c === lf) return lf = null, [k];\n lf = c;\n return [k, d];\n }\n};\n\nfunction nf(a, b) {\n return a === b && (0 !== a || 1 / a === 1 / b) || a !== a && b !== b;\n}\n\nvar of = \"function\" === typeof Object.is ? Object.is : nf,\n pf = Object.prototype.hasOwnProperty;\n\nfunction qf(a, b) {\n if (of(a, b)) return !0;\n if (\"object\" !== typeof a || null === a || \"object\" !== typeof b || null === b) return !1;\n var c = Object.keys(a),\n d = Object.keys(b);\n if (c.length !== d.length) return !1;\n\n for (d = 0; d < c.length; d++) {\n if (!pf.call(b, c[d]) || !of(a[c[d]], b[c[d]])) return !1;\n }\n\n return !0;\n}\n\nvar rf = Ya && \"documentMode\" in document && 11 >= document.documentMode,\n sf = {\n select: {\n phasedRegistrationNames: {\n bubbled: \"onSelect\",\n captured: \"onSelectCapture\"\n },\n dependencies: \"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")\n }\n},\n tf = null,\n uf = null,\n vf = null,\n wf = !1;\n\nfunction xf(a, b) {\n var c = b.window === b ? b.document : 9 === b.nodeType ? b : b.ownerDocument;\n if (wf || null == tf || tf !== be(c)) return null;\n c = tf;\n \"selectionStart\" in c && ge(c) ? c = {\n start: c.selectionStart,\n end: c.selectionEnd\n } : (c = (c.ownerDocument && c.ownerDocument.defaultView || window).getSelection(), c = {\n anchorNode: c.anchorNode,\n anchorOffset: c.anchorOffset,\n focusNode: c.focusNode,\n focusOffset: c.focusOffset\n });\n return vf && qf(vf, c) ? null : (vf = c, a = E.getPooled(sf.select, uf, a, b), a.type = \"select\", a.target = tf, Sc(a), a);\n}\n\nvar yf = {\n eventTypes: sf,\n extractEvents: function extractEvents(a, b, c, d) {\n var e = d.window === d ? d.document : 9 === d.nodeType ? d : d.ownerDocument,\n f;\n\n if (!(f = !e)) {\n a: {\n e = xc(e);\n f = ja.onSelect;\n\n for (var g = 0; g < f.length; g++) {\n if (!e.has(f[g])) {\n e = !1;\n break a;\n }\n }\n\n e = !0;\n }\n\n f = !e;\n }\n\n if (f) return null;\n e = b ? xe(b) : window;\n\n switch (a) {\n case \"focus\":\n if (Ue(e) || \"true\" === e.contentEditable) tf = e, uf = b, vf = null;\n break;\n\n case \"blur\":\n vf = uf = tf = null;\n break;\n\n case \"mousedown\":\n wf = !0;\n break;\n\n case \"contextmenu\":\n case \"mouseup\":\n case \"dragend\":\n return wf = !1, xf(c, d);\n\n case \"selectionchange\":\n if (rf) break;\n\n case \"keydown\":\n case \"keyup\":\n return xf(c, d);\n }\n\n return null;\n }\n};\nCa.injectEventPluginOrder(\"ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));\nvar zf = Cc;\nsa = ye;\nua = zf;\nva = xe;\nCa.injectEventPluginsByName({\n SimpleEventPlugin: Ed,\n EnterLeaveEventPlugin: mf,\n ChangeEventPlugin: jf,\n SelectEventPlugin: yf,\n BeforeInputEventPlugin: Se\n});\nnew Set();\nvar Af = [],\n Bf = -1;\n\nfunction G(a) {\n 0 > Bf || (a.current = Af[Bf], Af[Bf] = null, Bf--);\n}\n\nfunction I(a, b) {\n Bf++;\n Af[Bf] = a.current;\n a.current = b;\n}\n\nvar Cf = {},\n J = {\n current: Cf\n},\n K = {\n current: !1\n},\n Df = Cf;\n\nfunction Ef(a, b) {\n var c = a.type.contextTypes;\n if (!c) return Cf;\n var d = a.stateNode;\n if (d && d.__reactInternalMemoizedUnmaskedChildContext === b) return d.__reactInternalMemoizedMaskedChildContext;\n var e = {},\n f;\n\n for (f in c) {\n e[f] = b[f];\n }\n\n d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = b, a.__reactInternalMemoizedMaskedChildContext = e);\n return e;\n}\n\nfunction L(a) {\n a = a.childContextTypes;\n return null !== a && void 0 !== a;\n}\n\nfunction Ff(a) {\n G(K, a);\n G(J, a);\n}\n\nfunction Gf(a) {\n G(K, a);\n G(J, a);\n}\n\nfunction Hf(a, b, c) {\n if (J.current !== Cf) throw Error(u(168));\n I(J, b, a);\n I(K, c, a);\n}\n\nfunction If(a, b, c) {\n var d = a.stateNode;\n a = b.childContextTypes;\n if (\"function\" !== typeof d.getChildContext) return c;\n d = d.getChildContext();\n\n for (var e in d) {\n if (!(e in a)) throw Error(u(108, Wa(b) || \"Unknown\", e));\n }\n\n return n({}, c, {}, d);\n}\n\nfunction Jf(a) {\n var b = a.stateNode;\n b = b && b.__reactInternalMemoizedMergedChildContext || Cf;\n Df = J.current;\n I(J, b, a);\n I(K, K.current, a);\n return !0;\n}\n\nfunction Kf(a, b, c) {\n var d = a.stateNode;\n if (!d) throw Error(u(169));\n c ? (b = If(a, b, Df), d.__reactInternalMemoizedMergedChildContext = b, G(K, a), G(J, a), I(J, b, a)) : G(K, a);\n I(K, c, a);\n}\n\nvar Lf = q.unstable_runWithPriority,\n Mf = q.unstable_scheduleCallback,\n Nf = q.unstable_cancelCallback,\n Of = q.unstable_shouldYield,\n Pf = q.unstable_requestPaint,\n Qf = q.unstable_now,\n Rf = q.unstable_getCurrentPriorityLevel,\n Sf = q.unstable_ImmediatePriority,\n Tf = q.unstable_UserBlockingPriority,\n Uf = q.unstable_NormalPriority,\n Vf = q.unstable_LowPriority,\n Wf = q.unstable_IdlePriority,\n Xf = {},\n Yf = void 0 !== Pf ? Pf : function () {},\n Zf = null,\n $f = null,\n ag = !1,\n bg = Qf(),\n cg = 1E4 > bg ? Qf : function () {\n return Qf() - bg;\n};\n\nfunction dg() {\n switch (Rf()) {\n case Sf:\n return 99;\n\n case Tf:\n return 98;\n\n case Uf:\n return 97;\n\n case Vf:\n return 96;\n\n case Wf:\n return 95;\n\n default:\n throw Error(u(332));\n }\n}\n\nfunction eg(a) {\n switch (a) {\n case 99:\n return Sf;\n\n case 98:\n return Tf;\n\n case 97:\n return Uf;\n\n case 96:\n return Vf;\n\n case 95:\n return Wf;\n\n default:\n throw Error(u(332));\n }\n}\n\nfunction fg(a, b) {\n a = eg(a);\n return Lf(a, b);\n}\n\nfunction gg(a, b, c) {\n a = eg(a);\n return Mf(a, b, c);\n}\n\nfunction hg(a) {\n null === Zf ? (Zf = [a], $f = Mf(Sf, ig)) : Zf.push(a);\n return Xf;\n}\n\nfunction jg() {\n if (null !== $f) {\n var a = $f;\n $f = null;\n Nf(a);\n }\n\n ig();\n}\n\nfunction ig() {\n if (!ag && null !== Zf) {\n ag = !0;\n var a = 0;\n\n try {\n var b = Zf;\n fg(99, function () {\n for (; a < b.length; a++) {\n var c = b[a];\n\n do {\n c = c(!0);\n } while (null !== c);\n }\n });\n Zf = null;\n } catch (c) {\n throw null !== Zf && (Zf = Zf.slice(a + 1)), Mf(Sf, jg), c;\n } finally {\n ag = !1;\n }\n }\n}\n\nvar kg = 3;\n\nfunction lg(a, b, c) {\n c /= 10;\n return 1073741821 - (((1073741821 - a + b / 10) / c | 0) + 1) * c;\n}\n\nfunction mg(a, b) {\n if (a && a.defaultProps) {\n b = n({}, b);\n a = a.defaultProps;\n\n for (var c in a) {\n void 0 === b[c] && (b[c] = a[c]);\n }\n }\n\n return b;\n}\n\nvar ng = {\n current: null\n},\n og = null,\n pg = null,\n qg = null;\n\nfunction rg() {\n qg = pg = og = null;\n}\n\nfunction sg(a, b) {\n var c = a.type._context;\n I(ng, c._currentValue, a);\n c._currentValue = b;\n}\n\nfunction tg(a) {\n var b = ng.current;\n G(ng, a);\n a.type._context._currentValue = b;\n}\n\nfunction ug(a, b) {\n for (; null !== a;) {\n var c = a.alternate;\n if (a.childExpirationTime < b) a.childExpirationTime = b, null !== c && c.childExpirationTime < b && (c.childExpirationTime = b);else if (null !== c && c.childExpirationTime < b) c.childExpirationTime = b;else break;\n a = a[\"return\"];\n }\n}\n\nfunction vg(a, b) {\n og = a;\n qg = pg = null;\n a = a.dependencies;\n null !== a && null !== a.firstContext && (a.expirationTime >= b && (wg = !0), a.firstContext = null);\n}\n\nfunction xg(a, b) {\n if (qg !== a && !1 !== b && 0 !== b) {\n if (\"number\" !== typeof b || 1073741823 === b) qg = a, b = 1073741823;\n b = {\n context: a,\n observedBits: b,\n next: null\n };\n\n if (null === pg) {\n if (null === og) throw Error(u(308));\n pg = b;\n og.dependencies = {\n expirationTime: 0,\n firstContext: b,\n responders: null\n };\n } else pg = pg.next = b;\n }\n\n return a._currentValue;\n}\n\nvar yg = !1;\n\nfunction zg(a) {\n return {\n baseState: a,\n firstUpdate: null,\n lastUpdate: null,\n firstCapturedUpdate: null,\n lastCapturedUpdate: null,\n firstEffect: null,\n lastEffect: null,\n firstCapturedEffect: null,\n lastCapturedEffect: null\n };\n}\n\nfunction Ag(a) {\n return {\n baseState: a.baseState,\n firstUpdate: a.firstUpdate,\n lastUpdate: a.lastUpdate,\n firstCapturedUpdate: null,\n lastCapturedUpdate: null,\n firstEffect: null,\n lastEffect: null,\n firstCapturedEffect: null,\n lastCapturedEffect: null\n };\n}\n\nfunction Bg(a, b) {\n return {\n expirationTime: a,\n suspenseConfig: b,\n tag: 0,\n payload: null,\n callback: null,\n next: null,\n nextEffect: null\n };\n}\n\nfunction Cg(a, b) {\n null === a.lastUpdate ? a.firstUpdate = a.lastUpdate = b : (a.lastUpdate.next = b, a.lastUpdate = b);\n}\n\nfunction Dg(a, b) {\n var c = a.alternate;\n\n if (null === c) {\n var d = a.updateQueue;\n var e = null;\n null === d && (d = a.updateQueue = zg(a.memoizedState));\n } else d = a.updateQueue, e = c.updateQueue, null === d ? null === e ? (d = a.updateQueue = zg(a.memoizedState), e = c.updateQueue = zg(c.memoizedState)) : d = a.updateQueue = Ag(e) : null === e && (e = c.updateQueue = Ag(d));\n\n null === e || d === e ? Cg(d, b) : null === d.lastUpdate || null === e.lastUpdate ? (Cg(d, b), Cg(e, b)) : (Cg(d, b), e.lastUpdate = b);\n}\n\nfunction Eg(a, b) {\n var c = a.updateQueue;\n c = null === c ? a.updateQueue = zg(a.memoizedState) : Fg(a, c);\n null === c.lastCapturedUpdate ? c.firstCapturedUpdate = c.lastCapturedUpdate = b : (c.lastCapturedUpdate.next = b, c.lastCapturedUpdate = b);\n}\n\nfunction Fg(a, b) {\n var c = a.alternate;\n null !== c && b === c.updateQueue && (b = a.updateQueue = Ag(b));\n return b;\n}\n\nfunction Gg(a, b, c, d, e, f) {\n switch (c.tag) {\n case 1:\n return a = c.payload, \"function\" === typeof a ? a.call(f, d, e) : a;\n\n case 3:\n a.effectTag = a.effectTag & -4097 | 64;\n\n case 0:\n a = c.payload;\n e = \"function\" === typeof a ? a.call(f, d, e) : a;\n if (null === e || void 0 === e) break;\n return n({}, d, e);\n\n case 2:\n yg = !0;\n }\n\n return d;\n}\n\nfunction Hg(a, b, c, d, e) {\n yg = !1;\n b = Fg(a, b);\n\n for (var f = b.baseState, g = null, h = 0, k = b.firstUpdate, l = f; null !== k;) {\n var m = k.expirationTime;\n m < e ? (null === g && (g = k, f = l), h < m && (h = m)) : (Ig(m, k.suspenseConfig), l = Gg(a, b, k, l, c, d), null !== k.callback && (a.effectTag |= 32, k.nextEffect = null, null === b.lastEffect ? b.firstEffect = b.lastEffect = k : (b.lastEffect.nextEffect = k, b.lastEffect = k)));\n k = k.next;\n }\n\n m = null;\n\n for (k = b.firstCapturedUpdate; null !== k;) {\n var C = k.expirationTime;\n C < e ? (null === m && (m = k, null === g && (f = l)), h < C && (h = C)) : (l = Gg(a, b, k, l, c, d), null !== k.callback && (a.effectTag |= 32, k.nextEffect = null, null === b.lastCapturedEffect ? b.firstCapturedEffect = b.lastCapturedEffect = k : (b.lastCapturedEffect.nextEffect = k, b.lastCapturedEffect = k)));\n k = k.next;\n }\n\n null === g && (b.lastUpdate = null);\n null === m ? b.lastCapturedUpdate = null : a.effectTag |= 32;\n null === g && null === m && (f = l);\n b.baseState = f;\n b.firstUpdate = g;\n b.firstCapturedUpdate = m;\n Jg(h);\n a.expirationTime = h;\n a.memoizedState = l;\n}\n\nfunction Kg(a, b, c) {\n null !== b.firstCapturedUpdate && (null !== b.lastUpdate && (b.lastUpdate.next = b.firstCapturedUpdate, b.lastUpdate = b.lastCapturedUpdate), b.firstCapturedUpdate = b.lastCapturedUpdate = null);\n Lg(b.firstEffect, c);\n b.firstEffect = b.lastEffect = null;\n Lg(b.firstCapturedEffect, c);\n b.firstCapturedEffect = b.lastCapturedEffect = null;\n}\n\nfunction Lg(a, b) {\n for (; null !== a;) {\n var c = a.callback;\n\n if (null !== c) {\n a.callback = null;\n var d = b;\n if (\"function\" !== typeof c) throw Error(u(191, c));\n c.call(d);\n }\n\n a = a.nextEffect;\n }\n}\n\nvar Mg = Ea.ReactCurrentBatchConfig,\n Ng = new aa.Component().refs;\n\nfunction Og(a, b, c, d) {\n b = a.memoizedState;\n c = c(d, b);\n c = null === c || void 0 === c ? b : n({}, b, c);\n a.memoizedState = c;\n d = a.updateQueue;\n null !== d && 0 === a.expirationTime && (d.baseState = c);\n}\n\nvar Sg = {\n isMounted: function isMounted(a) {\n return (a = a._reactInternalFiber) ? ec(a) === a : !1;\n },\n enqueueSetState: function enqueueSetState(a, b, c) {\n a = a._reactInternalFiber;\n var d = Pg(),\n e = Mg.suspense;\n d = Qg(d, a, e);\n e = Bg(d, e);\n e.payload = b;\n void 0 !== c && null !== c && (e.callback = c);\n Dg(a, e);\n Rg(a, d);\n },\n enqueueReplaceState: function enqueueReplaceState(a, b, c) {\n a = a._reactInternalFiber;\n var d = Pg(),\n e = Mg.suspense;\n d = Qg(d, a, e);\n e = Bg(d, e);\n e.tag = 1;\n e.payload = b;\n void 0 !== c && null !== c && (e.callback = c);\n Dg(a, e);\n Rg(a, d);\n },\n enqueueForceUpdate: function enqueueForceUpdate(a, b) {\n a = a._reactInternalFiber;\n var c = Pg(),\n d = Mg.suspense;\n c = Qg(c, a, d);\n d = Bg(c, d);\n d.tag = 2;\n void 0 !== b && null !== b && (d.callback = b);\n Dg(a, d);\n Rg(a, c);\n }\n};\n\nfunction Tg(a, b, c, d, e, f, g) {\n a = a.stateNode;\n return \"function\" === typeof a.shouldComponentUpdate ? a.shouldComponentUpdate(d, f, g) : b.prototype && b.prototype.isPureReactComponent ? !qf(c, d) || !qf(e, f) : !0;\n}\n\nfunction Ug(a, b, c) {\n var d = !1,\n e = Cf;\n var f = b.contextType;\n \"object\" === typeof f && null !== f ? f = xg(f) : (e = L(b) ? Df : J.current, d = b.contextTypes, f = (d = null !== d && void 0 !== d) ? Ef(a, e) : Cf);\n b = new b(c, f);\n a.memoizedState = null !== b.state && void 0 !== b.state ? b.state : null;\n b.updater = Sg;\n a.stateNode = b;\n b._reactInternalFiber = a;\n d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = e, a.__reactInternalMemoizedMaskedChildContext = f);\n return b;\n}\n\nfunction Vg(a, b, c, d) {\n a = b.state;\n \"function\" === typeof b.componentWillReceiveProps && b.componentWillReceiveProps(c, d);\n \"function\" === typeof b.UNSAFE_componentWillReceiveProps && b.UNSAFE_componentWillReceiveProps(c, d);\n b.state !== a && Sg.enqueueReplaceState(b, b.state, null);\n}\n\nfunction Wg(a, b, c, d) {\n var e = a.stateNode;\n e.props = c;\n e.state = a.memoizedState;\n e.refs = Ng;\n var f = b.contextType;\n \"object\" === typeof f && null !== f ? e.context = xg(f) : (f = L(b) ? Df : J.current, e.context = Ef(a, f));\n f = a.updateQueue;\n null !== f && (Hg(a, f, c, e, d), e.state = a.memoizedState);\n f = b.getDerivedStateFromProps;\n \"function\" === typeof f && (Og(a, b, f, c), e.state = a.memoizedState);\n \"function\" === typeof b.getDerivedStateFromProps || \"function\" === typeof e.getSnapshotBeforeUpdate || \"function\" !== typeof e.UNSAFE_componentWillMount && \"function\" !== typeof e.componentWillMount || (b = e.state, \"function\" === typeof e.componentWillMount && e.componentWillMount(), \"function\" === typeof e.UNSAFE_componentWillMount && e.UNSAFE_componentWillMount(), b !== e.state && Sg.enqueueReplaceState(e, e.state, null), f = a.updateQueue, null !== f && (Hg(a, f, c, e, d), e.state = a.memoizedState));\n \"function\" === typeof e.componentDidMount && (a.effectTag |= 4);\n}\n\nvar Xg = Array.isArray;\n\nfunction Yg(a, b, c) {\n a = c.ref;\n\n if (null !== a && \"function\" !== typeof a && \"object\" !== typeof a) {\n if (c._owner) {\n c = c._owner;\n\n if (c) {\n if (1 !== c.tag) throw Error(u(309));\n var d = c.stateNode;\n }\n\n if (!d) throw Error(u(147, a));\n var e = \"\" + a;\n if (null !== b && null !== b.ref && \"function\" === typeof b.ref && b.ref._stringRef === e) return b.ref;\n\n b = function b(a) {\n var b = d.refs;\n b === Ng && (b = d.refs = {});\n null === a ? delete b[e] : b[e] = a;\n };\n\n b._stringRef = e;\n return b;\n }\n\n if (\"string\" !== typeof a) throw Error(u(284));\n if (!c._owner) throw Error(u(290, a));\n }\n\n return a;\n}\n\nfunction Zg(a, b) {\n if (\"textarea\" !== a.type) throw Error(u(31, \"[object Object]\" === Object.prototype.toString.call(b) ? \"object with keys {\" + Object.keys(b).join(\", \") + \"}\" : b, \"\"));\n}\n\nfunction $g(a) {\n function b(b, c) {\n if (a) {\n var d = b.lastEffect;\n null !== d ? (d.nextEffect = c, b.lastEffect = c) : b.firstEffect = b.lastEffect = c;\n c.nextEffect = null;\n c.effectTag = 8;\n }\n }\n\n function c(c, d) {\n if (!a) return null;\n\n for (; null !== d;) {\n b(c, d), d = d.sibling;\n }\n\n return null;\n }\n\n function d(a, b) {\n for (a = new Map(); null !== b;) {\n null !== b.key ? a.set(b.key, b) : a.set(b.index, b), b = b.sibling;\n }\n\n return a;\n }\n\n function e(a, b, c) {\n a = ah(a, b, c);\n a.index = 0;\n a.sibling = null;\n return a;\n }\n\n function f(b, c, d) {\n b.index = d;\n if (!a) return c;\n d = b.alternate;\n if (null !== d) return d = d.index, d < c ? (b.effectTag = 2, c) : d;\n b.effectTag = 2;\n return c;\n }\n\n function g(b) {\n a && null === b.alternate && (b.effectTag = 2);\n return b;\n }\n\n function h(a, b, c, d) {\n if (null === b || 6 !== b.tag) return b = bh(c, a.mode, d), b[\"return\"] = a, b;\n b = e(b, c, d);\n b[\"return\"] = a;\n return b;\n }\n\n function k(a, b, c, d) {\n if (null !== b && b.elementType === c.type) return d = e(b, c.props, d), d.ref = Yg(a, b, c), d[\"return\"] = a, d;\n d = ch(c.type, c.key, c.props, null, a.mode, d);\n d.ref = Yg(a, b, c);\n d[\"return\"] = a;\n return d;\n }\n\n function l(a, b, c, d) {\n if (null === b || 4 !== b.tag || b.stateNode.containerInfo !== c.containerInfo || b.stateNode.implementation !== c.implementation) return b = dh(c, a.mode, d), b[\"return\"] = a, b;\n b = e(b, c.children || [], d);\n b[\"return\"] = a;\n return b;\n }\n\n function m(a, b, c, d, f) {\n if (null === b || 7 !== b.tag) return b = eh(c, a.mode, d, f), b[\"return\"] = a, b;\n b = e(b, c, d);\n b[\"return\"] = a;\n return b;\n }\n\n function C(a, b, c) {\n if (\"string\" === typeof b || \"number\" === typeof b) return b = bh(\"\" + b, a.mode, c), b[\"return\"] = a, b;\n\n if (\"object\" === typeof b && null !== b) {\n switch (b.$$typeof) {\n case Ga:\n return c = ch(b.type, b.key, b.props, null, a.mode, c), c.ref = Yg(a, null, b), c[\"return\"] = a, c;\n\n case Ha:\n return b = dh(b, a.mode, c), b[\"return\"] = a, b;\n }\n\n if (Xg(b) || Ua(b)) return b = eh(b, a.mode, c, null), b[\"return\"] = a, b;\n Zg(a, b);\n }\n\n return null;\n }\n\n function y(a, b, c, d) {\n var e = null !== b ? b.key : null;\n if (\"string\" === typeof c || \"number\" === typeof c) return null !== e ? null : h(a, b, \"\" + c, d);\n\n if (\"object\" === typeof c && null !== c) {\n switch (c.$$typeof) {\n case Ga:\n return c.key === e ? c.type === Ia ? m(a, b, c.props.children, d, e) : k(a, b, c, d) : null;\n\n case Ha:\n return c.key === e ? l(a, b, c, d) : null;\n }\n\n if (Xg(c) || Ua(c)) return null !== e ? null : m(a, b, c, d, null);\n Zg(a, c);\n }\n\n return null;\n }\n\n function H(a, b, c, d, e) {\n if (\"string\" === typeof d || \"number\" === typeof d) return a = a.get(c) || null, h(b, a, \"\" + d, e);\n\n if (\"object\" === typeof d && null !== d) {\n switch (d.$$typeof) {\n case Ga:\n return a = a.get(null === d.key ? c : d.key) || null, d.type === Ia ? m(b, a, d.props.children, e, d.key) : k(b, a, d, e);\n\n case Ha:\n return a = a.get(null === d.key ? c : d.key) || null, l(b, a, d, e);\n }\n\n if (Xg(d) || Ua(d)) return a = a.get(c) || null, m(b, a, d, e, null);\n Zg(b, d);\n }\n\n return null;\n }\n\n function z(e, g, h, k) {\n for (var l = null, m = null, r = g, x = g = 0, A = null; null !== r && x < h.length; x++) {\n r.index > x ? (A = r, r = null) : A = r.sibling;\n var p = y(e, r, h[x], k);\n\n if (null === p) {\n null === r && (r = A);\n break;\n }\n\n a && r && null === p.alternate && b(e, r);\n g = f(p, g, x);\n null === m ? l = p : m.sibling = p;\n m = p;\n r = A;\n }\n\n if (x === h.length) return c(e, r), l;\n\n if (null === r) {\n for (; x < h.length; x++) {\n r = C(e, h[x], k), null !== r && (g = f(r, g, x), null === m ? l = r : m.sibling = r, m = r);\n }\n\n return l;\n }\n\n for (r = d(e, r); x < h.length; x++) {\n A = H(r, e, x, h[x], k), null !== A && (a && null !== A.alternate && r[\"delete\"](null === A.key ? x : A.key), g = f(A, g, x), null === m ? l = A : m.sibling = A, m = A);\n }\n\n a && r.forEach(function (a) {\n return b(e, a);\n });\n return l;\n }\n\n function ta(e, g, h, k) {\n var l = Ua(h);\n if (\"function\" !== typeof l) throw Error(u(150));\n h = l.call(h);\n if (null == h) throw Error(u(151));\n\n for (var m = l = null, r = g, x = g = 0, A = null, p = h.next(); null !== r && !p.done; x++, p = h.next()) {\n r.index > x ? (A = r, r = null) : A = r.sibling;\n var z = y(e, r, p.value, k);\n\n if (null === z) {\n null === r && (r = A);\n break;\n }\n\n a && r && null === z.alternate && b(e, r);\n g = f(z, g, x);\n null === m ? l = z : m.sibling = z;\n m = z;\n r = A;\n }\n\n if (p.done) return c(e, r), l;\n\n if (null === r) {\n for (; !p.done; x++, p = h.next()) {\n p = C(e, p.value, k), null !== p && (g = f(p, g, x), null === m ? l = p : m.sibling = p, m = p);\n }\n\n return l;\n }\n\n for (r = d(e, r); !p.done; x++, p = h.next()) {\n p = H(r, e, x, p.value, k), null !== p && (a && null !== p.alternate && r[\"delete\"](null === p.key ? x : p.key), g = f(p, g, x), null === m ? l = p : m.sibling = p, m = p);\n }\n\n a && r.forEach(function (a) {\n return b(e, a);\n });\n return l;\n }\n\n return function (a, d, f, h) {\n var k = \"object\" === typeof f && null !== f && f.type === Ia && null === f.key;\n k && (f = f.props.children);\n var l = \"object\" === typeof f && null !== f;\n if (l) switch (f.$$typeof) {\n case Ga:\n a: {\n l = f.key;\n\n for (k = d; null !== k;) {\n if (k.key === l) {\n if (7 === k.tag ? f.type === Ia : k.elementType === f.type) {\n c(a, k.sibling);\n d = e(k, f.type === Ia ? f.props.children : f.props, h);\n d.ref = Yg(a, k, f);\n d[\"return\"] = a;\n a = d;\n break a;\n } else {\n c(a, k);\n break;\n }\n } else b(a, k);\n k = k.sibling;\n }\n\n f.type === Ia ? (d = eh(f.props.children, a.mode, h, f.key), d[\"return\"] = a, a = d) : (h = ch(f.type, f.key, f.props, null, a.mode, h), h.ref = Yg(a, d, f), h[\"return\"] = a, a = h);\n }\n\n return g(a);\n\n case Ha:\n a: {\n for (k = f.key; null !== d;) {\n if (d.key === k) {\n if (4 === d.tag && d.stateNode.containerInfo === f.containerInfo && d.stateNode.implementation === f.implementation) {\n c(a, d.sibling);\n d = e(d, f.children || [], h);\n d[\"return\"] = a;\n a = d;\n break a;\n } else {\n c(a, d);\n break;\n }\n } else b(a, d);\n d = d.sibling;\n }\n\n d = dh(f, a.mode, h);\n d[\"return\"] = a;\n a = d;\n }\n\n return g(a);\n }\n if (\"string\" === typeof f || \"number\" === typeof f) return f = \"\" + f, null !== d && 6 === d.tag ? (c(a, d.sibling), d = e(d, f, h), d[\"return\"] = a, a = d) : (c(a, d), d = bh(f, a.mode, h), d[\"return\"] = a, a = d), g(a);\n if (Xg(f)) return z(a, d, f, h);\n if (Ua(f)) return ta(a, d, f, h);\n l && Zg(a, f);\n if (\"undefined\" === typeof f && !k) switch (a.tag) {\n case 1:\n case 0:\n throw a = a.type, Error(u(152, a.displayName || a.name || \"Component\"));\n }\n return c(a, d);\n };\n}\n\nvar fh = $g(!0),\n gh = $g(!1),\n hh = {},\n ih = {\n current: hh\n},\n jh = {\n current: hh\n},\n kh = {\n current: hh\n};\n\nfunction lh(a) {\n if (a === hh) throw Error(u(174));\n return a;\n}\n\nfunction mh(a, b) {\n I(kh, b, a);\n I(jh, a, a);\n I(ih, hh, a);\n var c = b.nodeType;\n\n switch (c) {\n case 9:\n case 11:\n b = (b = b.documentElement) ? b.namespaceURI : Qb(null, \"\");\n break;\n\n default:\n c = 8 === c ? b.parentNode : b, b = c.namespaceURI || null, c = c.tagName, b = Qb(b, c);\n }\n\n G(ih, a);\n I(ih, b, a);\n}\n\nfunction nh(a) {\n G(ih, a);\n G(jh, a);\n G(kh, a);\n}\n\nfunction oh(a) {\n lh(kh.current);\n var b = lh(ih.current);\n var c = Qb(b, a.type);\n b !== c && (I(jh, a, a), I(ih, c, a));\n}\n\nfunction ph(a) {\n jh.current === a && (G(ih, a), G(jh, a));\n}\n\nvar M = {\n current: 0\n};\n\nfunction qh(a) {\n for (var b = a; null !== b;) {\n if (13 === b.tag) {\n var c = b.memoizedState;\n if (null !== c && (c = c.dehydrated, null === c || c.data === je || c.data === ke)) return b;\n } else if (19 === b.tag && void 0 !== b.memoizedProps.revealOrder) {\n if (0 !== (b.effectTag & 64)) return b;\n } else if (null !== b.child) {\n b.child[\"return\"] = b;\n b = b.child;\n continue;\n }\n\n if (b === a) break;\n\n for (; null === b.sibling;) {\n if (null === b[\"return\"] || b[\"return\"] === a) return null;\n b = b[\"return\"];\n }\n\n b.sibling[\"return\"] = b[\"return\"];\n b = b.sibling;\n }\n\n return null;\n}\n\nfunction rh(a, b) {\n return {\n responder: a,\n props: b\n };\n}\n\nvar sh = Ea.ReactCurrentDispatcher,\n N = Ea.ReactCurrentBatchConfig,\n th = 0,\n uh = null,\n O = null,\n vh = null,\n wh = null,\n P = null,\n xh = null,\n yh = 0,\n zh = null,\n Ah = 0,\n Bh = !1,\n Ch = null,\n Gh = 0;\n\nfunction Q() {\n throw Error(u(321));\n}\n\nfunction Hh(a, b) {\n if (null === b) return !1;\n\n for (var c = 0; c < b.length && c < a.length; c++) {\n if (!of(a[c], b[c])) return !1;\n }\n\n return !0;\n}\n\nfunction Ih(a, b, c, d, e, f) {\n th = f;\n uh = b;\n vh = null !== a ? a.memoizedState : null;\n sh.current = null === vh ? Jh : Kh;\n b = c(d, e);\n\n if (Bh) {\n do {\n Bh = !1, Gh += 1, vh = null !== a ? a.memoizedState : null, xh = wh, zh = P = O = null, sh.current = Kh, b = c(d, e);\n } while (Bh);\n\n Ch = null;\n Gh = 0;\n }\n\n sh.current = Lh;\n a = uh;\n a.memoizedState = wh;\n a.expirationTime = yh;\n a.updateQueue = zh;\n a.effectTag |= Ah;\n a = null !== O && null !== O.next;\n th = 0;\n xh = P = wh = vh = O = uh = null;\n yh = 0;\n zh = null;\n Ah = 0;\n if (a) throw Error(u(300));\n return b;\n}\n\nfunction Mh() {\n sh.current = Lh;\n th = 0;\n xh = P = wh = vh = O = uh = null;\n yh = 0;\n zh = null;\n Ah = 0;\n Bh = !1;\n Ch = null;\n Gh = 0;\n}\n\nfunction Nh() {\n var a = {\n memoizedState: null,\n baseState: null,\n queue: null,\n baseUpdate: null,\n next: null\n };\n null === P ? wh = P = a : P = P.next = a;\n return P;\n}\n\nfunction Oh() {\n if (null !== xh) P = xh, xh = P.next, O = vh, vh = null !== O ? O.next : null;else {\n if (null === vh) throw Error(u(310));\n O = vh;\n var a = {\n memoizedState: O.memoizedState,\n baseState: O.baseState,\n queue: O.queue,\n baseUpdate: O.baseUpdate,\n next: null\n };\n P = null === P ? wh = a : P.next = a;\n vh = O.next;\n }\n return P;\n}\n\nfunction Ph(a, b) {\n return \"function\" === typeof b ? b(a) : b;\n}\n\nfunction Qh(a) {\n var b = Oh(),\n c = b.queue;\n if (null === c) throw Error(u(311));\n c.lastRenderedReducer = a;\n\n if (0 < Gh) {\n var d = c.dispatch;\n\n if (null !== Ch) {\n var e = Ch.get(c);\n\n if (void 0 !== e) {\n Ch[\"delete\"](c);\n var f = b.memoizedState;\n\n do {\n f = a(f, e.action), e = e.next;\n } while (null !== e);\n\n of(f, b.memoizedState) || (wg = !0);\n b.memoizedState = f;\n b.baseUpdate === c.last && (b.baseState = f);\n c.lastRenderedState = f;\n return [f, d];\n }\n }\n\n return [b.memoizedState, d];\n }\n\n d = c.last;\n var g = b.baseUpdate;\n f = b.baseState;\n null !== g ? (null !== d && (d.next = null), d = g.next) : d = null !== d ? d.next : null;\n\n if (null !== d) {\n var h = e = null,\n k = d,\n l = !1;\n\n do {\n var m = k.expirationTime;\n m < th ? (l || (l = !0, h = g, e = f), m > yh && (yh = m, Jg(yh))) : (Ig(m, k.suspenseConfig), f = k.eagerReducer === a ? k.eagerState : a(f, k.action));\n g = k;\n k = k.next;\n } while (null !== k && k !== d);\n\n l || (h = g, e = f);\n of(f, b.memoizedState) || (wg = !0);\n b.memoizedState = f;\n b.baseUpdate = h;\n b.baseState = e;\n c.lastRenderedState = f;\n }\n\n return [b.memoizedState, c.dispatch];\n}\n\nfunction Rh(a) {\n var b = Nh();\n \"function\" === typeof a && (a = a());\n b.memoizedState = b.baseState = a;\n a = b.queue = {\n last: null,\n dispatch: null,\n lastRenderedReducer: Ph,\n lastRenderedState: a\n };\n a = a.dispatch = Sh.bind(null, uh, a);\n return [b.memoizedState, a];\n}\n\nfunction Th(a) {\n return Qh(Ph, a);\n}\n\nfunction Uh(a, b, c, d) {\n a = {\n tag: a,\n create: b,\n destroy: c,\n deps: d,\n next: null\n };\n null === zh ? (zh = {\n lastEffect: null\n }, zh.lastEffect = a.next = a) : (b = zh.lastEffect, null === b ? zh.lastEffect = a.next = a : (c = b.next, b.next = a, a.next = c, zh.lastEffect = a));\n return a;\n}\n\nfunction Vh(a, b, c, d) {\n var e = Nh();\n Ah |= a;\n e.memoizedState = Uh(b, c, void 0, void 0 === d ? null : d);\n}\n\nfunction Wh(a, b, c, d) {\n var e = Oh();\n d = void 0 === d ? null : d;\n var f = void 0;\n\n if (null !== O) {\n var g = O.memoizedState;\n f = g.destroy;\n\n if (null !== d && Hh(d, g.deps)) {\n Uh(0, c, f, d);\n return;\n }\n }\n\n Ah |= a;\n e.memoizedState = Uh(b, c, f, d);\n}\n\nfunction Xh(a, b) {\n return Vh(516, 192, a, b);\n}\n\nfunction Yh(a, b) {\n return Wh(516, 192, a, b);\n}\n\nfunction Zh(a, b) {\n if (\"function\" === typeof b) return a = a(), b(a), function () {\n b(null);\n };\n if (null !== b && void 0 !== b) return a = a(), b.current = a, function () {\n b.current = null;\n };\n}\n\nfunction $h() {}\n\nfunction ai(a, b) {\n Nh().memoizedState = [a, void 0 === b ? null : b];\n return a;\n}\n\nfunction bi(a, b) {\n var c = Oh();\n b = void 0 === b ? null : b;\n var d = c.memoizedState;\n if (null !== d && null !== b && Hh(b, d[1])) return d[0];\n c.memoizedState = [a, b];\n return a;\n}\n\nfunction Sh(a, b, c) {\n if (!(25 > Gh)) throw Error(u(301));\n var d = a.alternate;\n if (a === uh || null !== d && d === uh) {\n if (Bh = !0, a = {\n expirationTime: th,\n suspenseConfig: null,\n action: c,\n eagerReducer: null,\n eagerState: null,\n next: null\n }, null === Ch && (Ch = new Map()), c = Ch.get(b), void 0 === c) Ch.set(b, a);else {\n for (b = c; null !== b.next;) {\n b = b.next;\n }\n\n b.next = a;\n }\n } else {\n var e = Pg(),\n f = Mg.suspense;\n e = Qg(e, a, f);\n f = {\n expirationTime: e,\n suspenseConfig: f,\n action: c,\n eagerReducer: null,\n eagerState: null,\n next: null\n };\n var g = b.last;\n if (null === g) f.next = f;else {\n var h = g.next;\n null !== h && (f.next = h);\n g.next = f;\n }\n b.last = f;\n if (0 === a.expirationTime && (null === d || 0 === d.expirationTime) && (d = b.lastRenderedReducer, null !== d)) try {\n var k = b.lastRenderedState,\n l = d(k, c);\n f.eagerReducer = d;\n f.eagerState = l;\n if (of(l, k)) return;\n } catch (m) {} finally {}\n Rg(a, e);\n }\n}\n\nvar Lh = {\n readContext: xg,\n useCallback: Q,\n useContext: Q,\n useEffect: Q,\n useImperativeHandle: Q,\n useLayoutEffect: Q,\n useMemo: Q,\n useReducer: Q,\n useRef: Q,\n useState: Q,\n useDebugValue: Q,\n useResponder: Q,\n useDeferredValue: Q,\n useTransition: Q\n},\n Jh = {\n readContext: xg,\n useCallback: ai,\n useContext: xg,\n useEffect: Xh,\n useImperativeHandle: function useImperativeHandle(a, b, c) {\n c = null !== c && void 0 !== c ? c.concat([a]) : null;\n return Vh(4, 36, Zh.bind(null, b, a), c);\n },\n useLayoutEffect: function useLayoutEffect(a, b) {\n return Vh(4, 36, a, b);\n },\n useMemo: function useMemo(a, b) {\n var c = Nh();\n b = void 0 === b ? null : b;\n a = a();\n c.memoizedState = [a, b];\n return a;\n },\n useReducer: function useReducer(a, b, c) {\n var d = Nh();\n b = void 0 !== c ? c(b) : b;\n d.memoizedState = d.baseState = b;\n a = d.queue = {\n last: null,\n dispatch: null,\n lastRenderedReducer: a,\n lastRenderedState: b\n };\n a = a.dispatch = Sh.bind(null, uh, a);\n return [d.memoizedState, a];\n },\n useRef: function useRef(a) {\n var b = Nh();\n a = {\n current: a\n };\n return b.memoizedState = a;\n },\n useState: Rh,\n useDebugValue: $h,\n useResponder: rh,\n useDeferredValue: function useDeferredValue(a, b) {\n var c = Rh(a),\n d = c[0],\n e = c[1];\n Xh(function () {\n q.unstable_next(function () {\n var c = N.suspense;\n N.suspense = void 0 === b ? null : b;\n\n try {\n e(a);\n } finally {\n N.suspense = c;\n }\n });\n }, [a, b]);\n return d;\n },\n useTransition: function useTransition(a) {\n var b = Rh(!1),\n c = b[0],\n d = b[1];\n return [ai(function (b) {\n d(!0);\n q.unstable_next(function () {\n var c = N.suspense;\n N.suspense = void 0 === a ? null : a;\n\n try {\n d(!1), b();\n } finally {\n N.suspense = c;\n }\n });\n }, [a, c]), c];\n }\n},\n Kh = {\n readContext: xg,\n useCallback: bi,\n useContext: xg,\n useEffect: Yh,\n useImperativeHandle: function useImperativeHandle(a, b, c) {\n c = null !== c && void 0 !== c ? c.concat([a]) : null;\n return Wh(4, 36, Zh.bind(null, b, a), c);\n },\n useLayoutEffect: function useLayoutEffect(a, b) {\n return Wh(4, 36, a, b);\n },\n useMemo: function useMemo(a, b) {\n var c = Oh();\n b = void 0 === b ? null : b;\n var d = c.memoizedState;\n if (null !== d && null !== b && Hh(b, d[1])) return d[0];\n a = a();\n c.memoizedState = [a, b];\n return a;\n },\n useReducer: Qh,\n useRef: function useRef() {\n return Oh().memoizedState;\n },\n useState: Th,\n useDebugValue: $h,\n useResponder: rh,\n useDeferredValue: function useDeferredValue(a, b) {\n var c = Th(a),\n d = c[0],\n e = c[1];\n Yh(function () {\n q.unstable_next(function () {\n var c = N.suspense;\n N.suspense = void 0 === b ? null : b;\n\n try {\n e(a);\n } finally {\n N.suspense = c;\n }\n });\n }, [a, b]);\n return d;\n },\n useTransition: function useTransition(a) {\n var b = Th(!1),\n c = b[0],\n d = b[1];\n return [bi(function (b) {\n d(!0);\n q.unstable_next(function () {\n var c = N.suspense;\n N.suspense = void 0 === a ? null : a;\n\n try {\n d(!1), b();\n } finally {\n N.suspense = c;\n }\n });\n }, [a, c]), c];\n }\n},\n ci = null,\n di = null,\n ei = !1;\n\nfunction fi(a, b) {\n var c = gi(5, null, null, 0);\n c.elementType = \"DELETED\";\n c.type = \"DELETED\";\n c.stateNode = b;\n c[\"return\"] = a;\n c.effectTag = 8;\n null !== a.lastEffect ? (a.lastEffect.nextEffect = c, a.lastEffect = c) : a.firstEffect = a.lastEffect = c;\n}\n\nfunction hi(a, b) {\n switch (a.tag) {\n case 5:\n var c = a.type;\n b = 1 !== b.nodeType || c.toLowerCase() !== b.nodeName.toLowerCase() ? null : b;\n return null !== b ? (a.stateNode = b, !0) : !1;\n\n case 6:\n return b = \"\" === a.pendingProps || 3 !== b.nodeType ? null : b, null !== b ? (a.stateNode = b, !0) : !1;\n\n case 13:\n return !1;\n\n default:\n return !1;\n }\n}\n\nfunction ii(a) {\n if (ei) {\n var b = di;\n\n if (b) {\n var c = b;\n\n if (!hi(a, b)) {\n b = re(c.nextSibling);\n\n if (!b || !hi(a, b)) {\n a.effectTag = a.effectTag & -1025 | 2;\n ei = !1;\n ci = a;\n return;\n }\n\n fi(ci, c);\n }\n\n ci = a;\n di = re(b.firstChild);\n } else a.effectTag = a.effectTag & -1025 | 2, ei = !1, ci = a;\n }\n}\n\nfunction ji(a) {\n for (a = a[\"return\"]; null !== a && 5 !== a.tag && 3 !== a.tag && 13 !== a.tag;) {\n a = a[\"return\"];\n }\n\n ci = a;\n}\n\nfunction ki(a) {\n if (a !== ci) return !1;\n if (!ei) return ji(a), ei = !0, !1;\n var b = a.type;\n if (5 !== a.tag || \"head\" !== b && \"body\" !== b && !oe(b, a.memoizedProps)) for (b = di; b;) {\n fi(a, b), b = re(b.nextSibling);\n }\n ji(a);\n\n if (13 === a.tag) {\n a = a.memoizedState;\n a = null !== a ? a.dehydrated : null;\n if (!a) throw Error(u(317));\n\n a: {\n a = a.nextSibling;\n\n for (b = 0; a;) {\n if (8 === a.nodeType) {\n var c = a.data;\n\n if (c === ie) {\n if (0 === b) {\n di = re(a.nextSibling);\n break a;\n }\n\n b--;\n } else c !== he && c !== ke && c !== je || b++;\n }\n\n a = a.nextSibling;\n }\n\n di = null;\n }\n } else di = ci ? re(a.stateNode.nextSibling) : null;\n\n return !0;\n}\n\nfunction li() {\n di = ci = null;\n ei = !1;\n}\n\nvar mi = Ea.ReactCurrentOwner,\n wg = !1;\n\nfunction R(a, b, c, d) {\n b.child = null === a ? gh(b, null, c, d) : fh(b, a.child, c, d);\n}\n\nfunction ni(a, b, c, d, e) {\n c = c.render;\n var f = b.ref;\n vg(b, e);\n d = Ih(a, b, c, d, f, e);\n if (null !== a && !wg) return b.updateQueue = a.updateQueue, b.effectTag &= -517, a.expirationTime <= e && (a.expirationTime = 0), oi(a, b, e);\n b.effectTag |= 1;\n R(a, b, d, e);\n return b.child;\n}\n\nfunction pi(a, b, c, d, e, f) {\n if (null === a) {\n var g = c.type;\n if (\"function\" === typeof g && !qi(g) && void 0 === g.defaultProps && null === c.compare && void 0 === c.defaultProps) return b.tag = 15, b.type = g, ri(a, b, g, d, e, f);\n a = ch(c.type, null, d, null, b.mode, f);\n a.ref = b.ref;\n a[\"return\"] = b;\n return b.child = a;\n }\n\n g = a.child;\n if (e < f && (e = g.memoizedProps, c = c.compare, c = null !== c ? c : qf, c(e, d) && a.ref === b.ref)) return oi(a, b, f);\n b.effectTag |= 1;\n a = ah(g, d, f);\n a.ref = b.ref;\n a[\"return\"] = b;\n return b.child = a;\n}\n\nfunction ri(a, b, c, d, e, f) {\n return null !== a && qf(a.memoizedProps, d) && a.ref === b.ref && (wg = !1, e < f) ? oi(a, b, f) : si(a, b, c, d, f);\n}\n\nfunction ti(a, b) {\n var c = b.ref;\n if (null === a && null !== c || null !== a && a.ref !== c) b.effectTag |= 128;\n}\n\nfunction si(a, b, c, d, e) {\n var f = L(c) ? Df : J.current;\n f = Ef(b, f);\n vg(b, e);\n c = Ih(a, b, c, d, f, e);\n if (null !== a && !wg) return b.updateQueue = a.updateQueue, b.effectTag &= -517, a.expirationTime <= e && (a.expirationTime = 0), oi(a, b, e);\n b.effectTag |= 1;\n R(a, b, c, e);\n return b.child;\n}\n\nfunction ui(a, b, c, d, e) {\n if (L(c)) {\n var f = !0;\n Jf(b);\n } else f = !1;\n\n vg(b, e);\n if (null === b.stateNode) null !== a && (a.alternate = null, b.alternate = null, b.effectTag |= 2), Ug(b, c, d, e), Wg(b, c, d, e), d = !0;else if (null === a) {\n var g = b.stateNode,\n h = b.memoizedProps;\n g.props = h;\n var k = g.context,\n l = c.contextType;\n \"object\" === typeof l && null !== l ? l = xg(l) : (l = L(c) ? Df : J.current, l = Ef(b, l));\n var m = c.getDerivedStateFromProps,\n C = \"function\" === typeof m || \"function\" === typeof g.getSnapshotBeforeUpdate;\n C || \"function\" !== typeof g.UNSAFE_componentWillReceiveProps && \"function\" !== typeof g.componentWillReceiveProps || (h !== d || k !== l) && Vg(b, g, d, l);\n yg = !1;\n var y = b.memoizedState;\n k = g.state = y;\n var H = b.updateQueue;\n null !== H && (Hg(b, H, d, g, e), k = b.memoizedState);\n h !== d || y !== k || K.current || yg ? (\"function\" === typeof m && (Og(b, c, m, d), k = b.memoizedState), (h = yg || Tg(b, c, h, d, y, k, l)) ? (C || \"function\" !== typeof g.UNSAFE_componentWillMount && \"function\" !== typeof g.componentWillMount || (\"function\" === typeof g.componentWillMount && g.componentWillMount(), \"function\" === typeof g.UNSAFE_componentWillMount && g.UNSAFE_componentWillMount()), \"function\" === typeof g.componentDidMount && (b.effectTag |= 4)) : (\"function\" === typeof g.componentDidMount && (b.effectTag |= 4), b.memoizedProps = d, b.memoizedState = k), g.props = d, g.state = k, g.context = l, d = h) : (\"function\" === typeof g.componentDidMount && (b.effectTag |= 4), d = !1);\n } else g = b.stateNode, h = b.memoizedProps, g.props = b.type === b.elementType ? h : mg(b.type, h), k = g.context, l = c.contextType, \"object\" === typeof l && null !== l ? l = xg(l) : (l = L(c) ? Df : J.current, l = Ef(b, l)), m = c.getDerivedStateFromProps, (C = \"function\" === typeof m || \"function\" === typeof g.getSnapshotBeforeUpdate) || \"function\" !== typeof g.UNSAFE_componentWillReceiveProps && \"function\" !== typeof g.componentWillReceiveProps || (h !== d || k !== l) && Vg(b, g, d, l), yg = !1, k = b.memoizedState, y = g.state = k, H = b.updateQueue, null !== H && (Hg(b, H, d, g, e), y = b.memoizedState), h !== d || k !== y || K.current || yg ? (\"function\" === typeof m && (Og(b, c, m, d), y = b.memoizedState), (m = yg || Tg(b, c, h, d, k, y, l)) ? (C || \"function\" !== typeof g.UNSAFE_componentWillUpdate && \"function\" !== typeof g.componentWillUpdate || (\"function\" === typeof g.componentWillUpdate && g.componentWillUpdate(d, y, l), \"function\" === typeof g.UNSAFE_componentWillUpdate && g.UNSAFE_componentWillUpdate(d, y, l)), \"function\" === typeof g.componentDidUpdate && (b.effectTag |= 4), \"function\" === typeof g.getSnapshotBeforeUpdate && (b.effectTag |= 256)) : (\"function\" !== typeof g.componentDidUpdate || h === a.memoizedProps && k === a.memoizedState || (b.effectTag |= 4), \"function\" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && k === a.memoizedState || (b.effectTag |= 256), b.memoizedProps = d, b.memoizedState = y), g.props = d, g.state = y, g.context = l, d = m) : (\"function\" !== typeof g.componentDidUpdate || h === a.memoizedProps && k === a.memoizedState || (b.effectTag |= 4), \"function\" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && k === a.memoizedState || (b.effectTag |= 256), d = !1);\n return vi(a, b, c, d, f, e);\n}\n\nfunction vi(a, b, c, d, e, f) {\n ti(a, b);\n var g = 0 !== (b.effectTag & 64);\n if (!d && !g) return e && Kf(b, c, !1), oi(a, b, f);\n d = b.stateNode;\n mi.current = b;\n var h = g && \"function\" !== typeof c.getDerivedStateFromError ? null : d.render();\n b.effectTag |= 1;\n null !== a && g ? (b.child = fh(b, a.child, null, f), b.child = fh(b, null, h, f)) : R(a, b, h, f);\n b.memoizedState = d.state;\n e && Kf(b, c, !0);\n return b.child;\n}\n\nfunction wi(a) {\n var b = a.stateNode;\n b.pendingContext ? Hf(a, b.pendingContext, b.pendingContext !== b.context) : b.context && Hf(a, b.context, !1);\n mh(a, b.containerInfo);\n}\n\nvar xi = {\n dehydrated: null,\n retryTime: 0\n};\n\nfunction yi(a, b, c) {\n var d = b.mode,\n e = b.pendingProps,\n f = M.current,\n g = !1,\n h;\n (h = 0 !== (b.effectTag & 64)) || (h = 0 !== (f & 2) && (null === a || null !== a.memoizedState));\n h ? (g = !0, b.effectTag &= -65) : null !== a && null === a.memoizedState || void 0 === e.fallback || !0 === e.unstable_avoidThisFallback || (f |= 1);\n I(M, f & 1, b);\n\n if (null === a) {\n void 0 !== e.fallback && ii(b);\n\n if (g) {\n g = e.fallback;\n e = eh(null, d, 0, null);\n e[\"return\"] = b;\n if (0 === (b.mode & 2)) for (a = null !== b.memoizedState ? b.child.child : b.child, e.child = a; null !== a;) {\n a[\"return\"] = e, a = a.sibling;\n }\n c = eh(g, d, c, null);\n c[\"return\"] = b;\n e.sibling = c;\n b.memoizedState = xi;\n b.child = e;\n return c;\n }\n\n d = e.children;\n b.memoizedState = null;\n return b.child = gh(b, null, d, c);\n }\n\n if (null !== a.memoizedState) {\n a = a.child;\n d = a.sibling;\n\n if (g) {\n e = e.fallback;\n c = ah(a, a.pendingProps, 0);\n c[\"return\"] = b;\n if (0 === (b.mode & 2) && (g = null !== b.memoizedState ? b.child.child : b.child, g !== a.child)) for (c.child = g; null !== g;) {\n g[\"return\"] = c, g = g.sibling;\n }\n d = ah(d, e, d.expirationTime);\n d[\"return\"] = b;\n c.sibling = d;\n c.childExpirationTime = 0;\n b.memoizedState = xi;\n b.child = c;\n return d;\n }\n\n c = fh(b, a.child, e.children, c);\n b.memoizedState = null;\n return b.child = c;\n }\n\n a = a.child;\n\n if (g) {\n g = e.fallback;\n e = eh(null, d, 0, null);\n e[\"return\"] = b;\n e.child = a;\n null !== a && (a[\"return\"] = e);\n if (0 === (b.mode & 2)) for (a = null !== b.memoizedState ? b.child.child : b.child, e.child = a; null !== a;) {\n a[\"return\"] = e, a = a.sibling;\n }\n c = eh(g, d, c, null);\n c[\"return\"] = b;\n e.sibling = c;\n c.effectTag |= 2;\n e.childExpirationTime = 0;\n b.memoizedState = xi;\n b.child = e;\n return c;\n }\n\n b.memoizedState = null;\n return b.child = fh(b, a, e.children, c);\n}\n\nfunction zi(a, b) {\n a.expirationTime < b && (a.expirationTime = b);\n var c = a.alternate;\n null !== c && c.expirationTime < b && (c.expirationTime = b);\n ug(a[\"return\"], b);\n}\n\nfunction Ai(a, b, c, d, e, f) {\n var g = a.memoizedState;\n null === g ? a.memoizedState = {\n isBackwards: b,\n rendering: null,\n last: d,\n tail: c,\n tailExpiration: 0,\n tailMode: e,\n lastEffect: f\n } : (g.isBackwards = b, g.rendering = null, g.last = d, g.tail = c, g.tailExpiration = 0, g.tailMode = e, g.lastEffect = f);\n}\n\nfunction Bi(a, b, c) {\n var d = b.pendingProps,\n e = d.revealOrder,\n f = d.tail;\n R(a, b, d.children, c);\n d = M.current;\n if (0 !== (d & 2)) d = d & 1 | 2, b.effectTag |= 64;else {\n if (null !== a && 0 !== (a.effectTag & 64)) a: for (a = b.child; null !== a;) {\n if (13 === a.tag) null !== a.memoizedState && zi(a, c);else if (19 === a.tag) zi(a, c);else if (null !== a.child) {\n a.child[\"return\"] = a;\n a = a.child;\n continue;\n }\n if (a === b) break a;\n\n for (; null === a.sibling;) {\n if (null === a[\"return\"] || a[\"return\"] === b) break a;\n a = a[\"return\"];\n }\n\n a.sibling[\"return\"] = a[\"return\"];\n a = a.sibling;\n }\n d &= 1;\n }\n I(M, d, b);\n if (0 === (b.mode & 2)) b.memoizedState = null;else switch (e) {\n case \"forwards\":\n c = b.child;\n\n for (e = null; null !== c;) {\n a = c.alternate, null !== a && null === qh(a) && (e = c), c = c.sibling;\n }\n\n c = e;\n null === c ? (e = b.child, b.child = null) : (e = c.sibling, c.sibling = null);\n Ai(b, !1, e, c, f, b.lastEffect);\n break;\n\n case \"backwards\":\n c = null;\n e = b.child;\n\n for (b.child = null; null !== e;) {\n a = e.alternate;\n\n if (null !== a && null === qh(a)) {\n b.child = e;\n break;\n }\n\n a = e.sibling;\n e.sibling = c;\n c = e;\n e = a;\n }\n\n Ai(b, !0, c, null, f, b.lastEffect);\n break;\n\n case \"together\":\n Ai(b, !1, null, null, void 0, b.lastEffect);\n break;\n\n default:\n b.memoizedState = null;\n }\n return b.child;\n}\n\nfunction oi(a, b, c) {\n null !== a && (b.dependencies = a.dependencies);\n var d = b.expirationTime;\n 0 !== d && Jg(d);\n if (b.childExpirationTime < c) return null;\n if (null !== a && b.child !== a.child) throw Error(u(153));\n\n if (null !== b.child) {\n a = b.child;\n c = ah(a, a.pendingProps, a.expirationTime);\n b.child = c;\n\n for (c[\"return\"] = b; null !== a.sibling;) {\n a = a.sibling, c = c.sibling = ah(a, a.pendingProps, a.expirationTime), c[\"return\"] = b;\n }\n\n c.sibling = null;\n }\n\n return b.child;\n}\n\nfunction Ci(a) {\n a.effectTag |= 4;\n}\n\nvar Hi, Ii, Ji, Ki;\n\nHi = function Hi(a, b) {\n for (var c = b.child; null !== c;) {\n if (5 === c.tag || 6 === c.tag) a.appendChild(c.stateNode);else if (4 !== c.tag && null !== c.child) {\n c.child[\"return\"] = c;\n c = c.child;\n continue;\n }\n if (c === b) break;\n\n for (; null === c.sibling;) {\n if (null === c[\"return\"] || c[\"return\"] === b) return;\n c = c[\"return\"];\n }\n\n c.sibling[\"return\"] = c[\"return\"];\n c = c.sibling;\n }\n};\n\nIi = function Ii() {};\n\nJi = function Ji(a, b, c, d, e) {\n var f = a.memoizedProps;\n\n if (f !== d) {\n var g = b.stateNode;\n lh(ih.current);\n a = null;\n\n switch (c) {\n case \"input\":\n f = Ab(g, f);\n d = Ab(g, d);\n a = [];\n break;\n\n case \"option\":\n f = Ib(g, f);\n d = Ib(g, d);\n a = [];\n break;\n\n case \"select\":\n f = n({}, f, {\n value: void 0\n });\n d = n({}, d, {\n value: void 0\n });\n a = [];\n break;\n\n case \"textarea\":\n f = Kb(g, f);\n d = Kb(g, d);\n a = [];\n break;\n\n default:\n \"function\" !== typeof f.onClick && \"function\" === typeof d.onClick && (g.onclick = ae);\n }\n\n Yd(c, d);\n var h, k;\n c = null;\n\n for (h in f) {\n if (!d.hasOwnProperty(h) && f.hasOwnProperty(h) && null != f[h]) if (\"style\" === h) for (k in g = f[h], g) {\n g.hasOwnProperty(k) && (c || (c = {}), c[k] = \"\");\n } else \"dangerouslySetInnerHTML\" !== h && \"children\" !== h && \"suppressContentEditableWarning\" !== h && \"suppressHydrationWarning\" !== h && \"autoFocus\" !== h && (ia.hasOwnProperty(h) ? a || (a = []) : (a = a || []).push(h, null));\n }\n\n for (h in d) {\n var l = d[h];\n g = null != f ? f[h] : void 0;\n if (d.hasOwnProperty(h) && l !== g && (null != l || null != g)) if (\"style\" === h) {\n if (g) {\n for (k in g) {\n !g.hasOwnProperty(k) || l && l.hasOwnProperty(k) || (c || (c = {}), c[k] = \"\");\n }\n\n for (k in l) {\n l.hasOwnProperty(k) && g[k] !== l[k] && (c || (c = {}), c[k] = l[k]);\n }\n } else c || (a || (a = []), a.push(h, c)), c = l;\n } else \"dangerouslySetInnerHTML\" === h ? (l = l ? l.__html : void 0, g = g ? g.__html : void 0, null != l && g !== l && (a = a || []).push(h, \"\" + l)) : \"children\" === h ? g === l || \"string\" !== typeof l && \"number\" !== typeof l || (a = a || []).push(h, \"\" + l) : \"suppressContentEditableWarning\" !== h && \"suppressHydrationWarning\" !== h && (ia.hasOwnProperty(h) ? (null != l && $d(e, h), a || g === l || (a = [])) : (a = a || []).push(h, l));\n }\n\n c && (a = a || []).push(\"style\", c);\n e = a;\n (b.updateQueue = e) && Ci(b);\n }\n};\n\nKi = function Ki(a, b, c, d) {\n c !== d && Ci(b);\n};\n\nfunction Li(a, b) {\n switch (a.tailMode) {\n case \"hidden\":\n b = a.tail;\n\n for (var c = null; null !== b;) {\n null !== b.alternate && (c = b), b = b.sibling;\n }\n\n null === c ? a.tail = null : c.sibling = null;\n break;\n\n case \"collapsed\":\n c = a.tail;\n\n for (var d = null; null !== c;) {\n null !== c.alternate && (d = c), c = c.sibling;\n }\n\n null === d ? b || null === a.tail ? a.tail = null : a.tail.sibling = null : d.sibling = null;\n }\n}\n\nfunction Mi(a) {\n switch (a.tag) {\n case 1:\n L(a.type) && Ff(a);\n var b = a.effectTag;\n return b & 4096 ? (a.effectTag = b & -4097 | 64, a) : null;\n\n case 3:\n nh(a);\n Gf(a);\n b = a.effectTag;\n if (0 !== (b & 64)) throw Error(u(285));\n a.effectTag = b & -4097 | 64;\n return a;\n\n case 5:\n return ph(a), null;\n\n case 13:\n return G(M, a), b = a.effectTag, b & 4096 ? (a.effectTag = b & -4097 | 64, a) : null;\n\n case 19:\n return G(M, a), null;\n\n case 4:\n return nh(a), null;\n\n case 10:\n return tg(a), null;\n\n default:\n return null;\n }\n}\n\nfunction Ni(a, b) {\n return {\n value: a,\n source: b,\n stack: Xa(b)\n };\n}\n\nvar Oi = \"function\" === typeof WeakSet ? WeakSet : Set;\n\nfunction Pi(a, b) {\n var c = b.source,\n d = b.stack;\n null === d && null !== c && (d = Xa(c));\n null !== c && Wa(c.type);\n b = b.value;\n null !== a && 1 === a.tag && Wa(a.type);\n\n try {\n console.error(b);\n } catch (e) {\n setTimeout(function () {\n throw e;\n });\n }\n}\n\nfunction Qi(a, b) {\n try {\n b.props = a.memoizedProps, b.state = a.memoizedState, b.componentWillUnmount();\n } catch (c) {\n Ri(a, c);\n }\n}\n\nfunction Si(a) {\n var b = a.ref;\n if (null !== b) if (\"function\" === typeof b) try {\n b(null);\n } catch (c) {\n Ri(a, c);\n } else b.current = null;\n}\n\nfunction Ti(a, b) {\n switch (b.tag) {\n case 0:\n case 11:\n case 15:\n Ui(2, 0, b);\n break;\n\n case 1:\n if (b.effectTag & 256 && null !== a) {\n var c = a.memoizedProps,\n d = a.memoizedState;\n a = b.stateNode;\n b = a.getSnapshotBeforeUpdate(b.elementType === b.type ? c : mg(b.type, c), d);\n a.__reactInternalSnapshotBeforeUpdate = b;\n }\n\n break;\n\n case 3:\n case 5:\n case 6:\n case 4:\n case 17:\n break;\n\n default:\n throw Error(u(163));\n }\n}\n\nfunction Ui(a, b, c) {\n c = c.updateQueue;\n c = null !== c ? c.lastEffect : null;\n\n if (null !== c) {\n var d = c = c.next;\n\n do {\n if (0 !== (d.tag & a)) {\n var e = d.destroy;\n d.destroy = void 0;\n void 0 !== e && e();\n }\n\n 0 !== (d.tag & b) && (e = d.create, d.destroy = e());\n d = d.next;\n } while (d !== c);\n }\n}\n\nfunction Vi(a, b, c) {\n \"function\" === typeof Wi && Wi(b);\n\n switch (b.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n a = b.updateQueue;\n\n if (null !== a && (a = a.lastEffect, null !== a)) {\n var d = a.next;\n fg(97 < c ? 97 : c, function () {\n var a = d;\n\n do {\n var c = a.destroy;\n\n if (void 0 !== c) {\n var g = b;\n\n try {\n c();\n } catch (h) {\n Ri(g, h);\n }\n }\n\n a = a.next;\n } while (a !== d);\n });\n }\n\n break;\n\n case 1:\n Si(b);\n c = b.stateNode;\n \"function\" === typeof c.componentWillUnmount && Qi(b, c);\n break;\n\n case 5:\n Si(b);\n break;\n\n case 4:\n Xi(a, b, c);\n }\n}\n\nfunction Yi(a) {\n var b = a.alternate;\n a[\"return\"] = null;\n a.child = null;\n a.memoizedState = null;\n a.updateQueue = null;\n a.dependencies = null;\n a.alternate = null;\n a.firstEffect = null;\n a.lastEffect = null;\n a.pendingProps = null;\n a.memoizedProps = null;\n null !== b && Yi(b);\n}\n\nfunction Zi(a) {\n return 5 === a.tag || 3 === a.tag || 4 === a.tag;\n}\n\nfunction $i(a) {\n a: {\n for (var b = a[\"return\"]; null !== b;) {\n if (Zi(b)) {\n var c = b;\n break a;\n }\n\n b = b[\"return\"];\n }\n\n throw Error(u(160));\n }\n\n b = c.stateNode;\n\n switch (c.tag) {\n case 5:\n var d = !1;\n break;\n\n case 3:\n b = b.containerInfo;\n d = !0;\n break;\n\n case 4:\n b = b.containerInfo;\n d = !0;\n break;\n\n default:\n throw Error(u(161));\n }\n\n c.effectTag & 16 && (Tb(b, \"\"), c.effectTag &= -17);\n\n a: b: for (c = a;;) {\n for (; null === c.sibling;) {\n if (null === c[\"return\"] || Zi(c[\"return\"])) {\n c = null;\n break a;\n }\n\n c = c[\"return\"];\n }\n\n c.sibling[\"return\"] = c[\"return\"];\n\n for (c = c.sibling; 5 !== c.tag && 6 !== c.tag && 18 !== c.tag;) {\n if (c.effectTag & 2) continue b;\n if (null === c.child || 4 === c.tag) continue b;else c.child[\"return\"] = c, c = c.child;\n }\n\n if (!(c.effectTag & 2)) {\n c = c.stateNode;\n break a;\n }\n }\n\n for (var e = a;;) {\n var f = 5 === e.tag || 6 === e.tag;\n\n if (f) {\n var g = f ? e.stateNode : e.stateNode.instance;\n if (c) {\n if (d) {\n f = b;\n var h = g;\n g = c;\n 8 === f.nodeType ? f.parentNode.insertBefore(h, g) : f.insertBefore(h, g);\n } else b.insertBefore(g, c);\n } else d ? (h = b, 8 === h.nodeType ? (f = h.parentNode, f.insertBefore(g, h)) : (f = h, f.appendChild(g)), h = h._reactRootContainer, null !== h && void 0 !== h || null !== f.onclick || (f.onclick = ae)) : b.appendChild(g);\n } else if (4 !== e.tag && null !== e.child) {\n e.child[\"return\"] = e;\n e = e.child;\n continue;\n }\n\n if (e === a) break;\n\n for (; null === e.sibling;) {\n if (null === e[\"return\"] || e[\"return\"] === a) return;\n e = e[\"return\"];\n }\n\n e.sibling[\"return\"] = e[\"return\"];\n e = e.sibling;\n }\n}\n\nfunction Xi(a, b, c) {\n for (var d = b, e = !1, f, g;;) {\n if (!e) {\n e = d[\"return\"];\n\n a: for (;;) {\n if (null === e) throw Error(u(160));\n f = e.stateNode;\n\n switch (e.tag) {\n case 5:\n g = !1;\n break a;\n\n case 3:\n f = f.containerInfo;\n g = !0;\n break a;\n\n case 4:\n f = f.containerInfo;\n g = !0;\n break a;\n }\n\n e = e[\"return\"];\n }\n\n e = !0;\n }\n\n if (5 === d.tag || 6 === d.tag) {\n a: for (var h = a, k = d, l = c, m = k;;) {\n if (Vi(h, m, l), null !== m.child && 4 !== m.tag) m.child[\"return\"] = m, m = m.child;else {\n if (m === k) break;\n\n for (; null === m.sibling;) {\n if (null === m[\"return\"] || m[\"return\"] === k) break a;\n m = m[\"return\"];\n }\n\n m.sibling[\"return\"] = m[\"return\"];\n m = m.sibling;\n }\n }\n\n g ? (h = f, k = d.stateNode, 8 === h.nodeType ? h.parentNode.removeChild(k) : h.removeChild(k)) : f.removeChild(d.stateNode);\n } else if (4 === d.tag) {\n if (null !== d.child) {\n f = d.stateNode.containerInfo;\n g = !0;\n d.child[\"return\"] = d;\n d = d.child;\n continue;\n }\n } else if (Vi(a, d, c), null !== d.child) {\n d.child[\"return\"] = d;\n d = d.child;\n continue;\n }\n\n if (d === b) break;\n\n for (; null === d.sibling;) {\n if (null === d[\"return\"] || d[\"return\"] === b) return;\n d = d[\"return\"];\n 4 === d.tag && (e = !1);\n }\n\n d.sibling[\"return\"] = d[\"return\"];\n d = d.sibling;\n }\n}\n\nfunction aj(a, b) {\n switch (b.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n Ui(4, 8, b);\n break;\n\n case 1:\n break;\n\n case 5:\n var c = b.stateNode;\n\n if (null != c) {\n var d = b.memoizedProps,\n e = null !== a ? a.memoizedProps : d;\n a = b.type;\n var f = b.updateQueue;\n b.updateQueue = null;\n\n if (null !== f) {\n c[ve] = d;\n \"input\" === a && \"radio\" === d.type && null != d.name && Cb(c, d);\n Zd(a, e);\n b = Zd(a, d);\n\n for (e = 0; e < f.length; e += 2) {\n var g = f[e],\n h = f[e + 1];\n \"style\" === g ? Wd(c, h) : \"dangerouslySetInnerHTML\" === g ? Sb(c, h) : \"children\" === g ? Tb(c, h) : vb(c, g, h, b);\n }\n\n switch (a) {\n case \"input\":\n Eb(c, d);\n break;\n\n case \"textarea\":\n Mb(c, d);\n break;\n\n case \"select\":\n b = c._wrapperState.wasMultiple, c._wrapperState.wasMultiple = !!d.multiple, a = d.value, null != a ? Jb(c, !!d.multiple, a, !1) : b !== !!d.multiple && (null != d.defaultValue ? Jb(c, !!d.multiple, d.defaultValue, !0) : Jb(c, !!d.multiple, d.multiple ? [] : \"\", !1));\n }\n }\n }\n\n break;\n\n case 6:\n if (null === b.stateNode) throw Error(u(162));\n b.stateNode.nodeValue = b.memoizedProps;\n break;\n\n case 3:\n b = b.stateNode;\n b.hydrate && (b.hydrate = !1, Lc(b.containerInfo));\n break;\n\n case 12:\n break;\n\n case 13:\n c = b;\n null === b.memoizedState ? d = !1 : (d = !0, c = b.child, bj = cg());\n if (null !== c) a: for (a = c;;) {\n if (5 === a.tag) f = a.stateNode, d ? (f = f.style, \"function\" === typeof f.setProperty ? f.setProperty(\"display\", \"none\", \"important\") : f.display = \"none\") : (f = a.stateNode, e = a.memoizedProps.style, e = void 0 !== e && null !== e && e.hasOwnProperty(\"display\") ? e.display : null, f.style.display = Vd(\"display\", e));else if (6 === a.tag) a.stateNode.nodeValue = d ? \"\" : a.memoizedProps;else if (13 === a.tag && null !== a.memoizedState && null === a.memoizedState.dehydrated) {\n f = a.child.sibling;\n f[\"return\"] = a;\n a = f;\n continue;\n } else if (null !== a.child) {\n a.child[\"return\"] = a;\n a = a.child;\n continue;\n }\n if (a === c) break a;\n\n for (; null === a.sibling;) {\n if (null === a[\"return\"] || a[\"return\"] === c) break a;\n a = a[\"return\"];\n }\n\n a.sibling[\"return\"] = a[\"return\"];\n a = a.sibling;\n }\n cj(b);\n break;\n\n case 19:\n cj(b);\n break;\n\n case 17:\n break;\n\n case 20:\n break;\n\n case 21:\n break;\n\n default:\n throw Error(u(163));\n }\n}\n\nfunction cj(a) {\n var b = a.updateQueue;\n\n if (null !== b) {\n a.updateQueue = null;\n var c = a.stateNode;\n null === c && (c = a.stateNode = new Oi());\n b.forEach(function (b) {\n var d = dj.bind(null, a, b);\n c.has(b) || (c.add(b), b.then(d, d));\n });\n }\n}\n\nvar ej = \"function\" === typeof WeakMap ? WeakMap : Map;\n\nfunction fj(a, b, c) {\n c = Bg(c, null);\n c.tag = 3;\n c.payload = {\n element: null\n };\n var d = b.value;\n\n c.callback = function () {\n gj || (gj = !0, hj = d);\n Pi(a, b);\n };\n\n return c;\n}\n\nfunction ij(a, b, c) {\n c = Bg(c, null);\n c.tag = 3;\n var d = a.type.getDerivedStateFromError;\n\n if (\"function\" === typeof d) {\n var e = b.value;\n\n c.payload = function () {\n Pi(a, b);\n return d(e);\n };\n }\n\n var f = a.stateNode;\n null !== f && \"function\" === typeof f.componentDidCatch && (c.callback = function () {\n \"function\" !== typeof d && (null === jj ? jj = new Set([this]) : jj.add(this), Pi(a, b));\n var c = b.stack;\n this.componentDidCatch(b.value, {\n componentStack: null !== c ? c : \"\"\n });\n });\n return c;\n}\n\nvar kj = Math.ceil,\n lj = Ea.ReactCurrentDispatcher,\n mj = Ea.ReactCurrentOwner,\n S = 0,\n nj = 8,\n oj = 16,\n pj = 32,\n qj = 0,\n rj = 1,\n sj = 2,\n tj = 3,\n uj = 4,\n vj = 5,\n T = S,\n U = null,\n V = null,\n W = 0,\n X = qj,\n wj = null,\n xj = 1073741823,\n yj = 1073741823,\n zj = null,\n Aj = 0,\n Bj = !1,\n bj = 0,\n Cj = 500,\n Y = null,\n gj = !1,\n hj = null,\n jj = null,\n Dj = !1,\n Ej = null,\n Fj = 90,\n Gj = null,\n Hj = 0,\n Ij = null,\n Jj = 0;\n\nfunction Pg() {\n return (T & (oj | pj)) !== S ? 1073741821 - (cg() / 10 | 0) : 0 !== Jj ? Jj : Jj = 1073741821 - (cg() / 10 | 0);\n}\n\nfunction Qg(a, b, c) {\n b = b.mode;\n if (0 === (b & 2)) return 1073741823;\n var d = dg();\n if (0 === (b & 4)) return 99 === d ? 1073741823 : 1073741822;\n if ((T & oj) !== S) return W;\n if (null !== c) a = lg(a, c.timeoutMs | 0 || 5E3, 250);else switch (d) {\n case 99:\n a = 1073741823;\n break;\n\n case 98:\n a = lg(a, 150, 100);\n break;\n\n case 97:\n case 96:\n a = lg(a, 5E3, 250);\n break;\n\n case 95:\n a = 2;\n break;\n\n default:\n throw Error(u(326));\n }\n null !== U && a === W && --a;\n return a;\n}\n\nfunction Rg(a, b) {\n if (50 < Hj) throw Hj = 0, Ij = null, Error(u(185));\n a = Kj(a, b);\n\n if (null !== a) {\n var c = dg();\n 1073741823 === b ? (T & nj) !== S && (T & (oj | pj)) === S ? Lj(a) : (Z(a), T === S && jg()) : Z(a);\n (T & 4) === S || 98 !== c && 99 !== c || (null === Gj ? Gj = new Map([[a, b]]) : (c = Gj.get(a), (void 0 === c || c > b) && Gj.set(a, b)));\n }\n}\n\nfunction Kj(a, b) {\n a.expirationTime < b && (a.expirationTime = b);\n var c = a.alternate;\n null !== c && c.expirationTime < b && (c.expirationTime = b);\n var d = a[\"return\"],\n e = null;\n if (null === d && 3 === a.tag) e = a.stateNode;else for (; null !== d;) {\n c = d.alternate;\n d.childExpirationTime < b && (d.childExpirationTime = b);\n null !== c && c.childExpirationTime < b && (c.childExpirationTime = b);\n\n if (null === d[\"return\"] && 3 === d.tag) {\n e = d.stateNode;\n break;\n }\n\n d = d[\"return\"];\n }\n null !== e && (U === e && (Jg(b), X === uj && Mj(e, W)), Nj(e, b));\n return e;\n}\n\nfunction Oj(a) {\n var b = a.lastExpiredTime;\n if (0 !== b) return b;\n b = a.firstPendingTime;\n if (!Pj(a, b)) return b;\n b = a.lastPingedTime;\n a = a.nextKnownPendingLevel;\n return b > a ? b : a;\n}\n\nfunction Z(a) {\n if (0 !== a.lastExpiredTime) a.callbackExpirationTime = 1073741823, a.callbackPriority = 99, a.callbackNode = hg(Lj.bind(null, a));else {\n var b = Oj(a),\n c = a.callbackNode;\n if (0 === b) null !== c && (a.callbackNode = null, a.callbackExpirationTime = 0, a.callbackPriority = 90);else {\n var d = Pg();\n 1073741823 === b ? d = 99 : 1 === b || 2 === b ? d = 95 : (d = 10 * (1073741821 - b) - 10 * (1073741821 - d), d = 0 >= d ? 99 : 250 >= d ? 98 : 5250 >= d ? 97 : 95);\n\n if (null !== c) {\n var e = a.callbackPriority;\n if (a.callbackExpirationTime === b && e >= d) return;\n c !== Xf && Nf(c);\n }\n\n a.callbackExpirationTime = b;\n a.callbackPriority = d;\n b = 1073741823 === b ? hg(Lj.bind(null, a)) : gg(d, Qj.bind(null, a), {\n timeout: 10 * (1073741821 - b) - cg()\n });\n a.callbackNode = b;\n }\n }\n}\n\nfunction Qj(a, b) {\n Jj = 0;\n if (b) return b = Pg(), Rj(a, b), Z(a), null;\n var c = Oj(a);\n\n if (0 !== c) {\n b = a.callbackNode;\n if ((T & (oj | pj)) !== S) throw Error(u(327));\n Sj();\n a === U && c === W || Tj(a, c);\n\n if (null !== V) {\n var d = T;\n T |= oj;\n var e = Uj(a);\n\n do {\n try {\n Vj();\n break;\n } catch (h) {\n Wj(a, h);\n }\n } while (1);\n\n rg();\n T = d;\n lj.current = e;\n if (X === rj) throw b = wj, Tj(a, c), Mj(a, c), Z(a), b;\n if (null === V) switch (e = a.finishedWork = a.current.alternate, a.finishedExpirationTime = c, d = X, U = null, d) {\n case qj:\n case rj:\n throw Error(u(345));\n\n case sj:\n Rj(a, 2 < c ? 2 : c);\n break;\n\n case tj:\n Mj(a, c);\n d = a.lastSuspendedTime;\n c === d && (a.nextKnownPendingLevel = Xj(e));\n\n if (1073741823 === xj && (e = bj + Cj - cg(), 10 < e)) {\n if (Bj) {\n var f = a.lastPingedTime;\n\n if (0 === f || f >= c) {\n a.lastPingedTime = c;\n Tj(a, c);\n break;\n }\n }\n\n f = Oj(a);\n if (0 !== f && f !== c) break;\n\n if (0 !== d && d !== c) {\n a.lastPingedTime = d;\n break;\n }\n\n a.timeoutHandle = pe(Yj.bind(null, a), e);\n break;\n }\n\n Yj(a);\n break;\n\n case uj:\n Mj(a, c);\n d = a.lastSuspendedTime;\n c === d && (a.nextKnownPendingLevel = Xj(e));\n\n if (Bj && (e = a.lastPingedTime, 0 === e || e >= c)) {\n a.lastPingedTime = c;\n Tj(a, c);\n break;\n }\n\n e = Oj(a);\n if (0 !== e && e !== c) break;\n\n if (0 !== d && d !== c) {\n a.lastPingedTime = d;\n break;\n }\n\n 1073741823 !== yj ? d = 10 * (1073741821 - yj) - cg() : 1073741823 === xj ? d = 0 : (d = 10 * (1073741821 - xj) - 5E3, e = cg(), c = 10 * (1073741821 - c) - e, d = e - d, 0 > d && (d = 0), d = (120 > d ? 120 : 480 > d ? 480 : 1080 > d ? 1080 : 1920 > d ? 1920 : 3E3 > d ? 3E3 : 4320 > d ? 4320 : 1960 * kj(d / 1960)) - d, c < d && (d = c));\n\n if (10 < d) {\n a.timeoutHandle = pe(Yj.bind(null, a), d);\n break;\n }\n\n Yj(a);\n break;\n\n case vj:\n if (1073741823 !== xj && null !== zj) {\n f = xj;\n var g = zj;\n d = g.busyMinDurationMs | 0;\n 0 >= d ? d = 0 : (e = g.busyDelayMs | 0, f = cg() - (10 * (1073741821 - f) - (g.timeoutMs | 0 || 5E3)), d = f <= e ? 0 : e + d - f);\n\n if (10 < d) {\n Mj(a, c);\n a.timeoutHandle = pe(Yj.bind(null, a), d);\n break;\n }\n }\n\n Yj(a);\n break;\n\n default:\n throw Error(u(329));\n }\n Z(a);\n if (a.callbackNode === b) return Qj.bind(null, a);\n }\n }\n\n return null;\n}\n\nfunction Lj(a) {\n var b = a.lastExpiredTime;\n b = 0 !== b ? b : 1073741823;\n if (a.finishedExpirationTime === b) Yj(a);else {\n if ((T & (oj | pj)) !== S) throw Error(u(327));\n Sj();\n a === U && b === W || Tj(a, b);\n\n if (null !== V) {\n var c = T;\n T |= oj;\n var d = Uj(a);\n\n do {\n try {\n Zj();\n break;\n } catch (e) {\n Wj(a, e);\n }\n } while (1);\n\n rg();\n T = c;\n lj.current = d;\n if (X === rj) throw c = wj, Tj(a, b), Mj(a, b), Z(a), c;\n if (null !== V) throw Error(u(261));\n a.finishedWork = a.current.alternate;\n a.finishedExpirationTime = b;\n U = null;\n Yj(a);\n Z(a);\n }\n }\n return null;\n}\n\nfunction ak() {\n if (null !== Gj) {\n var a = Gj;\n Gj = null;\n a.forEach(function (a, c) {\n Rj(c, a);\n Z(c);\n });\n jg();\n }\n}\n\nfunction bk(a, b) {\n var c = T;\n T |= 1;\n\n try {\n return a(b);\n } finally {\n T = c, T === S && jg();\n }\n}\n\nfunction ck(a, b) {\n var c = T;\n T &= -2;\n T |= nj;\n\n try {\n return a(b);\n } finally {\n T = c, T === S && jg();\n }\n}\n\nfunction Tj(a, b) {\n a.finishedWork = null;\n a.finishedExpirationTime = 0;\n var c = a.timeoutHandle;\n -1 !== c && (a.timeoutHandle = -1, qe(c));\n if (null !== V) for (c = V[\"return\"]; null !== c;) {\n var d = c;\n\n switch (d.tag) {\n case 1:\n var e = d.type.childContextTypes;\n null !== e && void 0 !== e && Ff(d);\n break;\n\n case 3:\n nh(d);\n Gf(d);\n break;\n\n case 5:\n ph(d);\n break;\n\n case 4:\n nh(d);\n break;\n\n case 13:\n G(M, d);\n break;\n\n case 19:\n G(M, d);\n break;\n\n case 10:\n tg(d);\n }\n\n c = c[\"return\"];\n }\n U = a;\n V = ah(a.current, null, b);\n W = b;\n X = qj;\n wj = null;\n yj = xj = 1073741823;\n zj = null;\n Aj = 0;\n Bj = !1;\n}\n\nfunction Wj(a, b) {\n do {\n try {\n rg();\n Mh();\n if (null === V || null === V[\"return\"]) return X = rj, wj = b, null;\n\n a: {\n var c = a,\n d = V[\"return\"],\n e = V,\n f = b;\n b = W;\n e.effectTag |= 2048;\n e.firstEffect = e.lastEffect = null;\n\n if (null !== f && \"object\" === typeof f && \"function\" === typeof f.then) {\n var g = f,\n h = 0 !== (M.current & 1),\n k = d;\n\n do {\n var l;\n\n if (l = 13 === k.tag) {\n var m = k.memoizedState;\n if (null !== m) l = null !== m.dehydrated ? !0 : !1;else {\n var C = k.memoizedProps;\n l = void 0 === C.fallback ? !1 : !0 !== C.unstable_avoidThisFallback ? !0 : h ? !1 : !0;\n }\n }\n\n if (l) {\n var y = k.updateQueue;\n\n if (null === y) {\n var H = new Set();\n H.add(g);\n k.updateQueue = H;\n } else y.add(g);\n\n if (0 === (k.mode & 2)) {\n k.effectTag |= 64;\n e.effectTag &= -2981;\n if (1 === e.tag) if (null === e.alternate) e.tag = 17;else {\n var z = Bg(1073741823, null);\n z.tag = 2;\n Dg(e, z);\n }\n e.expirationTime = 1073741823;\n break a;\n }\n\n f = void 0;\n e = b;\n var ta = c.pingCache;\n null === ta ? (ta = c.pingCache = new ej(), f = new Set(), ta.set(g, f)) : (f = ta.get(g), void 0 === f && (f = new Set(), ta.set(g, f)));\n\n if (!f.has(e)) {\n f.add(e);\n var r = dk.bind(null, c, g, e);\n g.then(r, r);\n }\n\n k.effectTag |= 4096;\n k.expirationTime = b;\n break a;\n }\n\n k = k[\"return\"];\n } while (null !== k);\n\n f = Error((Wa(e.type) || \"A React component\") + \" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\" + Xa(e));\n }\n\n X !== vj && (X = sj);\n f = Ni(f, e);\n k = d;\n\n do {\n switch (k.tag) {\n case 3:\n g = f;\n k.effectTag |= 4096;\n k.expirationTime = b;\n var x = fj(k, g, b);\n Eg(k, x);\n break a;\n\n case 1:\n g = f;\n var A = k.type,\n p = k.stateNode;\n\n if (0 === (k.effectTag & 64) && (\"function\" === typeof A.getDerivedStateFromError || null !== p && \"function\" === typeof p.componentDidCatch && (null === jj || !jj.has(p)))) {\n k.effectTag |= 4096;\n k.expirationTime = b;\n var t = ij(k, g, b);\n Eg(k, t);\n break a;\n }\n\n }\n\n k = k[\"return\"];\n } while (null !== k);\n }\n\n V = ek(V);\n } catch (v) {\n b = v;\n continue;\n }\n\n break;\n } while (1);\n}\n\nfunction Uj() {\n var a = lj.current;\n lj.current = Lh;\n return null === a ? Lh : a;\n}\n\nfunction Ig(a, b) {\n a < xj && 2 < a && (xj = a);\n null !== b && a < yj && 2 < a && (yj = a, zj = b);\n}\n\nfunction Jg(a) {\n a > Aj && (Aj = a);\n}\n\nfunction Zj() {\n for (; null !== V;) {\n V = fk(V);\n }\n}\n\nfunction Vj() {\n for (; null !== V && !Of();) {\n V = fk(V);\n }\n}\n\nfunction fk(a) {\n var b = gk(a.alternate, a, W);\n a.memoizedProps = a.pendingProps;\n null === b && (b = ek(a));\n mj.current = null;\n return b;\n}\n\nfunction ek(a) {\n V = a;\n\n do {\n var b = V.alternate;\n a = V[\"return\"];\n\n if (0 === (V.effectTag & 2048)) {\n a: {\n var c = b;\n b = V;\n var d = W;\n var e = b.pendingProps;\n\n switch (b.tag) {\n case 2:\n break;\n\n case 16:\n break;\n\n case 15:\n case 0:\n break;\n\n case 1:\n L(b.type) && Ff(b);\n break;\n\n case 3:\n nh(b);\n Gf(b);\n e = b.stateNode;\n e.pendingContext && (e.context = e.pendingContext, e.pendingContext = null);\n (null === c || null === c.child) && ki(b) && Ci(b);\n Ii(b);\n break;\n\n case 5:\n ph(b);\n d = lh(kh.current);\n var f = b.type;\n if (null !== c && null != b.stateNode) Ji(c, b, f, e, d), c.ref !== b.ref && (b.effectTag |= 128);else if (e) {\n var g = lh(ih.current);\n\n if (ki(b)) {\n e = b;\n var h = e.stateNode;\n c = e.type;\n var k = e.memoizedProps,\n l = d;\n h[ue] = e;\n h[ve] = k;\n f = void 0;\n d = h;\n\n switch (c) {\n case \"iframe\":\n case \"object\":\n case \"embed\":\n F(\"load\", d);\n break;\n\n case \"video\":\n case \"audio\":\n for (h = 0; h < cc.length; h++) {\n F(cc[h], d);\n }\n\n break;\n\n case \"source\":\n F(\"error\", d);\n break;\n\n case \"img\":\n case \"image\":\n case \"link\":\n F(\"error\", d);\n F(\"load\", d);\n break;\n\n case \"form\":\n F(\"reset\", d);\n F(\"submit\", d);\n break;\n\n case \"details\":\n F(\"toggle\", d);\n break;\n\n case \"input\":\n Bb(d, k);\n F(\"invalid\", d);\n $d(l, \"onChange\");\n break;\n\n case \"select\":\n d._wrapperState = {\n wasMultiple: !!k.multiple\n };\n F(\"invalid\", d);\n $d(l, \"onChange\");\n break;\n\n case \"textarea\":\n Lb(d, k), F(\"invalid\", d), $d(l, \"onChange\");\n }\n\n Yd(c, k);\n h = null;\n\n for (f in k) {\n k.hasOwnProperty(f) && (g = k[f], \"children\" === f ? \"string\" === typeof g ? d.textContent !== g && (h = [\"children\", g]) : \"number\" === typeof g && d.textContent !== \"\" + g && (h = [\"children\", \"\" + g]) : ia.hasOwnProperty(f) && null != g && $d(l, f));\n }\n\n switch (c) {\n case \"input\":\n yb(d);\n Gb(d, k, !0);\n break;\n\n case \"textarea\":\n yb(d);\n Nb(d, k);\n break;\n\n case \"select\":\n case \"option\":\n break;\n\n default:\n \"function\" === typeof k.onClick && (d.onclick = ae);\n }\n\n f = h;\n e.updateQueue = f;\n e = null !== f ? !0 : !1;\n e && Ci(b);\n } else {\n c = b;\n l = f;\n k = e;\n h = 9 === d.nodeType ? d : d.ownerDocument;\n g === Ob.html && (g = Pb(l));\n g === Ob.html ? \"script\" === l ? (k = h.createElement(\"div\"), k.innerHTML = \"<script>\\x3c/script>\", h = k.removeChild(k.firstChild)) : \"string\" === typeof k.is ? h = h.createElement(l, {\n is: k.is\n }) : (h = h.createElement(l), \"select\" === l && (l = h, k.multiple ? l.multiple = !0 : k.size && (l.size = k.size))) : h = h.createElementNS(g, l);\n k = h;\n k[ue] = c;\n k[ve] = e;\n Hi(k, b, !1, !1);\n b.stateNode = k;\n l = f;\n c = e;\n var m = d,\n C = Zd(l, c);\n\n switch (l) {\n case \"iframe\":\n case \"object\":\n case \"embed\":\n F(\"load\", k);\n d = c;\n break;\n\n case \"video\":\n case \"audio\":\n for (d = 0; d < cc.length; d++) {\n F(cc[d], k);\n }\n\n d = c;\n break;\n\n case \"source\":\n F(\"error\", k);\n d = c;\n break;\n\n case \"img\":\n case \"image\":\n case \"link\":\n F(\"error\", k);\n F(\"load\", k);\n d = c;\n break;\n\n case \"form\":\n F(\"reset\", k);\n F(\"submit\", k);\n d = c;\n break;\n\n case \"details\":\n F(\"toggle\", k);\n d = c;\n break;\n\n case \"input\":\n Bb(k, c);\n d = Ab(k, c);\n F(\"invalid\", k);\n $d(m, \"onChange\");\n break;\n\n case \"option\":\n d = Ib(k, c);\n break;\n\n case \"select\":\n k._wrapperState = {\n wasMultiple: !!c.multiple\n };\n d = n({}, c, {\n value: void 0\n });\n F(\"invalid\", k);\n $d(m, \"onChange\");\n break;\n\n case \"textarea\":\n Lb(k, c);\n d = Kb(k, c);\n F(\"invalid\", k);\n $d(m, \"onChange\");\n break;\n\n default:\n d = c;\n }\n\n Yd(l, d);\n h = void 0;\n g = l;\n var y = k,\n H = d;\n\n for (h in H) {\n if (H.hasOwnProperty(h)) {\n var z = H[h];\n \"style\" === h ? Wd(y, z) : \"dangerouslySetInnerHTML\" === h ? (z = z ? z.__html : void 0, null != z && Sb(y, z)) : \"children\" === h ? \"string\" === typeof z ? (\"textarea\" !== g || \"\" !== z) && Tb(y, z) : \"number\" === typeof z && Tb(y, \"\" + z) : \"suppressContentEditableWarning\" !== h && \"suppressHydrationWarning\" !== h && \"autoFocus\" !== h && (ia.hasOwnProperty(h) ? null != z && $d(m, h) : null != z && vb(y, h, z, C));\n }\n }\n\n switch (l) {\n case \"input\":\n yb(k);\n Gb(k, c, !1);\n break;\n\n case \"textarea\":\n yb(k);\n Nb(k, c);\n break;\n\n case \"option\":\n null != c.value && k.setAttribute(\"value\", \"\" + ub(c.value));\n break;\n\n case \"select\":\n d = k;\n d.multiple = !!c.multiple;\n k = c.value;\n null != k ? Jb(d, !!c.multiple, k, !1) : null != c.defaultValue && Jb(d, !!c.multiple, c.defaultValue, !0);\n break;\n\n default:\n \"function\" === typeof d.onClick && (k.onclick = ae);\n }\n\n (e = ne(f, e)) && Ci(b);\n }\n\n null !== b.ref && (b.effectTag |= 128);\n } else if (null === b.stateNode) throw Error(u(166));\n break;\n\n case 6:\n if (c && null != b.stateNode) Ki(c, b, c.memoizedProps, e);else {\n if (\"string\" !== typeof e && null === b.stateNode) throw Error(u(166));\n d = lh(kh.current);\n lh(ih.current);\n ki(b) ? (e = b, f = e.stateNode, d = e.memoizedProps, f[ue] = e, (e = f.nodeValue !== d) && Ci(b)) : (f = b, e = (9 === d.nodeType ? d : d.ownerDocument).createTextNode(e), e[ue] = f, b.stateNode = e);\n }\n break;\n\n case 11:\n break;\n\n case 13:\n G(M, b);\n e = b.memoizedState;\n\n if (0 !== (b.effectTag & 64)) {\n b.expirationTime = d;\n break a;\n }\n\n e = null !== e;\n f = !1;\n null === c ? void 0 !== b.memoizedProps.fallback && ki(b) : (d = c.memoizedState, f = null !== d, e || null === d || (d = c.child.sibling, null !== d && (k = b.firstEffect, null !== k ? (b.firstEffect = d, d.nextEffect = k) : (b.firstEffect = b.lastEffect = d, d.nextEffect = null), d.effectTag = 8)));\n if (e && !f && 0 !== (b.mode & 2)) if (null === c && !0 !== b.memoizedProps.unstable_avoidThisFallback || 0 !== (M.current & 1)) X === qj && (X = tj);else {\n if (X === qj || X === tj) X = uj;\n 0 !== Aj && null !== U && (Mj(U, W), Nj(U, Aj));\n }\n if (e || f) b.effectTag |= 4;\n break;\n\n case 7:\n break;\n\n case 8:\n break;\n\n case 12:\n break;\n\n case 4:\n nh(b);\n Ii(b);\n break;\n\n case 10:\n tg(b);\n break;\n\n case 9:\n break;\n\n case 14:\n break;\n\n case 17:\n L(b.type) && Ff(b);\n break;\n\n case 19:\n G(M, b);\n e = b.memoizedState;\n if (null === e) break;\n f = 0 !== (b.effectTag & 64);\n k = e.rendering;\n if (null === k) {\n if (f) Li(e, !1);else {\n if (X !== qj || null !== c && 0 !== (c.effectTag & 64)) for (c = b.child; null !== c;) {\n k = qh(c);\n\n if (null !== k) {\n b.effectTag |= 64;\n Li(e, !1);\n f = k.updateQueue;\n null !== f && (b.updateQueue = f, b.effectTag |= 4);\n null === e.lastEffect && (b.firstEffect = null);\n b.lastEffect = e.lastEffect;\n e = d;\n\n for (f = b.child; null !== f;) {\n d = f, c = e, d.effectTag &= 2, d.nextEffect = null, d.firstEffect = null, d.lastEffect = null, k = d.alternate, null === k ? (d.childExpirationTime = 0, d.expirationTime = c, d.child = null, d.memoizedProps = null, d.memoizedState = null, d.updateQueue = null, d.dependencies = null) : (d.childExpirationTime = k.childExpirationTime, d.expirationTime = k.expirationTime, d.child = k.child, d.memoizedProps = k.memoizedProps, d.memoizedState = k.memoizedState, d.updateQueue = k.updateQueue, c = k.dependencies, d.dependencies = null === c ? null : {\n expirationTime: c.expirationTime,\n firstContext: c.firstContext,\n responders: c.responders\n }), f = f.sibling;\n }\n\n I(M, M.current & 1 | 2, b);\n b = b.child;\n break a;\n }\n\n c = c.sibling;\n }\n }\n } else {\n if (!f) if (c = qh(k), null !== c) {\n if (b.effectTag |= 64, f = !0, d = c.updateQueue, null !== d && (b.updateQueue = d, b.effectTag |= 4), Li(e, !0), null === e.tail && \"hidden\" === e.tailMode && !k.alternate) {\n b = b.lastEffect = e.lastEffect;\n null !== b && (b.nextEffect = null);\n break;\n }\n } else cg() > e.tailExpiration && 1 < d && (b.effectTag |= 64, f = !0, Li(e, !1), b.expirationTime = b.childExpirationTime = d - 1);\n e.isBackwards ? (k.sibling = b.child, b.child = k) : (d = e.last, null !== d ? d.sibling = k : b.child = k, e.last = k);\n }\n\n if (null !== e.tail) {\n 0 === e.tailExpiration && (e.tailExpiration = cg() + 500);\n d = e.tail;\n e.rendering = d;\n e.tail = d.sibling;\n e.lastEffect = b.lastEffect;\n d.sibling = null;\n e = M.current;\n e = f ? e & 1 | 2 : e & 1;\n I(M, e, b);\n b = d;\n break a;\n }\n\n break;\n\n case 20:\n break;\n\n case 21:\n break;\n\n default:\n throw Error(u(156, b.tag));\n }\n\n b = null;\n }\n\n e = V;\n\n if (1 === W || 1 !== e.childExpirationTime) {\n f = 0;\n\n for (d = e.child; null !== d;) {\n c = d.expirationTime, k = d.childExpirationTime, c > f && (f = c), k > f && (f = k), d = d.sibling;\n }\n\n e.childExpirationTime = f;\n }\n\n if (null !== b) return b;\n null !== a && 0 === (a.effectTag & 2048) && (null === a.firstEffect && (a.firstEffect = V.firstEffect), null !== V.lastEffect && (null !== a.lastEffect && (a.lastEffect.nextEffect = V.firstEffect), a.lastEffect = V.lastEffect), 1 < V.effectTag && (null !== a.lastEffect ? a.lastEffect.nextEffect = V : a.firstEffect = V, a.lastEffect = V));\n } else {\n b = Mi(V, W);\n if (null !== b) return b.effectTag &= 2047, b;\n null !== a && (a.firstEffect = a.lastEffect = null, a.effectTag |= 2048);\n }\n\n b = V.sibling;\n if (null !== b) return b;\n V = a;\n } while (null !== V);\n\n X === qj && (X = vj);\n return null;\n}\n\nfunction Xj(a) {\n var b = a.expirationTime;\n a = a.childExpirationTime;\n return b > a ? b : a;\n}\n\nfunction Yj(a) {\n var b = dg();\n fg(99, ik.bind(null, a, b));\n return null;\n}\n\nfunction ik(a, b) {\n do {\n Sj();\n } while (null !== Ej);\n\n if ((T & (oj | pj)) !== S) throw Error(u(327));\n var c = a.finishedWork,\n d = a.finishedExpirationTime;\n if (null === c) return null;\n a.finishedWork = null;\n a.finishedExpirationTime = 0;\n if (c === a.current) throw Error(u(177));\n a.callbackNode = null;\n a.callbackExpirationTime = 0;\n a.callbackPriority = 90;\n a.nextKnownPendingLevel = 0;\n var e = Xj(c);\n a.firstPendingTime = e;\n d <= a.lastSuspendedTime ? a.firstSuspendedTime = a.lastSuspendedTime = a.nextKnownPendingLevel = 0 : d <= a.firstSuspendedTime && (a.firstSuspendedTime = d - 1);\n d <= a.lastPingedTime && (a.lastPingedTime = 0);\n d <= a.lastExpiredTime && (a.lastExpiredTime = 0);\n a === U && (V = U = null, W = 0);\n 1 < c.effectTag ? null !== c.lastEffect ? (c.lastEffect.nextEffect = c, e = c.firstEffect) : e = c : e = c.firstEffect;\n\n if (null !== e) {\n var f = T;\n T |= pj;\n mj.current = null;\n le = Ld;\n var g = fe();\n\n if (ge(g)) {\n if (\"selectionStart\" in g) var h = {\n start: g.selectionStart,\n end: g.selectionEnd\n };else a: {\n h = (h = g.ownerDocument) && h.defaultView || window;\n var k = h.getSelection && h.getSelection();\n\n if (k && 0 !== k.rangeCount) {\n h = k.anchorNode;\n var l = k.anchorOffset,\n m = k.focusNode;\n k = k.focusOffset;\n\n try {\n h.nodeType, m.nodeType;\n } catch (Db) {\n h = null;\n break a;\n }\n\n var C = 0,\n y = -1,\n H = -1,\n z = 0,\n ta = 0,\n r = g,\n x = null;\n\n b: for (;;) {\n for (var A;;) {\n r !== h || 0 !== l && 3 !== r.nodeType || (y = C + l);\n r !== m || 0 !== k && 3 !== r.nodeType || (H = C + k);\n 3 === r.nodeType && (C += r.nodeValue.length);\n if (null === (A = r.firstChild)) break;\n x = r;\n r = A;\n }\n\n for (;;) {\n if (r === g) break b;\n x === h && ++z === l && (y = C);\n x === m && ++ta === k && (H = C);\n if (null !== (A = r.nextSibling)) break;\n r = x;\n x = r.parentNode;\n }\n\n r = A;\n }\n\n h = -1 === y || -1 === H ? null : {\n start: y,\n end: H\n };\n } else h = null;\n }\n h = h || {\n start: 0,\n end: 0\n };\n } else h = null;\n\n me = {\n focusedElem: g,\n selectionRange: h\n };\n Ld = !1;\n Y = e;\n\n do {\n try {\n jk();\n } catch (Db) {\n if (null === Y) throw Error(u(330));\n Ri(Y, Db);\n Y = Y.nextEffect;\n }\n } while (null !== Y);\n\n Y = e;\n\n do {\n try {\n for (g = a, h = b; null !== Y;) {\n var p = Y.effectTag;\n p & 16 && Tb(Y.stateNode, \"\");\n\n if (p & 128) {\n var t = Y.alternate;\n\n if (null !== t) {\n var v = t.ref;\n null !== v && (\"function\" === typeof v ? v(null) : v.current = null);\n }\n }\n\n switch (p & 1038) {\n case 2:\n $i(Y);\n Y.effectTag &= -3;\n break;\n\n case 6:\n $i(Y);\n Y.effectTag &= -3;\n aj(Y.alternate, Y);\n break;\n\n case 1024:\n Y.effectTag &= -1025;\n break;\n\n case 1028:\n Y.effectTag &= -1025;\n aj(Y.alternate, Y);\n break;\n\n case 4:\n aj(Y.alternate, Y);\n break;\n\n case 8:\n l = Y, Xi(g, l, h), Yi(l);\n }\n\n Y = Y.nextEffect;\n }\n } catch (Db) {\n if (null === Y) throw Error(u(330));\n Ri(Y, Db);\n Y = Y.nextEffect;\n }\n } while (null !== Y);\n\n v = me;\n t = fe();\n p = v.focusedElem;\n h = v.selectionRange;\n\n if (t !== p && p && p.ownerDocument && ee(p.ownerDocument.documentElement, p)) {\n null !== h && ge(p) && (t = h.start, v = h.end, void 0 === v && (v = t), \"selectionStart\" in p ? (p.selectionStart = t, p.selectionEnd = Math.min(v, p.value.length)) : (v = (t = p.ownerDocument || document) && t.defaultView || window, v.getSelection && (v = v.getSelection(), l = p.textContent.length, g = Math.min(h.start, l), h = void 0 === h.end ? g : Math.min(h.end, l), !v.extend && g > h && (l = h, h = g, g = l), l = de(p, g), m = de(p, h), l && m && (1 !== v.rangeCount || v.anchorNode !== l.node || v.anchorOffset !== l.offset || v.focusNode !== m.node || v.focusOffset !== m.offset) && (t = t.createRange(), t.setStart(l.node, l.offset), v.removeAllRanges(), g > h ? (v.addRange(t), v.extend(m.node, m.offset)) : (t.setEnd(m.node, m.offset), v.addRange(t))))));\n t = [];\n\n for (v = p; v = v.parentNode;) {\n 1 === v.nodeType && t.push({\n element: v,\n left: v.scrollLeft,\n top: v.scrollTop\n });\n }\n\n \"function\" === typeof p.focus && p.focus();\n\n for (p = 0; p < t.length; p++) {\n v = t[p], v.element.scrollLeft = v.left, v.element.scrollTop = v.top;\n }\n }\n\n me = null;\n Ld = !!le;\n le = null;\n a.current = c;\n Y = e;\n\n do {\n try {\n for (p = d; null !== Y;) {\n var Dh = Y.effectTag;\n\n if (Dh & 36) {\n var dc = Y.alternate;\n t = Y;\n v = p;\n\n switch (t.tag) {\n case 0:\n case 11:\n case 15:\n Ui(16, 32, t);\n break;\n\n case 1:\n var fd = t.stateNode;\n if (t.effectTag & 4) if (null === dc) fd.componentDidMount();else {\n var hk = t.elementType === t.type ? dc.memoizedProps : mg(t.type, dc.memoizedProps);\n fd.componentDidUpdate(hk, dc.memoizedState, fd.__reactInternalSnapshotBeforeUpdate);\n }\n var Eh = t.updateQueue;\n null !== Eh && Kg(t, Eh, fd, v);\n break;\n\n case 3:\n var Fh = t.updateQueue;\n\n if (null !== Fh) {\n g = null;\n if (null !== t.child) switch (t.child.tag) {\n case 5:\n g = t.child.stateNode;\n break;\n\n case 1:\n g = t.child.stateNode;\n }\n Kg(t, Fh, g, v);\n }\n\n break;\n\n case 5:\n var xk = t.stateNode;\n null === dc && t.effectTag & 4 && ne(t.type, t.memoizedProps) && xk.focus();\n break;\n\n case 6:\n break;\n\n case 4:\n break;\n\n case 12:\n break;\n\n case 13:\n if (null === t.memoizedState) {\n var Di = t.alternate;\n\n if (null !== Di) {\n var Ei = Di.memoizedState;\n\n if (null !== Ei) {\n var Fi = Ei.dehydrated;\n null !== Fi && Lc(Fi);\n }\n }\n }\n\n break;\n\n case 19:\n case 17:\n case 20:\n case 21:\n break;\n\n default:\n throw Error(u(163));\n }\n }\n\n if (Dh & 128) {\n t = void 0;\n var xd = Y.ref;\n\n if (null !== xd) {\n var Gi = Y.stateNode;\n\n switch (Y.tag) {\n case 5:\n t = Gi;\n break;\n\n default:\n t = Gi;\n }\n\n \"function\" === typeof xd ? xd(t) : xd.current = t;\n }\n }\n\n Y = Y.nextEffect;\n }\n } catch (Db) {\n if (null === Y) throw Error(u(330));\n Ri(Y, Db);\n Y = Y.nextEffect;\n }\n } while (null !== Y);\n\n Y = null;\n Yf();\n T = f;\n } else a.current = c;\n\n if (Dj) Dj = !1, Ej = a, Fj = b;else for (Y = e; null !== Y;) {\n b = Y.nextEffect, Y.nextEffect = null, Y = b;\n }\n b = a.firstPendingTime;\n 0 === b && (jj = null);\n 1073741823 === b ? a === Ij ? Hj++ : (Hj = 0, Ij = a) : Hj = 0;\n \"function\" === typeof kk && kk(c.stateNode, d);\n Z(a);\n if (gj) throw gj = !1, a = hj, hj = null, a;\n if ((T & nj) !== S) return null;\n jg();\n return null;\n}\n\nfunction jk() {\n for (; null !== Y;) {\n var a = Y.effectTag;\n 0 !== (a & 256) && Ti(Y.alternate, Y);\n 0 === (a & 512) || Dj || (Dj = !0, gg(97, function () {\n Sj();\n return null;\n }));\n Y = Y.nextEffect;\n }\n}\n\nfunction Sj() {\n if (90 !== Fj) {\n var a = 97 < Fj ? 97 : Fj;\n Fj = 90;\n return fg(a, lk);\n }\n}\n\nfunction lk() {\n if (null === Ej) return !1;\n var a = Ej;\n Ej = null;\n if ((T & (oj | pj)) !== S) throw Error(u(331));\n var b = T;\n T |= pj;\n\n for (a = a.current.firstEffect; null !== a;) {\n try {\n var c = a;\n if (0 !== (c.effectTag & 512)) switch (c.tag) {\n case 0:\n case 11:\n case 15:\n Ui(128, 0, c), Ui(0, 64, c);\n }\n } catch (d) {\n if (null === a) throw Error(u(330));\n Ri(a, d);\n }\n\n c = a.nextEffect;\n a.nextEffect = null;\n a = c;\n }\n\n T = b;\n jg();\n return !0;\n}\n\nfunction mk(a, b, c) {\n b = Ni(c, b);\n b = fj(a, b, 1073741823);\n Dg(a, b);\n a = Kj(a, 1073741823);\n null !== a && Z(a);\n}\n\nfunction Ri(a, b) {\n if (3 === a.tag) mk(a, a, b);else for (var c = a[\"return\"]; null !== c;) {\n if (3 === c.tag) {\n mk(c, a, b);\n break;\n } else if (1 === c.tag) {\n var d = c.stateNode;\n\n if (\"function\" === typeof c.type.getDerivedStateFromError || \"function\" === typeof d.componentDidCatch && (null === jj || !jj.has(d))) {\n a = Ni(b, a);\n a = ij(c, a, 1073741823);\n Dg(c, a);\n c = Kj(c, 1073741823);\n null !== c && Z(c);\n break;\n }\n }\n\n c = c[\"return\"];\n }\n}\n\nfunction dk(a, b, c) {\n var d = a.pingCache;\n null !== d && d[\"delete\"](b);\n U === a && W === c ? X === uj || X === tj && 1073741823 === xj && cg() - bj < Cj ? Tj(a, W) : Bj = !0 : Pj(a, c) && (b = a.lastPingedTime, 0 !== b && b < c || (a.lastPingedTime = c, a.finishedExpirationTime === c && (a.finishedExpirationTime = 0, a.finishedWork = null), Z(a)));\n}\n\nfunction dj(a, b) {\n var c = a.stateNode;\n null !== c && c[\"delete\"](b);\n b = 0;\n 0 === b && (b = Pg(), b = Qg(b, a, null));\n a = Kj(a, b);\n null !== a && Z(a);\n}\n\nvar gk;\n\ngk = function gk(a, b, c) {\n var d = b.expirationTime;\n\n if (null !== a) {\n var e = b.pendingProps;\n if (a.memoizedProps !== e || K.current) wg = !0;else {\n if (d < c) {\n wg = !1;\n\n switch (b.tag) {\n case 3:\n wi(b);\n li();\n break;\n\n case 5:\n oh(b);\n if (b.mode & 4 && 1 !== c && e.hidden) return b.expirationTime = b.childExpirationTime = 1, null;\n break;\n\n case 1:\n L(b.type) && Jf(b);\n break;\n\n case 4:\n mh(b, b.stateNode.containerInfo);\n break;\n\n case 10:\n sg(b, b.memoizedProps.value);\n break;\n\n case 13:\n if (null !== b.memoizedState) {\n d = b.child.childExpirationTime;\n if (0 !== d && d >= c) return yi(a, b, c);\n I(M, M.current & 1, b);\n b = oi(a, b, c);\n return null !== b ? b.sibling : null;\n }\n\n I(M, M.current & 1, b);\n break;\n\n case 19:\n d = b.childExpirationTime >= c;\n\n if (0 !== (a.effectTag & 64)) {\n if (d) return Bi(a, b, c);\n b.effectTag |= 64;\n }\n\n e = b.memoizedState;\n null !== e && (e.rendering = null, e.tail = null);\n I(M, M.current, b);\n if (!d) return null;\n }\n\n return oi(a, b, c);\n }\n\n wg = !1;\n }\n } else wg = !1;\n\n b.expirationTime = 0;\n\n switch (b.tag) {\n case 2:\n d = b.type;\n null !== a && (a.alternate = null, b.alternate = null, b.effectTag |= 2);\n a = b.pendingProps;\n e = Ef(b, J.current);\n vg(b, c);\n e = Ih(null, b, d, a, e, c);\n b.effectTag |= 1;\n\n if (\"object\" === typeof e && null !== e && \"function\" === typeof e.render && void 0 === e.$$typeof) {\n b.tag = 1;\n Mh();\n\n if (L(d)) {\n var f = !0;\n Jf(b);\n } else f = !1;\n\n b.memoizedState = null !== e.state && void 0 !== e.state ? e.state : null;\n var g = d.getDerivedStateFromProps;\n \"function\" === typeof g && Og(b, d, g, a);\n e.updater = Sg;\n b.stateNode = e;\n e._reactInternalFiber = b;\n Wg(b, d, a, c);\n b = vi(null, b, d, !0, f, c);\n } else b.tag = 0, R(null, b, e, c), b = b.child;\n\n return b;\n\n case 16:\n e = b.elementType;\n null !== a && (a.alternate = null, b.alternate = null, b.effectTag |= 2);\n a = b.pendingProps;\n Va(e);\n if (1 !== e._status) throw e._result;\n e = e._result;\n b.type = e;\n f = b.tag = nk(e);\n a = mg(e, a);\n\n switch (f) {\n case 0:\n b = si(null, b, e, a, c);\n break;\n\n case 1:\n b = ui(null, b, e, a, c);\n break;\n\n case 11:\n b = ni(null, b, e, a, c);\n break;\n\n case 14:\n b = pi(null, b, e, mg(e.type, a), d, c);\n break;\n\n default:\n throw Error(u(306, e, \"\"));\n }\n\n return b;\n\n case 0:\n return d = b.type, e = b.pendingProps, e = b.elementType === d ? e : mg(d, e), si(a, b, d, e, c);\n\n case 1:\n return d = b.type, e = b.pendingProps, e = b.elementType === d ? e : mg(d, e), ui(a, b, d, e, c);\n\n case 3:\n wi(b);\n d = b.updateQueue;\n if (null === d) throw Error(u(282));\n e = b.memoizedState;\n e = null !== e ? e.element : null;\n Hg(b, d, b.pendingProps, null, c);\n d = b.memoizedState.element;\n if (d === e) li(), b = oi(a, b, c);else {\n if (e = b.stateNode.hydrate) di = re(b.stateNode.containerInfo.firstChild), ci = b, e = ei = !0;\n if (e) for (c = gh(b, null, d, c), b.child = c; c;) {\n c.effectTag = c.effectTag & -3 | 1024, c = c.sibling;\n } else R(a, b, d, c), li();\n b = b.child;\n }\n return b;\n\n case 5:\n return oh(b), null === a && ii(b), d = b.type, e = b.pendingProps, f = null !== a ? a.memoizedProps : null, g = e.children, oe(d, e) ? g = null : null !== f && oe(d, f) && (b.effectTag |= 16), ti(a, b), b.mode & 4 && 1 !== c && e.hidden ? (b.expirationTime = b.childExpirationTime = 1, b = null) : (R(a, b, g, c), b = b.child), b;\n\n case 6:\n return null === a && ii(b), null;\n\n case 13:\n return yi(a, b, c);\n\n case 4:\n return mh(b, b.stateNode.containerInfo), d = b.pendingProps, null === a ? b.child = fh(b, null, d, c) : R(a, b, d, c), b.child;\n\n case 11:\n return d = b.type, e = b.pendingProps, e = b.elementType === d ? e : mg(d, e), ni(a, b, d, e, c);\n\n case 7:\n return R(a, b, b.pendingProps, c), b.child;\n\n case 8:\n return R(a, b, b.pendingProps.children, c), b.child;\n\n case 12:\n return R(a, b, b.pendingProps.children, c), b.child;\n\n case 10:\n a: {\n d = b.type._context;\n e = b.pendingProps;\n g = b.memoizedProps;\n f = e.value;\n sg(b, f);\n\n if (null !== g) {\n var h = g.value;\n f = of(h, f) ? 0 : (\"function\" === typeof d._calculateChangedBits ? d._calculateChangedBits(h, f) : 1073741823) | 0;\n\n if (0 === f) {\n if (g.children === e.children && !K.current) {\n b = oi(a, b, c);\n break a;\n }\n } else for (h = b.child, null !== h && (h[\"return\"] = b); null !== h;) {\n var k = h.dependencies;\n\n if (null !== k) {\n g = h.child;\n\n for (var l = k.firstContext; null !== l;) {\n if (l.context === d && 0 !== (l.observedBits & f)) {\n 1 === h.tag && (l = Bg(c, null), l.tag = 2, Dg(h, l));\n h.expirationTime < c && (h.expirationTime = c);\n l = h.alternate;\n null !== l && l.expirationTime < c && (l.expirationTime = c);\n ug(h[\"return\"], c);\n k.expirationTime < c && (k.expirationTime = c);\n break;\n }\n\n l = l.next;\n }\n } else g = 10 === h.tag ? h.type === b.type ? null : h.child : h.child;\n\n if (null !== g) g[\"return\"] = h;else for (g = h; null !== g;) {\n if (g === b) {\n g = null;\n break;\n }\n\n h = g.sibling;\n\n if (null !== h) {\n h[\"return\"] = g[\"return\"];\n g = h;\n break;\n }\n\n g = g[\"return\"];\n }\n h = g;\n }\n }\n\n R(a, b, e.children, c);\n b = b.child;\n }\n\n return b;\n\n case 9:\n return e = b.type, f = b.pendingProps, d = f.children, vg(b, c), e = xg(e, f.unstable_observedBits), d = d(e), b.effectTag |= 1, R(a, b, d, c), b.child;\n\n case 14:\n return e = b.type, f = mg(e, b.pendingProps), f = mg(e.type, f), pi(a, b, e, f, d, c);\n\n case 15:\n return ri(a, b, b.type, b.pendingProps, d, c);\n\n case 17:\n return d = b.type, e = b.pendingProps, e = b.elementType === d ? e : mg(d, e), null !== a && (a.alternate = null, b.alternate = null, b.effectTag |= 2), b.tag = 1, L(d) ? (a = !0, Jf(b)) : a = !1, vg(b, c), Ug(b, d, e, c), Wg(b, d, e, c), vi(null, b, d, !0, a, c);\n\n case 19:\n return Bi(a, b, c);\n }\n\n throw Error(u(156, b.tag));\n};\n\nvar kk = null,\n Wi = null;\n\nfunction ok(a) {\n if (\"undefined\" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return !1;\n var b = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (b.isDisabled || !b.supportsFiber) return !0;\n\n try {\n var c = b.inject(a);\n\n kk = function kk(a) {\n try {\n b.onCommitFiberRoot(c, a, void 0, 64 === (a.current.effectTag & 64));\n } catch (e) {}\n };\n\n Wi = function Wi(a) {\n try {\n b.onCommitFiberUnmount(c, a);\n } catch (e) {}\n };\n } catch (d) {}\n\n return !0;\n}\n\nfunction pk(a, b, c, d) {\n this.tag = a;\n this.key = c;\n this.sibling = this.child = this[\"return\"] = this.stateNode = this.type = this.elementType = null;\n this.index = 0;\n this.ref = null;\n this.pendingProps = b;\n this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null;\n this.mode = d;\n this.effectTag = 0;\n this.lastEffect = this.firstEffect = this.nextEffect = null;\n this.childExpirationTime = this.expirationTime = 0;\n this.alternate = null;\n}\n\nfunction gi(a, b, c, d) {\n return new pk(a, b, c, d);\n}\n\nfunction qi(a) {\n a = a.prototype;\n return !(!a || !a.isReactComponent);\n}\n\nfunction nk(a) {\n if (\"function\" === typeof a) return qi(a) ? 1 : 0;\n\n if (void 0 !== a && null !== a) {\n a = a.$$typeof;\n if (a === Oa) return 11;\n if (a === Ra) return 14;\n }\n\n return 2;\n}\n\nfunction ah(a, b) {\n var c = a.alternate;\n null === c ? (c = gi(a.tag, b, a.key, a.mode), c.elementType = a.elementType, c.type = a.type, c.stateNode = a.stateNode, c.alternate = a, a.alternate = c) : (c.pendingProps = b, c.effectTag = 0, c.nextEffect = null, c.firstEffect = null, c.lastEffect = null);\n c.childExpirationTime = a.childExpirationTime;\n c.expirationTime = a.expirationTime;\n c.child = a.child;\n c.memoizedProps = a.memoizedProps;\n c.memoizedState = a.memoizedState;\n c.updateQueue = a.updateQueue;\n b = a.dependencies;\n c.dependencies = null === b ? null : {\n expirationTime: b.expirationTime,\n firstContext: b.firstContext,\n responders: b.responders\n };\n c.sibling = a.sibling;\n c.index = a.index;\n c.ref = a.ref;\n return c;\n}\n\nfunction ch(a, b, c, d, e, f) {\n var g = 2;\n d = a;\n if (\"function\" === typeof a) qi(a) && (g = 1);else if (\"string\" === typeof a) g = 5;else a: switch (a) {\n case Ia:\n return eh(c.children, e, f, b);\n\n case Na:\n g = 8;\n e |= 7;\n break;\n\n case Ja:\n g = 8;\n e |= 1;\n break;\n\n case Ka:\n return a = gi(12, c, b, e | 8), a.elementType = Ka, a.type = Ka, a.expirationTime = f, a;\n\n case Pa:\n return a = gi(13, c, b, e), a.type = Pa, a.elementType = Pa, a.expirationTime = f, a;\n\n case Qa:\n return a = gi(19, c, b, e), a.elementType = Qa, a.expirationTime = f, a;\n\n default:\n if (\"object\" === typeof a && null !== a) switch (a.$$typeof) {\n case La:\n g = 10;\n break a;\n\n case Ma:\n g = 9;\n break a;\n\n case Oa:\n g = 11;\n break a;\n\n case Ra:\n g = 14;\n break a;\n\n case Sa:\n g = 16;\n d = null;\n break a;\n }\n throw Error(u(130, null == a ? a : typeof a, \"\"));\n }\n b = gi(g, c, b, e);\n b.elementType = a;\n b.type = d;\n b.expirationTime = f;\n return b;\n}\n\nfunction eh(a, b, c, d) {\n a = gi(7, a, d, b);\n a.expirationTime = c;\n return a;\n}\n\nfunction bh(a, b, c) {\n a = gi(6, a, null, b);\n a.expirationTime = c;\n return a;\n}\n\nfunction dh(a, b, c) {\n b = gi(4, null !== a.children ? a.children : [], a.key, b);\n b.expirationTime = c;\n b.stateNode = {\n containerInfo: a.containerInfo,\n pendingChildren: null,\n implementation: a.implementation\n };\n return b;\n}\n\nfunction qk(a, b, c) {\n this.tag = b;\n this.current = null;\n this.containerInfo = a;\n this.pingCache = this.pendingChildren = null;\n this.finishedExpirationTime = 0;\n this.finishedWork = null;\n this.timeoutHandle = -1;\n this.pendingContext = this.context = null;\n this.hydrate = c;\n this.callbackNode = null;\n this.callbackPriority = 90;\n this.lastExpiredTime = this.lastPingedTime = this.nextKnownPendingLevel = this.lastSuspendedTime = this.firstSuspendedTime = this.firstPendingTime = 0;\n}\n\nfunction Pj(a, b) {\n var c = a.firstSuspendedTime;\n a = a.lastSuspendedTime;\n return 0 !== c && c >= b && a <= b;\n}\n\nfunction Mj(a, b) {\n var c = a.firstSuspendedTime,\n d = a.lastSuspendedTime;\n c < b && (a.firstSuspendedTime = b);\n if (d > b || 0 === c) a.lastSuspendedTime = b;\n b <= a.lastPingedTime && (a.lastPingedTime = 0);\n b <= a.lastExpiredTime && (a.lastExpiredTime = 0);\n}\n\nfunction Nj(a, b) {\n b > a.firstPendingTime && (a.firstPendingTime = b);\n var c = a.firstSuspendedTime;\n 0 !== c && (b >= c ? a.firstSuspendedTime = a.lastSuspendedTime = a.nextKnownPendingLevel = 0 : b >= a.lastSuspendedTime && (a.lastSuspendedTime = b + 1), b > a.nextKnownPendingLevel && (a.nextKnownPendingLevel = b));\n}\n\nfunction Rj(a, b) {\n var c = a.lastExpiredTime;\n if (0 === c || c > b) a.lastExpiredTime = b;\n}\n\nfunction rk(a, b, c, d) {\n var e = b.current,\n f = Pg(),\n g = Mg.suspense;\n f = Qg(f, e, g);\n\n a: if (c) {\n c = c._reactInternalFiber;\n\n b: {\n if (ec(c) !== c || 1 !== c.tag) throw Error(u(170));\n var h = c;\n\n do {\n switch (h.tag) {\n case 3:\n h = h.stateNode.context;\n break b;\n\n case 1:\n if (L(h.type)) {\n h = h.stateNode.__reactInternalMemoizedMergedChildContext;\n break b;\n }\n\n }\n\n h = h[\"return\"];\n } while (null !== h);\n\n throw Error(u(171));\n }\n\n if (1 === c.tag) {\n var k = c.type;\n\n if (L(k)) {\n c = If(c, k, h);\n break a;\n }\n }\n\n c = h;\n } else c = Cf;\n\n null === b.context ? b.context = c : b.pendingContext = c;\n b = Bg(f, g);\n b.payload = {\n element: a\n };\n d = void 0 === d ? null : d;\n null !== d && (b.callback = d);\n Dg(e, b);\n Rg(e, f);\n return f;\n}\n\nfunction sk(a) {\n a = a.current;\n if (!a.child) return null;\n\n switch (a.child.tag) {\n case 5:\n return a.child.stateNode;\n\n default:\n return a.child.stateNode;\n }\n}\n\nfunction tk(a, b) {\n a = a.memoizedState;\n null !== a && null !== a.dehydrated && a.retryTime < b && (a.retryTime = b);\n}\n\nfunction uk(a, b) {\n tk(a, b);\n (a = a.alternate) && tk(a, b);\n}\n\nfunction vk(a, b, c) {\n c = null != c && !0 === c.hydrate;\n var d = new qk(a, b, c),\n e = gi(3, null, null, 2 === b ? 7 : 1 === b ? 3 : 0);\n d.current = e;\n e.stateNode = d;\n a[we] = d.current;\n c && 0 !== b && wc(9 === a.nodeType ? a : a.ownerDocument);\n this._internalRoot = d;\n}\n\nvk.prototype.render = function (a, b) {\n rk(a, this._internalRoot, null, void 0 === b ? null : b);\n};\n\nvk.prototype.unmount = function (a) {\n var b = this._internalRoot,\n c = void 0 === a ? null : a,\n d = b.containerInfo;\n rk(null, b, null, function () {\n d[we] = null;\n null !== c && c();\n });\n};\n\nfunction wk(a) {\n return !(!a || 1 !== a.nodeType && 9 !== a.nodeType && 11 !== a.nodeType && (8 !== a.nodeType || \" react-mount-point-unstable \" !== a.nodeValue));\n}\n\nfunction yk(a, b) {\n b || (b = a ? 9 === a.nodeType ? a.documentElement : a.firstChild : null, b = !(!b || 1 !== b.nodeType || !b.hasAttribute(\"data-reactroot\")));\n if (!b) for (var c; c = a.lastChild;) {\n a.removeChild(c);\n }\n return new vk(a, 0, b ? {\n hydrate: !0\n } : void 0);\n}\n\nfunction zk(a, b, c, d, e) {\n var f = c._reactRootContainer;\n\n if (f) {\n var g = f._internalRoot;\n\n if (\"function\" === typeof e) {\n var h = e;\n\n e = function e() {\n var a = sk(g);\n h.call(a);\n };\n }\n\n rk(b, g, a, e);\n } else {\n f = c._reactRootContainer = yk(c, d);\n g = f._internalRoot;\n\n if (\"function\" === typeof e) {\n var k = e;\n\n e = function e() {\n var a = sk(g);\n k.call(a);\n };\n }\n\n ck(function () {\n rk(b, g, a, e);\n });\n }\n\n return sk(g);\n}\n\nfunction Ak(a, b, c) {\n var d = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: Ha,\n key: null == d ? null : \"\" + d,\n children: a,\n containerInfo: b,\n implementation: c\n };\n}\n\njc = function jc(a) {\n if (13 === a.tag) {\n var b = lg(Pg(), 150, 100);\n Rg(a, b);\n uk(a, b);\n }\n};\n\nkc = function kc(a) {\n if (13 === a.tag) {\n Pg();\n var b = kg++;\n Rg(a, b);\n uk(a, b);\n }\n};\n\nlc = function lc(a) {\n if (13 === a.tag) {\n var b = Pg();\n b = Qg(b, a, null);\n Rg(a, b);\n uk(a, b);\n }\n};\n\nZa = function Za(a, b, c) {\n switch (b) {\n case \"input\":\n Eb(a, c);\n b = c.name;\n\n if (\"radio\" === c.type && null != b) {\n for (c = a; c.parentNode;) {\n c = c.parentNode;\n }\n\n c = c.querySelectorAll(\"input[name=\" + JSON.stringify(\"\" + b) + '][type=\"radio\"]');\n\n for (b = 0; b < c.length; b++) {\n var d = c[b];\n\n if (d !== a && d.form === a.form) {\n var e = ye(d);\n if (!e) throw Error(u(90));\n zb(d);\n Eb(d, e);\n }\n }\n }\n\n break;\n\n case \"textarea\":\n Mb(a, c);\n break;\n\n case \"select\":\n b = c.value, null != b && Jb(a, !!c.multiple, b, !1);\n }\n};\n\neb = bk;\n\nfb = function fb(a, b, c, d) {\n var e = T;\n T |= 4;\n\n try {\n return fg(98, a.bind(null, b, c, d));\n } finally {\n T = e, T === S && jg();\n }\n};\n\ngb = function gb() {\n (T & (1 | oj | pj)) === S && (ak(), Sj());\n};\n\nhb = function hb(a, b) {\n var c = T;\n T |= 2;\n\n try {\n return a(b);\n } finally {\n T = c, T === S && jg();\n }\n};\n\nfunction Bk(a, b) {\n var c = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (!wk(b)) throw Error(u(200));\n return Ak(a, b, null, c);\n}\n\nvar Ck = {\n createPortal: Bk,\n findDOMNode: function findDOMNode(a) {\n if (null == a) return null;\n if (1 === a.nodeType) return a;\n var b = a._reactInternalFiber;\n\n if (void 0 === b) {\n if (\"function\" === typeof a.render) throw Error(u(188));\n throw Error(u(268, Object.keys(a)));\n }\n\n a = ic(b);\n a = null === a ? null : a.stateNode;\n return a;\n },\n hydrate: function hydrate(a, b, c) {\n if (!wk(b)) throw Error(u(200));\n return zk(null, a, b, !0, c);\n },\n render: function render(a, b, c) {\n if (!wk(b)) throw Error(u(200));\n return zk(null, a, b, !1, c);\n },\n unstable_renderSubtreeIntoContainer: function unstable_renderSubtreeIntoContainer(a, b, c, d) {\n if (!wk(c)) throw Error(u(200));\n if (null == a || void 0 === a._reactInternalFiber) throw Error(u(38));\n return zk(a, b, c, !1, d);\n },\n unmountComponentAtNode: function unmountComponentAtNode(a) {\n if (!wk(a)) throw Error(u(40));\n return a._reactRootContainer ? (ck(function () {\n zk(null, null, a, !1, function () {\n a._reactRootContainer = null;\n a[we] = null;\n });\n }), !0) : !1;\n },\n unstable_createPortal: function unstable_createPortal() {\n return Bk.apply(void 0, arguments);\n },\n unstable_batchedUpdates: bk,\n flushSync: function flushSync(a, b) {\n if ((T & (oj | pj)) !== S) throw Error(u(187));\n var c = T;\n T |= 1;\n\n try {\n return fg(99, a.bind(null, b));\n } finally {\n T = c, jg();\n }\n },\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: {\n Events: [Cc, xe, ye, Ca.injectEventPluginsByName, fa, Sc, function (a) {\n ya(a, Rc);\n }, cb, db, Pd, Ba, Sj, {\n current: !1\n }]\n }\n};\n\n(function (a) {\n var b = a.findFiberByHostInstance;\n return ok(n({}, a, {\n overrideHookState: null,\n overrideProps: null,\n setSuspenseHandler: null,\n scheduleUpdate: null,\n currentDispatcherRef: Ea.ReactCurrentDispatcher,\n findHostInstanceByFiber: function findHostInstanceByFiber(a) {\n a = ic(a);\n return null === a ? null : a.stateNode;\n },\n findFiberByHostInstance: function findFiberByHostInstance(a) {\n return b ? b(a) : null;\n },\n findHostInstancesForRefresh: null,\n scheduleRefresh: null,\n scheduleRoot: null,\n setRefreshHandler: null,\n getCurrentFiber: null\n }));\n})({\n findFiberByHostInstance: Fc,\n bundleType: 0,\n version: \"16.12.0\",\n rendererPackageName: \"react-dom\"\n});\n\nvar Dk = {\n \"default\": Ck\n},\n Ek = Dk && Ck || Dk;\nmodule.exports = Ek[\"default\"] || Ek;"],"sourceRoot":""}
\ No newline at end of file
diff --git a/commons-32e6f91911f4befd4235.js b/commons-32e6f91911f4befd4235.js
new file mode 100644
index 0000000..f358365
--- /dev/null
+++ b/commons-32e6f91911f4befd4235.js
@@ -0,0 +1,2 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{"+5i3":function(e,t,n){},"8+s/":function(e,t,n){"use strict";var r,o=n("q1tI"),a=(r=o)&&"object"==typeof r&&"default"in r?r.default:r;function i(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=!("undefined"==typeof window||!window.document||!window.document.createElement);e.exports=function(e,t,n){if("function"!=typeof e)throw new Error("Expected reducePropsToState to be a function.");if("function"!=typeof t)throw new Error("Expected handleStateChangeOnClient to be a function.");if(void 0!==n&&"function"!=typeof n)throw new Error("Expected mapStateOnServer to either be undefined or a function.");return function(r){if("function"!=typeof r)throw new Error("Expected WrappedComponent to be a React component.");var u,s=[];function l(){u=e(s.map((function(e){return e.props}))),f.canUseDOM?t(u):n&&(u=n(u))}var f=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,o.peek=function(){return u},o.rewind=function(){if(o.canUseDOM)throw new Error("You may only call rewind() on the server. Call peek() to read the current state.");var e=u;return u=void 0,s=[],e};var i=o.prototype;return i.UNSAFE_componentWillMount=function(){s.push(this),l()},i.componentDidUpdate=function(){l()},i.componentWillUnmount=function(){var e=s.indexOf(this);s.splice(e,1),l()},i.render=function(){return a.createElement(r,this.props)},o}(o.PureComponent);return i(f,"displayName","SideEffect("+function(e){return e.displayName||e.name||"Component"}(r)+")"),i(f,"canUseDOM",c),f}}},Rb52:function(e,t,n){"use strict";var r=n("q1tI"),o=n.n(r),a=n("Wbzz"),i=n("s/A6"),c=n.n(i),u=n("kiXb");t.a=function(e){var t=e.lang,n=Object(u.resolveI18nPath)(t);return o.a.createElement("header",{className:"eclipse-jkube__header"},o.a.createElement("div",{className:"eclipse-jkube__header-container"},o.a.createElement(a.a,{to:n("/"),className:"eclipse-jkube__header-logo"},o.a.createElement("div",{className:"eclipse-jkube__header-logo-image"},o.a.createElement("img",{src:c.a,alt:"Eclipse Foundation"})),o.a.createElement("div",null,"JKube")),o.a.createElement("div",{className:"eclipse-jkube__header-content"},o.a.createElement("ul",null,o.a.createElement("li",null,o.a.createElement(a.a,{to:n("/docs")},"Docs")),o.a.createElement("li",null,o.a.createElement(a.a,{to:n("/demos")},"Demos")),o.a.createElement("li",null,o.a.createElement(a.a,{to:n("/community")},"Community")),o.a.createElement("li",null,o.a.createElement(a.a,{to:n("/contributing")},"Contributing")),o.a.createElement("li",null,o.a.createElement("a",{className:"eclipse-jkube__header-stars",href:"https://github.com/eclipse/jkube",title:"eclipse/jkube",target:"_blank",rel:"nofollow noopener noreferrer"},o.a.createElement("img",{src:"https://img.shields.io/github/stars/eclipse/jkube?style=social",alt:"eclipse/jkube stargazers"})))))))}},bmMU:function(e,t){var n="undefined"!=typeof Element,r="function"==typeof Map,o="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;e.exports=function(e,t){try{return function e(t,i){if(t===i)return!0;if(t&&i&&"object"==typeof t&&"object"==typeof i){if(t.constructor!==i.constructor)return!1;var c,u,s,l;if(Array.isArray(t)){if((c=t.length)!=i.length)return!1;for(u=c;0!=u--;)if(!e(t[u],i[u]))return!1;return!0}if(r&&t instanceof Map&&i instanceof Map){if(t.size!==i.size)return!1;for(l=t.entries();!(u=l.next()).done;)if(!i.has(u.value[0]))return!1;for(l=t.entries();!(u=l.next()).done;)if(!e(u.value[1],i.get(u.value[0])))return!1;return!0}if(o&&t instanceof Set&&i instanceof Set){if(t.size!==i.size)return!1;for(l=t.entries();!(u=l.next()).done;)if(!i.has(u.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(t)&&ArrayBuffer.isView(i)){if((c=t.length)!=i.length)return!1;for(u=c;0!=u--;)if(t[u]!==i[u])return!1;return!0}if(t.constructor===RegExp)return t.source===i.source&&t.flags===i.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===i.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===i.toString();if((c=(s=Object.keys(t)).length)!==Object.keys(i).length)return!1;for(u=c;0!=u--;)if(!Object.prototype.hasOwnProperty.call(i,s[u]))return!1;if(n&&t instanceof Element)return!1;for(u=c;0!=u--;)if(("_owner"!==s[u]&&"__v"!==s[u]&&"__o"!==s[u]||!t.$$typeof)&&!e(t[s[u]],i[s[u]]))return!1;return!0}return t!=t&&i!=i}(e,t)}catch(i){if((i.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw i}}},dmsj:function(e,t,n){"use strict";var r=n("q1tI"),o=n.n(r),a=n("qhky");t.a=function(e){var t=e.lang,n=e.title,r=e.description;return o.a.createElement(a.a,null,o.a.createElement("meta",{charSet:"UTF-8"}),o.a.createElement("html",{lang:t}),o.a.createElement("title",null,n),o.a.createElement("meta",{name:"description",content:r}))}},kiXb:function(e,t){e.exports={defaultLangKey:"en",resolveI18nPath:function(e){return function(t){return"en"===e?t:e+"/"+t}}}},qhky:function(e,t,n){"use strict";(function(e){var r,o,a,i,c=n("17x9"),u=n.n(c),s=n("8+s/"),l=n.n(s),f=n("bmMU"),p=n.n(f),d=n("q1tI"),h=n.n(d),m=n("6qGY"),y=n.n(m),b="bodyAttributes",T="htmlAttributes",g="titleAttributes",v={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title"},w=(Object.keys(v).map((function(e){return v[e]})),"charset"),E="cssText",A="href",O="http-equiv",C="innerHTML",S="itemprop",j="name",k="property",P="rel",I="src",L="target",x={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},_="defaultTitle",N="defer",M="encodeSpecialCharacters",R="onChangeClientState",q="titleTemplate",D=Object.keys(x).reduce((function(e,t){return e[x[t]]=t,e}),{}),F=[v.NOSCRIPT,v.SCRIPT,v.STYLE],H="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},B=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},U=function(){function e(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)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),Y=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},z=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},K=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},W=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},J=function(e){var t=Q(e,v.TITLE),n=Q(e,q);if(n&&t)return n.replace(/%s/g,(function(){return Array.isArray(t)?t.join(""):t}));var r=Q(e,_);return t||r||void 0},V=function(e){return Q(e,R)||function(){}},X=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return Y({},e,t)}),{})},$=function(e,t){return t.filter((function(e){return void 0!==e[v.BASE]})).map((function(e){return e[v.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),o=0;o<r.length;o++){var a=r[o].toLowerCase();if(-1!==e.indexOf(a)&&n[a])return t.concat(n)}return t}),[])},G=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&re("Helmet: "+e+' should be of type "Array". Instead found type "'+H(t[e])+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var o={};n.filter((function(e){for(var n=void 0,a=Object.keys(e),i=0;i<a.length;i++){var c=a[i],u=c.toLowerCase();-1===t.indexOf(u)||n===P&&"canonical"===e[n].toLowerCase()||u===P&&"stylesheet"===e[u].toLowerCase()||(n=u),-1===t.indexOf(c)||c!==C&&c!==E&&c!==S||(n=c)}if(!n||!e[n])return!1;var s=e[n].toLowerCase();return r[n]||(r[n]={}),o[n]||(o[n]={}),!r[n][s]&&(o[n][s]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var a=Object.keys(o),i=0;i<a.length;i++){var c=a[i],u=y()({},r[c],o[c]);r[c]=u}return e}),[]).reverse()},Q=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.hasOwnProperty(t))return r[t]}return null},Z=(r=Date.now(),function(e){var t=Date.now();t-r>16?(r=t,e(t)):setTimeout((function(){Z(e)}),0)}),ee=function(e){return clearTimeout(e)},te="undefined"!=typeof window?window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||Z:e.requestAnimationFrame||Z,ne="undefined"!=typeof window?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||ee:e.cancelAnimationFrame||ee,re=function(e){return console&&"function"==typeof console.warn&&console.warn(e)},oe=null,ae=function(e,t){var n=e.baseTag,r=e.bodyAttributes,o=e.htmlAttributes,a=e.linkTags,i=e.metaTags,c=e.noscriptTags,u=e.onChangeClientState,s=e.scriptTags,l=e.styleTags,f=e.title,p=e.titleAttributes;ue(v.BODY,r),ue(v.HTML,o),ce(f,p);var d={baseTag:se(v.BASE,n),linkTags:se(v.LINK,a),metaTags:se(v.META,i),noscriptTags:se(v.NOSCRIPT,c),scriptTags:se(v.SCRIPT,s),styleTags:se(v.STYLE,l)},h={},m={};Object.keys(d).forEach((function(e){var t=d[e],n=t.newTags,r=t.oldTags;n.length&&(h[e]=n),r.length&&(m[e]=d[e].oldTags)})),t&&t(),u(e,h,m)},ie=function(e){return Array.isArray(e)?e.join(""):e},ce=function(e,t){void 0!==e&&document.title!==e&&(document.title=ie(e)),ue(v.TITLE,t)},ue=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-react-helmet"),o=r?r.split(","):[],a=[].concat(o),i=Object.keys(t),c=0;c<i.length;c++){var u=i[c],s=t[u]||"";n.getAttribute(u)!==s&&n.setAttribute(u,s),-1===o.indexOf(u)&&o.push(u);var l=a.indexOf(u);-1!==l&&a.splice(l,1)}for(var f=a.length-1;f>=0;f--)n.removeAttribute(a[f]);o.length===a.length?n.removeAttribute("data-react-helmet"):n.getAttribute("data-react-helmet")!==i.join(",")&&n.setAttribute("data-react-helmet",i.join(","))}},se=function(e,t){var n=document.head||document.querySelector(v.HEAD),r=n.querySelectorAll(e+"[data-react-helmet]"),o=Array.prototype.slice.call(r),a=[],i=void 0;return t&&t.length&&t.forEach((function(t){var n=document.createElement(e);for(var r in t)if(t.hasOwnProperty(r))if(r===C)n.innerHTML=t.innerHTML;else if(r===E)n.styleSheet?n.styleSheet.cssText=t.cssText:n.appendChild(document.createTextNode(t.cssText));else{var c=void 0===t[r]?"":t[r];n.setAttribute(r,c)}n.setAttribute("data-react-helmet","true"),o.some((function(e,t){return i=t,n.isEqualNode(e)}))?o.splice(i,1):a.push(n)})),o.forEach((function(e){return e.parentNode.removeChild(e)})),a.forEach((function(e){return n.appendChild(e)})),{oldTags:o,newTags:a}},le=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},fe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[x[n]||n]=e[n],t}),t)},pe=function(e,t,n){switch(e){case v.TITLE:return{toComponent:function(){return e=t.title,n=t.titleAttributes,(r={key:e})["data-react-helmet"]=!0,o=fe(n,r),[h.a.createElement(v.TITLE,o,e)];var e,n,r,o},toString:function(){return function(e,t,n,r){var o=le(n),a=ie(t);return o?"<"+e+' data-react-helmet="true" '+o+">"+W(a,r)+"</"+e+">":"<"+e+' data-react-helmet="true">'+W(a,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case b:case T:return{toComponent:function(){return fe(t)},toString:function(){return le(t)}};default:return{toComponent:function(){return function(e,t){return t.map((function(t,n){var r,o=((r={key:n})["data-react-helmet"]=!0,r);return Object.keys(t).forEach((function(e){var n=x[e]||e;if(n===C||n===E){var r=t.innerHTML||t.cssText;o.dangerouslySetInnerHTML={__html:r}}else o[n]=t[e]})),h.a.createElement(e,o)}))}(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var o=Object.keys(r).filter((function(e){return!(e===C||e===E)})).reduce((function(e,t){var o=void 0===r[t]?t:t+'="'+W(r[t],n)+'"';return e?e+" "+o:o}),""),a=r.innerHTML||r.cssText||"",i=-1===F.indexOf(e);return t+"<"+e+' data-react-helmet="true" '+o+(i?"/>":">"+a+"</"+e+">")}),"")}(e,t,n)}}}},de=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,o=e.htmlAttributes,a=e.linkTags,i=e.metaTags,c=e.noscriptTags,u=e.scriptTags,s=e.styleTags,l=e.title,f=void 0===l?"":l,p=e.titleAttributes;return{base:pe(v.BASE,t,r),bodyAttributes:pe(b,n,r),htmlAttributes:pe(T,o,r),link:pe(v.LINK,a,r),meta:pe(v.META,i,r),noscript:pe(v.NOSCRIPT,c,r),script:pe(v.SCRIPT,u,r),style:pe(v.STYLE,s,r),title:pe(v.TITLE,{title:f,titleAttributes:p},r)}},he=l()((function(e){return{baseTag:$([A,L],e),bodyAttributes:X(b,e),defer:Q(e,N),encode:Q(e,M),htmlAttributes:X(T,e),linkTags:G(v.LINK,[P,A],e),metaTags:G(v.META,[j,w,O,k,S],e),noscriptTags:G(v.NOSCRIPT,[C],e),onChangeClientState:V(e),scriptTags:G(v.SCRIPT,[I,C],e),styleTags:G(v.STYLE,[E],e),title:J(e),titleAttributes:X(g,e)}}),(function(e){oe&&ne(oe),e.defer?oe=te((function(){ae(e,(function(){oe=null}))})):(ae(e),oe=null)}),de)((function(){return null})),me=(o=he,i=a=function(e){function t(){return B(this,t),K(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.shouldComponentUpdate=function(e){return!p()(this.props,e)},t.prototype.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case v.SCRIPT:case v.NOSCRIPT:return{innerHTML:t};case v.STYLE:return{cssText:t}}throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},t.prototype.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren,o=e.newChildProps,a=e.nestedChildren;return Y({},r,((t={})[n.type]=[].concat(r[n.type]||[],[Y({},o,this.mapNestedChildrenToProps(n,a))]),t))},t.prototype.mapObjectTypeChildren=function(e){var t,n,r=e.child,o=e.newProps,a=e.newChildProps,i=e.nestedChildren;switch(r.type){case v.TITLE:return Y({},o,((t={})[r.type]=i,t.titleAttributes=Y({},a),t));case v.BODY:return Y({},o,{bodyAttributes:Y({},a)});case v.HTML:return Y({},o,{htmlAttributes:Y({},a)})}return Y({},o,((n={})[r.type]=Y({},a),n))},t.prototype.mapArrayTypeChildrenToProps=function(e,t){var n=Y({},t);return Object.keys(e).forEach((function(t){var r;n=Y({},n,((r={})[t]=e[t],r))})),n},t.prototype.warnOnInvalidChildren=function(e,t){return!0},t.prototype.mapChildrenToProps=function(e,t){var n=this,r={};return h.a.Children.forEach(e,(function(e){if(e&&e.props){var o=e.props,a=o.children,i=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[D[n]||n]=e[n],t}),t)}(z(o,["children"]));switch(n.warnOnInvalidChildren(e,a),e.type){case v.LINK:case v.META:case v.NOSCRIPT:case v.SCRIPT:case v.STYLE:r=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:r,newChildProps:i,nestedChildren:a});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:i,nestedChildren:a})}}})),t=this.mapArrayTypeChildrenToProps(r,t)},t.prototype.render=function(){var e=this.props,t=e.children,n=z(e,["children"]),r=Y({},n);return t&&(r=this.mapChildrenToProps(t,r)),h.a.createElement(o,r)},U(t,null,[{key:"canUseDOM",set:function(e){o.canUseDOM=e}}]),t}(h.a.Component),a.propTypes={base:u.a.object,bodyAttributes:u.a.object,children:u.a.oneOfType([u.a.arrayOf(u.a.node),u.a.node]),defaultTitle:u.a.string,defer:u.a.bool,encodeSpecialCharacters:u.a.bool,htmlAttributes:u.a.object,link:u.a.arrayOf(u.a.object),meta:u.a.arrayOf(u.a.object),noscript:u.a.arrayOf(u.a.object),onChangeClientState:u.a.func,script:u.a.arrayOf(u.a.object),style:u.a.arrayOf(u.a.object),title:u.a.string,titleAttributes:u.a.object,titleTemplate:u.a.string},a.defaultProps={defer:!0,encodeSpecialCharacters:!0},a.peek=o.peek,a.rewind=function(){var e=o.rewind();return e||(e=de({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),e},i);me.renderStatic=me.rewind,t.a=me}).call(this,n("yLpj"))},"s/A6":function(e,t,n){e.exports=n.p+"static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png"},yLpj:function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}e.exports=n}}]);
+//# sourceMappingURL=commons-32e6f91911f4befd4235.js.map
\ No newline at end of file
diff --git a/commons-32e6f91911f4befd4235.js.map b/commons-32e6f91911f4befd4235.js.map
new file mode 100644
index 0000000..a82ba4d
--- /dev/null
+++ b/commons-32e6f91911f4befd4235.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./node_modules/react-side-effect/lib/index.js","webpack:///./src/components/header.jsx","webpack:///./node_modules/react-fast-compare/index.js","webpack:///./src/components/seo.jsx","webpack:///./src/i18n.js","webpack:///./node_modules/react-helmet/es/Helmet.js","webpack:///./src/assets/EF_WHT-OR_png.png","webpack:///(webpack)/buildin/global.js"],"names":["ex","React","React__default","_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","canUseDOM","window","document","createElement","module","exports","reducePropsToState","handleStateChangeOnClient","mapStateOnServer","Error","WrappedComponent","state","mountedInstances","emitChange","map","instance","props","SideEffect","_PureComponent","subClass","superClass","apply","this","arguments","prototype","create","constructor","__proto__","peek","rewind","recordedState","undefined","_proto","UNSAFE_componentWillMount","push","componentDidUpdate","componentWillUnmount","index","indexOf","splice","render","PureComponent","displayName","name","getDisplayName","Header","lang","resolvePath","resolveI18nPath","className","to","src","logo","alt","href","title","target","rel","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","a","b","equal","length","i","keys","it","Array","isArray","size","entries","next","done","has","get","RegExp","source","flags","valueOf","toString","hasOwnProperty","call","$$typeof","error","message","match","console","warn","Seo","description","charSet","content","defaultLangKey","langKey","path","clock","Component","_class","_temp","ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","REACT_TAG_MAP","accesskey","charset","class","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","HTML_TAG_MAP","reduce","SELF_CLOSING_TAGS","_typeof","Symbol","iterator","classCallCheck","Constructor","TypeError","createClass","defineProperties","descriptor","protoProps","staticProps","_extends","assign","objectWithoutProperties","possibleConstructorReturn","self","ReferenceError","encodeSpecialCharacters","str","encode","String","replace","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","join","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","filter","tagAttrs","current","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","tag","lowerCaseAttributeKey","toLowerCase","concat","getTagsFromPropsList","tagName","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","forEach","tagUnion","property","rafPolyfill","Date","now","callback","currentTime","setTimeout","cafPolyfill","id","clearTimeout","requestAnimationFrame","bind","webkitRequestAnimationFrame","mozRequestAnimationFrame","global","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","_helmetCallback","commitTagChanges","newState","cb","baseTag","bodyAttributes","htmlAttributes","linkTags","metaTags","noscriptTags","onChangeClientState","scriptTags","styleTags","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","attributes","elementTag","getElementsByTagName","helmetAttributeString","getAttribute","helmetAttributes","split","attributesToRemove","attributeKeys","attribute","setAttribute","indexToSave","_i","removeAttribute","type","tags","headElement","head","querySelector","tagNodes","querySelectorAll","slice","indexToDelete","newElement","innerHTML","styleSheet","cssText","appendChild","createTextNode","some","existingTag","isEqualNode","parentNode","removeChild","generateElementAttributesAsString","attr","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","dangerouslySetInnerHTML","__html","generateTagsAsReactComponent","attributeHtml","string","tagContent","isSelfClosing","generateTagsAsString","_ref","_ref$title","base","link","meta","noscript","script","style","HelmetSideEffects","defer","HelmetExport","_React$Component","HelmetWrapper","setPrototypeOf","inherits","shouldComponentUpdate","nextProps","mapNestedChildrenToProps","child","nestedChildren","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_ref2","_babelHelpers$extends2","_babelHelpers$extends3","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","children","_this2","Children","_child$props","initAttributes","convertReactPropstoHtmlAttributes","_props","set","propTypes","object","oneOfType","arrayOf","node","defaultTitle","bool","func","titleTemplate","defaultProps","mappedState","renderStatic","g","Function","e"],"mappings":"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","file":"commons-32e6f91911f4befd4235.js","sourcesContent":["'use strict';\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n } // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;","import React from 'react';\nimport {Link} from 'gatsby'\nimport logo from '../assets/EF_WHT-OR_png.png';\nimport PropTypes from 'prop-types';\nimport {resolveI18nPath} from \"../i18n\";\n\nconst Header = ({lang}) => {\n const resolvePath = resolveI18nPath(lang);\n return (\n <header className='eclipse-jkube__header'>\n <div className='eclipse-jkube__header-container'>\n <Link to={resolvePath('/')} className='eclipse-jkube__header-logo'>\n <div className='eclipse-jkube__header-logo-image'><img src={logo} alt='Eclipse Foundation' /></div>\n <div>JKube</div>\n </Link>\n <div className='eclipse-jkube__header-content'>\n <ul>\n <li><Link to={resolvePath('/docs')}>Docs</Link></li>\n <li><Link to={resolvePath('/demos')}>Demos</Link></li>\n <li><Link to={resolvePath('/community')}>Community</Link></li>\n <li><Link to={resolvePath('/contributing')}>Contributing</Link></li>\n <li>\n <a\n className='eclipse-jkube__header-stars'\n href='https://github.com/eclipse/jkube' title='eclipse/jkube'\n target='_blank' rel='nofollow noopener noreferrer'\n >\n <img src='https://img.shields.io/github/stars/eclipse/jkube?style=social' alt='eclipse/jkube stargazers' />\n </a>\n </li>\n </ul>\n </div>\n </div>\n </header>\n );\n};\n\nHeader.propTypes = {\n lang: PropTypes.string.isRequired,\n};\n\nexport default Header;\n","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView; // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n } // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n\n\n var it;\n\n if (hasMap && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n }\n\n return true;\n }\n\n if (hasSet && a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n return true;\n } // END: Modifications\n\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n } // END: fast-deep-equal\n // START: react-fast-compare\n // custom handling for DOM elements\n\n\n if (hasElementType && a instanceof Element) return false; // custom handling for React/Preact\n\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n continue;\n } // all other properties should be traversed as usual\n\n\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n } // END: react-fast-compare\n // START: fast-deep-equal\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message || '').match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Helmet from 'react-helmet';\n\nconst Seo = ({lang, title, description}) => {\n return (\n <Helmet>\n <meta charSet=\"UTF-8\" />\n <html lang={lang} />\n <title>{title}</title>\n <meta name=\"description\" content={description} />\n </Helmet>\n );\n};\n\nSeo.propTypes = {\n lang: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n};\n\nexport default Seo;\n","\nconst defaultLangKey = 'en';\n\nconst resolveI18nPath = langKey => path =>\n langKey === defaultLangKey ? path : `${langKey}/${path}`;\n\nmodule.exports = {\n defaultLangKey,\n resolveI18nPath\n};\n","import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase(); // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n } // Special case for innerHTML which doesn't work lowercased\n\n\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n }); // Update seen tags with tags from this instance\n\n var keys = Object.keys(instanceSeenTags);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n updateTitle(title, titleAttributes);\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n var addedTags = {};\n var removedTags = {};\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n cb && cb();\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\"); // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"</\" + type + \">\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps; // assigning into an array to define toString function on it\n\n\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = {\n __html: content\n };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, {\n title: title,\n titleAttributes: titleAttributes\n }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``}</\" + child.type + \"> ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \"<img src='http://mysite.com/js/test.js'\"}]\n * @param {Function} onChangeClientState: \"(newState) => console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\nexport default HelmetExport;\nexport { HelmetExport as Helmet };","module.exports = __webpack_public_path__ + \"static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png\";","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/community/index.html b/community/index.html
index a65f9ea..19cf5c7 100644
--- a/community/index.html
+++ b/community/index.html
@@ -1,8 +1,14 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.889ab2160f8ec77a2fd2.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{background:#073642}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;-webkit-transition:color .3s;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.18.17"/><title data-react-helmet="true">Eclipse JKube Community</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content="Eclipse JKube Feedback and Community: Information about how to get involved in the project"/><style type="text/css">
- .anchor {
- float: left;
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.edb330c6c19e6d79150a.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.24.12"/><title data-react-helmet="true">Eclipse JKube Community</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content="Eclipse JKube Feedback and Community: Information about how to get involved in the project"/><style type="text/css">
+ .anchor.before {
+ position: absolute;
+ top: 0;
+ left: 0;
+ transform: translateX(-100%);
padding-right: 4px;
- margin-left: -20px;
+ }
+ .anchor.after {
+ display: inline-block;
+ padding-left: 4px;
}
h1 .anchor svg,
h2 .anchor svg,
@@ -32,7 +38,9 @@
if (hash !== '') {
var element = document.getElementById(hash)
if (element) {
- var offset = element.offsetTop
+ var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
+ var clientTop = document.documentElement.clientTop || document.body.clientTop || 0
+ var offset = element.getBoundingClientRect().top + scrollTop - clientTop
// Wait for the browser to finish rendering before scrolling.
setTimeout((function() {
window.scrollTo(0, offset - 0)
@@ -40,39 +48,39 @@
}
}
})
- </script><link as="script" rel="preload" href="/jkube/webpack-runtime-e8c5029a536217a0c012.js"/><link as="script" rel="preload" href="/jkube/app-194ea4f7bf63aa4ef2a0.js"/><link as="script" rel="preload" href="/jkube/styles-dc2598e243cc612bb313.js"/><link as="script" rel="preload" href="/jkube/commons-2e644671e1023bf8738b.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-main-jsx-509f65dc90a3e989be93.js"/><link as="fetch" rel="preload" href="/jkube/page-data/community/page-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" role="group" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a class="eclipse-jkube__header-logo" href="/jkube/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/docs">Docs</a></li><li><a href="/jkube/demos">Demos</a></li><li><a href="/jkube/community">Community</a></li><li><a href="/jkube/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__main"><div class="eclipse-jkube__content"><div class="hero">
+ </script><link as="script" rel="preload" href="/jkube/webpack-runtime-3c499563b1f56aaa782c.js"/><link as="script" rel="preload" href="/jkube/framework-a576ae5ab153fa4a7c27.js"/><link as="script" rel="preload" href="/jkube/app-ea12b9b536627f4c1462.js"/><link as="script" rel="preload" href="/jkube/styles-c2fe8482057191dca484.js"/><link as="script" rel="preload" href="/jkube/commons-32e6f91911f4befd4235.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"/><link as="fetch" rel="preload" href="/jkube/page-data/community/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/jkube/page-data/app-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a class="eclipse-jkube__header-logo" href="/jkube/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/docs">Docs</a></li><li><a href="/jkube/demos">Demos</a></li><li><a href="/jkube/community">Community</a></li><li><a href="/jkube/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__main"><div class="eclipse-jkube__content"><div class="hero">
<div class="hero-content">
-<h1 id="feedback-and-community"><a href="#feedback-and-community" aria-label="feedback and community permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Feedback and Community</h1>
+<h1 id="feedback-and-community" style="position:relative;"><a href="#feedback-and-community" aria-label="feedback and community permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Feedback and Community</h1>
<p>Do you have any questions or comments on Eclipse JKube?</p>
<p>Do you want to get involved?</p>
</div>
</div>
-<h2 id="support"><a href="#support" aria-label="support permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Support</h2>
+<h2 id="support" style="position:relative;"><a href="#support" aria-label="support permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Support</h2>
<p>For any question, bug reporting, feature request, etc. please open a
<a href="https://github.com/eclipse/jkube/issues/new" target="_blank" rel="nofollow noopener noreferrer">GitHub issue</a> in our main repository.</p>
-<h2 id="public-chat"><a href="#public-chat" aria-label="public chat permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Public chat</h2>
+<h2 id="public-chat" style="position:relative;"><a href="#public-chat" aria-label="public chat permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Public chat</h2>
<p>If you need an answer right away, check the <a href="https://gitter.im/eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer">Eclipse JKube Gitter</a> channel.
Community and team members are eager to help you out or point to helpful resources to solve your questions. </p>
-<h2 id="twitter"><a href="#twitter" aria-label="twitter permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Twitter</h2>
+<h2 id="twitter" style="position:relative;"><a href="#twitter" aria-label="twitter permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Twitter</h2>
<p>For the latest news about Eclipse JKube, follow <a href="https://twitter.com/jkubeio" target="_blank" rel="nofollow noopener noreferrer">@jkubeio on Twitter</a>.</p>
-<h2 id="stack-overflow"><a href="#stack-overflow" aria-label="stack overflow permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Stack Overflow</h2>
+<h2 id="stack-overflow" style="position:relative;"><a href="#stack-overflow" aria-label="stack overflow permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Stack Overflow</h2>
<p>Check out for existing questions tagged with <a href="https://stackoverflow.com/questions/tagged/jkube" target="_blank" rel="nofollow noopener noreferrer">jkube</a> or
<a href="https://stackoverflow.com/questions/ask?tags=jkube" target="_blank" rel="nofollow noopener noreferrer">ask your own</a>.</p>
-<h2 id="mailing-list"><a href="#mailing-list" aria-label="mailing list permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Mailing list</h2>
+<h2 id="mailing-list" style="position:relative;"><a href="#mailing-list" aria-label="mailing list permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Mailing list</h2>
<p>Sign up to our <a href="https://accounts.eclipse.org/mailing-list/jkube-dev" target="_blank" rel="nofollow noopener noreferrer">mailing list</a> to receive official updates about
Eclipse JKube.</p>
-<h2 id="planning-and-meetings"><a href="#planning-and-meetings" aria-label="planning and meetings permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Planning and Meetings</h2>
+<h2 id="planning-and-meetings" style="position:relative;"><a href="#planning-and-meetings" aria-label="planning and meetings permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Planning and Meetings</h2>
<p>Check our team's plans in Eclipse JKube's <a href="https://github.com/eclipse/jkube/projects" target="_blank" rel="nofollow noopener noreferrer">projects</a> page.</p>
<ul>
<li>Sprints last 3 weeks and are aligned with
<a href="https://developers.redhat.com/topics/developer-tools/" target="_blank" rel="nofollow noopener noreferrer">Red Hat Developer Tools</a> team calendar schedule.</li>
<li>Planning meetings held before Sprint starts (check team calendar for specific date and time).</li>
</ul>
-<h3 id="team-calendar"><a href="#team-calendar" aria-label="team calendar permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Team Calendar</h3>
+<h3 id="team-calendar" style="position:relative;"><a href="#team-calendar" aria-label="team calendar permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Team Calendar</h3>
<p>Stay tuned to our
<a href="https://calendar.google.com/calendar/embed?src=n38b3vf86tupe7ennn65ntmchk%40group.calendar.google.com&ctz=GMT" target="_blank" rel="nofollow noopener noreferrer">public calendar</a>
to see when our next Sprint planning or meeting happens and feel free to join our
<a href="https://bluejeans.com/656779179" target="_blank" rel="nofollow noopener noreferrer">public meeting room</a>.</p>
<div class="calendar">
<iframe src="https://calendar.google.com/calendar/embed?height=600&wkst=2&bgcolor=%23F1F2F2&ctz=Etc%2FGMT&src=n38b3vf86tupe7ennn65ntmchk%40group.calendar.google.com&color=%237CB342&showTitle=0" style="border-width:0" frameborder="0" scrolling="no"></iframe>
-</div></div></div><div class="eclipse-jkube__footer"><div class="eclipse-jkube__footer-copyright">Copyright © Eclipse Foundation 2020</div></div></div></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/community/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"app":["/app-194ea4f7bf63aa4ef2a0.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-509f65dc90a3e989be93.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js"]};/*]]>*/</script><script src="/jkube/component---src-templates-main-jsx-509f65dc90a3e989be93.js" async=""></script><script src="/jkube/commons-2e644671e1023bf8738b.js" async=""></script><script src="/jkube/styles-dc2598e243cc612bb313.js" async=""></script><script src="/jkube/app-194ea4f7bf63aa4ef2a0.js" async=""></script><script src="/jkube/webpack-runtime-e8c5029a536217a0c012.js" async=""></script></body></html>
\ No newline at end of file
+</div></div></div><div class="eclipse-jkube__footer"><div class="eclipse-jkube__footer-copyright">Copyright © Eclipse Foundation 2020</div></div></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/community/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-2a86e29ae53b0bcd324d.js"],"app":["/app-ea12b9b536627f4c1462.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-38fb851fba733cc5515a.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"]};/*]]>*/</script><script src="/jkube/polyfill-2a86e29ae53b0bcd324d.js" nomodule=""></script><script src="/jkube/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js" async=""></script><script src="/jkube/commons-32e6f91911f4befd4235.js" async=""></script><script src="/jkube/styles-c2fe8482057191dca484.js" async=""></script><script src="/jkube/app-ea12b9b536627f4c1462.js" async=""></script><script src="/jkube/framework-a576ae5ab153fa4a7c27.js" async=""></script><script src="/jkube/webpack-runtime-3c499563b1f56aaa782c.js" async=""></script></body></html>
\ No newline at end of file
diff --git a/component---src-templates-doc-jsx-38fb851fba733cc5515a.js b/component---src-templates-doc-jsx-38fb851fba733cc5515a.js
new file mode 100644
index 0000000..8e0f5ad
--- /dev/null
+++ b/component---src-templates-doc-jsx-38fb851fba733cc5515a.js
@@ -0,0 +1,2 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{"/Des":function(e,t){Prism.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:(?!<!--)[^"'\]]|"[^"]*"|'[^']*'|<!--[\s\S]*?-->)*\]\s*)?>/i,greedy:!0},cdata:/<!\[CDATA\[[\s\S]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(e,t){var a={};a["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[t]},a.cdata=/^<!\[CDATA\[|\]\]>$/i;var n={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:a}};n["language-"+t]={pattern:/[\s\S]+/,inside:Prism.languages[t]};var r={};r[e]={pattern:RegExp("(<__[\\s\\S]*?>)(?:<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\s*|[\\s\\S])*?(?=<\\/__>)".replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore("markup","cdata",r)}}),Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup},"2NnL":function(e,t){var a,n,r;a=Prism,n=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,r=/\b[A-Z](?:\w*[a-z]\w*)?\b/,a.languages.java=a.languages.extend("clike",{"class-name":[r,/\b[A-Z]\w*(?=\s+\w+\s*[;,=())])/],keyword:n,function:[a.languages.clike.function,{pattern:/(\:\:)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x[\da-f_]*\.?[\da-f_p+-]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),a.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"}}),a.languages.insertBefore("java","class-name",{annotation:{alias:"punctuation",pattern:/(^|[^.])@\w+/,lookbehind:!0},namespace:{pattern:/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)[a-z]\w*(?:\.[a-z]\w*)+/,lookbehind:!0,inside:{punctuation:/\./}},generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":r,keyword:n,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})},DjDE:function(e,t,a){"use strict";a.r(t),a.d(t,"pageQuery",(function(){return o}));var n=a("q1tI"),r=a.n(n),s=a("Rb52"),i=a("dmsj"),l=(a("wZee"),a("2NnL"),a("/Des"),a("zSud"),a("E8R+"),a("+5i3"),function(){window.Prism.highlightAll()}),o="2561949074";t.default=function(e){var t=e.data.asciidocCopy,a=t.document,o=a.title,u=a.subtitle,c=t.html,d=e.pageContext.langKey;return Object(n.useEffect)(l,[]),r.a.createElement("div",{className:"eclipse-jkube"},r.a.createElement(i.a,{title:o,description:u,lang:d}),r.a.createElement(s.a,{lang:d}),r.a.createElement("div",{className:"eclipse-jkube__documentation book toc2 toc-left"},r.a.createElement("div",{className:"eclipse-jkube__documentation-content",dangerouslySetInnerHTML:{__html:c}})))}},"E8R+":function(e,t,a){},wZee:function(e,t,a){(function(t){var a=function(e){var t=/\blang(?:uage)?-([\w-]+)\b/i,a=0,n={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof r?new r(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++a}),e.__id},clone:function e(t,a){var r,s,i=n.util.type(t);switch(a=a||{},i){case"Object":if(s=n.util.objId(t),a[s])return a[s];for(var l in r={},a[s]=r,t)t.hasOwnProperty(l)&&(r[l]=e(t[l],a));return r;case"Array":return s=n.util.objId(t),a[s]?a[s]:(r=[],a[s]=r,t.forEach((function(t,n){r[n]=e(t,a)})),r);default:return t}},getLanguage:function(e){for(;e&&!t.test(e.className);)e=e.parentElement;return e?(e.className.match(t)||[,"none"])[1].toLowerCase():"none"},currentScript:function(){if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(n){var e=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(n.stack)||[])[1];if(e){var t=document.getElementsByTagName("script");for(var a in t)if(t[a].src==e)return t[a]}return null}}},languages:{extend:function(e,t){var a=n.util.clone(n.languages[e]);for(var r in t)a[r]=t[r];return a},insertBefore:function(e,t,a,r){var s=(r=r||n.languages)[e],i={};for(var l in s)if(s.hasOwnProperty(l)){if(l==t)for(var o in a)a.hasOwnProperty(o)&&(i[o]=a[o]);a.hasOwnProperty(l)||(i[l]=s[l])}var u=r[e];return r[e]=i,n.languages.DFS(n.languages,(function(t,a){a===u&&t!=e&&(this[t]=i)})),i},DFS:function e(t,a,r,s){s=s||{};var i=n.util.objId;for(var l in t)if(t.hasOwnProperty(l)){a.call(t,l,t[l],r||l);var o=t[l],u=n.util.type(o);"Object"!==u||s[i(o)]?"Array"!==u||s[i(o)]||(s[i(o)]=!0,e(o,a,l,s)):(s[i(o)]=!0,e(o,a,null,s))}}},plugins:{},highlightAll:function(e,t){n.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,a){var r={callback:a,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};n.hooks.run("before-highlightall",r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),n.hooks.run("before-all-elements-highlight",r);for(var s,i=0;s=r.elements[i++];)n.highlightElement(s,!0===t,r.callback)},highlightElement:function(a,r,s){var i=n.util.getLanguage(a),l=n.languages[i];a.className=a.className.replace(t,"").replace(/\s+/g," ")+" language-"+i;var o=a.parentNode;o&&"pre"===o.nodeName.toLowerCase()&&(o.className=o.className.replace(t,"").replace(/\s+/g," ")+" language-"+i);var u={element:a,language:i,grammar:l,code:a.textContent};function c(e){u.highlightedCode=e,n.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,n.hooks.run("after-highlight",u),n.hooks.run("complete",u),s&&s.call(u.element)}if(n.hooks.run("before-sanity-check",u),!u.code)return n.hooks.run("complete",u),void(s&&s.call(u.element));if(n.hooks.run("before-highlight",u),u.grammar)if(r&&e.Worker){var d=new Worker(n.filename);d.onmessage=function(e){c(e.data)},d.postMessage(JSON.stringify({language:u.language,code:u.code,immediateClose:!0}))}else c(n.highlight(u.code,u.grammar,u.language));else c(n.util.encode(u.code))},highlight:function(e,t,a){var s={code:e,grammar:t,language:a};return n.hooks.run("before-tokenize",s),s.tokens=n.tokenize(s.code,s.grammar),n.hooks.run("after-tokenize",s),r.stringify(n.util.encode(s.tokens),s.language)},tokenize:function(e,t){var a=t.rest;if(a){for(var o in a)t[o]=a[o];delete t.rest}var u=new s;return i(u,u.head,e),function e(t,a,s,o,u,c,d){for(var g in s)if(s.hasOwnProperty(g)&&s[g]){var p=s[g];p=Array.isArray(p)?p:[p];for(var f=0;f<p.length;++f){if(d&&d==g+","+f)return;var m=p[f],h=m.inside,v=!!m.lookbehind,b=!!m.greedy,y=0,k=m.alias;if(b&&!m.pattern.global){var w=m.pattern.toString().match(/[imsuy]*$/)[0];m.pattern=RegExp(m.pattern.source,w+"g")}m=m.pattern||m;for(var x=o.next,F=u;x!==a.tail;F+=x.value.length,x=x.next){var A=x.value;if(a.length>t.length)return;if(!(A instanceof r)){var S=1;if(b&&x!=a.tail.prev){if(m.lastIndex=F,!(j=m.exec(t)))break;var _=j.index+(v&&j[1]?j[1].length:0),$=j.index+j[0].length,P=F;for(P+=x.value.length;_>=P;)x=x.next,P+=x.value.length;if(P-=x.value.length,F=P,x.value instanceof r)continue;for(var E=x;E!==a.tail&&(P<$||"string"==typeof E.value&&!E.prev.value.greedy);E=E.next)S++,P+=E.value.length;S--,A=t.slice(F,P),j.index-=F}else{m.lastIndex=0;var j=m.exec(A)}if(j){v&&(y=j[1]?j[1].length:0);_=j.index+y,j=j[0].slice(y),$=_+j.length;var C=A.slice(0,_),z=A.slice($),N=x.prev;C&&(N=i(a,N,C),F+=C.length),l(a,N,S);var T=new r(g,h?n.tokenize(j,h):j,k,j,b);if(x=i(a,N,T),z&&i(a,x,z),S>1&&e(t,a,s,x.prev,F,!0,g+","+f),c)break}else if(c)break}}}}}(e,u,t,u.head,0),function(e){var t=[],a=e.head.next;for(;a!==e.tail;)t.push(a.value),a=a.next;return t}(u)},hooks:{all:{},add:function(e,t){var a=n.hooks.all;a[e]=a[e]||[],a[e].push(t)},run:function(e,t){var a=n.hooks.all[e];if(a&&a.length)for(var r,s=0;r=a[s++];)r(t)}},Token:r};function r(e,t,a,n,r){this.type=e,this.content=t,this.alias=a,this.length=0|(n||"").length,this.greedy=!!r}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function i(e,t,a){var n=t.next,r={value:a,prev:t,next:n};return t.next=r,n.prev=r,e.length++,r}function l(e,t,a){for(var n=t.next,r=0;r<a&&n!==e.tail;r++)n=n.next;t.next=n,n.prev=t,e.length-=r}if(e.Prism=n,r.stringify=function e(t,a){if("string"==typeof t)return t;if(Array.isArray(t)){var r="";return t.forEach((function(t){r+=e(t,a)})),r}var s={type:t.type,content:e(t.content,a),tag:"span",classes:["token",t.type],attributes:{},language:a},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(s.classes,i):s.classes.push(i)),n.hooks.run("wrap",s);var l="";for(var o in s.attributes)l+=" "+o+'="'+(s.attributes[o]||"").replace(/"/g,""")+'"';return"<"+s.tag+' class="'+s.classes.join(" ")+'"'+l+">"+s.content+"</"+s.tag+">"},!e.document)return e.addEventListener?(n.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var a=JSON.parse(t.data),r=a.language,s=a.code,i=a.immediateClose;e.postMessage(n.highlight(s,n.languages[r],r)),i&&e.close()}),!1),n):n;var o=n.util.currentScript();function u(){n.manual||n.highlightAll()}if(o&&(n.filename=o.src,o.hasAttribute("data-manual")&&(n.manual=!0)),!n.manual){var c=document.readyState;"loading"===c||"interactive"===c&&o&&o.defer?document.addEventListener("DOMContentLoaded",u):window.requestAnimationFrame?window.requestAnimationFrame(u):window.setTimeout(u,16)}return n}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=a),void 0!==t&&(t.Prism=a),a.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:(?!<!--)[^"'\]]|"[^"]*"|'[^']*'|<!--[\s\S]*?-->)*\]\s*)?>/i,greedy:!0},cdata:/<!\[CDATA\[[\s\S]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:a.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i;var r={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:a.languages[t]};var s={};s[e]={pattern:RegExp(/(<__[\s\S]*?>)(?:<!\[CDATA\[[\s\S]*?\]\]>\s*|[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},a.languages.insertBefore("markup","cdata",s)}}),a.languages.xml=a.languages.extend("markup",{}),a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\((?!\s*\))\s*)(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/,lookbehind:!0,alias:"selector"}}},url:{pattern:RegExp("url\\((?:"+t.source+"|[^\n\r()]*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+t.source+")*?(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var a=e.languages.markup;a&&(a.tag.addInlined("style","css"),e.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:a.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:e.languages.css}},alias:"language-css"}},a.tag))}(a),a.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},a.languages.javascript=a.languages.extend("clike",{"class-name":[a.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/--|\+\+|\*\*=?|=>|&&|\|\||[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?[.?]?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*[\s\S]*?\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:a.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:a.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:a.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:a.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),a.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}}}),a.languages.markup&&a.languages.markup.tag.addInlined("script","javascript"),a.languages.js=a.languages.javascript,"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(e){e=e||document;var t={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"};Array.prototype.slice.call(e.querySelectorAll("pre[data-src]")).forEach((function(e){if(!e.hasAttribute("data-src-loaded")){for(var n,r=e.getAttribute("data-src"),s=e,i=/\blang(?:uage)?-([\w-]+)\b/i;s&&!i.test(s.className);)s=s.parentNode;if(s&&(n=(e.className.match(i)||[,""])[1]),!n){var l=(r.match(/\.(\w+)$/)||[,""])[1];n=t[l]||l}var o=document.createElement("code");o.className="language-"+n,e.textContent="",o.textContent="Loading…",e.appendChild(o);var u=new XMLHttpRequest;u.open("GET",r,!0),u.onreadystatechange=function(){4==u.readyState&&(u.status<400&&u.responseText?(o.textContent=u.responseText,a.highlightElement(o),e.setAttribute("data-src-loaded","")):u.status>=400?o.textContent="✖ Error "+u.status+" while fetching file: "+u.statusText:o.textContent="✖ Error: File does not exist or is empty")},u.send(null)}}))},document.addEventListener("DOMContentLoaded",(function(){self.Prism.fileHighlight()})))}).call(this,a("yLpj"))},zSud:function(e,t){!function(e){var t=/[*&][^\s[\]{},]+/,a=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,n="(?:"+a.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+a.source+")?)";function r(e,t){t=(t||"").replace(/m/g,"")+"m";var a="([:\\-,[{]\\s*(?:\\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|]|}|\\s*#))".replace(/<<prop>>/g,(function(){return n})).replace(/<<value>>/g,(function(){return e}));return RegExp(a,t)}e.languages.yaml={scalar:{pattern:RegExp("([\\-:]\\s*(?:\\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\\2[^\r\n]+)*)".replace(/<<prop>>/g,(function(){return n}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp("((?:^|[:\\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)[^\r\n{[\\]},#\\s]+?(?=\\s*:\\s)".replace(/<<prop>>/g,(function(){return n}))),lookbehind:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:r("\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?[ \t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?)?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?"),lookbehind:!0,alias:"number"},boolean:{pattern:r("true|false","i"),lookbehind:!0,alias:"important"},null:{pattern:r("null|~","i"),lookbehind:!0,alias:"important"},string:{pattern:r("(\"|')(?:(?!\\2)[^\\\\\r\n]|\\\\.)*\\2"),lookbehind:!0,greedy:!0},number:{pattern:r("[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+\\.?\\d*|\\.?\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)","i"),lookbehind:!0},tag:a,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(Prism)}}]);
+//# sourceMappingURL=component---src-templates-doc-jsx-38fb851fba733cc5515a.js.map
\ No newline at end of file
diff --git a/component---src-templates-doc-jsx-38fb851fba733cc5515a.js.map b/component---src-templates-doc-jsx-38fb851fba733cc5515a.js.map
new file mode 100644
index 0000000..f0053ce
--- /dev/null
+++ b/component---src-templates-doc-jsx-38fb851fba733cc5515a.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./node_modules/prismjs/components/prism-markup.min.js","webpack:///./node_modules/prismjs/components/prism-java.min.js","webpack:///./src/templates/doc.jsx","webpack:///./node_modules/prismjs/prism.js","webpack:///./node_modules/prismjs/components/prism-yaml.min.js"],"names":["Prism","languages","markup","comment","prolog","doctype","pattern","greedy","cdata","tag","inside","punctuation","namespace","lookbehind","entity","hooks","add","a","type","attributes","title","content","replace","Object","defineProperty","value","e","s","n","t","RegExp","insertBefore","xml","extend","html","mathml","svg","java","keyword","function","clike","number","operator","alias","annotation","generics","componentDidMount","window","highlightAll","pageQuery","Doc","data","asciidocCopy","document","subtitle","__html","langKey","pageContext","useEffect","className","description","lang","dangerouslySetInnerHTML","_self","uniqueId","_","manual","disableWorkerMessageHandler","util","encode","tokens","Token","Array","isArray","map","o","prototype","toString","call","slice","objId","obj","clone","deepClone","visited","id","key","hasOwnProperty","forEach","v","i","getLanguage","element","test","parentElement","match","toLowerCase","currentScript","Error","err","src","exec","stack","scripts","getElementsByTagName","redef","before","insert","root","grammar","ret","token","newToken","old","DFS","this","callback","property","propertyType","plugins","async","highlightAllUnder","container","env","selector","run","elements","apply","querySelectorAll","highlightElement","language","parent","parentNode","nodeName","code","textContent","insertHighlightedCode","highlightedCode","innerHTML","Worker","worker","filename","onmessage","evt","postMessage","JSON","stringify","immediateClose","highlight","text","tokenize","rest","tokenList","LinkedList","addAfter","head","matchGrammar","startNode","startPos","oneshot","target","patterns","j","length","lookbehindLength","global","flags","source","currentNode","next","pos","tail","str","removeCount","prev","lastIndex","from","index","to","p","k","after","removeFrom","removeRange","wrapped","list","array","node","push","toArray","all","name","callbacks","matchedStr","newNode","count","classes","aliases","join","addEventListener","message","parse","close","script","highlightAutomaticallyCallback","hasAttribute","readyState","defer","requestAnimationFrame","setTimeout","WorkerGlobalScope","self","module","exports","tagName","includedCdataInside","def","string","css","addInlined","javascript","js","querySelector","fileHighlight","Extensions","pre","getAttribute","extension","createElement","appendChild","xhr","XMLHttpRequest","open","onreadystatechange","status","responseText","setAttribute","statusText","send","r","yaml","scalar","directive","datetime","boolean","null","important","yml"],"mappings":"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","file":"component---src-templates-doc-jsx-38fb851fba733cc5515a.js","sourcesContent":["Prism.languages.markup = {\n comment: /<!--[\\s\\S]*?-->/,\n prolog: /<\\?[\\s\\S]+?\\?>/,\n doctype: {\n pattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:(?!<!--)[^\"'\\]]|\"[^\"]*\"|'[^']*'|<!--[\\s\\S]*?-->)*\\]\\s*)?>/i,\n greedy: !0\n },\n cdata: /<!\\[CDATA\\[[\\s\\S]*?]]>/i,\n tag: {\n pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/i,\n greedy: !0,\n inside: {\n tag: {\n pattern: /^<\\/?[^\\s>\\/]+/i,\n inside: {\n punctuation: /^<\\/?/,\n namespace: /^[^\\s>\\/:]+:/\n }\n },\n \"attr-value\": {\n pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/i,\n inside: {\n punctuation: [/^=/, {\n pattern: /^(\\s*)[\"']|[\"']$/,\n lookbehind: !0\n }]\n }\n },\n punctuation: /\\/?>/,\n \"attr-name\": {\n pattern: /[^\\s>\\/]+/,\n inside: {\n namespace: /^[^\\s>\\/:]+:/\n }\n }\n }\n },\n entity: /&#?[\\da-z]{1,8};/i\n}, Prism.languages.markup.tag.inside[\"attr-value\"].inside.entity = Prism.languages.markup.entity, Prism.hooks.add(\"wrap\", function (a) {\n \"entity\" === a.type && (a.attributes.title = a.content.replace(/&/, \"&\"));\n}), Object.defineProperty(Prism.languages.markup.tag, \"addInlined\", {\n value: function value(a, e) {\n var s = {};\n s[\"language-\" + e] = {\n pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n lookbehind: !0,\n inside: Prism.languages[e]\n }, s.cdata = /^<!\\[CDATA\\[|\\]\\]>$/i;\n var n = {\n \"included-cdata\": {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n inside: s\n }\n };\n n[\"language-\" + e] = {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages[e]\n };\n var t = {};\n t[a] = {\n pattern: RegExp(\"(<__[\\\\s\\\\S]*?>)(?:<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\\\\s*|[\\\\s\\\\S])*?(?=<\\\\/__>)\".replace(/__/g, function () {\n return a;\n }), \"i\"),\n lookbehind: !0,\n greedy: !0,\n inside: n\n }, Prism.languages.insertBefore(\"markup\", \"cdata\", t);\n }\n}), Prism.languages.xml = Prism.languages.extend(\"markup\", {}), Prism.languages.html = Prism.languages.markup, Prism.languages.mathml = Prism.languages.markup, Prism.languages.svg = Prism.languages.markup;","!function (e) {\n var t = /\\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\\b/,\n a = /\\b[A-Z](?:\\w*[a-z]\\w*)?\\b/;\n e.languages.java = e.languages.extend(\"clike\", {\n \"class-name\": [a, /\\b[A-Z]\\w*(?=\\s+\\w+\\s*[;,=())])/],\n keyword: t,\n function: [e.languages.clike.function, {\n pattern: /(\\:\\:)[a-z_]\\w*/,\n lookbehind: !0\n }],\n number: /\\b0b[01][01_]*L?\\b|\\b0x[\\da-f_]*\\.?[\\da-f_p+-]+\\b|(?:\\b\\d[\\d_]*\\.?[\\d_]*|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,\n operator: {\n pattern: /(^|[^.])(?:<<=?|>>>?=?|->|--|\\+\\+|&&|\\|\\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,\n lookbehind: !0\n }\n }), e.languages.insertBefore(\"java\", \"string\", {\n \"triple-quoted-string\": {\n pattern: /\"\"\"[ \\t]*[\\r\\n](?:(?:\"|\"\")?(?:\\\\.|[^\"\\\\]))*\"\"\"/,\n greedy: !0,\n alias: \"string\"\n }\n }), e.languages.insertBefore(\"java\", \"class-name\", {\n annotation: {\n alias: \"punctuation\",\n pattern: /(^|[^.])@\\w+/,\n lookbehind: !0\n },\n namespace: {\n pattern: /(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)[a-z]\\w*(?:\\.[a-z]\\w*)+/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n },\n generics: {\n pattern: /<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<[\\w\\s,.&?]*>)*>)*>)*>/,\n inside: {\n \"class-name\": a,\n keyword: t,\n punctuation: /[<>(),.:]/,\n operator: /[?&|]/\n }\n }\n });\n}(Prism);","import React, {useEffect} from 'react';\nimport {graphql} from 'gatsby';\nimport Header from '../components/header';\nimport Seo from '../components/seo';\nimport 'prismjs/prism';\nimport 'prismjs/components/prism-java.min'\nimport 'prismjs/components/prism-markup.min'\nimport 'prismjs/components/prism-yaml.min'\nimport 'prismjs/themes/prism-solarizedlight.css'\nimport '../styles/main.scss';\n\nconst componentDidMount = () => {\n window.Prism.highlightAll()\n};\n\nconst Doc = ({\n data: {\n asciidocCopy: {\n document: {\n title,\n subtitle\n },\n html: __html\n }\n },\n pageContext: {langKey}\n}) => {\n useEffect(componentDidMount, []);\n return (\n <div className='eclipse-jkube'>\n <Seo title={title} description={subtitle} lang={langKey}/>\n <Header lang={langKey}/>\n <div className='eclipse-jkube__documentation book toc2 toc-left'>\n <div\n className='eclipse-jkube__documentation-content'\n dangerouslySetInnerHTML={{__html}}\n />\n </div>\n </div>\n );\n};\n\n\nexport const pageQuery = graphql`\n query($id: String!) {\n asciidocCopy(id: { eq: $id }) {\n html\n document {\n title\n subtitle\n }\n }\n }\n`;\n\nexport default Doc;\n","/* **********************************************\n Begin prism-core.js\n********************************************** */\nvar _self = typeof window !== 'undefined' ? window // if in browser\n: typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope ? self // if in worker\n: {} // if in node js\n;\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n * MIT license http://www.opensource.org/licenses/mit-license.php/\n * @author Lea Verou http://lea.verou.me\n */\n\n\nvar Prism = function (_self) {\n // Private helper vars\n var lang = /\\blang(?:uage)?-([\\w-]+)\\b/i;\n var uniqueId = 0;\n var _ = {\n manual: _self.Prism && _self.Prism.manual,\n disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n util: {\n encode: function encode(tokens) {\n if (tokens instanceof Token) {\n return new Token(tokens.type, encode(tokens.content), tokens.alias);\n } else if (Array.isArray(tokens)) {\n return tokens.map(encode);\n } else {\n return tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n }\n },\n type: function type(o) {\n return Object.prototype.toString.call(o).slice(8, -1);\n },\n objId: function objId(obj) {\n if (!obj['__id']) {\n Object.defineProperty(obj, '__id', {\n value: ++uniqueId\n });\n }\n\n return obj['__id'];\n },\n // Deep clone a language definition (e.g. to extend it)\n clone: function deepClone(o, visited) {\n var clone,\n id,\n type = _.util.type(o);\n\n visited = visited || {};\n\n switch (type) {\n case 'Object':\n id = _.util.objId(o);\n\n if (visited[id]) {\n return visited[id];\n }\n\n clone = {};\n visited[id] = clone;\n\n for (var key in o) {\n if (o.hasOwnProperty(key)) {\n clone[key] = deepClone(o[key], visited);\n }\n }\n\n return clone;\n\n case 'Array':\n id = _.util.objId(o);\n\n if (visited[id]) {\n return visited[id];\n }\n\n clone = [];\n visited[id] = clone;\n o.forEach(function (v, i) {\n clone[i] = deepClone(v, visited);\n });\n return clone;\n\n default:\n return o;\n }\n },\n\n /**\n * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n *\n * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n *\n * @param {Element} element\n * @returns {string}\n */\n getLanguage: function getLanguage(element) {\n while (element && !lang.test(element.className)) {\n element = element.parentElement;\n }\n\n if (element) {\n return (element.className.match(lang) || [, 'none'])[1].toLowerCase();\n }\n\n return 'none';\n },\n\n /**\n * Returns the script element that is currently executing.\n *\n * This does __not__ work for line script element.\n *\n * @returns {HTMLScriptElement | null}\n */\n currentScript: function currentScript() {\n if (typeof document === 'undefined') {\n return null;\n }\n\n if ('currentScript' in document) {\n return document.currentScript;\n } // IE11 workaround\n // we'll get the src of the current script by parsing IE11's error stack trace\n // this will not work for inline scripts\n\n\n try {\n throw new Error();\n } catch (err) {\n // Get file src url from stack. Specifically works with the format of stack traces in IE.\n // A stack will look like this:\n //\n // Error\n // at _.util.currentScript (http://localhost/components/prism-core.js:119:5)\n // at Global code (http://localhost/components/prism-core.js:606:1)\n var src = (/at [^(\\r\\n]*\\((.*):.+:.+\\)$/i.exec(err.stack) || [])[1];\n\n if (src) {\n var scripts = document.getElementsByTagName('script');\n\n for (var i in scripts) {\n if (scripts[i].src == src) {\n return scripts[i];\n }\n }\n }\n\n return null;\n }\n }\n },\n languages: {\n extend: function extend(id, redef) {\n var lang = _.util.clone(_.languages[id]);\n\n for (var key in redef) {\n lang[key] = redef[key];\n }\n\n return lang;\n },\n\n /**\n * Insert a token before another token in a language literal\n * As this needs to recreate the object (we cannot actually insert before keys in object literals),\n * we cannot just provide an object, we need an object and a key.\n * @param inside The key (or language id) of the parent\n * @param before The key to insert before.\n * @param insert Object with the key/value pairs to insert\n * @param root The object that contains `inside`. If equal to Prism.languages, it can be omitted.\n */\n insertBefore: function insertBefore(inside, before, insert, root) {\n root = root || _.languages;\n var grammar = root[inside];\n var ret = {};\n\n for (var token in grammar) {\n if (grammar.hasOwnProperty(token)) {\n if (token == before) {\n for (var newToken in insert) {\n if (insert.hasOwnProperty(newToken)) {\n ret[newToken] = insert[newToken];\n }\n }\n } // Do not insert token which also occur in insert. See #1525\n\n\n if (!insert.hasOwnProperty(token)) {\n ret[token] = grammar[token];\n }\n }\n }\n\n var old = root[inside];\n root[inside] = ret; // Update references in other language definitions\n\n _.languages.DFS(_.languages, function (key, value) {\n if (value === old && key != inside) {\n this[key] = ret;\n }\n });\n\n return ret;\n },\n // Traverse a language definition with Depth First Search\n DFS: function DFS(o, callback, type, visited) {\n visited = visited || {};\n var objId = _.util.objId;\n\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n callback.call(o, i, o[i], type || i);\n\n var property = o[i],\n propertyType = _.util.type(property);\n\n if (propertyType === 'Object' && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, null, visited);\n } else if (propertyType === 'Array' && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, i, visited);\n }\n }\n }\n }\n },\n plugins: {},\n highlightAll: function highlightAll(async, callback) {\n _.highlightAllUnder(document, async, callback);\n },\n highlightAllUnder: function highlightAllUnder(container, async, callback) {\n var env = {\n callback: callback,\n container: container,\n selector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n };\n\n _.hooks.run('before-highlightall', env);\n\n env.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n\n _.hooks.run('before-all-elements-highlight', env);\n\n for (var i = 0, element; element = env.elements[i++];) {\n _.highlightElement(element, async === true, env.callback);\n }\n },\n highlightElement: function highlightElement(element, async, callback) {\n // Find language\n var language = _.util.getLanguage(element);\n\n var grammar = _.languages[language]; // Set language on the element, if not present\n\n element.className = element.className.replace(lang, '').replace(/\\s+/g, ' ') + ' language-' + language; // Set language on the parent, for styling\n\n var parent = element.parentNode;\n\n if (parent && parent.nodeName.toLowerCase() === 'pre') {\n parent.className = parent.className.replace(lang, '').replace(/\\s+/g, ' ') + ' language-' + language;\n }\n\n var code = element.textContent;\n var env = {\n element: element,\n language: language,\n grammar: grammar,\n code: code\n };\n\n function insertHighlightedCode(highlightedCode) {\n env.highlightedCode = highlightedCode;\n\n _.hooks.run('before-insert', env);\n\n env.element.innerHTML = env.highlightedCode;\n\n _.hooks.run('after-highlight', env);\n\n _.hooks.run('complete', env);\n\n callback && callback.call(env.element);\n }\n\n _.hooks.run('before-sanity-check', env);\n\n if (!env.code) {\n _.hooks.run('complete', env);\n\n callback && callback.call(env.element);\n return;\n }\n\n _.hooks.run('before-highlight', env);\n\n if (!env.grammar) {\n insertHighlightedCode(_.util.encode(env.code));\n return;\n }\n\n if (async && _self.Worker) {\n var worker = new Worker(_.filename);\n\n worker.onmessage = function (evt) {\n insertHighlightedCode(evt.data);\n };\n\n worker.postMessage(JSON.stringify({\n language: env.language,\n code: env.code,\n immediateClose: true\n }));\n } else {\n insertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n }\n },\n highlight: function highlight(text, grammar, language) {\n var env = {\n code: text,\n grammar: grammar,\n language: language\n };\n\n _.hooks.run('before-tokenize', env);\n\n env.tokens = _.tokenize(env.code, env.grammar);\n\n _.hooks.run('after-tokenize', env);\n\n return Token.stringify(_.util.encode(env.tokens), env.language);\n },\n tokenize: function tokenize(text, grammar) {\n var rest = grammar.rest;\n\n if (rest) {\n for (var token in rest) {\n grammar[token] = rest[token];\n }\n\n delete grammar.rest;\n }\n\n var tokenList = new LinkedList();\n addAfter(tokenList, tokenList.head, text);\n matchGrammar(text, tokenList, grammar, tokenList.head, 0);\n return toArray(tokenList);\n },\n hooks: {\n all: {},\n add: function add(name, callback) {\n var hooks = _.hooks.all;\n hooks[name] = hooks[name] || [];\n hooks[name].push(callback);\n },\n run: function run(name, env) {\n var callbacks = _.hooks.all[name];\n\n if (!callbacks || !callbacks.length) {\n return;\n }\n\n for (var i = 0, callback; callback = callbacks[i++];) {\n callback(env);\n }\n }\n },\n Token: Token\n };\n _self.Prism = _;\n\n function Token(type, content, alias, matchedStr, greedy) {\n this.type = type;\n this.content = content;\n this.alias = alias; // Copy of the full string this token was created from\n\n this.length = (matchedStr || '').length | 0;\n this.greedy = !!greedy;\n }\n\n Token.stringify = function stringify(o, language) {\n if (typeof o == 'string') {\n return o;\n }\n\n if (Array.isArray(o)) {\n var s = '';\n o.forEach(function (e) {\n s += stringify(e, language);\n });\n return s;\n }\n\n var env = {\n type: o.type,\n content: stringify(o.content, language),\n tag: 'span',\n classes: ['token', o.type],\n attributes: {},\n language: language\n };\n var aliases = o.alias;\n\n if (aliases) {\n if (Array.isArray(aliases)) {\n Array.prototype.push.apply(env.classes, aliases);\n } else {\n env.classes.push(aliases);\n }\n }\n\n _.hooks.run('wrap', env);\n\n var attributes = '';\n\n for (var name in env.attributes) {\n attributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n }\n\n return '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '</' + env.tag + '>';\n };\n /**\n * @param {string} text\n * @param {LinkedList<string | Token>} tokenList\n * @param {any} grammar\n * @param {LinkedListNode<string | Token>} startNode\n * @param {number} startPos\n * @param {boolean} [oneshot=false]\n * @param {string} [target]\n */\n\n\n function matchGrammar(text, tokenList, grammar, startNode, startPos, oneshot, target) {\n for (var token in grammar) {\n if (!grammar.hasOwnProperty(token) || !grammar[token]) {\n continue;\n }\n\n var patterns = grammar[token];\n patterns = Array.isArray(patterns) ? patterns : [patterns];\n\n for (var j = 0; j < patterns.length; ++j) {\n if (target && target == token + ',' + j) {\n return;\n }\n\n var pattern = patterns[j],\n inside = pattern.inside,\n lookbehind = !!pattern.lookbehind,\n greedy = !!pattern.greedy,\n lookbehindLength = 0,\n alias = pattern.alias;\n\n if (greedy && !pattern.pattern.global) {\n // Without the global flag, lastIndex won't work\n var flags = pattern.pattern.toString().match(/[imsuy]*$/)[0];\n pattern.pattern = RegExp(pattern.pattern.source, flags + 'g');\n }\n\n pattern = pattern.pattern || pattern;\n\n for ( // iterate the token list and keep track of the current token/string position\n var currentNode = startNode.next, pos = startPos; currentNode !== tokenList.tail; pos += currentNode.value.length, currentNode = currentNode.next) {\n var str = currentNode.value;\n\n if (tokenList.length > text.length) {\n // Something went terribly wrong, ABORT, ABORT!\n return;\n }\n\n if (str instanceof Token) {\n continue;\n }\n\n var removeCount = 1; // this is the to parameter of removeBetween\n\n if (greedy && currentNode != tokenList.tail.prev) {\n pattern.lastIndex = pos;\n var match = pattern.exec(text);\n\n if (!match) {\n break;\n }\n\n var from = match.index + (lookbehind && match[1] ? match[1].length : 0);\n var to = match.index + match[0].length;\n var p = pos; // find the node that contains the match\n\n p += currentNode.value.length;\n\n while (from >= p) {\n currentNode = currentNode.next;\n p += currentNode.value.length;\n } // adjust pos (and p)\n\n\n p -= currentNode.value.length;\n pos = p; // the current node is a Token, then the match starts inside another Token, which is invalid\n\n if (currentNode.value instanceof Token) {\n continue;\n } // find the last node which is affected by this match\n\n\n for (var k = currentNode; k !== tokenList.tail && (p < to || typeof k.value === 'string' && !k.prev.value.greedy); k = k.next) {\n removeCount++;\n p += k.value.length;\n }\n\n removeCount--; // replace with the new match\n\n str = text.slice(pos, p);\n match.index -= pos;\n } else {\n pattern.lastIndex = 0;\n var match = pattern.exec(str);\n }\n\n if (!match) {\n if (oneshot) {\n break;\n }\n\n continue;\n }\n\n if (lookbehind) {\n lookbehindLength = match[1] ? match[1].length : 0;\n }\n\n var from = match.index + lookbehindLength,\n match = match[0].slice(lookbehindLength),\n to = from + match.length,\n before = str.slice(0, from),\n after = str.slice(to);\n var removeFrom = currentNode.prev;\n\n if (before) {\n removeFrom = addAfter(tokenList, removeFrom, before);\n pos += before.length;\n }\n\n removeRange(tokenList, removeFrom, removeCount);\n var wrapped = new Token(token, inside ? _.tokenize(match, inside) : match, alias, match, greedy);\n currentNode = addAfter(tokenList, removeFrom, wrapped);\n\n if (after) {\n addAfter(tokenList, currentNode, after);\n }\n\n if (removeCount > 1) matchGrammar(text, tokenList, grammar, currentNode.prev, pos, true, token + ',' + j);\n if (oneshot) break;\n }\n }\n }\n }\n /**\n * @typedef LinkedListNode\n * @property {T} value\n * @property {LinkedListNode<T> | null} prev The previous node.\n * @property {LinkedListNode<T> | null} next The next node.\n * @template T\n */\n\n /**\n * @template T\n */\n\n\n function LinkedList() {\n /** @type {LinkedListNode<T>} */\n var head = {\n value: null,\n prev: null,\n next: null\n };\n /** @type {LinkedListNode<T>} */\n\n var tail = {\n value: null,\n prev: head,\n next: null\n };\n head.next = tail;\n /** @type {LinkedListNode<T>} */\n\n this.head = head;\n /** @type {LinkedListNode<T>} */\n\n this.tail = tail;\n this.length = 0;\n }\n /**\n * Adds a new node with the given value to the list.\n * @param {LinkedList<T>} list\n * @param {LinkedListNode<T>} node\n * @param {T} value\n * @returns {LinkedListNode<T>} The added node.\n * @template T\n */\n\n\n function addAfter(list, node, value) {\n // assumes that node != list.tail && values.length >= 0\n var next = node.next;\n var newNode = {\n value: value,\n prev: node,\n next: next\n };\n node.next = newNode;\n next.prev = newNode;\n list.length++;\n return newNode;\n }\n /**\n * Removes `count` nodes after the given node. The given node will not be removed.\n * @param {LinkedList<T>} list\n * @param {LinkedListNode<T>} node\n * @param {number} count\n * @template T\n */\n\n\n function removeRange(list, node, count) {\n var next = node.next;\n\n for (var i = 0; i < count && next !== list.tail; i++) {\n next = next.next;\n }\n\n node.next = next;\n next.prev = node;\n list.length -= i;\n }\n /**\n * @param {LinkedList<T>} list\n * @returns {T[]}\n * @template T\n */\n\n\n function toArray(list) {\n var array = [];\n var node = list.head.next;\n\n while (node !== list.tail) {\n array.push(node.value);\n node = node.next;\n }\n\n return array;\n }\n\n if (!_self.document) {\n if (!_self.addEventListener) {\n // in Node.js\n return _;\n }\n\n if (!_.disableWorkerMessageHandler) {\n // In worker\n _self.addEventListener('message', function (evt) {\n var message = JSON.parse(evt.data),\n lang = message.language,\n code = message.code,\n immediateClose = message.immediateClose;\n\n _self.postMessage(_.highlight(code, _.languages[lang], lang));\n\n if (immediateClose) {\n _self.close();\n }\n }, false);\n }\n\n return _;\n } //Get current script and highlight\n\n\n var script = _.util.currentScript();\n\n if (script) {\n _.filename = script.src;\n\n if (script.hasAttribute('data-manual')) {\n _.manual = true;\n }\n }\n\n function highlightAutomaticallyCallback() {\n if (!_.manual) {\n _.highlightAll();\n }\n }\n\n if (!_.manual) {\n // If the document state is \"loading\", then we'll use DOMContentLoaded.\n // If the document state is \"interactive\" and the prism.js script is deferred, then we'll also use the\n // DOMContentLoaded event because there might be some plugins or languages which have also been deferred and they\n // might take longer one animation frame to execute which can create a race condition where only some plugins have\n // been loaded when Prism.highlightAll() is executed, depending on how fast resources are loaded.\n // See https://github.com/PrismJS/prism/issues/2102\n var readyState = document.readyState;\n\n if (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n document.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n } else {\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(highlightAutomaticallyCallback);\n } else {\n window.setTimeout(highlightAutomaticallyCallback, 16);\n }\n }\n }\n\n return _;\n}(_self);\n\nif (typeof module !== 'undefined' && module.exports) {\n module.exports = Prism;\n} // hack for components to work correctly in node.js\n\n\nif (typeof global !== 'undefined') {\n global.Prism = Prism;\n}\n/* **********************************************\n Begin prism-markup.js\n********************************************** */\n\n\nPrism.languages.markup = {\n 'comment': /<!--[\\s\\S]*?-->/,\n 'prolog': /<\\?[\\s\\S]+?\\?>/,\n 'doctype': {\n pattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:(?!<!--)[^\"'\\]]|\"[^\"]*\"|'[^']*'|<!--[\\s\\S]*?-->)*\\]\\s*)?>/i,\n greedy: true\n },\n 'cdata': /<!\\[CDATA\\[[\\s\\S]*?]]>/i,\n 'tag': {\n pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/i,\n greedy: true,\n inside: {\n 'tag': {\n pattern: /^<\\/?[^\\s>\\/]+/i,\n inside: {\n 'punctuation': /^<\\/?/,\n 'namespace': /^[^\\s>\\/:]+:/\n }\n },\n 'attr-value': {\n pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/i,\n inside: {\n 'punctuation': [/^=/, {\n pattern: /^(\\s*)[\"']|[\"']$/,\n lookbehind: true\n }]\n }\n },\n 'punctuation': /\\/?>/,\n 'attr-name': {\n pattern: /[^\\s>\\/]+/,\n inside: {\n 'namespace': /^[^\\s>\\/:]+:/\n }\n }\n }\n },\n 'entity': /&#?[\\da-z]{1,8};/i\n};\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] = Prism.languages.markup['entity']; // Plugin to make entity title show the real entity, idea by Roman Komarov\n\nPrism.hooks.add('wrap', function (env) {\n if (env.type === 'entity') {\n env.attributes['title'] = env.content.replace(/&/, '&');\n }\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n /**\n * Adds an inlined language to markup.\n *\n * An example of an inlined language is CSS with `<style>` tags.\n *\n * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n * case insensitive.\n * @param {string} lang The language key.\n * @example\n * addInlined('style', 'css');\n */\n value: function addInlined(tagName, lang) {\n var includedCdataInside = {};\n includedCdataInside['language-' + lang] = {\n pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n lookbehind: true,\n inside: Prism.languages[lang]\n };\n includedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n var inside = {\n 'included-cdata': {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n inside: includedCdataInside\n }\n };\n inside['language-' + lang] = {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages[lang]\n };\n var def = {};\n def[tagName] = {\n pattern: RegExp(/(<__[\\s\\S]*?>)(?:<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\s*|[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () {\n return tagName;\n }), 'i'),\n lookbehind: true,\n greedy: true,\n inside: inside\n };\n Prism.languages.insertBefore('markup', 'cdata', def);\n }\n});\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n/* **********************************************\n Begin prism-css.js\n********************************************** */\n\n(function (Prism) {\n var string = /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/;\n Prism.languages.css = {\n 'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n 'atrule': {\n pattern: /@[\\w-]+[\\s\\S]*?(?:;|(?=\\s*\\{))/,\n inside: {\n 'rule': /^@[\\w-]+/,\n 'selector-function-argument': {\n pattern: /(\\bselector\\s*\\((?!\\s*\\))\\s*)(?:[^()]|\\((?:[^()]|\\([^()]*\\))*\\))+?(?=\\s*\\))/,\n lookbehind: true,\n alias: 'selector'\n } // See rest below\n\n }\n },\n 'url': {\n pattern: RegExp('url\\\\((?:' + string.source + '|[^\\n\\r()]*)\\\\)', 'i'),\n greedy: true,\n inside: {\n 'function': /^url/i,\n 'punctuation': /^\\(|\\)$/\n }\n },\n 'selector': RegExp('[^{}\\\\s](?:[^{};\"\\']|' + string.source + ')*?(?=\\\\s*\\\\{)'),\n 'string': {\n pattern: string,\n greedy: true\n },\n 'property': /[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*(?=\\s*:)/i,\n 'important': /!important\\b/i,\n 'function': /[-a-z0-9]+(?=\\()/i,\n 'punctuation': /[(){};:,]/\n };\n Prism.languages.css['atrule'].inside.rest = Prism.languages.css;\n var markup = Prism.languages.markup;\n\n if (markup) {\n markup.tag.addInlined('style', 'css');\n Prism.languages.insertBefore('inside', 'attr-value', {\n 'style-attr': {\n pattern: /\\s*style=(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/i,\n inside: {\n 'attr-name': {\n pattern: /^\\s*style/i,\n inside: markup.tag.inside\n },\n 'punctuation': /^\\s*=\\s*['\"]|['\"]\\s*$/,\n 'attr-value': {\n pattern: /.+/i,\n inside: Prism.languages.css\n }\n },\n alias: 'language-css'\n }\n }, markup.tag);\n }\n})(Prism);\n/* **********************************************\n Begin prism-clike.js\n********************************************** */\n\n\nPrism.languages.clike = {\n 'comment': [{\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }],\n 'string': {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\b(?:class|interface|extends|implements|trait|instanceof|new)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n lookbehind: true,\n inside: {\n 'punctuation': /[.\\\\]/\n }\n },\n 'keyword': /\\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\\b/,\n 'boolean': /\\b(?:true|false)\\b/,\n 'function': /\\w+(?=\\()/,\n 'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n 'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n 'punctuation': /[{}[\\];(),.:]/\n};\n/* **********************************************\n Begin prism-javascript.js\n********************************************** */\n\nPrism.languages.javascript = Prism.languages.extend('clike', {\n 'class-name': [Prism.languages.clike['class-name'], {\n pattern: /(^|[^$\\w\\xA0-\\uFFFF])[_$A-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\.(?:prototype|constructor))/,\n lookbehind: true\n }],\n 'keyword': [{\n pattern: /((?:^|})\\s*)(?:catch|finally)\\b/,\n lookbehind: true\n }, {\n pattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n lookbehind: true\n }],\n 'number': /\\b(?:(?:0[xX](?:[\\dA-Fa-f](?:_[\\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\\d(?:_\\d)?)+n|NaN|Infinity)\\b|(?:\\b(?:\\d(?:_\\d)?)+\\.?(?:\\d(?:_\\d)?)*|\\B\\.(?:\\d(?:_\\d)?)+)(?:[Ee][+-]?(?:\\d(?:_\\d)?)+)?/,\n // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n 'function': /#?[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n 'operator': /--|\\+\\+|\\*\\*=?|=>|&&|\\|\\||[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?[.?]?|[~:]/\n});\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|interface|extends|implements|instanceof|new)\\s+)[\\w.\\\\]+/;\nPrism.languages.insertBefore('javascript', 'keyword', {\n 'regex': {\n pattern: /((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s])\\s*)\\/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[gimyus]{0,6}(?=(?:\\s|\\/\\*[\\s\\S]*?\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/,\n lookbehind: true,\n greedy: true\n },\n // This must be declared before keyword because we use \"function\" inside the look-forward\n 'function-variable': {\n pattern: /#?[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/,\n alias: 'function'\n },\n 'parameter': [{\n pattern: /(function(?:\\s+[_$A-Za-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)?\\s*\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\))/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }, {\n pattern: /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=>)/i,\n inside: Prism.languages.javascript\n }, {\n pattern: /(\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\)\\s*=>)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }, {\n pattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:[_$A-Za-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*\\s*)\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\)\\s*\\{)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }],\n 'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\nPrism.languages.insertBefore('javascript', 'string', {\n 'template-string': {\n pattern: /`(?:\\\\[\\s\\S]|\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\\${)[^\\\\`])*`/,\n greedy: true,\n inside: {\n 'template-punctuation': {\n pattern: /^`|`$/,\n alias: 'string'\n },\n 'interpolation': {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\${|}$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.javascript\n }\n },\n 'string': /[\\s\\S]+/\n }\n }\n});\n\nif (Prism.languages.markup) {\n Prism.languages.markup.tag.addInlined('script', 'javascript');\n}\n\nPrism.languages.js = Prism.languages.javascript;\n/* **********************************************\n Begin prism-file-highlight.js\n********************************************** */\n\n(function () {\n if (typeof self === 'undefined' || !self.Prism || !self.document || !document.querySelector) {\n return;\n }\n /**\n * @param {Element} [container=document]\n */\n\n\n self.Prism.fileHighlight = function (container) {\n container = container || document;\n var Extensions = {\n 'js': 'javascript',\n 'py': 'python',\n 'rb': 'ruby',\n 'ps1': 'powershell',\n 'psm1': 'powershell',\n 'sh': 'bash',\n 'bat': 'batch',\n 'h': 'c',\n 'tex': 'latex'\n };\n Array.prototype.slice.call(container.querySelectorAll('pre[data-src]')).forEach(function (pre) {\n // ignore if already loaded\n if (pre.hasAttribute('data-src-loaded')) {\n return;\n } // load current\n\n\n var src = pre.getAttribute('data-src');\n var language,\n parent = pre;\n var lang = /\\blang(?:uage)?-([\\w-]+)\\b/i;\n\n while (parent && !lang.test(parent.className)) {\n parent = parent.parentNode;\n }\n\n if (parent) {\n language = (pre.className.match(lang) || [, ''])[1];\n }\n\n if (!language) {\n var extension = (src.match(/\\.(\\w+)$/) || [, ''])[1];\n language = Extensions[extension] || extension;\n }\n\n var code = document.createElement('code');\n code.className = 'language-' + language;\n pre.textContent = '';\n code.textContent = 'Loading…';\n pre.appendChild(code);\n var xhr = new XMLHttpRequest();\n xhr.open('GET', src, true);\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status < 400 && xhr.responseText) {\n code.textContent = xhr.responseText;\n Prism.highlightElement(code); // mark as loaded\n\n pre.setAttribute('data-src-loaded', '');\n } else if (xhr.status >= 400) {\n code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;\n } else {\n code.textContent = '✖ Error: File does not exist or is empty';\n }\n }\n };\n\n xhr.send(null);\n });\n };\n\n document.addEventListener('DOMContentLoaded', function () {\n // execute inside handler, for dropping Event as argument\n self.Prism.fileHighlight();\n });\n})();","!function (n) {\n var t = /[*&][^\\s[\\]{},]+/,\n e = /!(?:<[\\w\\-%#;/?:@&=+$,.!~*'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*'()]+)?/,\n r = \"(?:\" + e.source + \"(?:[ \\t]+\" + t.source + \")?|\" + t.source + \"(?:[ \\t]+\" + e.source + \")?)\";\n\n function a(n, t) {\n t = (t || \"\").replace(/m/g, \"\") + \"m\";\n var e = \"([:\\\\-,[{]\\\\s*(?:\\\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|]|}|\\\\s*#))\".replace(/<<prop>>/g, function () {\n return r;\n }).replace(/<<value>>/g, function () {\n return n;\n });\n return RegExp(e, t);\n }\n\n n.languages.yaml = {\n scalar: {\n pattern: RegExp(\"([\\\\-:]\\\\s*(?:\\\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)[^\\r\\n]+(?:\\\\2[^\\r\\n]+)*)\".replace(/<<prop>>/g, function () {\n return r;\n })),\n lookbehind: !0,\n alias: \"string\"\n },\n comment: /#.*/,\n key: {\n pattern: RegExp(\"((?:^|[:\\\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)[^\\r\\n{[\\\\]},#\\\\s]+?(?=\\\\s*:\\\\s)\".replace(/<<prop>>/g, function () {\n return r;\n })),\n lookbehind: !0,\n alias: \"atrule\"\n },\n directive: {\n pattern: /(^[ \\t]*)%.+/m,\n lookbehind: !0,\n alias: \"important\"\n },\n datetime: {\n pattern: a(\"\\\\d{4}-\\\\d\\\\d?-\\\\d\\\\d?(?:[tT]|[ \\t]+)\\\\d\\\\d?:\\\\d{2}:\\\\d{2}(?:\\\\.\\\\d*)?[ \\t]*(?:Z|[-+]\\\\d\\\\d?(?::\\\\d{2})?)?|\\\\d{4}-\\\\d{2}-\\\\d{2}|\\\\d\\\\d?:\\\\d{2}(?::\\\\d{2}(?:\\\\.\\\\d*)?)?\"),\n lookbehind: !0,\n alias: \"number\"\n },\n boolean: {\n pattern: a(\"true|false\", \"i\"),\n lookbehind: !0,\n alias: \"important\"\n },\n null: {\n pattern: a(\"null|~\", \"i\"),\n lookbehind: !0,\n alias: \"important\"\n },\n string: {\n pattern: a(\"(\\\"|')(?:(?!\\\\2)[^\\\\\\\\\\r\\n]|\\\\\\\\.)*\\\\2\"),\n lookbehind: !0,\n greedy: !0\n },\n number: {\n pattern: a(\"[+-]?(?:0x[\\\\da-f]+|0o[0-7]+|(?:\\\\d+\\\\.?\\\\d*|\\\\.?\\\\d+)(?:e[+-]?\\\\d+)?|\\\\.inf|\\\\.nan)\", \"i\"),\n lookbehind: !0\n },\n tag: e,\n important: t,\n punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./\n }, n.languages.yml = n.languages.yaml;\n}(Prism);"],"sourceRoot":""}
\ No newline at end of file
diff --git a/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js b/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js
deleted file mode 100644
index 03b8d13..0000000
--- a/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{"/Des":function(e,t,a){a("Oyvg"),a("HAE/"),a("pIFo"),Prism.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:/<!DOCTYPE[\s\S]+?>/i,cdata:/<!\[CDATA\[[\s\S]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(e,t){var a={};a["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[t]},a.cdata=/^<!\[CDATA\[|\]\]>$/i;var n={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:a}};n["language-"+t]={pattern:/[\s\S]+/,inside:Prism.languages[t]};var s={};s[e]={pattern:RegExp("(<__[\\s\\S]*?>)(?:<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\s*|[\\s\\S])*?(?=<\\/__>)".replace(/__/g,e),"i"),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore("markup","cdata",s)}}),Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup},"2NnL":function(e,t){var a,n,s;a=Prism,n=/\b(?:abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while|var|null|exports|module|open|opens|provides|requires|to|transitive|uses|with)\b/,s=/\b[A-Z](?:\w*[a-z]\w*)?\b/,a.languages.java=a.languages.extend("clike",{"class-name":[s,/\b[A-Z]\w*(?=\s+\w+\s*[;,=())])/],keyword:n,function:[a.languages.clike.function,{pattern:/(\:\:)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x[\da-f_]*\.?[\da-f_p+-]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|([-+&|])\2|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),a.languages.insertBefore("java","class-name",{annotation:{alias:"punctuation",pattern:/(^|[^.])@\w+/,lookbehind:!0},namespace:{pattern:/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)[a-z]\w*(\.[a-z]\w*)+/,lookbehind:!0,inside:{punctuation:/\./}},generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":s,keyword:n,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})},DjDE:function(e,t,a){"use strict";a.r(t),a.d(t,"pageQuery",(function(){return l}));var n=a("q1tI"),s=a.n(n),i=a("Rb52"),r=a("dmsj"),o=(a("wZee"),a("2NnL"),a("/Des"),a("zSud"),a("E8R+"),a("+5i3"),function(){window.Prism.highlightAll()}),l="2829235910";t.default=function(e){var t=e.data.asciidocCopy,a=t.document,l=a.title,u=a.subtitle,c=t.html,d=e.pageContext.langKey;return Object(n.useEffect)(o,[]),s.a.createElement("div",{className:"eclipse-jkube"},s.a.createElement(r.a,{title:l,description:u,lang:d}),s.a.createElement(i.a,{lang:d}),s.a.createElement("div",{className:"eclipse-jkube__documentation book toc2 toc-left"},s.a.createElement("div",{className:"eclipse-jkube__documentation-content",dangerouslySetInnerHTML:{__html:c}})))}},wZee:function(e,t,a){(function(t){a("rGqo"),a("yt8O"),a("RW0V"),a("Oyvg"),a("SRfc"),a("8+KV"),a("HAE/"),a("a1Th"),a("h7Nl"),a("Btvt"),a("pIFo"),a("bWfx"),a("LK8F");var n=function(e){var t=/\blang(?:uage)?-([\w-]+)\b/i,a=0,n={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof s?new s(e.type,n.util.encode(e.content),e.alias):Array.isArray(e)?e.map(n.util.encode):e.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++a}),e.__id},clone:function e(t,a){var s,i,r=n.util.type(t);switch(a=a||{},r){case"Object":if(i=n.util.objId(t),a[i])return a[i];for(var o in s={},a[i]=s,t)t.hasOwnProperty(o)&&(s[o]=e(t[o],a));return s;case"Array":return i=n.util.objId(t),a[i]?a[i]:(s=[],a[i]=s,t.forEach((function(t,n){s[n]=e(t,a)})),s);default:return t}}},languages:{extend:function(e,t){var a=n.util.clone(n.languages[e]);for(var s in t)a[s]=t[s];return a},insertBefore:function(e,t,a,s){var i=(s=s||n.languages)[e],r={};for(var o in i)if(i.hasOwnProperty(o)){if(o==t)for(var l in a)a.hasOwnProperty(l)&&(r[l]=a[l]);a.hasOwnProperty(o)||(r[o]=i[o])}var u=s[e];return s[e]=r,n.languages.DFS(n.languages,(function(t,a){a===u&&t!=e&&(this[t]=r)})),r},DFS:function e(t,a,s,i){i=i||{};var r=n.util.objId;for(var o in t)if(t.hasOwnProperty(o)){a.call(t,o,t[o],s||o);var l=t[o],u=n.util.type(l);"Object"!==u||i[r(l)]?"Array"!==u||i[r(l)]||(i[r(l)]=!0,e(l,a,o,i)):(i[r(l)]=!0,e(l,a,null,i))}}},plugins:{},highlightAll:function(e,t){n.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,a){var s={callback:a,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};n.hooks.run("before-highlightall",s);for(var i,r=e.querySelectorAll(s.selector),o=0;i=r[o++];)n.highlightElement(i,!0===t,s.callback)},highlightElement:function(a,s,i){for(var r,o="none",l=a;l&&!t.test(l.className);)l=l.parentNode;l&&(o=(l.className.match(t)||[,"none"])[1].toLowerCase(),r=n.languages[o]),a.className=a.className.replace(t,"").replace(/\s+/g," ")+" language-"+o,a.parentNode&&(l=a.parentNode,/pre/i.test(l.nodeName)&&(l.className=l.className.replace(t,"").replace(/\s+/g," ")+" language-"+o));var u={element:a,language:o,grammar:r,code:a.textContent},c=function(e){u.highlightedCode=e,n.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,n.hooks.run("after-highlight",u),n.hooks.run("complete",u),i&&i.call(u.element)};if(n.hooks.run("before-sanity-check",u),u.code)if(n.hooks.run("before-highlight",u),u.grammar)if(s&&e.Worker){var d=new Worker(n.filename);d.onmessage=function(e){c(e.data)},d.postMessage(JSON.stringify({language:u.language,code:u.code,immediateClose:!0}))}else c(n.highlight(u.code,u.grammar,u.language));else c(n.util.encode(u.code));else n.hooks.run("complete",u)},highlight:function(e,t,a){var i={code:e,grammar:t,language:a};return n.hooks.run("before-tokenize",i),i.tokens=n.tokenize(i.code,i.grammar),n.hooks.run("after-tokenize",i),s.stringify(n.util.encode(i.tokens),i.language)},matchGrammar:function(e,t,a,i,r,o,l){for(var u in a)if(a.hasOwnProperty(u)&&a[u]){if(u==l)return;var c=a[u];c="Array"===n.util.type(c)?c:[c];for(var d=0;d<c.length;++d){var g=c[d],p=g.inside,m=!!g.lookbehind,f=!!g.greedy,h=0,b=g.alias;if(f&&!g.pattern.global){var y=g.pattern.toString().match(/[imuy]*$/)[0];g.pattern=RegExp(g.pattern.source,y+"g")}g=g.pattern||g;for(var k=i,v=r;k<t.length;v+=t[k].length,++k){var w=t[k];if(t.length>e.length)return;if(!(w instanceof s)){if(f&&k!=t.length-1){if(g.lastIndex=v,!($=g.exec(e)))break;for(var F=$.index+(m?$[1].length:0),A=$.index+$[0].length,x=k,_=v,S=t.length;x<S&&(_<A||!t[x].type&&!t[x-1].greedy);++x)F>=(_+=t[x].length)&&(++k,v=_);if(t[k]instanceof s)continue;P=x-k,w=e.slice(v,_),$.index-=v}else{g.lastIndex=0;var $=g.exec(w),P=1}if($){m&&(h=$[1]?$[1].length:0);A=(F=$.index+h)+($=$[0].slice(h)).length;var j=w.slice(0,F),E=w.slice(A),C=[k,P];j&&(++k,v+=j.length,C.push(j));var N=new s(u,p?n.tokenize($,p):$,b,$,f);if(C.push(N),E&&C.push(E),Array.prototype.splice.apply(t,C),1!=P&&n.matchGrammar(e,t,a,k,v,!0,u),o)break}else if(o)break}}}}},tokenize:function(e,t){var a=[e],s=t.rest;if(s){for(var i in s)t[i]=s[i];delete t.rest}return n.matchGrammar(e,a,t,0,0,!1),a},hooks:{all:{},add:function(e,t){var a=n.hooks.all;a[e]=a[e]||[],a[e].push(t)},run:function(e,t){var a=n.hooks.all[e];if(a&&a.length)for(var s,i=0;s=a[i++];)s(t)}},Token:s};function s(e,t,a,n,s){this.type=e,this.content=t,this.alias=a,this.length=0|(n||"").length,this.greedy=!!s}if(e.Prism=n,s.stringify=function(e,t){if("string"==typeof e)return e;if(Array.isArray(e))return e.map((function(e){return s.stringify(e,t)})).join("");var a={type:e.type,content:s.stringify(e.content,t),tag:"span",classes:["token",e.type],attributes:{},language:t};if(e.alias){var i=Array.isArray(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(a.classes,i)}n.hooks.run("wrap",a);var r=Object.keys(a.attributes).map((function(e){return e+'="'+(a.attributes[e]||"").replace(/"/g,""")+'"'})).join(" ");return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+(r?" "+r:"")+">"+a.content+"</"+a.tag+">"},!e.document)return e.addEventListener?(n.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var a=JSON.parse(t.data),s=a.language,i=a.code,r=a.immediateClose;e.postMessage(n.highlight(i,n.languages[s],s)),r&&e.close()}),!1),n):n;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(n.filename=i.src,n.manual||i.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(n.highlightAll):window.setTimeout(n.highlightAll,16):document.addEventListener("DOMContentLoaded",n.highlightAll))),n}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=n),void 0!==t&&(t.Prism=n),n.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:/<!DOCTYPE[\s\S]+?>/i,cdata:/<!\[CDATA\[[\s\S]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},n.languages.markup.tag.inside["attr-value"].inside.entity=n.languages.markup.entity,n.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(n.languages.markup.tag,"addInlined",{value:function(e,t){var a={};a["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:n.languages[t]},a.cdata=/^<!\[CDATA\[|\]\]>$/i;var s={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:a}};s["language-"+t]={pattern:/[\s\S]+/,inside:n.languages[t]};var i={};i[e]={pattern:RegExp(/(<__[\s\S]*?>)(?:<!\[CDATA\[[\s\S]*?\]\]>\s*|[\s\S])*?(?=<\/__>)/.source.replace(/__/g,e),"i"),lookbehind:!0,greedy:!0,inside:s},n.languages.insertBefore("markup","cdata",i)}}),n.languages.xml=n.languages.extend("markup",{}),n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/@[\w-]+/}},url:{pattern:RegExp("url\\((?:"+t.source+"|[^\n\r()]*)\\)","i"),inside:{function:/^url/i,punctuation:/^\(|\)$/}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+t.source+")*?(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var a=e.languages.markup;a&&(a.tag.addInlined("style","css"),e.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:a.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:e.languages.css}},alias:"language-css"}},a.tag))}(n),n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend("clike",{"class-name":[n.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),n.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,n.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:n.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:n.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:n.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:n.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),n.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:n.languages.javascript}},string:/[\s\S]+/}}}),n.languages.markup&&n.languages.markup.tag.addInlined("script","javascript"),n.languages.js=n.languages.javascript,"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(e){e=e||document;var t={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"};Array.prototype.slice.call(e.querySelectorAll("pre[data-src]")).forEach((function(e){if(!e.hasAttribute("data-src-loaded")){for(var a,s=e.getAttribute("data-src"),i=e,r=/\blang(?:uage)?-([\w-]+)\b/i;i&&!r.test(i.className);)i=i.parentNode;if(i&&(a=(e.className.match(r)||[,""])[1]),!a){var o=(s.match(/\.(\w+)$/)||[,""])[1];a=t[o]||o}var l=document.createElement("code");l.className="language-"+a,e.textContent="",l.textContent="Loading…",e.appendChild(l);var u=new XMLHttpRequest;u.open("GET",s,!0),u.onreadystatechange=function(){4==u.readyState&&(u.status<400&&u.responseText?(l.textContent=u.responseText,n.highlightElement(l),e.setAttribute("data-src-loaded","")):u.status>=400?l.textContent="✖ Error "+u.status+" while fetching file: "+u.statusText:l.textContent="✖ Error: File does not exist or is empty")},u.send(null)}})),n.plugins.toolbar&&n.plugins.toolbar.registerButton("download-file",(function(e){var t=e.element.parentNode;if(t&&/pre/i.test(t.nodeName)&&t.hasAttribute("data-src")&&t.hasAttribute("data-download-link")){var a=t.getAttribute("data-src"),n=document.createElement("a");return n.textContent=t.getAttribute("data-download-link-label")||"Download",n.setAttribute("download",""),n.href=a,n}}))},document.addEventListener("DOMContentLoaded",(function(){self.Prism.fileHighlight()})))}).call(this,a("yLpj"))},zSud:function(e,t){Prism.languages.yaml={scalar:{pattern:/([\-:]\s*(?:![^\s]+)?[ \t]*[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\2[^\r\n]+)*)/,lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:/(\s*(?:^|[:\-,[{\r\n?])[ \t]*(?:![^\s]+)?[ \t]*)[^\r\n{[\]},#\s]+?(?=\s*:\s)/,lookbehind:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[ \t]*(?:$|,|]|}))/m,lookbehind:!0,alias:"number"},boolean:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:true|false)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},null:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:null|~)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},string:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)("|')(?:(?!\2)[^\\\r\n]|\\.)*\2(?=[ \t]*(?:$|,|]|}|\s*#))/m,lookbehind:!0,greedy:!0},number:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:e[+-]?\d+)?|\.inf|\.nan)[ \t]*(?=$|,|]|})/im,lookbehind:!0},tag:/![^\s]+/,important:/[&*][\w]+/,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},Prism.languages.yml=Prism.languages.yaml}}]);
-//# sourceMappingURL=component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js.map
\ No newline at end of file
diff --git a/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js.map b/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js.map
deleted file mode 100644
index 22d83c4..0000000
--- a/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./node_modules/prismjs/components/prism-markup.min.js","webpack:///./node_modules/prismjs/components/prism-java.min.js","webpack:///./src/templates/doc.jsx","webpack:///./node_modules/prismjs/prism.js","webpack:///./node_modules/prismjs/components/prism-yaml.min.js"],"names":["Prism","languages","markup","comment","prolog","doctype","cdata","tag","pattern","greedy","inside","punctuation","namespace","lookbehind","entity","hooks","add","a","type","attributes","title","content","replace","Object","defineProperty","value","e","s","n","i","RegExp","insertBefore","xml","extend","html","mathml","svg","t","java","keyword","clike","number","operator","annotation","alias","generics","componentDidMount","window","highlightAll","pageQuery","Doc","data","asciidocCopy","document","subtitle","__html","langKey","pageContext","useEffect","className","description","lang","dangerouslySetInnerHTML","_self","uniqueId","_","manual","disableWorkerMessageHandler","util","encode","tokens","Token","Array","isArray","map","o","prototype","toString","call","slice","objId","obj","clone","deepClone","visited","id","key","hasOwnProperty","forEach","v","redef","before","insert","root","grammar","ret","token","newToken","old","DFS","this","callback","property","propertyType","plugins","async","highlightAllUnder","container","env","selector","run","element","elements","querySelectorAll","highlightElement","language","parent","test","parentNode","match","toLowerCase","nodeName","code","textContent","insertHighlightedCode","highlightedCode","innerHTML","Worker","worker","filename","onmessage","evt","postMessage","JSON","stringify","immediateClose","highlight","text","tokenize","matchGrammar","strarr","index","startPos","oneshot","target","patterns","j","length","lookbehindLength","global","flags","source","pos","str","lastIndex","exec","from","to","k","p","len","delNum","after","args","push","wrapped","splice","apply","rest","all","name","callbacks","matchedStr","join","classes","aliases","keys","addEventListener","message","parse","close","script","currentScript","getElementsByTagName","pop","src","hasAttribute","readyState","requestAnimationFrame","setTimeout","WorkerGlobalScope","self","module","exports","tagName","includedCdataInside","def","string","css","addInlined","javascript","js","querySelector","fileHighlight","Extensions","pre","getAttribute","extension","createElement","appendChild","xhr","XMLHttpRequest","open","onreadystatechange","status","responseText","setAttribute","statusText","send","toolbar","registerButton","href","yaml","scalar","directive","datetime","important","yml"],"mappings":"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","file":"component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js","sourcesContent":["require(\"core-js/modules/es6.regexp.constructor\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nrequire(\"core-js/modules/es6.regexp.replace\");\n\nPrism.languages.markup = {\n comment: /<!--[\\s\\S]*?-->/,\n prolog: /<\\?[\\s\\S]+?\\?>/,\n doctype: /<!DOCTYPE[\\s\\S]+?>/i,\n cdata: /<!\\[CDATA\\[[\\s\\S]*?]]>/i,\n tag: {\n pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/i,\n greedy: !0,\n inside: {\n tag: {\n pattern: /^<\\/?[^\\s>\\/]+/i,\n inside: {\n punctuation: /^<\\/?/,\n namespace: /^[^\\s>\\/:]+:/\n }\n },\n \"attr-value\": {\n pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/i,\n inside: {\n punctuation: [/^=/, {\n pattern: /^(\\s*)[\"']|[\"']$/,\n lookbehind: !0\n }]\n }\n },\n punctuation: /\\/?>/,\n \"attr-name\": {\n pattern: /[^\\s>\\/]+/,\n inside: {\n namespace: /^[^\\s>\\/:]+:/\n }\n }\n }\n },\n entity: /&#?[\\da-z]{1,8};/i\n}, Prism.languages.markup.tag.inside[\"attr-value\"].inside.entity = Prism.languages.markup.entity, Prism.hooks.add(\"wrap\", function (a) {\n \"entity\" === a.type && (a.attributes.title = a.content.replace(/&/, \"&\"));\n}), Object.defineProperty(Prism.languages.markup.tag, \"addInlined\", {\n value: function value(a, e) {\n var s = {};\n s[\"language-\" + e] = {\n pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n lookbehind: !0,\n inside: Prism.languages[e]\n }, s.cdata = /^<!\\[CDATA\\[|\\]\\]>$/i;\n var n = {\n \"included-cdata\": {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n inside: s\n }\n };\n n[\"language-\" + e] = {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages[e]\n };\n var i = {};\n i[a] = {\n pattern: RegExp(\"(<__[\\\\s\\\\S]*?>)(?:<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\\\\s*|[\\\\s\\\\S])*?(?=<\\\\/__>)\".replace(/__/g, a), \"i\"),\n lookbehind: !0,\n greedy: !0,\n inside: n\n }, Prism.languages.insertBefore(\"markup\", \"cdata\", i);\n }\n}), Prism.languages.xml = Prism.languages.extend(\"markup\", {}), Prism.languages.html = Prism.languages.markup, Prism.languages.mathml = Prism.languages.markup, Prism.languages.svg = Prism.languages.markup;","!function (e) {\n var t = /\\b(?:abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while|var|null|exports|module|open|opens|provides|requires|to|transitive|uses|with)\\b/,\n a = /\\b[A-Z](?:\\w*[a-z]\\w*)?\\b/;\n e.languages.java = e.languages.extend(\"clike\", {\n \"class-name\": [a, /\\b[A-Z]\\w*(?=\\s+\\w+\\s*[;,=())])/],\n keyword: t,\n \"function\": [e.languages.clike[\"function\"], {\n pattern: /(\\:\\:)[a-z_]\\w*/,\n lookbehind: !0\n }],\n number: /\\b0b[01][01_]*L?\\b|\\b0x[\\da-f_]*\\.?[\\da-f_p+-]+\\b|(?:\\b\\d[\\d_]*\\.?[\\d_]*|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,\n operator: {\n pattern: /(^|[^.])(?:<<=?|>>>?=?|->|([-+&|])\\2|[?:~]|[-+*/%&|^!=<>]=?)/m,\n lookbehind: !0\n }\n }), e.languages.insertBefore(\"java\", \"class-name\", {\n annotation: {\n alias: \"punctuation\",\n pattern: /(^|[^.])@\\w+/,\n lookbehind: !0\n },\n namespace: {\n pattern: /(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)[a-z]\\w*(\\.[a-z]\\w*)+/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n },\n generics: {\n pattern: /<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<[\\w\\s,.&?]*>)*>)*>)*>/,\n inside: {\n \"class-name\": a,\n keyword: t,\n punctuation: /[<>(),.:]/,\n operator: /[?&|]/\n }\n }\n });\n}(Prism);","import React, {useEffect} from 'react';\nimport {graphql} from 'gatsby';\nimport Header from '../components/header';\nimport Seo from '../components/seo';\nimport 'prismjs/prism';\nimport 'prismjs/components/prism-java.min'\nimport 'prismjs/components/prism-markup.min'\nimport 'prismjs/components/prism-yaml.min'\nimport 'prismjs/themes/prism-solarizedlight.css'\nimport '../styles/main.scss';\n\nconst componentDidMount = () => {\n window.Prism.highlightAll()\n};\n\nconst Doc = ({\n data: {\n asciidocCopy: {\n document: {\n title,\n subtitle\n },\n html: __html\n }\n },\n pageContext: {langKey}\n}) => {\n useEffect(componentDidMount, []);\n return (\n <div className='eclipse-jkube'>\n <Seo title={title} description={subtitle} lang={langKey}/>\n <Header lang={langKey}/>\n <div className='eclipse-jkube__documentation book toc2 toc-left'>\n <div\n className='eclipse-jkube__documentation-content'\n dangerouslySetInnerHTML={{__html}}\n />\n </div>\n </div>\n );\n};\n\n\nexport const pageQuery = graphql`\n query($id: String!) {\n asciidocCopy(id: { eq: $id }) {\n html\n document {\n title\n subtitle\n }\n }\n }\n`;\n\nexport default Doc;\n","require(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\nrequire(\"core-js/modules/es6.regexp.constructor\");\n\nrequire(\"core-js/modules/es6.regexp.match\");\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nrequire(\"core-js/modules/es6.regexp.to-string\");\n\nrequire(\"core-js/modules/es6.date.to-string\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.regexp.replace\");\n\nrequire(\"core-js/modules/es6.array.map\");\n\nrequire(\"core-js/modules/es6.array.is-array\");\n\n/* **********************************************\n Begin prism-core.js\n********************************************** */\nvar _self = typeof window !== 'undefined' ? window // if in browser\n: typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope ? self // if in worker\n: {} // if in node js\n;\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n * MIT license http://www.opensource.org/licenses/mit-license.php/\n * @author Lea Verou http://lea.verou.me\n */\n\n\nvar Prism = function (_self) {\n // Private helper vars\n var lang = /\\blang(?:uage)?-([\\w-]+)\\b/i;\n var uniqueId = 0;\n var _ = {\n manual: _self.Prism && _self.Prism.manual,\n disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n util: {\n encode: function encode(tokens) {\n if (tokens instanceof Token) {\n return new Token(tokens.type, _.util.encode(tokens.content), tokens.alias);\n } else if (Array.isArray(tokens)) {\n return tokens.map(_.util.encode);\n } else {\n return tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n }\n },\n type: function type(o) {\n return Object.prototype.toString.call(o).slice(8, -1);\n },\n objId: function objId(obj) {\n if (!obj['__id']) {\n Object.defineProperty(obj, '__id', {\n value: ++uniqueId\n });\n }\n\n return obj['__id'];\n },\n // Deep clone a language definition (e.g. to extend it)\n clone: function deepClone(o, visited) {\n var clone,\n id,\n type = _.util.type(o);\n\n visited = visited || {};\n\n switch (type) {\n case 'Object':\n id = _.util.objId(o);\n\n if (visited[id]) {\n return visited[id];\n }\n\n clone = {};\n visited[id] = clone;\n\n for (var key in o) {\n if (o.hasOwnProperty(key)) {\n clone[key] = deepClone(o[key], visited);\n }\n }\n\n return clone;\n\n case 'Array':\n id = _.util.objId(o);\n\n if (visited[id]) {\n return visited[id];\n }\n\n clone = [];\n visited[id] = clone;\n o.forEach(function (v, i) {\n clone[i] = deepClone(v, visited);\n });\n return clone;\n\n default:\n return o;\n }\n }\n },\n languages: {\n extend: function extend(id, redef) {\n var lang = _.util.clone(_.languages[id]);\n\n for (var key in redef) {\n lang[key] = redef[key];\n }\n\n return lang;\n },\n\n /**\n * Insert a token before another token in a language literal\n * As this needs to recreate the object (we cannot actually insert before keys in object literals),\n * we cannot just provide an object, we need an object and a key.\n * @param inside The key (or language id) of the parent\n * @param before The key to insert before.\n * @param insert Object with the key/value pairs to insert\n * @param root The object that contains `inside`. If equal to Prism.languages, it can be omitted.\n */\n insertBefore: function insertBefore(inside, before, insert, root) {\n root = root || _.languages;\n var grammar = root[inside];\n var ret = {};\n\n for (var token in grammar) {\n if (grammar.hasOwnProperty(token)) {\n if (token == before) {\n for (var newToken in insert) {\n if (insert.hasOwnProperty(newToken)) {\n ret[newToken] = insert[newToken];\n }\n }\n } // Do not insert token which also occur in insert. See #1525\n\n\n if (!insert.hasOwnProperty(token)) {\n ret[token] = grammar[token];\n }\n }\n }\n\n var old = root[inside];\n root[inside] = ret; // Update references in other language definitions\n\n _.languages.DFS(_.languages, function (key, value) {\n if (value === old && key != inside) {\n this[key] = ret;\n }\n });\n\n return ret;\n },\n // Traverse a language definition with Depth First Search\n DFS: function DFS(o, callback, type, visited) {\n visited = visited || {};\n var objId = _.util.objId;\n\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n callback.call(o, i, o[i], type || i);\n\n var property = o[i],\n propertyType = _.util.type(property);\n\n if (propertyType === 'Object' && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, null, visited);\n } else if (propertyType === 'Array' && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, i, visited);\n }\n }\n }\n }\n },\n plugins: {},\n highlightAll: function highlightAll(async, callback) {\n _.highlightAllUnder(document, async, callback);\n },\n highlightAllUnder: function highlightAllUnder(container, async, callback) {\n var env = {\n callback: callback,\n selector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n };\n\n _.hooks.run('before-highlightall', env);\n\n var elements = container.querySelectorAll(env.selector);\n\n for (var i = 0, element; element = elements[i++];) {\n _.highlightElement(element, async === true, env.callback);\n }\n },\n highlightElement: function highlightElement(element, async, callback) {\n // Find language\n var language = 'none',\n grammar,\n parent = element;\n\n while (parent && !lang.test(parent.className)) {\n parent = parent.parentNode;\n }\n\n if (parent) {\n language = (parent.className.match(lang) || [, 'none'])[1].toLowerCase();\n grammar = _.languages[language];\n } // Set language on the element, if not present\n\n\n element.className = element.className.replace(lang, '').replace(/\\s+/g, ' ') + ' language-' + language;\n\n if (element.parentNode) {\n // Set language on the parent, for styling\n parent = element.parentNode;\n\n if (/pre/i.test(parent.nodeName)) {\n parent.className = parent.className.replace(lang, '').replace(/\\s+/g, ' ') + ' language-' + language;\n }\n }\n\n var code = element.textContent;\n var env = {\n element: element,\n language: language,\n grammar: grammar,\n code: code\n };\n\n var insertHighlightedCode = function insertHighlightedCode(highlightedCode) {\n env.highlightedCode = highlightedCode;\n\n _.hooks.run('before-insert', env);\n\n env.element.innerHTML = env.highlightedCode;\n\n _.hooks.run('after-highlight', env);\n\n _.hooks.run('complete', env);\n\n callback && callback.call(env.element);\n };\n\n _.hooks.run('before-sanity-check', env);\n\n if (!env.code) {\n _.hooks.run('complete', env);\n\n return;\n }\n\n _.hooks.run('before-highlight', env);\n\n if (!env.grammar) {\n insertHighlightedCode(_.util.encode(env.code));\n return;\n }\n\n if (async && _self.Worker) {\n var worker = new Worker(_.filename);\n\n worker.onmessage = function (evt) {\n insertHighlightedCode(evt.data);\n };\n\n worker.postMessage(JSON.stringify({\n language: env.language,\n code: env.code,\n immediateClose: true\n }));\n } else {\n insertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n }\n },\n highlight: function highlight(text, grammar, language) {\n var env = {\n code: text,\n grammar: grammar,\n language: language\n };\n\n _.hooks.run('before-tokenize', env);\n\n env.tokens = _.tokenize(env.code, env.grammar);\n\n _.hooks.run('after-tokenize', env);\n\n return Token.stringify(_.util.encode(env.tokens), env.language);\n },\n matchGrammar: function matchGrammar(text, strarr, grammar, index, startPos, oneshot, target) {\n for (var token in grammar) {\n if (!grammar.hasOwnProperty(token) || !grammar[token]) {\n continue;\n }\n\n if (token == target) {\n return;\n }\n\n var patterns = grammar[token];\n patterns = _.util.type(patterns) === \"Array\" ? patterns : [patterns];\n\n for (var j = 0; j < patterns.length; ++j) {\n var pattern = patterns[j],\n inside = pattern.inside,\n lookbehind = !!pattern.lookbehind,\n greedy = !!pattern.greedy,\n lookbehindLength = 0,\n alias = pattern.alias;\n\n if (greedy && !pattern.pattern.global) {\n // Without the global flag, lastIndex won't work\n var flags = pattern.pattern.toString().match(/[imuy]*$/)[0];\n pattern.pattern = RegExp(pattern.pattern.source, flags + \"g\");\n }\n\n pattern = pattern.pattern || pattern; // Don’t cache length as it changes during the loop\n\n for (var i = index, pos = startPos; i < strarr.length; pos += strarr[i].length, ++i) {\n var str = strarr[i];\n\n if (strarr.length > text.length) {\n // Something went terribly wrong, ABORT, ABORT!\n return;\n }\n\n if (str instanceof Token) {\n continue;\n }\n\n if (greedy && i != strarr.length - 1) {\n pattern.lastIndex = pos;\n var match = pattern.exec(text);\n\n if (!match) {\n break;\n }\n\n var from = match.index + (lookbehind ? match[1].length : 0),\n to = match.index + match[0].length,\n k = i,\n p = pos;\n\n for (var len = strarr.length; k < len && (p < to || !strarr[k].type && !strarr[k - 1].greedy); ++k) {\n p += strarr[k].length; // Move the index i to the element in strarr that is closest to from\n\n if (from >= p) {\n ++i;\n pos = p;\n }\n } // If strarr[i] is a Token, then the match starts inside another Token, which is invalid\n\n\n if (strarr[i] instanceof Token) {\n continue;\n } // Number of tokens to delete and replace with the new match\n\n\n delNum = k - i;\n str = text.slice(pos, p);\n match.index -= pos;\n } else {\n pattern.lastIndex = 0;\n var match = pattern.exec(str),\n delNum = 1;\n }\n\n if (!match) {\n if (oneshot) {\n break;\n }\n\n continue;\n }\n\n if (lookbehind) {\n lookbehindLength = match[1] ? match[1].length : 0;\n }\n\n var from = match.index + lookbehindLength,\n match = match[0].slice(lookbehindLength),\n to = from + match.length,\n before = str.slice(0, from),\n after = str.slice(to);\n var args = [i, delNum];\n\n if (before) {\n ++i;\n pos += before.length;\n args.push(before);\n }\n\n var wrapped = new Token(token, inside ? _.tokenize(match, inside) : match, alias, match, greedy);\n args.push(wrapped);\n\n if (after) {\n args.push(after);\n }\n\n Array.prototype.splice.apply(strarr, args);\n if (delNum != 1) _.matchGrammar(text, strarr, grammar, i, pos, true, token);\n if (oneshot) break;\n }\n }\n }\n },\n tokenize: function tokenize(text, grammar) {\n var strarr = [text];\n var rest = grammar.rest;\n\n if (rest) {\n for (var token in rest) {\n grammar[token] = rest[token];\n }\n\n delete grammar.rest;\n }\n\n _.matchGrammar(text, strarr, grammar, 0, 0, false);\n\n return strarr;\n },\n hooks: {\n all: {},\n add: function add(name, callback) {\n var hooks = _.hooks.all;\n hooks[name] = hooks[name] || [];\n hooks[name].push(callback);\n },\n run: function run(name, env) {\n var callbacks = _.hooks.all[name];\n\n if (!callbacks || !callbacks.length) {\n return;\n }\n\n for (var i = 0, callback; callback = callbacks[i++];) {\n callback(env);\n }\n }\n },\n Token: Token\n };\n _self.Prism = _;\n\n function Token(type, content, alias, matchedStr, greedy) {\n this.type = type;\n this.content = content;\n this.alias = alias; // Copy of the full string this token was created from\n\n this.length = (matchedStr || \"\").length | 0;\n this.greedy = !!greedy;\n }\n\n Token.stringify = function (o, language) {\n if (typeof o == 'string') {\n return o;\n }\n\n if (Array.isArray(o)) {\n return o.map(function (element) {\n return Token.stringify(element, language);\n }).join('');\n }\n\n var env = {\n type: o.type,\n content: Token.stringify(o.content, language),\n tag: 'span',\n classes: ['token', o.type],\n attributes: {},\n language: language\n };\n\n if (o.alias) {\n var aliases = Array.isArray(o.alias) ? o.alias : [o.alias];\n Array.prototype.push.apply(env.classes, aliases);\n }\n\n _.hooks.run('wrap', env);\n\n var attributes = Object.keys(env.attributes).map(function (name) {\n return name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n }).join(' ');\n return '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + (attributes ? ' ' + attributes : '') + '>' + env.content + '</' + env.tag + '>';\n };\n\n if (!_self.document) {\n if (!_self.addEventListener) {\n // in Node.js\n return _;\n }\n\n if (!_.disableWorkerMessageHandler) {\n // In worker\n _self.addEventListener('message', function (evt) {\n var message = JSON.parse(evt.data),\n lang = message.language,\n code = message.code,\n immediateClose = message.immediateClose;\n\n _self.postMessage(_.highlight(code, _.languages[lang], lang));\n\n if (immediateClose) {\n _self.close();\n }\n }, false);\n }\n\n return _;\n } //Get current script and highlight\n\n\n var script = document.currentScript || [].slice.call(document.getElementsByTagName(\"script\")).pop();\n\n if (script) {\n _.filename = script.src;\n\n if (!_.manual && !script.hasAttribute('data-manual')) {\n if (document.readyState !== \"loading\") {\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(_.highlightAll);\n } else {\n window.setTimeout(_.highlightAll, 16);\n }\n } else {\n document.addEventListener('DOMContentLoaded', _.highlightAll);\n }\n }\n }\n\n return _;\n}(_self);\n\nif (typeof module !== 'undefined' && module.exports) {\n module.exports = Prism;\n} // hack for components to work correctly in node.js\n\n\nif (typeof global !== 'undefined') {\n global.Prism = Prism;\n}\n/* **********************************************\n Begin prism-markup.js\n********************************************** */\n\n\nPrism.languages.markup = {\n 'comment': /<!--[\\s\\S]*?-->/,\n 'prolog': /<\\?[\\s\\S]+?\\?>/,\n 'doctype': /<!DOCTYPE[\\s\\S]+?>/i,\n 'cdata': /<!\\[CDATA\\[[\\s\\S]*?]]>/i,\n 'tag': {\n pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/i,\n greedy: true,\n inside: {\n 'tag': {\n pattern: /^<\\/?[^\\s>\\/]+/i,\n inside: {\n 'punctuation': /^<\\/?/,\n 'namespace': /^[^\\s>\\/:]+:/\n }\n },\n 'attr-value': {\n pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/i,\n inside: {\n 'punctuation': [/^=/, {\n pattern: /^(\\s*)[\"']|[\"']$/,\n lookbehind: true\n }]\n }\n },\n 'punctuation': /\\/?>/,\n 'attr-name': {\n pattern: /[^\\s>\\/]+/,\n inside: {\n 'namespace': /^[^\\s>\\/:]+:/\n }\n }\n }\n },\n 'entity': /&#?[\\da-z]{1,8};/i\n};\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] = Prism.languages.markup['entity']; // Plugin to make entity title show the real entity, idea by Roman Komarov\n\nPrism.hooks.add('wrap', function (env) {\n if (env.type === 'entity') {\n env.attributes['title'] = env.content.replace(/&/, '&');\n }\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n /**\n * Adds an inlined language to markup.\n *\n * An example of an inlined language is CSS with `<style>` tags.\n *\n * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n * case insensitive.\n * @param {string} lang The language key.\n * @example\n * addInlined('style', 'css');\n */\n value: function addInlined(tagName, lang) {\n var includedCdataInside = {};\n includedCdataInside['language-' + lang] = {\n pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n lookbehind: true,\n inside: Prism.languages[lang]\n };\n includedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n var inside = {\n 'included-cdata': {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n inside: includedCdataInside\n }\n };\n inside['language-' + lang] = {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages[lang]\n };\n var def = {};\n def[tagName] = {\n pattern: RegExp(/(<__[\\s\\S]*?>)(?:<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\s*|[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, tagName), 'i'),\n lookbehind: true,\n greedy: true,\n inside: inside\n };\n Prism.languages.insertBefore('markup', 'cdata', def);\n }\n});\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n/* **********************************************\n Begin prism-css.js\n********************************************** */\n\n(function (Prism) {\n var string = /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/;\n Prism.languages.css = {\n 'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n 'atrule': {\n pattern: /@[\\w-]+[\\s\\S]*?(?:;|(?=\\s*\\{))/,\n inside: {\n 'rule': /@[\\w-]+/ // See rest below\n\n }\n },\n 'url': {\n pattern: RegExp('url\\\\((?:' + string.source + '|[^\\n\\r()]*)\\\\)', 'i'),\n inside: {\n 'function': /^url/i,\n 'punctuation': /^\\(|\\)$/\n }\n },\n 'selector': RegExp('[^{}\\\\s](?:[^{};\"\\']|' + string.source + ')*?(?=\\\\s*\\\\{)'),\n 'string': {\n pattern: string,\n greedy: true\n },\n 'property': /[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*(?=\\s*:)/i,\n 'important': /!important\\b/i,\n 'function': /[-a-z0-9]+(?=\\()/i,\n 'punctuation': /[(){};:,]/\n };\n Prism.languages.css['atrule'].inside.rest = Prism.languages.css;\n var markup = Prism.languages.markup;\n\n if (markup) {\n markup.tag.addInlined('style', 'css');\n Prism.languages.insertBefore('inside', 'attr-value', {\n 'style-attr': {\n pattern: /\\s*style=(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/i,\n inside: {\n 'attr-name': {\n pattern: /^\\s*style/i,\n inside: markup.tag.inside\n },\n 'punctuation': /^\\s*=\\s*['\"]|['\"]\\s*$/,\n 'attr-value': {\n pattern: /.+/i,\n inside: Prism.languages.css\n }\n },\n alias: 'language-css'\n }\n }, markup.tag);\n }\n})(Prism);\n/* **********************************************\n Begin prism-clike.js\n********************************************** */\n\n\nPrism.languages.clike = {\n 'comment': [{\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }],\n 'string': {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'class-name': {\n pattern: /((?:\\b(?:class|interface|extends|implements|trait|instanceof|new)\\s+)|(?:catch\\s+\\())[\\w.\\\\]+/i,\n lookbehind: true,\n inside: {\n punctuation: /[.\\\\]/\n }\n },\n 'keyword': /\\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\\b/,\n 'boolean': /\\b(?:true|false)\\b/,\n 'function': /\\w+(?=\\()/,\n 'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n 'operator': /--?|\\+\\+?|!=?=?|<=?|>=?|==?=?|&&?|\\|\\|?|\\?|\\*|\\/|~|\\^|%/,\n 'punctuation': /[{}[\\];(),.:]/\n};\n/* **********************************************\n Begin prism-javascript.js\n********************************************** */\n\nPrism.languages.javascript = Prism.languages.extend('clike', {\n 'class-name': [Prism.languages.clike['class-name'], {\n pattern: /(^|[^$\\w\\xA0-\\uFFFF])[_$A-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\.(?:prototype|constructor))/,\n lookbehind: true\n }],\n 'keyword': [{\n pattern: /((?:^|})\\s*)(?:catch|finally)\\b/,\n lookbehind: true\n }, {\n pattern: /(^|[^.])\\b(?:as|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n lookbehind: true\n }],\n 'number': /\\b(?:(?:0[xX](?:[\\dA-Fa-f](?:_[\\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\\d(?:_\\d)?)+n|NaN|Infinity)\\b|(?:\\b(?:\\d(?:_\\d)?)+\\.?(?:\\d(?:_\\d)?)*|\\B\\.(?:\\d(?:_\\d)?)+)(?:[Ee][+-]?(?:\\d(?:_\\d)?)+)?/,\n // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n 'function': /#?[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n 'operator': /-[-=]?|\\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\\|[|=]?|\\*\\*?=?|\\/=?|~|\\^=?|%=?|\\?|\\.{3}/\n});\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|interface|extends|implements|instanceof|new)\\s+)[\\w.\\\\]+/;\nPrism.languages.insertBefore('javascript', 'keyword', {\n 'regex': {\n pattern: /((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s])\\s*)\\/(\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[gimyus]{0,6}(?=\\s*($|[\\r\\n,.;})\\]]))/,\n lookbehind: true,\n greedy: true\n },\n // This must be declared before keyword because we use \"function\" inside the look-forward\n 'function-variable': {\n pattern: /#?[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/,\n alias: 'function'\n },\n 'parameter': [{\n pattern: /(function(?:\\s+[_$A-Za-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)?\\s*\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\))/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }, {\n pattern: /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=>)/i,\n inside: Prism.languages.javascript\n }, {\n pattern: /(\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\)\\s*=>)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }, {\n pattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:[_$A-Za-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*\\s*)\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\)\\s*\\{)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }],\n 'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\nPrism.languages.insertBefore('javascript', 'string', {\n 'template-string': {\n pattern: /`(?:\\\\[\\s\\S]|\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\\${)[^\\\\`])*`/,\n greedy: true,\n inside: {\n 'template-punctuation': {\n pattern: /^`|`$/,\n alias: 'string'\n },\n 'interpolation': {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\${|}$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.javascript\n }\n },\n 'string': /[\\s\\S]+/\n }\n }\n});\n\nif (Prism.languages.markup) {\n Prism.languages.markup.tag.addInlined('script', 'javascript');\n}\n\nPrism.languages.js = Prism.languages.javascript;\n/* **********************************************\n Begin prism-file-highlight.js\n********************************************** */\n\n(function () {\n if (typeof self === 'undefined' || !self.Prism || !self.document || !document.querySelector) {\n return;\n }\n /**\n * @param {Element} [container=document]\n */\n\n\n self.Prism.fileHighlight = function (container) {\n container = container || document;\n var Extensions = {\n 'js': 'javascript',\n 'py': 'python',\n 'rb': 'ruby',\n 'ps1': 'powershell',\n 'psm1': 'powershell',\n 'sh': 'bash',\n 'bat': 'batch',\n 'h': 'c',\n 'tex': 'latex'\n };\n Array.prototype.slice.call(container.querySelectorAll('pre[data-src]')).forEach(function (pre) {\n // ignore if already loaded\n if (pre.hasAttribute('data-src-loaded')) {\n return;\n } // load current\n\n\n var src = pre.getAttribute('data-src');\n var language,\n parent = pre;\n var lang = /\\blang(?:uage)?-([\\w-]+)\\b/i;\n\n while (parent && !lang.test(parent.className)) {\n parent = parent.parentNode;\n }\n\n if (parent) {\n language = (pre.className.match(lang) || [, ''])[1];\n }\n\n if (!language) {\n var extension = (src.match(/\\.(\\w+)$/) || [, ''])[1];\n language = Extensions[extension] || extension;\n }\n\n var code = document.createElement('code');\n code.className = 'language-' + language;\n pre.textContent = '';\n code.textContent = 'Loading…';\n pre.appendChild(code);\n var xhr = new XMLHttpRequest();\n xhr.open('GET', src, true);\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status < 400 && xhr.responseText) {\n code.textContent = xhr.responseText;\n Prism.highlightElement(code); // mark as loaded\n\n pre.setAttribute('data-src-loaded', '');\n } else if (xhr.status >= 400) {\n code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;\n } else {\n code.textContent = '✖ Error: File does not exist or is empty';\n }\n }\n };\n\n xhr.send(null);\n });\n\n if (Prism.plugins.toolbar) {\n Prism.plugins.toolbar.registerButton('download-file', function (env) {\n var pre = env.element.parentNode;\n\n if (!pre || !/pre/i.test(pre.nodeName) || !pre.hasAttribute('data-src') || !pre.hasAttribute('data-download-link')) {\n return;\n }\n\n var src = pre.getAttribute('data-src');\n var a = document.createElement('a');\n a.textContent = pre.getAttribute('data-download-link-label') || 'Download';\n a.setAttribute('download', '');\n a.href = src;\n return a;\n });\n }\n };\n\n document.addEventListener('DOMContentLoaded', function () {\n // execute inside handler, for dropping Event as argument\n self.Prism.fileHighlight();\n });\n})();","Prism.languages.yaml = {\n scalar: {\n pattern: /([\\-:]\\s*(?:![^\\s]+)?[ \\t]*[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)[^\\r\\n]+(?:\\2[^\\r\\n]+)*)/,\n lookbehind: !0,\n alias: \"string\"\n },\n comment: /#.*/,\n key: {\n pattern: /(\\s*(?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:![^\\s]+)?[ \\t]*)[^\\r\\n{[\\]},#\\s]+?(?=\\s*:\\s)/,\n lookbehind: !0,\n alias: \"atrule\"\n },\n directive: {\n pattern: /(^[ \\t]*)%.+/m,\n lookbehind: !0,\n alias: \"important\"\n },\n datetime: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?)?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?)(?=[ \\t]*(?:$|,|]|}))/m,\n lookbehind: !0,\n alias: \"number\"\n },\n \"boolean\": {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:true|false)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0,\n alias: \"important\"\n },\n \"null\": {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:null|~)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0,\n alias: \"important\"\n },\n string: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(\"|')(?:(?!\\2)[^\\\\\\r\\n]|\\\\.)*\\2(?=[ \\t]*(?:$|,|]|}|\\s*#))/m,\n lookbehind: !0,\n greedy: !0\n },\n number: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+\\.?\\d*|\\.?\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0\n },\n tag: /![^\\s]+/,\n important: /[&*][\\w]+/,\n punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./\n}, Prism.languages.yml = Prism.languages.yaml;"],"sourceRoot":""}
\ No newline at end of file
diff --git a/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js b/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js
new file mode 100644
index 0000000..9ae3cea
--- /dev/null
+++ b/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js
@@ -0,0 +1,2 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{"2ggT":function(e,t,a){"use strict";a.r(t),a.d(t,"pageQuery",(function(){return s}));var n=a("q1tI"),r=a.n(n),c=function(){return r.a.createElement("div",{className:"eclipse-jkube__footer"},r.a.createElement("div",{className:"eclipse-jkube__footer-copyright"},"Copyright © Eclipse Foundation 2020"))},l=a("Rb52"),i=a("dmsj"),s=(a("+5i3"),"3901760982");t.default=function(e){var t=e.data.markdownRemark,a=t.frontmatter,n=a.title,s=a.description,o=t.html,m=e.pageContext.langKey;return r.a.createElement("div",{className:"eclipse-jkube"},r.a.createElement(i.a,{title:n,description:s,lang:m}),r.a.createElement(l.a,{lang:m}),r.a.createElement("div",{className:"eclipse-jkube__main"},r.a.createElement("div",{className:"eclipse-jkube__content",dangerouslySetInnerHTML:{__html:o}})),r.a.createElement(c,null))}}}]);
+//# sourceMappingURL=component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js.map
\ No newline at end of file
diff --git a/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js.map b/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js.map
new file mode 100644
index 0000000..8032c84
--- /dev/null
+++ b/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./src/components/footer.jsx","webpack:///./src/templates/main.jsx"],"names":["Footer","className","pageQuery","Main","data","markdownRemark","frontmatter","title","description","__html","html","langKey","pageContext","lang","dangerouslySetInnerHTML"],"mappings":"uKAYeA,EATA,kBACb,yBAAKC,UAAU,yBACb,yBAAKA,UAAU,mCAAf,yC,wBC0BSC,G,UAAS,cAcPC,UAtCF,SAAC,GAQP,IAAD,IAPJC,KACEC,eAME,IALAC,YAAcC,EAKd,EALcA,MAAOC,EAKrB,EALqBA,YACfC,EAIN,EAJAC,KAGUC,EACV,EADJC,YAAcD,QAEd,OACE,yBAAKV,UAAU,iBACb,kBAAC,IAAD,CAAKM,MAAOA,EAAOC,YAAaA,EAAaK,KAAMF,IACnD,kBAAC,IAAD,CAAQE,KAAMF,IACd,yBAAKV,UAAU,uBACb,yBACEA,UAAU,yBACVa,wBAAyB,CAACL,aAG9B,kBAAC,EAAD","file":"component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Footer = () => (\n <div className='eclipse-jkube__footer'>\n <div className='eclipse-jkube__footer-copyright'>Copyright © Eclipse Foundation 2020</div>\n </div>\n);\n\nFooter.propTypes = {\n};\n\nexport default Footer;\n","import React from 'react';\nimport {graphql} from 'gatsby';\nimport Footer from '../components/footer'\nimport Header from '../components/header';\nimport Seo from '../components/seo';\nimport '../styles/main.scss';\n\nconst Main = ({\n data: {\n markdownRemark: {\n frontmatter: {title, description},\n html: __html\n }\n },\n pageContext: {langKey}\n}) => {\n return (\n <div className='eclipse-jkube'>\n <Seo title={title} description={description} lang={langKey}/>\n <Header lang={langKey}/>\n <div className='eclipse-jkube__main'>\n <div\n className='eclipse-jkube__content'\n dangerouslySetInnerHTML={{__html}}\n />\n </div>\n <Footer/>\n </div>\n );\n};\n\nexport const pageQuery = graphql`\n query($slug: String!) {\n markdownRemark(fields: { slug: { eq: $slug } }) {\n html\n frontmatter {\n date(formatString: \"MMMM DD, YYYY\")\n path\n title\n description\n }\n }\n }\n`;\n\nexport default Main;\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/component---src-templates-main-jsx-509f65dc90a3e989be93.js b/component---src-templates-main-jsx-509f65dc90a3e989be93.js
deleted file mode 100644
index e571585..0000000
--- a/component---src-templates-main-jsx-509f65dc90a3e989be93.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{"2ggT":function(e,t,a){"use strict";a.r(t);var n=a("q1tI"),r=a.n(n),c=function(){return r.a.createElement("div",{className:"eclipse-jkube__footer"},r.a.createElement("div",{className:"eclipse-jkube__footer-copyright"},"Copyright © Eclipse Foundation 2020"))},l=a("Rb52"),i=a("dmsj");a("+5i3");a.d(t,"pageQuery",(function(){return s}));var s="2309537708";t.default=function(e){var t=e.data.markdownRemark,a=t.frontmatter,n=a.title,s=a.description,o=t.html,m=e.pageContext.langKey;return r.a.createElement("div",{className:"eclipse-jkube"},r.a.createElement(i.a,{title:n,description:s,lang:m}),r.a.createElement(l.a,{lang:m}),r.a.createElement("div",{className:"eclipse-jkube__main"},r.a.createElement("div",{className:"eclipse-jkube__content",dangerouslySetInnerHTML:{__html:o}})),r.a.createElement(c,null))}}}]);
-//# sourceMappingURL=component---src-templates-main-jsx-509f65dc90a3e989be93.js.map
\ No newline at end of file
diff --git a/component---src-templates-main-jsx-509f65dc90a3e989be93.js.map b/component---src-templates-main-jsx-509f65dc90a3e989be93.js.map
deleted file mode 100644
index cb5a8d6..0000000
--- a/component---src-templates-main-jsx-509f65dc90a3e989be93.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/components/footer.jsx","webpack:///./src/templates/main.jsx"],"names":["Footer","className","pageQuery","Main","data","markdownRemark","frontmatter","title","description","__html","html","langKey","pageContext","lang","dangerouslySetInnerHTML"],"mappings":"6HAYeA,EATA,kBACb,yBAAKC,UAAU,yBACb,yBAAKA,UAAU,mCAAf,yC,kCCLJ,0CAOA,IAwBaC,EAAS,aAcPC,UAtCF,SAAC,GAQP,IAAD,IAPJC,KACEC,eAME,IALAC,YAAcC,EAKd,EALcA,MAAOC,EAKrB,EALqBA,YACfC,EAIN,EAJAC,KAGUC,EACV,EADJC,YAAcD,QAEd,OACE,yBAAKV,UAAU,iBACb,kBAAC,IAAD,CAAKM,MAAOA,EAAOC,YAAaA,EAAaK,KAAMF,IACnD,kBAAC,IAAD,CAAQE,KAAMF,IACd,yBAAKV,UAAU,uBACb,yBACEA,UAAU,yBACVa,wBAAyB,CAACL,aAG9B,kBAAC,EAAD","file":"component---src-templates-main-jsx-509f65dc90a3e989be93.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Footer = () => (\n <div className='eclipse-jkube__footer'>\n <div className='eclipse-jkube__footer-copyright'>Copyright © Eclipse Foundation 2020</div>\n </div>\n);\n\nFooter.propTypes = {\n};\n\nexport default Footer;\n","import React from 'react';\nimport {graphql} from 'gatsby';\nimport Footer from '../components/footer'\nimport Header from '../components/header';\nimport Seo from '../components/seo';\nimport '../styles/main.scss';\n\nconst Main = ({\n data: {\n markdownRemark: {\n frontmatter: {title, description},\n html: __html\n }\n },\n pageContext: {langKey}\n}) => {\n return (\n <div className='eclipse-jkube'>\n <Seo title={title} description={description} lang={langKey}/>\n <Header lang={langKey}/>\n <div className='eclipse-jkube__main'>\n <div\n className='eclipse-jkube__content'\n dangerouslySetInnerHTML={{__html}}\n />\n </div>\n <Footer/>\n </div>\n );\n};\n\nexport const pageQuery = graphql`\n query($slug: String!) {\n markdownRemark(fields: { slug: { eq: $slug } }) {\n html\n frontmatter {\n date(formatString: \"MMMM DD, YYYY\")\n path\n title\n description\n }\n }\n }\n`;\n\nexport default Main;\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/contributing/index.html b/contributing/index.html
index 54d4af2..a4c1b06 100644
--- a/contributing/index.html
+++ b/contributing/index.html
@@ -1,8 +1,14 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.889ab2160f8ec77a2fd2.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{background:#073642}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;-webkit-transition:color .3s;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.18.17"/><title data-react-helmet="true">Contributing to Eclipse JKube</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content="Eclipse JKube contributing main guidelines"/><style type="text/css">
- .anchor {
- float: left;
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.edb330c6c19e6d79150a.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.24.12"/><title data-react-helmet="true">Contributing to Eclipse JKube</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content="Eclipse JKube contributing main guidelines"/><style type="text/css">
+ .anchor.before {
+ position: absolute;
+ top: 0;
+ left: 0;
+ transform: translateX(-100%);
padding-right: 4px;
- margin-left: -20px;
+ }
+ .anchor.after {
+ display: inline-block;
+ padding-left: 4px;
}
h1 .anchor svg,
h2 .anchor svg,
@@ -32,7 +38,9 @@
if (hash !== '') {
var element = document.getElementById(hash)
if (element) {
- var offset = element.offsetTop
+ var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
+ var clientTop = document.documentElement.clientTop || document.body.clientTop || 0
+ var offset = element.getBoundingClientRect().top + scrollTop - clientTop
// Wait for the browser to finish rendering before scrolling.
setTimeout((function() {
window.scrollTo(0, offset - 0)
@@ -40,22 +48,22 @@
}
}
})
- </script><link as="script" rel="preload" href="/jkube/webpack-runtime-e8c5029a536217a0c012.js"/><link as="script" rel="preload" href="/jkube/app-194ea4f7bf63aa4ef2a0.js"/><link as="script" rel="preload" href="/jkube/styles-dc2598e243cc612bb313.js"/><link as="script" rel="preload" href="/jkube/commons-2e644671e1023bf8738b.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-main-jsx-509f65dc90a3e989be93.js"/><link as="fetch" rel="preload" href="/jkube/page-data/contributing/page-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" role="group" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a class="eclipse-jkube__header-logo" href="/jkube/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/docs">Docs</a></li><li><a href="/jkube/demos">Demos</a></li><li><a href="/jkube/community">Community</a></li><li><a href="/jkube/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__main"><div class="eclipse-jkube__content"><div class="hero">
+ </script><link as="script" rel="preload" href="/jkube/webpack-runtime-3c499563b1f56aaa782c.js"/><link as="script" rel="preload" href="/jkube/framework-a576ae5ab153fa4a7c27.js"/><link as="script" rel="preload" href="/jkube/app-ea12b9b536627f4c1462.js"/><link as="script" rel="preload" href="/jkube/styles-c2fe8482057191dca484.js"/><link as="script" rel="preload" href="/jkube/commons-32e6f91911f4befd4235.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"/><link as="fetch" rel="preload" href="/jkube/page-data/contributing/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/jkube/page-data/app-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a class="eclipse-jkube__header-logo" href="/jkube/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/docs">Docs</a></li><li><a href="/jkube/demos">Demos</a></li><li><a href="/jkube/community">Community</a></li><li><a href="/jkube/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__main"><div class="eclipse-jkube__content"><div class="hero">
<div class="hero-content">
-<h1 id="contributing-guide"><a href="#contributing-guide" aria-label="contributing guide permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contributing guide</h1>
+<h1 id="contributing-guide" style="position:relative;"><a href="#contributing-guide" aria-label="contributing guide permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contributing guide</h1>
<p>Thanks for being interested in contributing to Eclipse JKube!</p>
</div>
</div>
-<h3 id="want-to-contribute"><a href="#want-to-contribute" aria-label="want to contribute permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Want to contribute?</h3>
+<h3 id="want-to-contribute" style="position:relative;"><a href="#want-to-contribute" aria-label="want to contribute permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Want to contribute?</h3>
<p><strong>Great!</strong> We try to make it easy, and all contributions, even the smaller ones, are more than welcome.</p>
<p>This includes bug reports, fixes, documentation, examples... But first, please read this page.</p>
-<h2 id="legal"><a href="#legal" aria-label="legal permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Legal</h2>
+<h2 id="legal" style="position:relative;"><a href="#legal" aria-label="legal permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Legal</h2>
<p>All original contributions to Eclipse JKube are licensed under the
<a href="https://github.com/eclipse/jkube/blob/master/LICENSE" target="_blank" rel="nofollow noopener noreferrer">Eclipse Public License - v2.0</a>.</p>
<p>First step before submitting any pull request is singing an
<a href="https://accounts.eclipse.org/user/eca" target="_blank" rel="nofollow noopener noreferrer">Eclipse Contributor Agreement</a>.</p>
<p>To complete this step you'll need an <a href="https://accounts.eclipse.org/" target="_blank" rel="nofollow noopener noreferrer">Eclipse account</a>.</p>
-<h2 id="reporting-an-issue"><a href="#reporting-an-issue" aria-label="reporting an issue permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Reporting an issue</h2>
+<h2 id="reporting-an-issue" style="position:relative;"><a href="#reporting-an-issue" aria-label="reporting an issue permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Reporting an issue</h2>
<p>Eclipse JKube uses <a href="https://github.com/eclipse/jkube/issues" target="_blank" rel="nofollow noopener noreferrer">GitHub</a> to manage the issues.
<a href="https://github.com/eclipse/jkube/issues/new" target="_blank" rel="nofollow noopener noreferrer">Open</a> an issue directly in GitHub.</p>
<p>If you believe you found a bug (It's very likely you did), please open an issue
@@ -68,60 +76,29 @@
<li>Maven version</li>
<li>Target cluster version (Kubernetes, OpenShift, Minikube, CRC, etc.)</li>
</ul>
-<h2 id="before-you-contribute"><a href="#before-you-contribute" aria-label="before you contribute permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Before you contribute</h2>
+<h2 id="before-you-contribute" style="position:relative;"><a href="#before-you-contribute" aria-label="before you contribute permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Before you contribute</h2>
<p>To contribute use GitHub <a href="https://github.com/eclipse/jkube/pulls" target="_blank" rel="nofollow noopener noreferrer">pull requests</a> from your <strong>own</strong> fork.</p>
<p>All commits must be <a href="https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---signoff" target="_blank" rel="nofollow noopener noreferrer">signed-off</a>
by a user that has signed the
<a href="https://www.eclipse.org/legal/ECA.php" target="_blank" rel="nofollow noopener noreferrer">Eclipse Contributor Agreement</a>.</p>
-<h3 id="code-reviews"><a href="#code-reviews" aria-label="code reviews permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Code reviews</h3>
+<h3 id="code-reviews" style="position:relative;"><a href="#code-reviews" aria-label="code reviews permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Code reviews</h3>
<p>All reviews, including submissions by project members, need to be reviewed before being merged by the project official
<a href="https://projects.eclipse.org/projects/ecd.jkube/who" target="_blank" rel="nofollow noopener noreferrer">committers</a>.</p>
-<h3 id="tests-and-documentation"><a href="#tests-and-documentation" aria-label="tests and documentation permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Tests and documentation</h3>
+<h3 id="tests-and-documentation" style="position:relative;"><a href="#tests-and-documentation" aria-label="tests and documentation permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Tests and documentation</h3>
<p>Don't forget to include unit tests in your pull requests along with documentation (Reference information, javadoc, etc.).</p>
-<h2 id="setup"><a href="#setup" aria-label="setup permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Setup</h2>
-<h3 id="ide-config-and-code-style"><a href="#ide-config-and-code-style" aria-label="ide config and code style permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>IDE Config and Code Style</h3>
+<h2 id="setup" style="position:relative;"><a href="#setup" aria-label="setup permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Setup</h2>
+<h3 id="ide-config-and-code-style" style="position:relative;"><a href="#ide-config-and-code-style" aria-label="ide config and code style permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>IDE Config and Code Style</h3>
<p>Code formatting is done by the Eclipse code formatter using the configuration files found in the <code class="language-text">ide-config</code> directory.</p>
-<h4 id="eclipse-setup"><a href="#eclipse-setup" aria-label="eclipse setup permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Eclipse Setup</h4>
+<h4 id="eclipse-setup" style="position:relative;"><a href="#eclipse-setup" aria-label="eclipse setup permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Eclipse Setup</h4>
<p>Open the Preferences window, and then navigate to Java -> Code Style -> Formatter.
Click Import and then select the <code class="language-text">eclipse-format.xml</code> file in the <code class="language-text">ide-config</code> directory.</p>
<p>Next navigate to Java -> Code Style -> Organize Imports.
Click Import and select the <code class="language-text">eclipse.importorder</code> file in the <code class="language-text">ide-config</code> directory.</p>
-<h4 id="idea-setup"><a href="#idea-setup" aria-label="idea setup permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>IDEA Setup</h4>
+<h4 id="idea-setup" style="position:relative;"><a href="#idea-setup" aria-label="idea setup permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>IDEA Setup</h4>
<p>Open the Preferences window (or Settings depending on your edition), navigate to Plugins and install the
<a href="https://plugins.jetbrains.com/plugin/6546-eclipse-code-formatter" target="_blank" rel="nofollow noopener noreferrer">Eclipse Code Formatter Plugin</a> from the Marketplace.</p>
<p>Restart your IDE, open the Preferences (or Settings) window again and navigate to Other Settings -> Eclipse Code Formatter.</p>
<p>Select Use the Eclipse Code Formatter, then change the Eclipse Java Formatter Config File to point to the
<code class="language-text">eclipse-format.xml</code> file in the <code class="language-text">ide-config</code> directory.</p>
<p>Make sure the Optimize Imports box is ticked, and select the <code class="language-text">eclipse.importorder</code> file as the import order config file.</p>
-<p><span
- class="gatsby-resp-image-wrapper"
- style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 590px;"
- >
- <a
- class="gatsby-resp-image-link"
- href="/jkube/static/40db5a95d875815a4fddb66504f92f51/c4e1e/intellij-eclipse-code-formatter-settings.png"
- style="display: block"
- target="_blank"
- rel="noopener"
- >
- <span
- class="gatsby-resp-image-background-image"
- style="padding-bottom: 61.82572614107884%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsSAAALEgHS3X78AAACJklEQVQoz2VSyY7TQBD1HzFZnNV2u93enQ4JwzIjxIkDNy5IXDjwefwBEgcshLAQ3CYaM9IId/GqO4k04vBUvb569aq86WzxyZ8vfgM/Jv68Q+z82bybIc4Xy240nnSL5cri0cWouxiNu/HUB6bdeDK1974/7dar+U/sv3ilfvq92V1RWu4pzjRlZUN51ZDKSxJJSpFUNoaIYcxI8KamtKgAfpPRblvT2zfXFAr5x6u2L74CFCb6b5w9NnhgYpWZQEizjmIDAiPT3IDYnvEeREdUBomNzIohySvCuxuv0ft29+Q51Xo/xKqAopQvrBIQWoVIYNcn8B2D7yK35kSEhAdPPvvQFi8/Urh/Pyz0OxJpQ0mW2zItYaKoqDe2PE4Uq9SSRNKVDxJec1W8P3iivG7ry9eU6ldDVF6BwH3iz5FMQF5QtdH/oWw0vK7hdcEJDe8h4uCpQreVviTEQagaZLklYXBjuAF5tUGCggIuF4pOdpxKZ69XoSDg4EVq08bZFk1pBuDcSS6By2Gltd46ZVBhyy8rm8hVoTg5N8gpBEkrUk0gdoR2TBzpMoisl2WzsYolkjgfs3PjAqeYp8A15SFhDXNzg+wmZ1SMxrACED8AfLYxANk6kjxSXPoNE37D/IHQkloP3dA6sI/HDp5Hhc+5ZG4IN479PBLeelFSfg5lcR/I4jaI8x6feiFVHx0Boy3w+IyAISTWog9U3Yu06mHTHc5//QMbcqX+VbbrowAAAABJRU5ErkJggg=='); background-size: cover; display: block;"
- ></span>
- <img
- class="gatsby-resp-image-image"
- alt="IntelliJ Eclipse Code Formatter Settings"
- title="Eclipse Code Formatter Plugin"
- src="/jkube/static/40db5a95d875815a4fddb66504f92f51/799d3/intellij-eclipse-code-formatter-settings.png"
- srcset="/jkube/static/40db5a95d875815a4fddb66504f92f51/00d96/intellij-eclipse-code-formatter-settings.png 148w,
-/jkube/static/40db5a95d875815a4fddb66504f92f51/0b23c/intellij-eclipse-code-formatter-settings.png 295w,
-/jkube/static/40db5a95d875815a4fddb66504f92f51/799d3/intellij-eclipse-code-formatter-settings.png 590w,
-/jkube/static/40db5a95d875815a4fddb66504f92f51/2a3d6/intellij-eclipse-code-formatter-settings.png 885w,
-/jkube/static/40db5a95d875815a4fddb66504f92f51/ae92f/intellij-eclipse-code-formatter-settings.png 1180w,
-/jkube/static/40db5a95d875815a4fddb66504f92f51/c4e1e/intellij-eclipse-code-formatter-settings.png 1446w"
- sizes="(max-width: 590px) 100vw, 590px"
- style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"
- loading="lazy"
- />
- </a>
- </span></p></div></div><div class="eclipse-jkube__footer"><div class="eclipse-jkube__footer-copyright">Copyright © Eclipse Foundation 2020</div></div></div></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/contributing/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"app":["/app-194ea4f7bf63aa4ef2a0.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-509f65dc90a3e989be93.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js"]};/*]]>*/</script><script src="/jkube/component---src-templates-main-jsx-509f65dc90a3e989be93.js" async=""></script><script src="/jkube/commons-2e644671e1023bf8738b.js" async=""></script><script src="/jkube/styles-dc2598e243cc612bb313.js" async=""></script><script src="/jkube/app-194ea4f7bf63aa4ef2a0.js" async=""></script><script src="/jkube/webpack-runtime-e8c5029a536217a0c012.js" async=""></script></body></html>
\ No newline at end of file
+<p><img src="/jkube/40db5a95d875815a4fddb66504f92f51/intellij-eclipse-code-formatter-settings.png" alt="IntelliJ Eclipse Code Formatter Settings" title="Eclipse Code Formatter Plugin"></p></div></div><div class="eclipse-jkube__footer"><div class="eclipse-jkube__footer-copyright">Copyright © Eclipse Foundation 2020</div></div></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/contributing/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-2a86e29ae53b0bcd324d.js"],"app":["/app-ea12b9b536627f4c1462.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-38fb851fba733cc5515a.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"]};/*]]>*/</script><script src="/jkube/polyfill-2a86e29ae53b0bcd324d.js" nomodule=""></script><script src="/jkube/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js" async=""></script><script src="/jkube/commons-32e6f91911f4befd4235.js" async=""></script><script src="/jkube/styles-c2fe8482057191dca484.js" async=""></script><script src="/jkube/app-ea12b9b536627f4c1462.js" async=""></script><script src="/jkube/framework-a576ae5ab153fa4a7c27.js" async=""></script><script src="/jkube/webpack-runtime-3c499563b1f56aaa782c.js" async=""></script></body></html>
\ No newline at end of file
diff --git a/demos/index.html b/demos/index.html
index d051692..77943f8 100644
--- a/demos/index.html
+++ b/demos/index.html
@@ -1,8 +1,14 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.889ab2160f8ec77a2fd2.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{background:#073642}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;-webkit-transition:color .3s;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.18.17"/><title data-react-helmet="true">Eclipse JKube Demonstrations</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content="Eclipse JKube Demonstrations and quick start for Kubernetes and OpenShift"/><style type="text/css">
- .anchor {
- float: left;
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.edb330c6c19e6d79150a.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.24.12"/><title data-react-helmet="true">Eclipse JKube Demonstrations</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content="Eclipse JKube Demonstrations and quick start for Kubernetes and OpenShift"/><style type="text/css">
+ .anchor.before {
+ position: absolute;
+ top: 0;
+ left: 0;
+ transform: translateX(-100%);
padding-right: 4px;
- margin-left: -20px;
+ }
+ .anchor.after {
+ display: inline-block;
+ padding-left: 4px;
}
h1 .anchor svg,
h2 .anchor svg,
@@ -32,7 +38,9 @@
if (hash !== '') {
var element = document.getElementById(hash)
if (element) {
- var offset = element.offsetTop
+ var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
+ var clientTop = document.documentElement.clientTop || document.body.clientTop || 0
+ var offset = element.getBoundingClientRect().top + scrollTop - clientTop
// Wait for the browser to finish rendering before scrolling.
setTimeout((function() {
window.scrollTo(0, offset - 0)
@@ -40,12 +48,12 @@
}
}
})
- </script><link as="script" rel="preload" href="/jkube/webpack-runtime-e8c5029a536217a0c012.js"/><link as="script" rel="preload" href="/jkube/app-194ea4f7bf63aa4ef2a0.js"/><link as="script" rel="preload" href="/jkube/styles-dc2598e243cc612bb313.js"/><link as="script" rel="preload" href="/jkube/commons-2e644671e1023bf8738b.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-main-jsx-509f65dc90a3e989be93.js"/><link as="fetch" rel="preload" href="/jkube/page-data/demos/page-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" role="group" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a class="eclipse-jkube__header-logo" href="/jkube/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/docs">Docs</a></li><li><a href="/jkube/demos">Demos</a></li><li><a href="/jkube/community">Community</a></li><li><a href="/jkube/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__main"><div class="eclipse-jkube__content"><div class="hero">
+ </script><link as="script" rel="preload" href="/jkube/webpack-runtime-3c499563b1f56aaa782c.js"/><link as="script" rel="preload" href="/jkube/framework-a576ae5ab153fa4a7c27.js"/><link as="script" rel="preload" href="/jkube/app-ea12b9b536627f4c1462.js"/><link as="script" rel="preload" href="/jkube/styles-c2fe8482057191dca484.js"/><link as="script" rel="preload" href="/jkube/commons-32e6f91911f4befd4235.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"/><link as="fetch" rel="preload" href="/jkube/page-data/demos/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/jkube/page-data/app-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a class="eclipse-jkube__header-logo" href="/jkube/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/docs">Docs</a></li><li><a href="/jkube/demos">Demos</a></li><li><a href="/jkube/community">Community</a></li><li><a href="/jkube/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__main"><div class="eclipse-jkube__content"><div class="hero">
<div class="hero-content">
-<h1 id="demos"><a href="#demos" aria-label="demos permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Demos</h1>
+<h1 id="demos" style="position:relative;"><a href="#demos" aria-label="demos permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Demos</h1>
</div>
</div>
-<h3 id="kubernetes-maven-plugin"><a href="#kubernetes-maven-plugin" aria-label="kubernetes maven plugin permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><a href="/jkube/docs/kubernetes-maven-plugin">Kubernetes Maven Plugin</a></h3>
+<h3 id="kubernetes-maven-plugin" style="position:relative;"><a href="#kubernetes-maven-plugin" aria-label="kubernetes maven plugin permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><a href="/jkube/docs/kubernetes-maven-plugin">Kubernetes Maven Plugin</a></h3>
<p><a href="https://asciinema.org/a/335724" target="_blank" rel="nofollow noopener noreferrer"><img src="https://asciinema.org/a/335724.svg" alt="Kubernetes Maven Plugin"></a></p>
-<h3 id="openshift-maven-plugin"><a href="#openshift-maven-plugin" aria-label="openshift maven plugin permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><a href="/jkube/docs/openshift-maven-plugin">OpenShift Maven Plugin</a></h3>
-<p><a href="https://asciinema.org/a/335743" target="_blank" rel="nofollow noopener noreferrer"><img src="https://asciinema.org/a/335743.svg" alt="OpenShift Maven Plugin"></a></p></div></div><div class="eclipse-jkube__footer"><div class="eclipse-jkube__footer-copyright">Copyright © Eclipse Foundation 2020</div></div></div></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/demos/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"app":["/app-194ea4f7bf63aa4ef2a0.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-509f65dc90a3e989be93.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js"]};/*]]>*/</script><script src="/jkube/component---src-templates-main-jsx-509f65dc90a3e989be93.js" async=""></script><script src="/jkube/commons-2e644671e1023bf8738b.js" async=""></script><script src="/jkube/styles-dc2598e243cc612bb313.js" async=""></script><script src="/jkube/app-194ea4f7bf63aa4ef2a0.js" async=""></script><script src="/jkube/webpack-runtime-e8c5029a536217a0c012.js" async=""></script></body></html>
\ No newline at end of file
+<h3 id="openshift-maven-plugin" style="position:relative;"><a href="#openshift-maven-plugin" aria-label="openshift maven plugin permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><a href="/jkube/docs/openshift-maven-plugin">OpenShift Maven Plugin</a></h3>
+<p><a href="https://asciinema.org/a/335743" target="_blank" rel="nofollow noopener noreferrer"><img src="https://asciinema.org/a/335743.svg" alt="OpenShift Maven Plugin"></a></p></div></div><div class="eclipse-jkube__footer"><div class="eclipse-jkube__footer-copyright">Copyright © Eclipse Foundation 2020</div></div></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/demos/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-2a86e29ae53b0bcd324d.js"],"app":["/app-ea12b9b536627f4c1462.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-38fb851fba733cc5515a.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"]};/*]]>*/</script><script src="/jkube/polyfill-2a86e29ae53b0bcd324d.js" nomodule=""></script><script src="/jkube/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js" async=""></script><script src="/jkube/commons-32e6f91911f4befd4235.js" async=""></script><script src="/jkube/styles-c2fe8482057191dca484.js" async=""></script><script src="/jkube/app-ea12b9b536627f4c1462.js" async=""></script><script src="/jkube/framework-a576ae5ab153fa4a7c27.js" async=""></script><script src="/jkube/webpack-runtime-3c499563b1f56aaa782c.js" async=""></script></body></html>
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
index 724e5c5..9250bb1 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1,8 +1,14 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.889ab2160f8ec77a2fd2.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{background:#073642}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;-webkit-transition:color .3s;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.18.17"/><title data-react-helmet="true">Eclipse JKube Documentation</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content="Eclipse JKube Documentation Index"/><style type="text/css">
- .anchor {
- float: left;
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.edb330c6c19e6d79150a.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.24.12"/><title data-react-helmet="true">Eclipse JKube Documentation</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content="Eclipse JKube Documentation Index"/><style type="text/css">
+ .anchor.before {
+ position: absolute;
+ top: 0;
+ left: 0;
+ transform: translateX(-100%);
padding-right: 4px;
- margin-left: -20px;
+ }
+ .anchor.after {
+ display: inline-block;
+ padding-left: 4px;
}
h1 .anchor svg,
h2 .anchor svg,
@@ -32,7 +38,9 @@
if (hash !== '') {
var element = document.getElementById(hash)
if (element) {
- var offset = element.offsetTop
+ var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
+ var clientTop = document.documentElement.clientTop || document.body.clientTop || 0
+ var offset = element.getBoundingClientRect().top + scrollTop - clientTop
// Wait for the browser to finish rendering before scrolling.
setTimeout((function() {
window.scrollTo(0, offset - 0)
@@ -40,22 +48,33 @@
}
}
})
- </script><link as="script" rel="preload" href="/jkube/webpack-runtime-e8c5029a536217a0c012.js"/><link as="script" rel="preload" href="/jkube/app-194ea4f7bf63aa4ef2a0.js"/><link as="script" rel="preload" href="/jkube/styles-dc2598e243cc612bb313.js"/><link as="script" rel="preload" href="/jkube/commons-2e644671e1023bf8738b.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-main-jsx-509f65dc90a3e989be93.js"/><link as="fetch" rel="preload" href="/jkube/page-data/docs/page-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" role="group" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a class="eclipse-jkube__header-logo" href="/jkube/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/docs">Docs</a></li><li><a href="/jkube/demos">Demos</a></li><li><a href="/jkube/community">Community</a></li><li><a href="/jkube/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__main"><div class="eclipse-jkube__content"><div class="hero">
+ </script><link as="script" rel="preload" href="/jkube/webpack-runtime-3c499563b1f56aaa782c.js"/><link as="script" rel="preload" href="/jkube/framework-a576ae5ab153fa4a7c27.js"/><link as="script" rel="preload" href="/jkube/app-ea12b9b536627f4c1462.js"/><link as="script" rel="preload" href="/jkube/styles-c2fe8482057191dca484.js"/><link as="script" rel="preload" href="/jkube/commons-32e6f91911f4befd4235.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"/><link as="fetch" rel="preload" href="/jkube/page-data/docs/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/jkube/page-data/app-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a class="eclipse-jkube__header-logo" href="/jkube/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/docs">Docs</a></li><li><a href="/jkube/demos">Demos</a></li><li><a href="/jkube/community">Community</a></li><li><a href="/jkube/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__main"><div class="eclipse-jkube__content"><div class="hero">
<div class="hero-content">
-<h1 id="documentation"><a href="#documentation" aria-label="documentation permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Documentation</h1>
+<h1 id="documentation" style="position:relative;"><a href="#documentation" aria-label="documentation permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Documentation</h1>
</div>
</div>
-<h2 id="getting-started"><a href="#getting-started" aria-label="getting started permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Getting Started</h2>
-<p>Visit our <a href="https://github.com/eclipse/jkube/tree/master/quickstarts" target="_blank" rel="nofollow noopener noreferrer">quickstarts samples</a> on GitHub to check
-available examples for your favourite framework or vanilla Java.</p>
-<h2 id="plugin-documentation"><a href="#plugin-documentation" aria-label="plugin documentation permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Plugin Documentation</h2>
+<h2 id="plugin-documentation" style="position:relative;"><a href="#plugin-documentation" aria-label="plugin documentation permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Plugin Documentation</h2>
<ul>
<li><a href="/jkube/docs/kubernetes-maven-plugin">Kubernetes Maven Plugin</a></li>
<li><a href="/jkube/docs/openshift-maven-plugin">OpenShift Maven Plugin</a></li>
<li><a href="/jkube/docs/migration-guide">Migration Guide</a></li>
</ul>
-<h2 id="javadoc"><a href="#javadoc" aria-label="javadoc permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Javadoc</h2>
-<h3 id="jkube-kit"><a href="#jkube-kit" aria-label="jkube kit permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>JKube Kit</h3>
+<h2 id="getting-started" style="position:relative;"><a href="#getting-started" aria-label="getting started permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Getting Started</h2>
+<h3 id="official-quick-start-projects" style="position:relative;"><a href="#official-quick-start-projects" aria-label="official quick start projects permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Official Quick start projects</h3>
+<p>Visit our <a href="https://github.com/eclipse/jkube/tree/master/quickstarts" target="_blank" rel="nofollow noopener noreferrer">quickstarts samples</a> on GitHub to check
+available examples for your favourite framework or vanilla Java.</p>
+<h3 id="katacoda-courses" style="position:relative;"><a href="#katacoda-courses" aria-label="katacoda courses permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Katacoda Courses</h3>
+<p>If you want to get a taste of Eclipse JKube but don't want to install anything on your machine or don't have an
+available development environment you can try out our <a href="https://katacoda.com/jkubeio" target="_blank" rel="nofollow noopener noreferrer">Katacoda courses</a>:</p>
+<div class="highlight">
+<p><img src="/jkube/7cf1abf65faa5b6effa4c31d8fbe0f83/katacoda-logo.png" alt="Katacoda Courses" title="Katacoda logo"></p>
+<ul>
+<li><a href="https://katacoda.com/jkubeio/courses/getting-started" target="_blank" rel="nofollow noopener noreferrer"><strong>Getting started</strong></a>: Several scenarios to get started with
+Eclipse JKube using your favourite Java framework.</li>
+</ul>
+</div>
+<h2 id="javadoc" style="position:relative;"><a href="#javadoc" aria-label="javadoc permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Javadoc</h2>
+<h3 id="jkube-kit" style="position:relative;"><a href="#jkube-kit" aria-label="jkube kit permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>JKube Kit</h3>
<ul>
<li><strong>Common</strong> model objects and utility classes used across the rest of the modules.
<a href="http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-common" target="_blank" rel="nofollow noopener noreferrer"><img src="http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-common.svg?color=blue" alt="Javadocs">
@@ -90,4 +109,4 @@
<li><strong>Common Maven</strong> utility classes for Maven plugins.
<a href="http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-common-maven-maven" target="_blank" rel="nofollow noopener noreferrer"><img src="http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-common-maven.svg?color=blue" alt="Javadocs">
</a></li>
-</ul></div></div><div class="eclipse-jkube__footer"><div class="eclipse-jkube__footer-copyright">Copyright © Eclipse Foundation 2020</div></div></div></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/docs/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"app":["/app-194ea4f7bf63aa4ef2a0.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-509f65dc90a3e989be93.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js"]};/*]]>*/</script><script src="/jkube/component---src-templates-main-jsx-509f65dc90a3e989be93.js" async=""></script><script src="/jkube/commons-2e644671e1023bf8738b.js" async=""></script><script src="/jkube/styles-dc2598e243cc612bb313.js" async=""></script><script src="/jkube/app-194ea4f7bf63aa4ef2a0.js" async=""></script><script src="/jkube/webpack-runtime-e8c5029a536217a0c012.js" async=""></script></body></html>
\ No newline at end of file
+</ul></div></div><div class="eclipse-jkube__footer"><div class="eclipse-jkube__footer-copyright">Copyright © Eclipse Foundation 2020</div></div></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/docs/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-2a86e29ae53b0bcd324d.js"],"app":["/app-ea12b9b536627f4c1462.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-38fb851fba733cc5515a.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"]};/*]]>*/</script><script src="/jkube/polyfill-2a86e29ae53b0bcd324d.js" nomodule=""></script><script src="/jkube/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js" async=""></script><script src="/jkube/commons-32e6f91911f4befd4235.js" async=""></script><script src="/jkube/styles-c2fe8482057191dca484.js" async=""></script><script src="/jkube/app-ea12b9b536627f4c1462.js" async=""></script><script src="/jkube/framework-a576ae5ab153fa4a7c27.js" async=""></script><script src="/jkube/webpack-runtime-3c499563b1f56aaa782c.js" async=""></script></body></html>
\ No newline at end of file
diff --git a/docs/kubernetes-maven-plugin/index.html b/docs/kubernetes-maven-plugin/index.html
index d45c24a..601131d 100644
--- a/docs/kubernetes-maven-plugin/index.html
+++ b/docs/kubernetes-maven-plugin/index.html
@@ -1,8 +1,14 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.889ab2160f8ec77a2fd2.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{background:#073642}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;-webkit-transition:color .3s;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.18.17"/><title data-react-helmet="true">org.eclipse.jkube/kubernetes-maven-plugin</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content=""/><style type="text/css">
- .anchor {
- float: left;
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.edb330c6c19e6d79150a.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.24.12"/><title data-react-helmet="true">org.eclipse.jkube/kubernetes-maven-plugin</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content=""/><style type="text/css">
+ .anchor.before {
+ position: absolute;
+ top: 0;
+ left: 0;
+ transform: translateX(-100%);
padding-right: 4px;
- margin-left: -20px;
+ }
+ .anchor.after {
+ display: inline-block;
+ padding-left: 4px;
}
h1 .anchor svg,
h2 .anchor svg,
@@ -32,7 +38,9 @@
if (hash !== '') {
var element = document.getElementById(hash)
if (element) {
- var offset = element.offsetTop
+ var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
+ var clientTop = document.documentElement.clientTop || document.body.clientTop || 0
+ var offset = element.getBoundingClientRect().top + scrollTop - clientTop
// Wait for the browser to finish rendering before scrolling.
setTimeout((function() {
window.scrollTo(0, offset - 0)
@@ -40,7 +48,7 @@
}
}
})
- </script><link as="script" rel="preload" href="/jkube/webpack-runtime-e8c5029a536217a0c012.js"/><link as="script" rel="preload" href="/jkube/app-194ea4f7bf63aa4ef2a0.js"/><link as="script" rel="preload" href="/jkube/styles-dc2598e243cc612bb313.js"/><link as="script" rel="preload" href="/jkube/commons-2e644671e1023bf8738b.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js"/><link as="fetch" rel="preload" href="/jkube/page-data/docs/kubernetes-maven-plugin/page-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" role="group" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a class="eclipse-jkube__header-logo" href="/jkube/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/docs">Docs</a></li><li><a href="/jkube/demos">Demos</a></li><li><a href="/jkube/community">Community</a></li><li><a href="/jkube/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__documentation book toc2 toc-left"><div class="eclipse-jkube__documentation-content"><div id="preamble">
+ </script><link as="script" rel="preload" href="/jkube/webpack-runtime-3c499563b1f56aaa782c.js"/><link as="script" rel="preload" href="/jkube/framework-a576ae5ab153fa4a7c27.js"/><link as="script" rel="preload" href="/jkube/app-ea12b9b536627f4c1462.js"/><link as="script" rel="preload" href="/jkube/styles-c2fe8482057191dca484.js"/><link as="script" rel="preload" href="/jkube/commons-32e6f91911f4befd4235.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-doc-jsx-38fb851fba733cc5515a.js"/><link as="fetch" rel="preload" href="/jkube/page-data/docs/kubernetes-maven-plugin/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/jkube/page-data/app-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a class="eclipse-jkube__header-logo" href="/jkube/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/docs">Docs</a></li><li><a href="/jkube/demos">Demos</a></li><li><a href="/jkube/community">Community</a></li><li><a href="/jkube/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__documentation book toc2 toc-left"><div class="eclipse-jkube__documentation-content"><div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>© 2020 The original authors.</p>
@@ -7692,4 +7700,4 @@
</div>
</div>
</div>
-</div></div></div></div></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/docs/kubernetes-maven-plugin";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"app":["/app-194ea4f7bf63aa4ef2a0.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-509f65dc90a3e989be93.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js"]};/*]]>*/</script><script src="/jkube/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js" async=""></script><script src="/jkube/commons-2e644671e1023bf8738b.js" async=""></script><script src="/jkube/styles-dc2598e243cc612bb313.js" async=""></script><script src="/jkube/app-194ea4f7bf63aa4ef2a0.js" async=""></script><script src="/jkube/webpack-runtime-e8c5029a536217a0c012.js" async=""></script></body></html>
\ No newline at end of file
+</div></div></div></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/docs/kubernetes-maven-plugin";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-2a86e29ae53b0bcd324d.js"],"app":["/app-ea12b9b536627f4c1462.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-38fb851fba733cc5515a.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"]};/*]]>*/</script><script src="/jkube/polyfill-2a86e29ae53b0bcd324d.js" nomodule=""></script><script src="/jkube/component---src-templates-doc-jsx-38fb851fba733cc5515a.js" async=""></script><script src="/jkube/commons-32e6f91911f4befd4235.js" async=""></script><script src="/jkube/styles-c2fe8482057191dca484.js" async=""></script><script src="/jkube/app-ea12b9b536627f4c1462.js" async=""></script><script src="/jkube/framework-a576ae5ab153fa4a7c27.js" async=""></script><script src="/jkube/webpack-runtime-3c499563b1f56aaa782c.js" async=""></script></body></html>
\ No newline at end of file
diff --git a/docs/migration-guide/index.html b/docs/migration-guide/index.html
index 36d0d53..8e9be89 100644
--- a/docs/migration-guide/index.html
+++ b/docs/migration-guide/index.html
@@ -1,8 +1,14 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.889ab2160f8ec77a2fd2.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{background:#073642}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;-webkit-transition:color .3s;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.18.17"/><title data-react-helmet="true">Eclipse JKube Migration Guide</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content="Eclipse JKube migration guide from Fabric8 Maven Plugin (FMP)"/><style type="text/css">
- .anchor {
- float: left;
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.edb330c6c19e6d79150a.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.24.12"/><title data-react-helmet="true">Eclipse JKube Migration Guide</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content="Eclipse JKube migration guide from Fabric8 Maven Plugin (FMP)"/><style type="text/css">
+ .anchor.before {
+ position: absolute;
+ top: 0;
+ left: 0;
+ transform: translateX(-100%);
padding-right: 4px;
- margin-left: -20px;
+ }
+ .anchor.after {
+ display: inline-block;
+ padding-left: 4px;
}
h1 .anchor svg,
h2 .anchor svg,
@@ -32,7 +38,9 @@
if (hash !== '') {
var element = document.getElementById(hash)
if (element) {
- var offset = element.offsetTop
+ var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
+ var clientTop = document.documentElement.clientTop || document.body.clientTop || 0
+ var offset = element.getBoundingClientRect().top + scrollTop - clientTop
// Wait for the browser to finish rendering before scrolling.
setTimeout((function() {
window.scrollTo(0, offset - 0)
@@ -40,42 +48,42 @@
}
}
})
- </script><link as="script" rel="preload" href="/jkube/webpack-runtime-e8c5029a536217a0c012.js"/><link as="script" rel="preload" href="/jkube/app-194ea4f7bf63aa4ef2a0.js"/><link as="script" rel="preload" href="/jkube/styles-dc2598e243cc612bb313.js"/><link as="script" rel="preload" href="/jkube/commons-2e644671e1023bf8738b.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-main-jsx-509f65dc90a3e989be93.js"/><link as="fetch" rel="preload" href="/jkube/page-data/docs/migration-guide/page-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" role="group" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a class="eclipse-jkube__header-logo" href="/jkube/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/docs">Docs</a></li><li><a href="/jkube/demos">Demos</a></li><li><a href="/jkube/community">Community</a></li><li><a href="/jkube/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__main"><div class="eclipse-jkube__content"><div class="hero">
+ </script><link as="script" rel="preload" href="/jkube/webpack-runtime-3c499563b1f56aaa782c.js"/><link as="script" rel="preload" href="/jkube/framework-a576ae5ab153fa4a7c27.js"/><link as="script" rel="preload" href="/jkube/app-ea12b9b536627f4c1462.js"/><link as="script" rel="preload" href="/jkube/styles-c2fe8482057191dca484.js"/><link as="script" rel="preload" href="/jkube/commons-32e6f91911f4befd4235.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"/><link as="fetch" rel="preload" href="/jkube/page-data/docs/migration-guide/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/jkube/page-data/app-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a class="eclipse-jkube__header-logo" href="/jkube/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/docs">Docs</a></li><li><a href="/jkube/demos">Demos</a></li><li><a href="/jkube/community">Community</a></li><li><a href="/jkube/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__main"><div class="eclipse-jkube__content"><div class="hero">
<div class="hero-content">
-<h1 id="documentation"><a href="#documentation" aria-label="documentation permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Documentation</h1>
+<h1 id="documentation" style="position:relative;"><a href="#documentation" aria-label="documentation permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Documentation</h1>
</div>
</div>
-<h2 id="migration-guide-for-projects-using-fabric8-maven-plugin-to-eclipse-jkube"><a href="#migration-guide-for-projects-using-fabric8-maven-plugin-to-eclipse-jkube" aria-label="migration guide for projects using fabric8 maven plugin to eclipse jkube permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Migration Guide for projects using Fabric8 Maven Plugin to Eclipse JKube</h2>
+<h2 id="migration-guide-for-projects-using-fabric8-maven-plugin-to-eclipse-jkube" style="position:relative;"><a href="#migration-guide-for-projects-using-fabric8-maven-plugin-to-eclipse-jkube" aria-label="migration guide for projects using fabric8 maven plugin to eclipse jkube permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Migration Guide for projects using Fabric8 Maven Plugin to Eclipse JKube</h2>
<p>For any project currently using <a href="https://github.com/fabric8io/fabric8-maven-plugin" target="_blank" rel="nofollow noopener noreferrer">Fabric8 Maven Plugin (FMP)</a>,
migrating to Eclipse JKube is as simple as running a Maven command.</p>
<p>FMP used to handle both Kubernetes and OpenShift clusters but Eclipse JKube has separate plugins for these two different
environments.</p>
-<h3 id="projects-targeting-kubernetes-clusters"><a href="#projects-targeting-kubernetes-clusters" aria-label="projects targeting kubernetes clusters permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Projects targeting Kubernetes Clusters</h3>
+<h3 id="projects-targeting-kubernetes-clusters" style="position:relative;"><a href="#projects-targeting-kubernetes-clusters" aria-label="projects targeting kubernetes clusters permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Projects targeting Kubernetes Clusters</h3>
<p>Run the following command in you project's root directory:</p>
<div class="gatsby-highlight" data-language="shellscript"><pre class="language-shellscript"><code class="language-shellscript">mvn org.eclipse.jkube:kubernetes-maven-plugin:migrate</code></pre></div>
<p>Maven coordinates in your <code class="language-text">pom.xml</code> will change from <code class="language-text">io.fabric8:fabric8-maven-plugin</code> to
<code class="language-text">org.eclipse.jkube:kubernetes-maven-plugin</code> for every <code class="language-text"><plugin></code> entry.</p>
-<h3 id="projects-targeting-openshift-clusters"><a href="#projects-targeting-openshift-clusters" aria-label="projects targeting openshift clusters permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Projects targeting OpenShift Clusters</h3>
+<h3 id="projects-targeting-openshift-clusters" style="position:relative;"><a href="#projects-targeting-openshift-clusters" aria-label="projects targeting openshift clusters permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Projects targeting OpenShift Clusters</h3>
<p>Run the following command in you project's root directory:</p>
<div class="gatsby-highlight" data-language="shellscript"><pre class="language-shellscript"><code class="language-shellscript">mvn org.eclipse.jkube:openshift-maven-plugin:migrate</code></pre></div>
<p>Maven coordinates in your <code class="language-text">pom.xml</code> will change from <code class="language-text">io.fabric8:fabric8-maven-plugin</code> to
<code class="language-text">org.eclipse.jkube:openshift-maven-plugin</code> for every <code class="language-text"><plugin></code> entry.</p>
-<h3 id="xml-configuration-and-maven-properties"><a href="#xml-configuration-and-maven-properties" aria-label="xml configuration and maven properties permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>XML configuration and Maven properties</h3>
+<h3 id="xml-configuration-and-maven-properties" style="position:relative;"><a href="#xml-configuration-and-maven-properties" aria-label="xml configuration and maven properties permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>XML configuration and Maven properties</h3>
<p>FMP specific Maven properties <code class="language-text"><fabric8.*</code> will be automatically renamed to Eclipse JKube analogous
properties <code class="language-text"><jkube.*</code>.</p>
<p>Mojo XML configuration element tag names will also be automatically renamed to the Eclipse JKube
equivalent.</p>
-<h3 id="resource-fragments"><a href="#resource-fragments" aria-label="resource fragments permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Resource Fragments</h3>
+<h3 id="resource-fragments" style="position:relative;"><a href="#resource-fragments" aria-label="resource fragments permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Resource Fragments</h3>
<p>If you want to customize Kubernetes manifests added by FMP by means other than XML configuration,
you usually add your resources to <code class="language-text">src/main/fabric8</code> directory and FMP picks these up during enrichment
process and merges them along with the default generated resources.</p>
<p>Eclipse JKube's <code class="language-text">migrate</code> Maven goal will also take care of renaming your project's <code class="language-text">src/main/fabric8</code>
fragment directory to <code class="language-text">src/main/jkube</code></p>
-<h3 id="image-configuration-for-docker-builds"><a href="#image-configuration-for-docker-builds" aria-label="image configuration for docker builds permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Image Configuration for Docker builds</h3>
+<h3 id="image-configuration-for-docker-builds" style="position:relative;"><a href="#image-configuration-for-docker-builds" aria-label="image configuration for docker builds permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Image Configuration for Docker builds</h3>
<p>Projects relying on FMP's <code class="language-text">ImageConfiguration</code> model for building docker images don't need any change in
Eclipse JKube's XML configuration.</p>
<p>For example, let's consider this simple project's plugin configuration:</p>
-<h5 id="fabric8-maven-plugin-image-configuration"><a href="#fabric8-maven-plugin-image-configuration" aria-label="fabric8 maven plugin image configuration permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Fabric8 Maven Plugin Image Configuration</h5>
+<h5 id="fabric8-maven-plugin-image-configuration" style="position:relative;"><a href="#fabric8-maven-plugin-image-configuration" aria-label="fabric8 maven plugin image configuration permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Fabric8 Maven Plugin Image Configuration</h5>
<div class="gatsby-highlight" data-language="xml"><pre class="language-xml"><code class="language-xml"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>plugin</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>groupId</span><span class="token punctuation">></span></span>io.fabric8<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>groupId</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>artifactId</span><span class="token punctuation">></span></span>fabric8-maven-plugin<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>artifactId</span><span class="token punctuation">></span></span>
@@ -100,7 +108,7 @@
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>images</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>configuration</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>plugin</span><span class="token punctuation">></span></span></code></pre></div>
-<h5 id="eclipse-jkube-image-configuration"><a href="#eclipse-jkube-image-configuration" aria-label="eclipse jkube image configuration permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Eclipse JKube Image Configuration</h5>
+<h5 id="eclipse-jkube-image-configuration" style="position:relative;"><a href="#eclipse-jkube-image-configuration" aria-label="eclipse jkube image configuration permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Eclipse JKube Image Configuration</h5>
<div class="gatsby-highlight" data-language="xml"><pre class="language-xml"><code class="language-xml"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>plugin</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>groupId</span><span class="token punctuation">></span></span>org.eclipse.jkube<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>groupId</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>artifactId</span><span class="token punctuation">></span></span>kubernetes-maven-plugin<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>artifactId</span><span class="token punctuation">></span></span>
@@ -124,4 +132,4 @@
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>image</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>images</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>configuration</span><span class="token punctuation">></span></span>
-<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>plugin</span><span class="token punctuation">></span></span></code></pre></div></div></div><div class="eclipse-jkube__footer"><div class="eclipse-jkube__footer-copyright">Copyright © Eclipse Foundation 2020</div></div></div></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/docs/migration-guide/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"app":["/app-194ea4f7bf63aa4ef2a0.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-509f65dc90a3e989be93.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js"]};/*]]>*/</script><script src="/jkube/component---src-templates-main-jsx-509f65dc90a3e989be93.js" async=""></script><script src="/jkube/commons-2e644671e1023bf8738b.js" async=""></script><script src="/jkube/styles-dc2598e243cc612bb313.js" async=""></script><script src="/jkube/app-194ea4f7bf63aa4ef2a0.js" async=""></script><script src="/jkube/webpack-runtime-e8c5029a536217a0c012.js" async=""></script></body></html>
\ No newline at end of file
+<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>plugin</span><span class="token punctuation">></span></span></code></pre></div></div></div><div class="eclipse-jkube__footer"><div class="eclipse-jkube__footer-copyright">Copyright © Eclipse Foundation 2020</div></div></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/docs/migration-guide/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-2a86e29ae53b0bcd324d.js"],"app":["/app-ea12b9b536627f4c1462.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-38fb851fba733cc5515a.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"]};/*]]>*/</script><script src="/jkube/polyfill-2a86e29ae53b0bcd324d.js" nomodule=""></script><script src="/jkube/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js" async=""></script><script src="/jkube/commons-32e6f91911f4befd4235.js" async=""></script><script src="/jkube/styles-c2fe8482057191dca484.js" async=""></script><script src="/jkube/app-ea12b9b536627f4c1462.js" async=""></script><script src="/jkube/framework-a576ae5ab153fa4a7c27.js" async=""></script><script src="/jkube/webpack-runtime-3c499563b1f56aaa782c.js" async=""></script></body></html>
\ No newline at end of file
diff --git a/docs/openshift-maven-plugin/index.html b/docs/openshift-maven-plugin/index.html
index eca72fd..1585f73 100644
--- a/docs/openshift-maven-plugin/index.html
+++ b/docs/openshift-maven-plugin/index.html
@@ -1,8 +1,14 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.889ab2160f8ec77a2fd2.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{background:#073642}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;-webkit-transition:color .3s;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.18.17"/><title data-react-helmet="true">org.eclipse.jkube/openshift-maven-plugin</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content=""/><style type="text/css">
- .anchor {
- float: left;
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.edb330c6c19e6d79150a.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.24.12"/><title data-react-helmet="true">org.eclipse.jkube/openshift-maven-plugin</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content=""/><style type="text/css">
+ .anchor.before {
+ position: absolute;
+ top: 0;
+ left: 0;
+ transform: translateX(-100%);
padding-right: 4px;
- margin-left: -20px;
+ }
+ .anchor.after {
+ display: inline-block;
+ padding-left: 4px;
}
h1 .anchor svg,
h2 .anchor svg,
@@ -32,7 +38,9 @@
if (hash !== '') {
var element = document.getElementById(hash)
if (element) {
- var offset = element.offsetTop
+ var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
+ var clientTop = document.documentElement.clientTop || document.body.clientTop || 0
+ var offset = element.getBoundingClientRect().top + scrollTop - clientTop
// Wait for the browser to finish rendering before scrolling.
setTimeout((function() {
window.scrollTo(0, offset - 0)
@@ -40,7 +48,7 @@
}
}
})
- </script><link as="script" rel="preload" href="/jkube/webpack-runtime-e8c5029a536217a0c012.js"/><link as="script" rel="preload" href="/jkube/app-194ea4f7bf63aa4ef2a0.js"/><link as="script" rel="preload" href="/jkube/styles-dc2598e243cc612bb313.js"/><link as="script" rel="preload" href="/jkube/commons-2e644671e1023bf8738b.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js"/><link as="fetch" rel="preload" href="/jkube/page-data/docs/openshift-maven-plugin/page-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" role="group" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a class="eclipse-jkube__header-logo" href="/jkube/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/docs">Docs</a></li><li><a href="/jkube/demos">Demos</a></li><li><a href="/jkube/community">Community</a></li><li><a href="/jkube/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__documentation book toc2 toc-left"><div class="eclipse-jkube__documentation-content"><div id="preamble">
+ </script><link as="script" rel="preload" href="/jkube/webpack-runtime-3c499563b1f56aaa782c.js"/><link as="script" rel="preload" href="/jkube/framework-a576ae5ab153fa4a7c27.js"/><link as="script" rel="preload" href="/jkube/app-ea12b9b536627f4c1462.js"/><link as="script" rel="preload" href="/jkube/styles-c2fe8482057191dca484.js"/><link as="script" rel="preload" href="/jkube/commons-32e6f91911f4befd4235.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-doc-jsx-38fb851fba733cc5515a.js"/><link as="fetch" rel="preload" href="/jkube/page-data/docs/openshift-maven-plugin/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/jkube/page-data/app-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a class="eclipse-jkube__header-logo" href="/jkube/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/docs">Docs</a></li><li><a href="/jkube/demos">Demos</a></li><li><a href="/jkube/community">Community</a></li><li><a href="/jkube/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__documentation book toc2 toc-left"><div class="eclipse-jkube__documentation-content"><div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>© 2020 The original authors.</p>
@@ -7896,4 +7904,4 @@
</div>
</div>
</div>
-</div></div></div></div></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/docs/openshift-maven-plugin";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"app":["/app-194ea4f7bf63aa4ef2a0.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-509f65dc90a3e989be93.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js"]};/*]]>*/</script><script src="/jkube/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js" async=""></script><script src="/jkube/commons-2e644671e1023bf8738b.js" async=""></script><script src="/jkube/styles-dc2598e243cc612bb313.js" async=""></script><script src="/jkube/app-194ea4f7bf63aa4ef2a0.js" async=""></script><script src="/jkube/webpack-runtime-e8c5029a536217a0c012.js" async=""></script></body></html>
\ No newline at end of file
+</div></div></div></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/docs/openshift-maven-plugin";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-2a86e29ae53b0bcd324d.js"],"app":["/app-ea12b9b536627f4c1462.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-38fb851fba733cc5515a.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"]};/*]]>*/</script><script src="/jkube/polyfill-2a86e29ae53b0bcd324d.js" nomodule=""></script><script src="/jkube/component---src-templates-doc-jsx-38fb851fba733cc5515a.js" async=""></script><script src="/jkube/commons-32e6f91911f4befd4235.js" async=""></script><script src="/jkube/styles-c2fe8482057191dca484.js" async=""></script><script src="/jkube/app-ea12b9b536627f4c1462.js" async=""></script><script src="/jkube/framework-a576ae5ab153fa4a7c27.js" async=""></script><script src="/jkube/webpack-runtime-3c499563b1f56aaa782c.js" async=""></script></body></html>
\ No newline at end of file
diff --git a/es/demos/index.html b/es/demos/index.html
index 71d39cb..ed3309a 100644
--- a/es/demos/index.html
+++ b/es/demos/index.html
@@ -1,8 +1,14 @@
-<!DOCTYPE html><html lang="es"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.889ab2160f8ec77a2fd2.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{background:#073642}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;-webkit-transition:color .3s;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.18.17"/><title data-react-helmet="true">Eclipse JKube - Demostraciones</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content="Eclipse JKube - Demostraciones y guías rápidas para Kubernetes y OpenShift"/><style type="text/css">
- .anchor {
- float: left;
+<!DOCTYPE html><html lang="es"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.edb330c6c19e6d79150a.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.24.12"/><title data-react-helmet="true">Eclipse JKube - Demostraciones</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content="Eclipse JKube - Demostraciones y guías rápidas para Kubernetes y OpenShift"/><style type="text/css">
+ .anchor.before {
+ position: absolute;
+ top: 0;
+ left: 0;
+ transform: translateX(-100%);
padding-right: 4px;
- margin-left: -20px;
+ }
+ .anchor.after {
+ display: inline-block;
+ padding-left: 4px;
}
h1 .anchor svg,
h2 .anchor svg,
@@ -32,7 +38,9 @@
if (hash !== '') {
var element = document.getElementById(hash)
if (element) {
- var offset = element.offsetTop
+ var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
+ var clientTop = document.documentElement.clientTop || document.body.clientTop || 0
+ var offset = element.getBoundingClientRect().top + scrollTop - clientTop
// Wait for the browser to finish rendering before scrolling.
setTimeout((function() {
window.scrollTo(0, offset - 0)
@@ -40,12 +48,12 @@
}
}
})
- </script><link as="script" rel="preload" href="/jkube/webpack-runtime-e8c5029a536217a0c012.js"/><link as="script" rel="preload" href="/jkube/app-194ea4f7bf63aa4ef2a0.js"/><link as="script" rel="preload" href="/jkube/styles-dc2598e243cc612bb313.js"/><link as="script" rel="preload" href="/jkube/commons-2e644671e1023bf8738b.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-main-jsx-509f65dc90a3e989be93.js"/><link as="fetch" rel="preload" href="/jkube/page-data/es/demos/page-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" role="group" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a class="eclipse-jkube__header-logo" href="/jkube/es/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/es/docs">Docs</a></li><li><a href="/jkube/es/demos">Demos</a></li><li><a href="/jkube/es/community">Community</a></li><li><a href="/jkube/es/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__main"><div class="eclipse-jkube__content"><div class="hero">
+ </script><link as="script" rel="preload" href="/jkube/webpack-runtime-3c499563b1f56aaa782c.js"/><link as="script" rel="preload" href="/jkube/framework-a576ae5ab153fa4a7c27.js"/><link as="script" rel="preload" href="/jkube/app-ea12b9b536627f4c1462.js"/><link as="script" rel="preload" href="/jkube/styles-c2fe8482057191dca484.js"/><link as="script" rel="preload" href="/jkube/commons-32e6f91911f4befd4235.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"/><link as="fetch" rel="preload" href="/jkube/page-data/es/demos/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/jkube/page-data/app-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a class="eclipse-jkube__header-logo" href="/jkube/es/demos/es"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/es/demos/es//docs">Docs</a></li><li><a href="/jkube/es/demos/es//demos">Demos</a></li><li><a href="/jkube/es/demos/es//community">Community</a></li><li><a href="/jkube/es/demos/es//contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__main"><div class="eclipse-jkube__content"><div class="hero">
<div class="hero-content">
-<h1 id="demostraciones"><a href="#demostraciones" aria-label="demostraciones permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Demostraciones</h1>
+<h1 id="demostraciones" style="position:relative;"><a href="#demostraciones" aria-label="demostraciones permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Demostraciones</h1>
</div>
</div>
-<h3 id="kubernetes-maven-plugin"><a href="#kubernetes-maven-plugin" aria-label="kubernetes maven plugin permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><a href="https://asciinema.org/a/253747" target="_blank" rel="nofollow noopener noreferrer">Kubernetes Maven Plugin</a></h3>
-<p><img src="k8s-maven-plugin-demo.gif" alt="k8s sample demo"></p>
-<h3 id="openshift-maven-plugin"><a href="#openshift-maven-plugin" aria-label="openshift maven plugin permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><a href="https://asciinema.org/a/253742" target="_blank" rel="nofollow noopener noreferrer">OpenShift Maven Plugin</a></h3>
-<p><img src="oc-maven-plugin-demo.gif" alt="oc sample demo"></p></div></div><div class="eclipse-jkube__footer"><div class="eclipse-jkube__footer-copyright">Copyright © Eclipse Foundation 2020</div></div></div></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/es/demos/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"app":["/app-194ea4f7bf63aa4ef2a0.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-509f65dc90a3e989be93.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js"]};/*]]>*/</script><script src="/jkube/component---src-templates-main-jsx-509f65dc90a3e989be93.js" async=""></script><script src="/jkube/commons-2e644671e1023bf8738b.js" async=""></script><script src="/jkube/styles-dc2598e243cc612bb313.js" async=""></script><script src="/jkube/app-194ea4f7bf63aa4ef2a0.js" async=""></script><script src="/jkube/webpack-runtime-e8c5029a536217a0c012.js" async=""></script></body></html>
\ No newline at end of file
+<h3 id="kubernetes-maven-plugin" style="position:relative;"><a href="#kubernetes-maven-plugin" aria-label="kubernetes maven plugin permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><a href="https://asciinema.org/a/253747" target="_blank" rel="nofollow noopener noreferrer">Kubernetes Maven Plugin</a></h3>
+<p><a href="https://asciinema.org/a/335724" target="_blank" rel="nofollow noopener noreferrer"><img src="https://asciinema.org/a/335724.svg" alt="Kubernetes Maven Plugin"></a></p>
+<h3 id="openshift-maven-plugin" style="position:relative;"><a href="#openshift-maven-plugin" aria-label="openshift maven plugin permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><a href="https://asciinema.org/a/253742" target="_blank" rel="nofollow noopener noreferrer">OpenShift Maven Plugin</a></h3>
+<p><a href="https://asciinema.org/a/335743" target="_blank" rel="nofollow noopener noreferrer"><img src="https://asciinema.org/a/335743.svg" alt="OpenShift Maven Plugin"></a></p></div></div><div class="eclipse-jkube__footer"><div class="eclipse-jkube__footer-copyright">Copyright © Eclipse Foundation 2020</div></div></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/es/demos/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-2a86e29ae53b0bcd324d.js"],"app":["/app-ea12b9b536627f4c1462.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-38fb851fba733cc5515a.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"]};/*]]>*/</script><script src="/jkube/polyfill-2a86e29ae53b0bcd324d.js" nomodule=""></script><script src="/jkube/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js" async=""></script><script src="/jkube/commons-32e6f91911f4befd4235.js" async=""></script><script src="/jkube/styles-c2fe8482057191dca484.js" async=""></script><script src="/jkube/app-ea12b9b536627f4c1462.js" async=""></script><script src="/jkube/framework-a576ae5ab153fa4a7c27.js" async=""></script><script src="/jkube/webpack-runtime-3c499563b1f56aaa782c.js" async=""></script></body></html>
\ No newline at end of file
diff --git a/es/index.html b/es/index.html
index c386ce6..d35e2fc 100644
--- a/es/index.html
+++ b/es/index.html
@@ -1,8 +1,14 @@
-<!DOCTYPE html><html lang="es"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.889ab2160f8ec77a2fd2.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{background:#073642}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;-webkit-transition:color .3s;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.18.17"/><title data-react-helmet="true">Eclipse JKube</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content="Página de bienvenida de JKube"/><style type="text/css">
- .anchor {
- float: left;
+<!DOCTYPE html><html lang="es"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.edb330c6c19e6d79150a.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.24.12"/><title data-react-helmet="true">Eclipse JKube</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content="Página de bienvenida de JKube"/><style type="text/css">
+ .anchor.before {
+ position: absolute;
+ top: 0;
+ left: 0;
+ transform: translateX(-100%);
padding-right: 4px;
- margin-left: -20px;
+ }
+ .anchor.after {
+ display: inline-block;
+ padding-left: 4px;
}
h1 .anchor svg,
h2 .anchor svg,
@@ -32,7 +38,9 @@
if (hash !== '') {
var element = document.getElementById(hash)
if (element) {
- var offset = element.offsetTop
+ var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
+ var clientTop = document.documentElement.clientTop || document.body.clientTop || 0
+ var offset = element.getBoundingClientRect().top + scrollTop - clientTop
// Wait for the browser to finish rendering before scrolling.
setTimeout((function() {
window.scrollTo(0, offset - 0)
@@ -40,7 +48,7 @@
}
}
})
- </script><link as="script" rel="preload" href="/jkube/webpack-runtime-e8c5029a536217a0c012.js"/><link as="script" rel="preload" href="/jkube/app-194ea4f7bf63aa4ef2a0.js"/><link as="script" rel="preload" href="/jkube/styles-dc2598e243cc612bb313.js"/><link as="script" rel="preload" href="/jkube/commons-2e644671e1023bf8738b.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-main-jsx-509f65dc90a3e989be93.js"/><link as="fetch" rel="preload" href="/jkube/page-data/es/page-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" role="group" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a aria-current="page" class="eclipse-jkube__header-logo" href="/jkube/es/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/es/docs">Docs</a></li><li><a href="/jkube/es/demos">Demos</a></li><li><a href="/jkube/es/community">Community</a></li><li><a href="/jkube/es/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__main"><div class="eclipse-jkube__content"><div class="hero">
+ </script><link as="script" rel="preload" href="/jkube/webpack-runtime-3c499563b1f56aaa782c.js"/><link as="script" rel="preload" href="/jkube/framework-a576ae5ab153fa4a7c27.js"/><link as="script" rel="preload" href="/jkube/app-ea12b9b536627f4c1462.js"/><link as="script" rel="preload" href="/jkube/styles-c2fe8482057191dca484.js"/><link as="script" rel="preload" href="/jkube/commons-32e6f91911f4befd4235.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"/><link as="fetch" rel="preload" href="/jkube/page-data/es/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/jkube/page-data/app-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a class="eclipse-jkube__header-logo" href="/jkube/es/es"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/es/es//docs">Docs</a></li><li><a href="/jkube/es/es//demos">Demos</a></li><li><a href="/jkube/es/es//community">Community</a></li><li><a href="/jkube/es/es//contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__main"><div class="eclipse-jkube__content"><div class="hero">
<div class="hero-content">
<div class="getting-involved">
<p><a href="https://twitter.com/jkubeio" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/twitter/follow/jkubeio?label=Follow" alt="Twitter"></a>
@@ -48,11 +56,11 @@
<a href="https://gitter.im/eclipse/jkube?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge" target="_blank" rel="nofollow noopener noreferrer"><img src="https://badges.gitter.im/eclipse/jkube.svg" alt="Gitter"></a>
<a href="https://accounts.eclipse.org/mailing-list/jkube-dev" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/badge/Eclipse%20JKube%20-Developer%20Mailing%20List-orange" alt="Eclipse JKube Dev Mailing List"></a></p>
</div>
-<h1 id="eclipse-jkube"><a href="#eclipse-jkube" aria-label="eclipse jkube permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Eclipse JKube</h1>
+<h1 id="eclipse-jkube" style="position:relative;"><a href="#eclipse-jkube" aria-label="eclipse jkube permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Eclipse JKube</h1>
<p>Eclipse JKube es una colección de plugins y librerías que se utilizan para generar y desplegar manifiestos de
Kubernetes/OpenShift en tiempo de compilación. Lleva tus aplicaciones a Kubernetes y OpenShift.</p>
<p>Provee una fuerte integración con Maven y se beneficia de las configuraciones de construcción existentes.</p>
<p>El proyecto se centra en dos tareas, construir imágenes de Docker y crear descriptores de recursos para Kubernetes
y OpenShift.</p>
</div>
-</div></div></div><div class="eclipse-jkube__footer"><div class="eclipse-jkube__footer-copyright">Copyright © Eclipse Foundation 2020</div></div></div></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/es/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"app":["/app-194ea4f7bf63aa4ef2a0.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-509f65dc90a3e989be93.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js"]};/*]]>*/</script><script src="/jkube/component---src-templates-main-jsx-509f65dc90a3e989be93.js" async=""></script><script src="/jkube/commons-2e644671e1023bf8738b.js" async=""></script><script src="/jkube/styles-dc2598e243cc612bb313.js" async=""></script><script src="/jkube/app-194ea4f7bf63aa4ef2a0.js" async=""></script><script src="/jkube/webpack-runtime-e8c5029a536217a0c012.js" async=""></script></body></html>
\ No newline at end of file
+</div></div></div><div class="eclipse-jkube__footer"><div class="eclipse-jkube__footer-copyright">Copyright © Eclipse Foundation 2020</div></div></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/es/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-2a86e29ae53b0bcd324d.js"],"app":["/app-ea12b9b536627f4c1462.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-38fb851fba733cc5515a.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"]};/*]]>*/</script><script src="/jkube/polyfill-2a86e29ae53b0bcd324d.js" nomodule=""></script><script src="/jkube/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js" async=""></script><script src="/jkube/commons-32e6f91911f4befd4235.js" async=""></script><script src="/jkube/styles-c2fe8482057191dca484.js" async=""></script><script src="/jkube/app-ea12b9b536627f4c1462.js" async=""></script><script src="/jkube/framework-a576ae5ab153fa4a7c27.js" async=""></script><script src="/jkube/webpack-runtime-3c499563b1f56aaa782c.js" async=""></script></body></html>
\ No newline at end of file
diff --git a/framework-a576ae5ab153fa4a7c27.js b/framework-a576ae5ab153fa4a7c27.js
new file mode 100644
index 0000000..1be5a00
--- /dev/null
+++ b/framework-a576ae5ab153fa4a7c27.js
@@ -0,0 +1,2 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{"16Al":function(e,t,n){"use strict";var r=n("WbBG");function l(){}function i(){}i.resetWarningCache=l,e.exports=function(){function e(e,t,n,l,i,a){if(a!==r){var o=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw o.name="Invariant Violation",o}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:l};return n.PropTypes=n,n}},"17x9":function(e,t,n){e.exports=n("16Al")()},JhMR:function(e,t,n){"use strict";e.exports=n("KqkS")},KqkS:function(e,t,n){"use strict";var r,l,i,a,o;if("undefined"==typeof window||"function"!=typeof MessageChannel){var u=null,c=null,s=function(){if(null!==u)try{var e=t.unstable_now();u(!0,e),u=null}catch(n){throw setTimeout(s,0),n}},f=Date.now();t.unstable_now=function(){return Date.now()-f},r=function(e){null!==u?setTimeout(r,0,e):(u=e,setTimeout(s,0))},l=function(e,t){c=setTimeout(e,t)},i=function(){clearTimeout(c)},a=function(){return!1},o=t.unstable_forceFrameRate=function(){}}else{var d=window.performance,p=window.Date,m=window.setTimeout,h=window.clearTimeout;if("undefined"!=typeof console){var v=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof v&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"==typeof d&&"function"==typeof d.now)t.unstable_now=function(){return d.now()};else{var g=p.now();t.unstable_now=function(){return p.now()-g}}var y=!1,b=null,w=-1,k=5,x=0;a=function(){return t.unstable_now()>=x},o=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):k=0<e?Math.floor(1e3/e):5};var T=new MessageChannel,E=T.port2;T.port1.onmessage=function(){if(null!==b){var e=t.unstable_now();x=e+k;try{b(!0,e)?E.postMessage(null):(y=!1,b=null)}catch(n){throw E.postMessage(null),n}}else y=!1},r=function(e){b=e,y||(y=!0,E.postMessage(null))},l=function(e,n){w=m((function(){e(t.unstable_now())}),n)},i=function(){h(w),w=-1}}function S(e,t){var n=e.length;e.push(t);e:for(;;){var r=n-1>>>1,l=e[r];if(!(void 0!==l&&0<P(l,t)))break e;e[r]=t,e[n]=l,n=r}}function C(e){return void 0===(e=e[0])?null:e}function _(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,l=e.length;r<l;){var i=2*(r+1)-1,a=e[i],o=i+1,u=e[o];if(void 0!==a&&0>P(a,n))void 0!==u&&0>P(u,a)?(e[r]=u,e[o]=n,r=o):(e[r]=a,e[i]=n,r=i);else{if(!(void 0!==u&&0>P(u,n)))break e;e[r]=u,e[o]=n,r=o}}}return t}return null}function P(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var N=[],z=[],O=1,R=null,M=3,I=!1,F=!1,D=!1;function L(e){for(var t=C(z);null!==t;){if(null===t.callback)_(z);else{if(!(t.startTime<=e))break;_(z),t.sortIndex=t.expirationTime,S(N,t)}t=C(z)}}function A(e){if(D=!1,L(e),!F)if(null!==C(N))F=!0,r(U);else{var t=C(z);null!==t&&l(A,t.startTime-e)}}function U(e,n){F=!1,D&&(D=!1,i()),I=!0;var r=M;try{for(L(n),R=C(N);null!==R&&(!(R.expirationTime>n)||e&&!a());){var o=R.callback;if(null!==o){R.callback=null,M=R.priorityLevel;var u=o(R.expirationTime<=n);n=t.unstable_now(),"function"==typeof u?R.callback=u:R===C(N)&&_(N),L(n)}else _(N);R=C(N)}if(null!==R)var c=!0;else{var s=C(z);null!==s&&l(A,s.startTime-n),c=!1}return c}finally{R=null,M=r,I=!1}}function V(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var W=o;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){F||I||(F=!0,r(U))},t.unstable_getCurrentPriorityLevel=function(){return M},t.unstable_getFirstCallbackNode=function(){return C(N)},t.unstable_next=function(e){switch(M){case 1:case 2:case 3:var t=3;break;default:t=M}var n=M;M=t;try{return e()}finally{M=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=W,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=M;M=e;try{return t()}finally{M=n}},t.unstable_scheduleCallback=function(e,n,a){var o=t.unstable_now();if("object"==typeof a&&null!==a){var u=a.delay;u="number"==typeof u&&0<u?o+u:o,a="number"==typeof a.timeout?a.timeout:V(e)}else a=V(e),u=o;return e={id:O++,callback:n,priorityLevel:e,startTime:u,expirationTime:a=u+a,sortIndex:-1},u>o?(e.sortIndex=u,S(z,e),null===C(N)&&e===C(z)&&(D?i():D=!0,l(A,u-o))):(e.sortIndex=a,S(N,e),F||I||(F=!0,r(U))),e},t.unstable_shouldYield=function(){var e=t.unstable_now();L(e);var n=C(N);return n!==R&&null!==R&&null!==n&&null!==n.callback&&n.startTime<=e&&n.expirationTime<R.expirationTime||a()},t.unstable_wrapCallback=function(e){var t=M;return function(){var n=M;M=t;try{return e.apply(this,arguments)}finally{M=n}}}},WbBG:function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},i8i4:function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}}(),e.exports=n("yl30")},q1tI:function(e,t,n){"use strict";e.exports=n("viRO")},viRO:function(e,t,n){"use strict";var r=n("6qGY"),l="function"==typeof Symbol&&Symbol.for,i=l?Symbol.for("react.element"):60103,a=l?Symbol.for("react.portal"):60106,o=l?Symbol.for("react.fragment"):60107,u=l?Symbol.for("react.strict_mode"):60108,c=l?Symbol.for("react.profiler"):60114,s=l?Symbol.for("react.provider"):60109,f=l?Symbol.for("react.context"):60110,d=l?Symbol.for("react.forward_ref"):60112,p=l?Symbol.for("react.suspense"):60113,m=l?Symbol.for("react.memo"):60115,h=l?Symbol.for("react.lazy"):60116,v="function"==typeof Symbol&&Symbol.iterator;function g(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b={};function w(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||y}function k(){}function x(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||y}w.prototype.isReactComponent={},w.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(g(85));this.updater.enqueueSetState(this,e,t,"setState")},w.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},k.prototype=w.prototype;var T=x.prototype=new k;T.constructor=x,r(T,w.prototype),T.isPureReactComponent=!0;var E={current:null},S=Object.prototype.hasOwnProperty,C={key:!0,ref:!0,__self:!0,__source:!0};function _(e,t,n){var r,l={},a=null,o=null;if(null!=t)for(r in void 0!==t.ref&&(o=t.ref),void 0!==t.key&&(a=""+t.key),t)S.call(t,r)&&!C.hasOwnProperty(r)&&(l[r]=t[r]);var u=arguments.length-2;if(1===u)l.children=n;else if(1<u){for(var c=Array(u),s=0;s<u;s++)c[s]=arguments[s+2];l.children=c}if(e&&e.defaultProps)for(r in u=e.defaultProps)void 0===l[r]&&(l[r]=u[r]);return{$$typeof:i,type:e,key:a,ref:o,props:l,_owner:E.current}}function P(e){return"object"==typeof e&&null!==e&&e.$$typeof===i}var N=/\/+/g,z=[];function O(e,t,n,r){if(z.length){var l=z.pop();return l.result=e,l.keyPrefix=t,l.func=n,l.context=r,l.count=0,l}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function R(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>z.length&&z.push(e)}function M(e,t,n){return null==e?0:function e(t,n,r,l){var o=typeof t;"undefined"!==o&&"boolean"!==o||(t=null);var u=!1;if(null===t)u=!0;else switch(o){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case i:case a:u=!0}}if(u)return r(l,t,""===n?"."+I(t,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;c<t.length;c++){var s=n+I(o=t[c],c);u+=e(o,s,r,l)}else if(null===t||"object"!=typeof t?s=null:s="function"==typeof(s=v&&t[v]||t["@@iterator"])?s:null,"function"==typeof s)for(t=s.call(t),c=0;!(o=t.next()).done;)u+=e(o=o.value,s=n+I(o,c++),r,l);else if("object"===o)throw r=""+t,Error(g(31,"[object Object]"===r?"object with keys {"+Object.keys(t).join(", ")+"}":r,""));return u}(e,"",t,n)}function I(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,(function(e){return t[e]}))}(e.key):t.toString(36)}function F(e,t){e.func.call(e.context,t,e.count++)}function D(e,t,n){var r=e.result,l=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?L(e,r,n,(function(e){return e})):null!=e&&(P(e)&&(e=function(e,t){return{$$typeof:i,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,l+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(N,"$&/")+"/")+n)),r.push(e))}function L(e,t,n,r,l){var i="";null!=n&&(i=(""+n).replace(N,"$&/")+"/"),M(e,D,t=O(t,i,r,l)),R(t)}var A={current:null};function U(){var e=A.current;if(null===e)throw Error(g(321));return e}var V={ReactCurrentDispatcher:A,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:E,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:function(e,t,n){if(null==e)return e;var r=[];return L(e,r,null,t,n),r},forEach:function(e,t,n){if(null==e)return e;M(e,F,t=O(null,null,t,n)),R(t)},count:function(e){return M(e,(function(){return null}),null)},toArray:function(e){var t=[];return L(e,t,null,(function(e){return e})),t},only:function(e){if(!P(e))throw Error(g(143));return e}},t.Component=w,t.Fragment=o,t.Profiler=c,t.PureComponent=x,t.StrictMode=u,t.Suspense=p,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=V,t.cloneElement=function(e,t,n){if(null==e)throw Error(g(267,e));var l=r({},e.props),a=e.key,o=e.ref,u=e._owner;if(null!=t){if(void 0!==t.ref&&(o=t.ref,u=E.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(s in t)S.call(t,s)&&!C.hasOwnProperty(s)&&(l[s]=void 0===t[s]&&void 0!==c?c[s]:t[s])}var s=arguments.length-2;if(1===s)l.children=n;else if(1<s){c=Array(s);for(var f=0;f<s;f++)c[f]=arguments[f+2];l.children=c}return{$$typeof:i,type:e.type,key:a,ref:o,props:l,_owner:u}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:f,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=_,t.createFactory=function(e){var t=_.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:d,render:e}},t.isValidElement=P,t.lazy=function(e){return{$$typeof:h,_ctor:e,_status:-1,_result:null}},t.memo=function(e,t){return{$$typeof:m,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return U().useCallback(e,t)},t.useContext=function(e,t){return U().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return U().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return U().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return U().useLayoutEffect(e,t)},t.useMemo=function(e,t){return U().useMemo(e,t)},t.useReducer=function(e,t,n){return U().useReducer(e,t,n)},t.useRef=function(e){return U().useRef(e)},t.useState=function(e){return U().useState(e)},t.version="16.13.1"},yl30:function(e,t,n){"use strict";var r=n("q1tI"),l=n("6qGY"),i=n("JhMR");function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!r)throw Error(a(227));function o(e,t,n,r,l,i,a,o,u){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(s){this.onError(s)}}var u=!1,c=null,s=!1,f=null,d={onError:function(e){u=!0,c=e}};function p(e,t,n,r,l,i,a,s,f){u=!1,c=null,o.apply(d,arguments)}var m=null,h=null,v=null;function g(e,t,n){var r=e.type||"unknown-event";e.currentTarget=v(n),function(e,t,n,r,l,i,o,d,m){if(p.apply(this,arguments),u){if(!u)throw Error(a(198));var h=c;u=!1,c=null,s||(s=!0,f=h)}}(r,t,void 0,e),e.currentTarget=null}var y=null,b={};function w(){if(y)for(var e in b){var t=b[e],n=y.indexOf(e);if(!(-1<n))throw Error(a(96,e));if(!x[n]){if(!t.extractEvents)throw Error(a(97,e));for(var r in x[n]=t,n=t.eventTypes){var l=void 0,i=n[r],o=t,u=r;if(T.hasOwnProperty(u))throw Error(a(99,u));T[u]=i;var c=i.phasedRegistrationNames;if(c){for(l in c)c.hasOwnProperty(l)&&k(c[l],o,u);l=!0}else i.registrationName?(k(i.registrationName,o,u),l=!0):l=!1;if(!l)throw Error(a(98,r,e))}}}}function k(e,t,n){if(E[e])throw Error(a(100,e));E[e]=t,S[e]=t.eventTypes[n].dependencies}var x=[],T={},E={},S={};function C(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var r=e[t];if(!b.hasOwnProperty(t)||b[t]!==r){if(b[t])throw Error(a(102,t));b[t]=r,n=!0}}n&&w()}var _=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),P=null,N=null,z=null;function O(e){if(e=h(e)){if("function"!=typeof P)throw Error(a(280));var t=e.stateNode;t&&(t=m(t),P(e.stateNode,e.type,t))}}function R(e){N?z?z.push(e):z=[e]:N=e}function M(){if(N){var e=N,t=z;if(z=N=null,O(e),t)for(e=0;e<t.length;e++)O(t[e])}}function I(e,t){return e(t)}function F(e,t,n,r,l){return e(t,n,r,l)}function D(){}var L=I,A=!1,U=!1;function V(){null===N&&null===z||(D(),M())}function W(e,t,n){if(U)return e(t,n);U=!0;try{return L(e,t,n)}finally{U=!1,V()}}var j=/^[: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][: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\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Q=Object.prototype.hasOwnProperty,$={},B={};function H(e,t,n,r,l,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i}var K={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){K[e]=new H(e,0,!1,e,null,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];K[t]=new H(t,1,!1,e[1],null,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){K[e]=new H(e,2,!1,e.toLowerCase(),null,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){K[e]=new H(e,2,!1,e,null,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){K[e]=new H(e,3,!1,e.toLowerCase(),null,!1)})),["checked","multiple","muted","selected"].forEach((function(e){K[e]=new H(e,3,!0,e,null,!1)})),["capture","download"].forEach((function(e){K[e]=new H(e,4,!1,e,null,!1)})),["cols","rows","size","span"].forEach((function(e){K[e]=new H(e,6,!1,e,null,!1)})),["rowSpan","start"].forEach((function(e){K[e]=new H(e,5,!1,e.toLowerCase(),null,!1)}));var q=/[\-:]([a-z])/g;function Y(e){return e[1].toUpperCase()}"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".split(" ").forEach((function(e){var t=e.replace(q,Y);K[t]=new H(t,1,!1,e,null,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(q,Y);K[t]=new H(t,1,!1,e,"http://www.w3.org/1999/xlink",!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(q,Y);K[t]=new H(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1)})),["tabIndex","crossOrigin"].forEach((function(e){K[e]=new H(e,1,!1,e.toLowerCase(),null,!1)})),K.xlinkHref=new H("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0),["src","href","action","formAction"].forEach((function(e){K[e]=new H(e,1,!1,e.toLowerCase(),null,!0)}));var X=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function G(e,t,n,r){var l=K.hasOwnProperty(t)?K[t]:null;(null!==l?0===l.type:!r&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,l,r)&&(n=null),r||null===l?function(e){return!!Q.call(B,e)||!Q.call($,e)&&(j.test(e)?B[e]=!0:($[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):l.mustUseProperty?e[l.propertyName]=null===n?3!==l.type&&"":n:(t=l.attributeName,r=l.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(l=l.type)||4===l&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}X.hasOwnProperty("ReactCurrentDispatcher")||(X.ReactCurrentDispatcher={current:null}),X.hasOwnProperty("ReactCurrentBatchConfig")||(X.ReactCurrentBatchConfig={suspense:null});var J=/^(.*)[\\\/]/,Z="function"==typeof Symbol&&Symbol.for,ee=Z?Symbol.for("react.element"):60103,te=Z?Symbol.for("react.portal"):60106,ne=Z?Symbol.for("react.fragment"):60107,re=Z?Symbol.for("react.strict_mode"):60108,le=Z?Symbol.for("react.profiler"):60114,ie=Z?Symbol.for("react.provider"):60109,ae=Z?Symbol.for("react.context"):60110,oe=Z?Symbol.for("react.concurrent_mode"):60111,ue=Z?Symbol.for("react.forward_ref"):60112,ce=Z?Symbol.for("react.suspense"):60113,se=Z?Symbol.for("react.suspense_list"):60120,fe=Z?Symbol.for("react.memo"):60115,de=Z?Symbol.for("react.lazy"):60116,pe=Z?Symbol.for("react.block"):60121,me="function"==typeof Symbol&&Symbol.iterator;function he(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=me&&e[me]||e["@@iterator"])?e:null}function ve(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case ne:return"Fragment";case te:return"Portal";case le:return"Profiler";case re:return"StrictMode";case ce:return"Suspense";case se:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case ae:return"Context.Consumer";case ie:return"Context.Provider";case ue:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case fe:return ve(e.type);case pe:return ve(e.render);case de:if(e=1===e._status?e._result:null)return ve(e)}return null}function ge(e){var t="";do{e:switch(e.tag){case 3:case 4:case 6:case 7:case 10:case 9:var n="";break e;default:var r=e._debugOwner,l=e._debugSource,i=ve(e.type);n=null,r&&(n=ve(r.type)),r=i,i="",l?i=" (at "+l.fileName.replace(J,"")+":"+l.lineNumber+")":n&&(i=" (created by "+n+")"),n="\n in "+(r||"Unknown")+i}t+=n,e=e.return}while(e);return t}function ye(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function be(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function we(e){e._valueTracker||(e._valueTracker=function(e){var t=be(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(e){r=""+e,i.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function ke(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=be(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function xe(e,t){var n=t.checked;return l({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Te(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=ye(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Ee(e,t){null!=(t=t.checked)&&G(e,"checked",t,!1)}function Se(e,t){Ee(e,t);var n=ye(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?_e(e,t.type,n):t.hasOwnProperty("defaultValue")&&_e(e,t.type,ye(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Ce(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function _e(e,t,n){"number"===t&&e.ownerDocument.activeElement===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function Pe(e,t){return e=l({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function Ne(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&r&&(e[n].defaultSelected=!0)}else{for(n=""+ye(n),t=null,l=0;l<e.length;l++){if(e[l].value===n)return e[l].selected=!0,void(r&&(e[l].defaultSelected=!0));null!==t||e[l].disabled||(t=e[l])}null!==t&&(t.selected=!0)}}function ze(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return l({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Oe(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(a(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(a(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:ye(n)}}function Re(e,t){var n=ye(t.value),r=ye(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function Me(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var Ie="http://www.w3.org/1999/xhtml",Fe="http://www.w3.org/2000/svg";function De(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Le(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?De(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var Ae,Ue=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,l){MSApp.execUnsafeLocalFunction((function(){return e(t,n)}))}:e}((function(e,t){if(e.namespaceURI!==Fe||"innerHTML"in e)e.innerHTML=t;else{for((Ae=Ae||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Ae.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}));function Ve(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}function We(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var je={animationend:We("Animation","AnimationEnd"),animationiteration:We("Animation","AnimationIteration"),animationstart:We("Animation","AnimationStart"),transitionend:We("Transition","TransitionEnd")},Qe={},$e={};function Be(e){if(Qe[e])return Qe[e];if(!je[e])return e;var t,n=je[e];for(t in n)if(n.hasOwnProperty(t)&&t in $e)return Qe[e]=n[t];return e}_&&($e=document.createElement("div").style,"AnimationEvent"in window||(delete je.animationend.animation,delete je.animationiteration.animation,delete je.animationstart.animation),"TransitionEvent"in window||delete je.transitionend.transition);var He=Be("animationend"),Ke=Be("animationiteration"),qe=Be("animationstart"),Ye=Be("transitionend"),Xe="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Ge=new("function"==typeof WeakMap?WeakMap:Map);function Je(e){var t=Ge.get(e);return void 0===t&&(t=new Map,Ge.set(e,t)),t}function Ze(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).effectTag)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function et(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function tt(e){if(Ze(e)!==e)throw Error(a(188))}function nt(e){if(!(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ze(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,r=t;;){var l=n.return;if(null===l)break;var i=l.alternate;if(null===i){if(null!==(r=l.return)){n=r;continue}break}if(l.child===i.child){for(i=l.child;i;){if(i===n)return tt(l),e;if(i===r)return tt(l),t;i=i.sibling}throw Error(a(188))}if(n.return!==r.return)n=l,r=i;else{for(var o=!1,u=l.child;u;){if(u===n){o=!0,n=l,r=i;break}if(u===r){o=!0,r=l,n=i;break}u=u.sibling}if(!o){for(u=i.child;u;){if(u===n){o=!0,n=i,r=l;break}if(u===r){o=!0,r=i,n=l;break}u=u.sibling}if(!o)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function rt(e,t){if(null==t)throw Error(a(30));return null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function lt(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}var it=null;function at(e){if(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t))for(var r=0;r<t.length&&!e.isPropagationStopped();r++)g(e,t[r],n[r]);else t&&g(e,t,n);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}function ot(e){if(null!==e&&(it=rt(it,e)),e=it,it=null,e){if(lt(e,at),it)throw Error(a(95));if(s)throw e=f,s=!1,f=null,e}}function ut(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}function ct(e){if(!_)return!1;var t=(e="on"+e)in document;return t||((t=document.createElement("div")).setAttribute(e,"return;"),t="function"==typeof t[e]),t}var st=[];function ft(e){e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,10>st.length&&st.push(e)}function dt(e,t,n,r){if(st.length){var l=st.pop();return l.topLevelType=e,l.eventSystemFlags=r,l.nativeEvent=t,l.targetInst=n,l}return{topLevelType:e,eventSystemFlags:r,nativeEvent:t,targetInst:n,ancestors:[]}}function pt(e){var t=e.targetInst,n=t;do{if(!n){e.ancestors.push(n);break}var r=n;if(3===r.tag)r=r.stateNode.containerInfo;else{for(;r.return;)r=r.return;r=3!==r.tag?null:r.stateNode.containerInfo}if(!r)break;5!==(t=n.tag)&&6!==t||e.ancestors.push(n),n=_n(r)}while(n);for(n=0;n<e.ancestors.length;n++){t=e.ancestors[n];var l=ut(e.nativeEvent);r=e.topLevelType;var i=e.nativeEvent,a=e.eventSystemFlags;0===n&&(a|=64);for(var o=null,u=0;u<x.length;u++){var c=x[u];c&&(c=c.extractEvents(r,t,i,l,a))&&(o=rt(o,c))}ot(o)}}function mt(e,t,n){if(!n.has(e)){switch(e){case"scroll":qt(t,"scroll",!0);break;case"focus":case"blur":qt(t,"focus",!0),qt(t,"blur",!0),n.set("blur",null),n.set("focus",null);break;case"cancel":case"close":ct(e)&&qt(t,e,!0);break;case"invalid":case"submit":case"reset":break;default:-1===Xe.indexOf(e)&&Kt(e,t)}n.set(e,null)}}var ht,vt,gt,yt=!1,bt=[],wt=null,kt=null,xt=null,Tt=new Map,Et=new Map,St=[],Ct="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit".split(" "),_t="focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture".split(" ");function Pt(e,t,n,r,l){return{blockedOn:e,topLevelType:t,eventSystemFlags:32|n,nativeEvent:l,container:r}}function Nt(e,t){switch(e){case"focus":case"blur":wt=null;break;case"dragenter":case"dragleave":kt=null;break;case"mouseover":case"mouseout":xt=null;break;case"pointerover":case"pointerout":Tt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Et.delete(t.pointerId)}}function zt(e,t,n,r,l,i){return null===e||e.nativeEvent!==i?(e=Pt(t,n,r,l,i),null!==t&&(null!==(t=Pn(t))&&vt(t)),e):(e.eventSystemFlags|=r,e)}function Ot(e){var t=_n(e.target);if(null!==t){var n=Ze(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=et(n)))return e.blockedOn=t,void i.unstable_runWithPriority(e.priority,(function(){gt(n)}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Rt(e){if(null!==e.blockedOn)return!1;var t=Jt(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);if(null!==t){var n=Pn(t);return null!==n&&vt(n),e.blockedOn=t,!1}return!0}function Mt(e,t,n){Rt(e)&&n.delete(t)}function It(){for(yt=!1;0<bt.length;){var e=bt[0];if(null!==e.blockedOn){null!==(e=Pn(e.blockedOn))&&ht(e);break}var t=Jt(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);null!==t?e.blockedOn=t:bt.shift()}null!==wt&&Rt(wt)&&(wt=null),null!==kt&&Rt(kt)&&(kt=null),null!==xt&&Rt(xt)&&(xt=null),Tt.forEach(Mt),Et.forEach(Mt)}function Ft(e,t){e.blockedOn===t&&(e.blockedOn=null,yt||(yt=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,It)))}function Dt(e){function t(t){return Ft(t,e)}if(0<bt.length){Ft(bt[0],e);for(var n=1;n<bt.length;n++){var r=bt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==wt&&Ft(wt,e),null!==kt&&Ft(kt,e),null!==xt&&Ft(xt,e),Tt.forEach(t),Et.forEach(t),n=0;n<St.length;n++)(r=St[n]).blockedOn===e&&(r.blockedOn=null);for(;0<St.length&&null===(n=St[0]).blockedOn;)Ot(n),null===n.blockedOn&&St.shift()}var Lt={},At=new Map,Ut=new Map,Vt=["abort","abort",He,"animationEnd",Ke,"animationIteration",qe,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Ye,"transitionEnd","waiting","waiting"];function Wt(e,t){for(var n=0;n<e.length;n+=2){var r=e[n],l=e[n+1],i="on"+(l[0].toUpperCase()+l.slice(1));i={phasedRegistrationNames:{bubbled:i,captured:i+"Capture"},dependencies:[r],eventPriority:t},Ut.set(r,t),At.set(r,i),Lt[l]=i}}Wt("blur blur cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focus focus input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),Wt("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),Wt(Vt,2);for(var jt="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),Qt=0;Qt<jt.length;Qt++)Ut.set(jt[Qt],0);var $t=i.unstable_UserBlockingPriority,Bt=i.unstable_runWithPriority,Ht=!0;function Kt(e,t){qt(t,e,!1)}function qt(e,t,n){var r=Ut.get(t);switch(void 0===r?2:r){case 0:r=Yt.bind(null,t,1,e);break;case 1:r=Xt.bind(null,t,1,e);break;default:r=Gt.bind(null,t,1,e)}n?e.addEventListener(t,r,!0):e.addEventListener(t,r,!1)}function Yt(e,t,n,r){A||D();var l=Gt,i=A;A=!0;try{F(l,e,t,n,r)}finally{(A=i)||V()}}function Xt(e,t,n,r){Bt($t,Gt.bind(null,e,t,n,r))}function Gt(e,t,n,r){if(Ht)if(0<bt.length&&-1<Ct.indexOf(e))e=Pt(null,e,t,n,r),bt.push(e);else{var l=Jt(e,t,n,r);if(null===l)Nt(e,r);else if(-1<Ct.indexOf(e))e=Pt(l,e,t,n,r),bt.push(e);else if(!function(e,t,n,r,l){switch(t){case"focus":return wt=zt(wt,e,t,n,r,l),!0;case"dragenter":return kt=zt(kt,e,t,n,r,l),!0;case"mouseover":return xt=zt(xt,e,t,n,r,l),!0;case"pointerover":var i=l.pointerId;return Tt.set(i,zt(Tt.get(i)||null,e,t,n,r,l)),!0;case"gotpointercapture":return i=l.pointerId,Et.set(i,zt(Et.get(i)||null,e,t,n,r,l)),!0}return!1}(l,e,t,n,r)){Nt(e,r),e=dt(e,r,null,t);try{W(pt,e)}finally{ft(e)}}}}function Jt(e,t,n,r){if(null!==(n=_n(n=ut(r)))){var l=Ze(n);if(null===l)n=null;else{var i=l.tag;if(13===i){if(null!==(n=et(l)))return n;n=null}else if(3===i){if(l.stateNode.hydrate)return 3===l.tag?l.stateNode.containerInfo:null;n=null}else l!==n&&(n=null)}}e=dt(e,r,n,t);try{W(pt,e)}finally{ft(e)}return null}var Zt={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},en=["Webkit","ms","Moz","O"];function tn(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||Zt.hasOwnProperty(e)&&Zt[e]?(""+t).trim():t+"px"}function nn(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),l=tn(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}Object.keys(Zt).forEach((function(e){en.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Zt[t]=Zt[e]}))}));var rn=l({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ln(e,t){if(t){if(rn[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e,""));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(a(62,""))}}function an(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var on=Ie;function un(e,t){var n=Je(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=S[t];for(var r=0;r<t.length;r++)mt(t[r],e,n)}function cn(){}function sn(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(Hu){return e.body}}function fn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function dn(e,t){var n,r=fn(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=fn(r)}}function pn(){for(var e=window,t=sn();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=sn((e=t.contentWindow).document)}return t}function mn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var hn=null,vn=null;function gn(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function yn(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var bn="function"==typeof setTimeout?setTimeout:void 0,wn="function"==typeof clearTimeout?clearTimeout:void 0;function kn(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function xn(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var Tn=Math.random().toString(36).slice(2),En="__reactInternalInstance$"+Tn,Sn="__reactEventHandlers$"+Tn,Cn="__reactContainere$"+Tn;function _n(e){var t=e[En];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Cn]||n[En]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=xn(e);null!==e;){if(n=e[En])return n;e=xn(e)}return t}n=(e=n).parentNode}return null}function Pn(e){return!(e=e[En]||e[Cn])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function Nn(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function zn(e){return e[Sn]||null}function On(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function Rn(e,t){var n=e.stateNode;if(!n)return null;var r=m(n);if(!r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(a(231,t,typeof n));return n}function Mn(e,t,n){(t=Rn(e,n.dispatchConfig.phasedRegistrationNames[t]))&&(n._dispatchListeners=rt(n._dispatchListeners,t),n._dispatchInstances=rt(n._dispatchInstances,e))}function In(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var t=e._targetInst,n=[];t;)n.push(t),t=On(t);for(t=n.length;0<t--;)Mn(n[t],"captured",e);for(t=0;t<n.length;t++)Mn(n[t],"bubbled",e)}}function Fn(e,t,n){e&&n&&n.dispatchConfig.registrationName&&(t=Rn(e,n.dispatchConfig.registrationName))&&(n._dispatchListeners=rt(n._dispatchListeners,t),n._dispatchInstances=rt(n._dispatchInstances,e))}function Dn(e){e&&e.dispatchConfig.registrationName&&Fn(e._targetInst,null,e)}function Ln(e){lt(e,In)}var An=null,Un=null,Vn=null;function Wn(){if(Vn)return Vn;var e,t,n=Un,r=n.length,l="value"in An?An.value:An.textContent,i=l.length;for(e=0;e<r&&n[e]===l[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===l[i-t];t++);return Vn=l.slice(e,1<t?1-t:void 0)}function jn(){return!0}function Qn(){return!1}function $n(e,t,n,r){for(var l in this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n,e=this.constructor.Interface)e.hasOwnProperty(l)&&((t=e[l])?this[l]=t(n):"target"===l?this.target=r:this[l]=n[l]);return this.isDefaultPrevented=(null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue)?jn:Qn,this.isPropagationStopped=Qn,this}function Bn(e,t,n,r){if(this.eventPool.length){var l=this.eventPool.pop();return this.call(l,e,t,n,r),l}return new this(e,t,n,r)}function Hn(e){if(!(e instanceof this))throw Error(a(279));e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function Kn(e){e.eventPool=[],e.getPooled=Bn,e.release=Hn}l($n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=jn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=jn)},persist:function(){this.isPersistent=jn},isPersistent:Qn,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=Qn,this._dispatchInstances=this._dispatchListeners=null}}),$n.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},$n.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var i=new t;return l(i,n.prototype),n.prototype=i,n.prototype.constructor=n,n.Interface=l({},r.Interface,e),n.extend=r.extend,Kn(n),n},Kn($n);var qn=$n.extend({data:null}),Yn=$n.extend({data:null}),Xn=[9,13,27,32],Gn=_&&"CompositionEvent"in window,Jn=null;_&&"documentMode"in document&&(Jn=document.documentMode);var Zn=_&&"TextEvent"in window&&!Jn,er=_&&(!Gn||Jn&&8<Jn&&11>=Jn),tr=String.fromCharCode(32),nr={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},rr=!1;function lr(e,t){switch(e){case"keyup":return-1!==Xn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function ir(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var ar=!1;var or={eventTypes:nr,extractEvents:function(e,t,n,r){var l;if(Gn)e:{switch(e){case"compositionstart":var i=nr.compositionStart;break e;case"compositionend":i=nr.compositionEnd;break e;case"compositionupdate":i=nr.compositionUpdate;break e}i=void 0}else ar?lr(e,n)&&(i=nr.compositionEnd):"keydown"===e&&229===n.keyCode&&(i=nr.compositionStart);return i?(er&&"ko"!==n.locale&&(ar||i!==nr.compositionStart?i===nr.compositionEnd&&ar&&(l=Wn()):(Un="value"in(An=r)?An.value:An.textContent,ar=!0)),i=qn.getPooled(i,t,n,r),l?i.data=l:null!==(l=ir(n))&&(i.data=l),Ln(i),l=i):l=null,(e=Zn?function(e,t){switch(e){case"compositionend":return ir(t);case"keypress":return 32!==t.which?null:(rr=!0,tr);case"textInput":return(e=t.data)===tr&&rr?null:e;default:return null}}(e,n):function(e,t){if(ar)return"compositionend"===e||!Gn&&lr(e,t)?(e=Wn(),Vn=Un=An=null,ar=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return er&&"ko"!==t.locale?null:t.data;default:return null}}(e,n))?((t=Yn.getPooled(nr.beforeInput,t,n,r)).data=e,Ln(t)):t=null,null===l?t:null===t?l:[l,t]}},ur={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function cr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!ur[e.type]:"textarea"===t}var sr={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function fr(e,t,n){return(e=$n.getPooled(sr.change,e,t,n)).type="change",R(n),Ln(e),e}var dr=null,pr=null;function mr(e){ot(e)}function hr(e){if(ke(Nn(e)))return e}function vr(e,t){if("change"===e)return t}var gr=!1;function yr(){dr&&(dr.detachEvent("onpropertychange",br),pr=dr=null)}function br(e){if("value"===e.propertyName&&hr(pr))if(e=fr(pr,e,ut(e)),A)ot(e);else{A=!0;try{I(mr,e)}finally{A=!1,V()}}}function wr(e,t,n){"focus"===e?(yr(),pr=n,(dr=t).attachEvent("onpropertychange",br)):"blur"===e&&yr()}function kr(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return hr(pr)}function xr(e,t){if("click"===e)return hr(t)}function Tr(e,t){if("input"===e||"change"===e)return hr(t)}_&&(gr=ct("input")&&(!document.documentMode||9<document.documentMode));var Er={eventTypes:sr,_isInputEventSupported:gr,extractEvents:function(e,t,n,r){var l=t?Nn(t):window,i=l.nodeName&&l.nodeName.toLowerCase();if("select"===i||"input"===i&&"file"===l.type)var a=vr;else if(cr(l))if(gr)a=Tr;else{a=kr;var o=wr}else(i=l.nodeName)&&"input"===i.toLowerCase()&&("checkbox"===l.type||"radio"===l.type)&&(a=xr);if(a&&(a=a(e,t)))return fr(a,n,r);o&&o(e,l,t),"blur"===e&&(e=l._wrapperState)&&e.controlled&&"number"===l.type&&_e(l,"number",l.value)}},Sr=$n.extend({view:null,detail:null}),Cr={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function _r(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Cr[e])&&!!t[e]}function Pr(){return _r}var Nr=0,zr=0,Or=!1,Rr=!1,Mr=Sr.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Pr,button:null,buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},movementX:function(e){if("movementX"in e)return e.movementX;var t=Nr;return Nr=e.screenX,Or?"mousemove"===e.type?e.screenX-t:0:(Or=!0,0)},movementY:function(e){if("movementY"in e)return e.movementY;var t=zr;return zr=e.screenY,Rr?"mousemove"===e.type?e.screenY-t:0:(Rr=!0,0)}}),Ir=Mr.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Fr={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},Dr={eventTypes:Fr,extractEvents:function(e,t,n,r,l){var i="mouseover"===e||"pointerover"===e,a="mouseout"===e||"pointerout"===e;if(i&&0==(32&l)&&(n.relatedTarget||n.fromElement)||!a&&!i)return null;(i=r.window===r?r:(i=r.ownerDocument)?i.defaultView||i.parentWindow:window,a)?(a=t,null!==(t=(t=n.relatedTarget||n.toElement)?_n(t):null)&&(t!==Ze(t)||5!==t.tag&&6!==t.tag)&&(t=null)):a=null;if(a===t)return null;if("mouseout"===e||"mouseover"===e)var o=Mr,u=Fr.mouseLeave,c=Fr.mouseEnter,s="mouse";else"pointerout"!==e&&"pointerover"!==e||(o=Ir,u=Fr.pointerLeave,c=Fr.pointerEnter,s="pointer");if(e=null==a?i:Nn(a),i=null==t?i:Nn(t),(u=o.getPooled(u,a,n,r)).type=s+"leave",u.target=e,u.relatedTarget=i,(n=o.getPooled(c,t,n,r)).type=s+"enter",n.target=i,n.relatedTarget=e,s=t,(r=a)&&s)e:{for(c=s,a=0,e=o=r;e;e=On(e))a++;for(e=0,t=c;t;t=On(t))e++;for(;0<a-e;)o=On(o),a--;for(;0<e-a;)c=On(c),e--;for(;a--;){if(o===c||o===c.alternate)break e;o=On(o),c=On(c)}o=null}else o=null;for(c=o,o=[];r&&r!==c&&(null===(a=r.alternate)||a!==c);)o.push(r),r=On(r);for(r=[];s&&s!==c&&(null===(a=s.alternate)||a!==c);)r.push(s),s=On(s);for(s=0;s<o.length;s++)Fn(o[s],"bubbled",u);for(s=r.length;0<s--;)Fn(r[s],"captured",n);return 0==(64&l)?[u]:[u,n]}};var Lr="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},Ar=Object.prototype.hasOwnProperty;function Ur(e,t){if(Lr(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!Ar.call(t,n[r])||!Lr(e[n[r]],t[n[r]]))return!1;return!0}var Vr=_&&"documentMode"in document&&11>=document.documentMode,Wr={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},jr=null,Qr=null,$r=null,Br=!1;function Hr(e,t){var n=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;return Br||null==jr||jr!==sn(n)?null:("selectionStart"in(n=jr)&&mn(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},$r&&Ur($r,n)?null:($r=n,(e=$n.getPooled(Wr.select,Qr,e,t)).type="select",e.target=jr,Ln(e),e))}var Kr={eventTypes:Wr,extractEvents:function(e,t,n,r,l,i){if(!(i=!(l=i||(r.window===r?r.document:9===r.nodeType?r:r.ownerDocument)))){e:{l=Je(l),i=S.onSelect;for(var a=0;a<i.length;a++)if(!l.has(i[a])){l=!1;break e}l=!0}i=!l}if(i)return null;switch(l=t?Nn(t):window,e){case"focus":(cr(l)||"true"===l.contentEditable)&&(jr=l,Qr=t,$r=null);break;case"blur":$r=Qr=jr=null;break;case"mousedown":Br=!0;break;case"contextmenu":case"mouseup":case"dragend":return Br=!1,Hr(n,r);case"selectionchange":if(Vr)break;case"keydown":case"keyup":return Hr(n,r)}return null}},qr=$n.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Yr=$n.extend({clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Xr=Sr.extend({relatedTarget:null});function Gr(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}var Jr={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Zr={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},el=Sr.extend({key:function(e){if(e.key){var t=Jr[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=Gr(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Zr[e.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Pr,charCode:function(e){return"keypress"===e.type?Gr(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?Gr(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),tl=Mr.extend({dataTransfer:null}),nl=Sr.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Pr}),rl=$n.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),ll=Mr.extend({deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null}),il={eventTypes:Lt,extractEvents:function(e,t,n,r){var l=At.get(e);if(!l)return null;switch(e){case"keypress":if(0===Gr(n))return null;case"keydown":case"keyup":e=el;break;case"blur":case"focus":e=Xr;break;case"click":if(2===n.button)return null;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":e=Mr;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":e=tl;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":e=nl;break;case He:case Ke:case qe:e=qr;break;case Ye:e=rl;break;case"scroll":e=Sr;break;case"wheel":e=ll;break;case"copy":case"cut":case"paste":e=Yr;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":e=Ir;break;default:e=$n}return Ln(t=e.getPooled(l,t,n,r)),t}};if(y)throw Error(a(101));y=Array.prototype.slice.call("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" ")),w(),m=zn,h=Pn,v=Nn,C({SimpleEventPlugin:il,EnterLeaveEventPlugin:Dr,ChangeEventPlugin:Er,SelectEventPlugin:Kr,BeforeInputEventPlugin:or});var al=[],ol=-1;function ul(e){0>ol||(e.current=al[ol],al[ol]=null,ol--)}function cl(e,t){ol++,al[ol]=e.current,e.current=t}var sl={},fl={current:sl},dl={current:!1},pl=sl;function ml(e,t){var n=e.type.contextTypes;if(!n)return sl;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l,i={};for(l in n)i[l]=t[l];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function hl(e){return null!=(e=e.childContextTypes)}function vl(){ul(dl),ul(fl)}function gl(e,t,n){if(fl.current!==sl)throw Error(a(168));cl(fl,t),cl(dl,n)}function yl(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var i in r=r.getChildContext())if(!(i in e))throw Error(a(108,ve(t)||"Unknown",i));return l({},n,{},r)}function bl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||sl,pl=fl.current,cl(fl,e),cl(dl,dl.current),!0}function wl(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(e=yl(e,t,pl),r.__reactInternalMemoizedMergedChildContext=e,ul(dl),ul(fl),cl(fl,e)):ul(dl),cl(dl,n)}var kl=i.unstable_runWithPriority,xl=i.unstable_scheduleCallback,Tl=i.unstable_cancelCallback,El=i.unstable_requestPaint,Sl=i.unstable_now,Cl=i.unstable_getCurrentPriorityLevel,_l=i.unstable_ImmediatePriority,Pl=i.unstable_UserBlockingPriority,Nl=i.unstable_NormalPriority,zl=i.unstable_LowPriority,Ol=i.unstable_IdlePriority,Rl={},Ml=i.unstable_shouldYield,Il=void 0!==El?El:function(){},Fl=null,Dl=null,Ll=!1,Al=Sl(),Ul=1e4>Al?Sl:function(){return Sl()-Al};function Vl(){switch(Cl()){case _l:return 99;case Pl:return 98;case Nl:return 97;case zl:return 96;case Ol:return 95;default:throw Error(a(332))}}function Wl(e){switch(e){case 99:return _l;case 98:return Pl;case 97:return Nl;case 96:return zl;case 95:return Ol;default:throw Error(a(332))}}function jl(e,t){return e=Wl(e),kl(e,t)}function Ql(e,t,n){return e=Wl(e),xl(e,t,n)}function $l(e){return null===Fl?(Fl=[e],Dl=xl(_l,Hl)):Fl.push(e),Rl}function Bl(){if(null!==Dl){var e=Dl;Dl=null,Tl(e)}Hl()}function Hl(){if(!Ll&&null!==Fl){Ll=!0;var e=0;try{var t=Fl;jl(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),Fl=null}catch(n){throw null!==Fl&&(Fl=Fl.slice(e+1)),xl(_l,Bl),n}finally{Ll=!1}}}function Kl(e,t,n){return 1073741821-(1+((1073741821-e+t/10)/(n/=10)|0))*n}function ql(e,t){if(e&&e.defaultProps)for(var n in t=l({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}var Yl={current:null},Xl=null,Gl=null,Jl=null;function Zl(){Jl=Gl=Xl=null}function ei(e){var t=Yl.current;ul(Yl),e.type._context._currentValue=t}function ti(e,t){for(;null!==e;){var n=e.alternate;if(e.childExpirationTime<t)e.childExpirationTime=t,null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t);else{if(!(null!==n&&n.childExpirationTime<t))break;n.childExpirationTime=t}e=e.return}}function ni(e,t){Xl=e,Jl=Gl=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(e.expirationTime>=t&&(Na=!0),e.firstContext=null)}function ri(e,t){if(Jl!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(Jl=e,t=1073741823),t={context:e,observedBits:t,next:null},null===Gl){if(null===Xl)throw Error(a(308));Gl=t,Xl.dependencies={expirationTime:0,firstContext:t,responders:null}}else Gl=Gl.next=t;return e._currentValue}var li=!1;function ii(e){e.updateQueue={baseState:e.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}function ai(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,baseQueue:e.baseQueue,shared:e.shared,effects:e.effects})}function oi(e,t){return(e={expirationTime:e,suspenseConfig:t,tag:0,payload:null,callback:null,next:null}).next=e}function ui(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function ci(e,t){var n=e.alternate;null!==n&&ai(n,e),null===(n=(e=e.updateQueue).baseQueue)?(e.baseQueue=t.next=t,t.next=t):(t.next=n.next,n.next=t)}function si(e,t,n,r){var i=e.updateQueue;li=!1;var a=i.baseQueue,o=i.shared.pending;if(null!==o){if(null!==a){var u=a.next;a.next=o.next,o.next=u}a=o,i.shared.pending=null,null!==(u=e.alternate)&&(null!==(u=u.updateQueue)&&(u.baseQueue=o))}if(null!==a){u=a.next;var c=i.baseState,s=0,f=null,d=null,p=null;if(null!==u)for(var m=u;;){if((o=m.expirationTime)<r){var h={expirationTime:m.expirationTime,suspenseConfig:m.suspenseConfig,tag:m.tag,payload:m.payload,callback:m.callback,next:null};null===p?(d=p=h,f=c):p=p.next=h,o>s&&(s=o)}else{null!==p&&(p=p.next={expirationTime:1073741823,suspenseConfig:m.suspenseConfig,tag:m.tag,payload:m.payload,callback:m.callback,next:null}),iu(o,m.suspenseConfig);e:{var v=e,g=m;switch(o=t,h=n,g.tag){case 1:if("function"==typeof(v=g.payload)){c=v.call(h,c,o);break e}c=v;break e;case 3:v.effectTag=-4097&v.effectTag|64;case 0:if(null==(o="function"==typeof(v=g.payload)?v.call(h,c,o):v))break e;c=l({},c,o);break e;case 2:li=!0}}null!==m.callback&&(e.effectTag|=32,null===(o=i.effects)?i.effects=[m]:o.push(m))}if(null===(m=m.next)||m===u){if(null===(o=i.shared.pending))break;m=a.next=o.next,o.next=u,i.baseQueue=a=o,i.shared.pending=null}}null===p?f=c:p.next=d,i.baseState=f,i.baseQueue=p,au(s),e.expirationTime=s,e.memoizedState=c}}function fi(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],l=r.callback;if(null!==l){if(r.callback=null,r=l,l=n,"function"!=typeof r)throw Error(a(191,r));r.call(l)}}}var di=X.ReactCurrentBatchConfig,pi=(new r.Component).refs;function mi(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:l({},t,n),e.memoizedState=n,0===e.expirationTime&&(e.updateQueue.baseState=n)}var hi={isMounted:function(e){return!!(e=e._reactInternalFiber)&&Ze(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternalFiber;var r=Ho(),l=di.suspense;(l=oi(r=Ko(r,e,l),l)).payload=t,null!=n&&(l.callback=n),ui(e,l),qo(e,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternalFiber;var r=Ho(),l=di.suspense;(l=oi(r=Ko(r,e,l),l)).tag=1,l.payload=t,null!=n&&(l.callback=n),ui(e,l),qo(e,r)},enqueueForceUpdate:function(e,t){e=e._reactInternalFiber;var n=Ho(),r=di.suspense;(r=oi(n=Ko(n,e,r),r)).tag=2,null!=t&&(r.callback=t),ui(e,r),qo(e,n)}};function vi(e,t,n,r,l,i,a){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,i,a):!t.prototype||!t.prototype.isPureReactComponent||(!Ur(n,r)||!Ur(l,i))}function gi(e,t,n){var r=!1,l=sl,i=t.contextType;return"object"==typeof i&&null!==i?i=ri(i):(l=hl(t)?pl:fl.current,i=(r=null!=(r=t.contextTypes))?ml(e,l):sl),t=new t(n,i),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=hi,e.stateNode=t,t._reactInternalFiber=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=l,e.__reactInternalMemoizedMaskedChildContext=i),t}function yi(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&hi.enqueueReplaceState(t,t.state,null)}function bi(e,t,n,r){var l=e.stateNode;l.props=n,l.state=e.memoizedState,l.refs=pi,ii(e);var i=t.contextType;"object"==typeof i&&null!==i?l.context=ri(i):(i=hl(t)?pl:fl.current,l.context=ml(e,i)),si(e,n,l,r),l.state=e.memoizedState,"function"==typeof(i=t.getDerivedStateFromProps)&&(mi(e,t,i,n),l.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||(t=l.state,"function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount(),t!==l.state&&hi.enqueueReplaceState(l,l.state,null),si(e,n,l,r),l.state=e.memoizedState),"function"==typeof l.componentDidMount&&(e.effectTag|=4)}var wi=Array.isArray;function ki(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(a(309));var r=n.stateNode}if(!r)throw Error(a(147,e));var l=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===l?t.ref:((t=function(e){var t=r.refs;t===pi&&(t=r.refs={}),null===e?delete t[l]:t[l]=e})._stringRef=l,t)}if("string"!=typeof e)throw Error(a(284));if(!n._owner)throw Error(a(290,e))}return e}function xi(e,t){if("textarea"!==e.type)throw Error(a(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t,""))}function Ti(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.effectTag=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function l(e,t){return(e=Cu(e,t)).index=0,e.sibling=null,e}function i(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.effectTag=2,n):r:(t.effectTag=2,n):n}function o(t){return e&&null===t.alternate&&(t.effectTag=2),t}function u(e,t,n,r){return null===t||6!==t.tag?((t=Nu(n,e.mode,r)).return=e,t):((t=l(t,n)).return=e,t)}function c(e,t,n,r){return null!==t&&t.elementType===n.type?((r=l(t,n.props)).ref=ki(e,t,n),r.return=e,r):((r=_u(n.type,n.key,n.props,null,e.mode,r)).ref=ki(e,t,n),r.return=e,r)}function s(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=zu(n,e.mode,r)).return=e,t):((t=l(t,n.children||[])).return=e,t)}function f(e,t,n,r,i){return null===t||7!==t.tag?((t=Pu(n,e.mode,r,i)).return=e,t):((t=l(t,n)).return=e,t)}function d(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=Nu(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case ee:return(n=_u(t.type,t.key,t.props,null,e.mode,n)).ref=ki(e,null,t),n.return=e,n;case te:return(t=zu(t,e.mode,n)).return=e,t}if(wi(t)||he(t))return(t=Pu(t,e.mode,n,null)).return=e,t;xi(e,t)}return null}function p(e,t,n,r){var l=null!==t?t.key:null;if("string"==typeof n||"number"==typeof n)return null!==l?null:u(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case ee:return n.key===l?n.type===ne?f(e,t,n.props.children,r,l):c(e,t,n,r):null;case te:return n.key===l?s(e,t,n,r):null}if(wi(n)||he(n))return null!==l?null:f(e,t,n,r,null);xi(e,n)}return null}function m(e,t,n,r,l){if("string"==typeof r||"number"==typeof r)return u(t,e=e.get(n)||null,""+r,l);if("object"==typeof r&&null!==r){switch(r.$$typeof){case ee:return e=e.get(null===r.key?n:r.key)||null,r.type===ne?f(t,e,r.props.children,l,r.key):c(t,e,r,l);case te:return s(t,e=e.get(null===r.key?n:r.key)||null,r,l)}if(wi(r)||he(r))return f(t,e=e.get(n)||null,r,l,null);xi(t,r)}return null}function h(l,a,o,u){for(var c=null,s=null,f=a,h=a=0,v=null;null!==f&&h<o.length;h++){f.index>h?(v=f,f=null):v=f.sibling;var g=p(l,f,o[h],u);if(null===g){null===f&&(f=v);break}e&&f&&null===g.alternate&&t(l,f),a=i(g,a,h),null===s?c=g:s.sibling=g,s=g,f=v}if(h===o.length)return n(l,f),c;if(null===f){for(;h<o.length;h++)null!==(f=d(l,o[h],u))&&(a=i(f,a,h),null===s?c=f:s.sibling=f,s=f);return c}for(f=r(l,f);h<o.length;h++)null!==(v=m(f,l,h,o[h],u))&&(e&&null!==v.alternate&&f.delete(null===v.key?h:v.key),a=i(v,a,h),null===s?c=v:s.sibling=v,s=v);return e&&f.forEach((function(e){return t(l,e)})),c}function v(l,o,u,c){var s=he(u);if("function"!=typeof s)throw Error(a(150));if(null==(u=s.call(u)))throw Error(a(151));for(var f=s=null,h=o,v=o=0,g=null,y=u.next();null!==h&&!y.done;v++,y=u.next()){h.index>v?(g=h,h=null):g=h.sibling;var b=p(l,h,y.value,c);if(null===b){null===h&&(h=g);break}e&&h&&null===b.alternate&&t(l,h),o=i(b,o,v),null===f?s=b:f.sibling=b,f=b,h=g}if(y.done)return n(l,h),s;if(null===h){for(;!y.done;v++,y=u.next())null!==(y=d(l,y.value,c))&&(o=i(y,o,v),null===f?s=y:f.sibling=y,f=y);return s}for(h=r(l,h);!y.done;v++,y=u.next())null!==(y=m(h,l,v,y.value,c))&&(e&&null!==y.alternate&&h.delete(null===y.key?v:y.key),o=i(y,o,v),null===f?s=y:f.sibling=y,f=y);return e&&h.forEach((function(e){return t(l,e)})),s}return function(e,r,i,u){var c="object"==typeof i&&null!==i&&i.type===ne&&null===i.key;c&&(i=i.props.children);var s="object"==typeof i&&null!==i;if(s)switch(i.$$typeof){case ee:e:{for(s=i.key,c=r;null!==c;){if(c.key===s){switch(c.tag){case 7:if(i.type===ne){n(e,c.sibling),(r=l(c,i.props.children)).return=e,e=r;break e}break;default:if(c.elementType===i.type){n(e,c.sibling),(r=l(c,i.props)).ref=ki(e,c,i),r.return=e,e=r;break e}}n(e,c);break}t(e,c),c=c.sibling}i.type===ne?((r=Pu(i.props.children,e.mode,u,i.key)).return=e,e=r):((u=_u(i.type,i.key,i.props,null,e.mode,u)).ref=ki(e,r,i),u.return=e,e=u)}return o(e);case te:e:{for(c=i.key;null!==r;){if(r.key===c){if(4===r.tag&&r.stateNode.containerInfo===i.containerInfo&&r.stateNode.implementation===i.implementation){n(e,r.sibling),(r=l(r,i.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=zu(i,e.mode,u)).return=e,e=r}return o(e)}if("string"==typeof i||"number"==typeof i)return i=""+i,null!==r&&6===r.tag?(n(e,r.sibling),(r=l(r,i)).return=e,e=r):(n(e,r),(r=Nu(i,e.mode,u)).return=e,e=r),o(e);if(wi(i))return h(e,r,i,u);if(he(i))return v(e,r,i,u);if(s&&xi(e,i),void 0===i&&!c)switch(e.tag){case 1:case 0:throw e=e.type,Error(a(152,e.displayName||e.name||"Component"))}return n(e,r)}}var Ei=Ti(!0),Si=Ti(!1),Ci={},_i={current:Ci},Pi={current:Ci},Ni={current:Ci};function zi(e){if(e===Ci)throw Error(a(174));return e}function Oi(e,t){switch(cl(Ni,t),cl(Pi,e),cl(_i,Ci),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Le(null,"");break;default:t=Le(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ul(_i),cl(_i,t)}function Ri(){ul(_i),ul(Pi),ul(Ni)}function Mi(e){zi(Ni.current);var t=zi(_i.current),n=Le(t,e.type);t!==n&&(cl(Pi,e),cl(_i,n))}function Ii(e){Pi.current===e&&(ul(_i),ul(Pi))}var Fi={current:0};function Di(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.effectTag))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function Li(e,t){return{responder:e,props:t}}var Ai=X.ReactCurrentDispatcher,Ui=X.ReactCurrentBatchConfig,Vi=0,Wi=null,ji=null,Qi=null,$i=!1;function Bi(){throw Error(a(321))}function Hi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Lr(e[n],t[n]))return!1;return!0}function Ki(e,t,n,r,l,i){if(Vi=i,Wi=t,t.memoizedState=null,t.updateQueue=null,t.expirationTime=0,Ai.current=null===e||null===e.memoizedState?va:ga,e=n(r,l),t.expirationTime===Vi){i=0;do{if(t.expirationTime=0,!(25>i))throw Error(a(301));i+=1,Qi=ji=null,t.updateQueue=null,Ai.current=ya,e=n(r,l)}while(t.expirationTime===Vi)}if(Ai.current=ha,t=null!==ji&&null!==ji.next,Vi=0,Qi=ji=Wi=null,$i=!1,t)throw Error(a(300));return e}function qi(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Qi?Wi.memoizedState=Qi=e:Qi=Qi.next=e,Qi}function Yi(){if(null===ji){var e=Wi.alternate;e=null!==e?e.memoizedState:null}else e=ji.next;var t=null===Qi?Wi.memoizedState:Qi.next;if(null!==t)Qi=t,ji=e;else{if(null===e)throw Error(a(310));e={memoizedState:(ji=e).memoizedState,baseState:ji.baseState,baseQueue:ji.baseQueue,queue:ji.queue,next:null},null===Qi?Wi.memoizedState=Qi=e:Qi=Qi.next=e}return Qi}function Xi(e,t){return"function"==typeof t?t(e):t}function Gi(e){var t=Yi(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=ji,l=r.baseQueue,i=n.pending;if(null!==i){if(null!==l){var o=l.next;l.next=i.next,i.next=o}r.baseQueue=l=i,n.pending=null}if(null!==l){l=l.next,r=r.baseState;var u=o=i=null,c=l;do{var s=c.expirationTime;if(s<Vi){var f={expirationTime:c.expirationTime,suspenseConfig:c.suspenseConfig,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null};null===u?(o=u=f,i=r):u=u.next=f,s>Wi.expirationTime&&(Wi.expirationTime=s,au(s))}else null!==u&&(u=u.next={expirationTime:1073741823,suspenseConfig:c.suspenseConfig,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null}),iu(s,c.suspenseConfig),r=c.eagerReducer===e?c.eagerState:e(r,c.action);c=c.next}while(null!==c&&c!==l);null===u?i=r:u.next=o,Lr(r,t.memoizedState)||(Na=!0),t.memoizedState=r,t.baseState=i,t.baseQueue=u,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function Ji(e){var t=Yi(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,l=n.pending,i=t.memoizedState;if(null!==l){n.pending=null;var o=l=l.next;do{i=e(i,o.action),o=o.next}while(o!==l);Lr(i,t.memoizedState)||(Na=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function Zi(e){var t=qi();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:Xi,lastRenderedState:e}).dispatch=ma.bind(null,Wi,e),[t.memoizedState,e]}function ea(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=Wi.updateQueue)?(t={lastEffect:null},Wi.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function ta(){return Yi().memoizedState}function na(e,t,n,r){var l=qi();Wi.effectTag|=e,l.memoizedState=ea(1|t,n,void 0,void 0===r?null:r)}function ra(e,t,n,r){var l=Yi();r=void 0===r?null:r;var i=void 0;if(null!==ji){var a=ji.memoizedState;if(i=a.destroy,null!==r&&Hi(r,a.deps))return void ea(t,n,i,r)}Wi.effectTag|=e,l.memoizedState=ea(1|t,n,i,r)}function la(e,t){return na(516,4,e,t)}function ia(e,t){return ra(516,4,e,t)}function aa(e,t){return ra(4,2,e,t)}function oa(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function ua(e,t,n){return n=null!=n?n.concat([e]):null,ra(4,2,oa.bind(null,t,e),n)}function ca(){}function sa(e,t){return qi().memoizedState=[e,void 0===t?null:t],e}function fa(e,t){var n=Yi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Hi(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function da(e,t){var n=Yi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Hi(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function pa(e,t,n){var r=Vl();jl(98>r?98:r,(function(){e(!0)})),jl(97<r?97:r,(function(){var r=Ui.suspense;Ui.suspense=void 0===t?null:t;try{e(!1),n()}finally{Ui.suspense=r}}))}function ma(e,t,n){var r=Ho(),l=di.suspense;l={expirationTime:r=Ko(r,e,l),suspenseConfig:l,action:n,eagerReducer:null,eagerState:null,next:null};var i=t.pending;if(null===i?l.next=l:(l.next=i.next,i.next=l),t.pending=l,i=e.alternate,e===Wi||null!==i&&i===Wi)$i=!0,l.expirationTime=Vi,Wi.expirationTime=Vi;else{if(0===e.expirationTime&&(null===i||0===i.expirationTime)&&null!==(i=t.lastRenderedReducer))try{var a=t.lastRenderedState,o=i(a,n);if(l.eagerReducer=i,l.eagerState=o,Lr(o,a))return}catch(u){}qo(e,r)}}var ha={readContext:ri,useCallback:Bi,useContext:Bi,useEffect:Bi,useImperativeHandle:Bi,useLayoutEffect:Bi,useMemo:Bi,useReducer:Bi,useRef:Bi,useState:Bi,useDebugValue:Bi,useResponder:Bi,useDeferredValue:Bi,useTransition:Bi},va={readContext:ri,useCallback:sa,useContext:ri,useEffect:la,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,na(4,2,oa.bind(null,t,e),n)},useLayoutEffect:function(e,t){return na(4,2,e,t)},useMemo:function(e,t){var n=qi();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=qi();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=ma.bind(null,Wi,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},qi().memoizedState=e},useState:Zi,useDebugValue:ca,useResponder:Li,useDeferredValue:function(e,t){var n=Zi(e),r=n[0],l=n[1];return la((function(){var n=Ui.suspense;Ui.suspense=void 0===t?null:t;try{l(e)}finally{Ui.suspense=n}}),[e,t]),r},useTransition:function(e){var t=Zi(!1),n=t[0];return t=t[1],[sa(pa.bind(null,t,e),[t,e]),n]}},ga={readContext:ri,useCallback:fa,useContext:ri,useEffect:ia,useImperativeHandle:ua,useLayoutEffect:aa,useMemo:da,useReducer:Gi,useRef:ta,useState:function(){return Gi(Xi)},useDebugValue:ca,useResponder:Li,useDeferredValue:function(e,t){var n=Gi(Xi),r=n[0],l=n[1];return ia((function(){var n=Ui.suspense;Ui.suspense=void 0===t?null:t;try{l(e)}finally{Ui.suspense=n}}),[e,t]),r},useTransition:function(e){var t=Gi(Xi),n=t[0];return t=t[1],[fa(pa.bind(null,t,e),[t,e]),n]}},ya={readContext:ri,useCallback:fa,useContext:ri,useEffect:ia,useImperativeHandle:ua,useLayoutEffect:aa,useMemo:da,useReducer:Ji,useRef:ta,useState:function(){return Ji(Xi)},useDebugValue:ca,useResponder:Li,useDeferredValue:function(e,t){var n=Ji(Xi),r=n[0],l=n[1];return ia((function(){var n=Ui.suspense;Ui.suspense=void 0===t?null:t;try{l(e)}finally{Ui.suspense=n}}),[e,t]),r},useTransition:function(e){var t=Ji(Xi),n=t[0];return t=t[1],[fa(pa.bind(null,t,e),[t,e]),n]}},ba=null,wa=null,ka=!1;function xa(e,t){var n=Eu(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Ta(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);case 13:default:return!1}}function Ea(e){if(ka){var t=wa;if(t){var n=t;if(!Ta(e,t)){if(!(t=kn(n.nextSibling))||!Ta(e,t))return e.effectTag=-1025&e.effectTag|2,ka=!1,void(ba=e);xa(ba,n)}ba=e,wa=kn(t.firstChild)}else e.effectTag=-1025&e.effectTag|2,ka=!1,ba=e}}function Sa(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ba=e}function Ca(e){if(e!==ba)return!1;if(!ka)return Sa(e),ka=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!yn(t,e.memoizedProps))for(t=wa;t;)xa(e,t),t=kn(t.nextSibling);if(Sa(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){wa=kn(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}wa=null}}else wa=ba?kn(e.stateNode.nextSibling):null;return!0}function _a(){wa=ba=null,ka=!1}var Pa=X.ReactCurrentOwner,Na=!1;function za(e,t,n,r){t.child=null===e?Si(t,null,n,r):Ei(t,e.child,n,r)}function Oa(e,t,n,r,l){n=n.render;var i=t.ref;return ni(t,l),r=Ki(e,t,n,r,i,l),null===e||Na?(t.effectTag|=1,za(e,t,r,l),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=l&&(e.expirationTime=0),Ka(e,t,l))}function Ra(e,t,n,r,l,i){if(null===e){var a=n.type;return"function"!=typeof a||Su(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=_u(n.type,null,r,null,t.mode,i)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,Ma(e,t,a,r,l,i))}return a=e.child,l<i&&(l=a.memoizedProps,(n=null!==(n=n.compare)?n:Ur)(l,r)&&e.ref===t.ref)?Ka(e,t,i):(t.effectTag|=1,(e=Cu(a,r)).ref=t.ref,e.return=t,t.child=e)}function Ma(e,t,n,r,l,i){return null!==e&&Ur(e.memoizedProps,r)&&e.ref===t.ref&&(Na=!1,l<i)?(t.expirationTime=e.expirationTime,Ka(e,t,i)):Fa(e,t,n,r,i)}function Ia(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function Fa(e,t,n,r,l){var i=hl(n)?pl:fl.current;return i=ml(t,i),ni(t,l),n=Ki(e,t,n,r,i,l),null===e||Na?(t.effectTag|=1,za(e,t,n,l),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=l&&(e.expirationTime=0),Ka(e,t,l))}function Da(e,t,n,r,l){if(hl(n)){var i=!0;bl(t)}else i=!1;if(ni(t,l),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),gi(t,n,r),bi(t,n,r,l),r=!0;else if(null===e){var a=t.stateNode,o=t.memoizedProps;a.props=o;var u=a.context,c=n.contextType;"object"==typeof c&&null!==c?c=ri(c):c=ml(t,c=hl(n)?pl:fl.current);var s=n.getDerivedStateFromProps,f="function"==typeof s||"function"==typeof a.getSnapshotBeforeUpdate;f||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(o!==r||u!==c)&&yi(t,a,r,c),li=!1;var d=t.memoizedState;a.state=d,si(t,r,a,l),u=t.memoizedState,o!==r||d!==u||dl.current||li?("function"==typeof s&&(mi(t,n,s,r),u=t.memoizedState),(o=li||vi(t,n,o,r,d,u,c))?(f||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||("function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),"function"==typeof a.componentDidMount&&(t.effectTag|=4)):("function"==typeof a.componentDidMount&&(t.effectTag|=4),t.memoizedProps=r,t.memoizedState=u),a.props=r,a.state=u,a.context=c,r=o):("function"==typeof a.componentDidMount&&(t.effectTag|=4),r=!1)}else a=t.stateNode,ai(e,t),o=t.memoizedProps,a.props=t.type===t.elementType?o:ql(t.type,o),u=a.context,"object"==typeof(c=n.contextType)&&null!==c?c=ri(c):c=ml(t,c=hl(n)?pl:fl.current),(f="function"==typeof(s=n.getDerivedStateFromProps)||"function"==typeof a.getSnapshotBeforeUpdate)||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(o!==r||u!==c)&&yi(t,a,r,c),li=!1,u=t.memoizedState,a.state=u,si(t,r,a,l),d=t.memoizedState,o!==r||u!==d||dl.current||li?("function"==typeof s&&(mi(t,n,s,r),d=t.memoizedState),(s=li||vi(t,n,o,r,u,d,c))?(f||"function"!=typeof a.UNSAFE_componentWillUpdate&&"function"!=typeof a.componentWillUpdate||("function"==typeof a.componentWillUpdate&&a.componentWillUpdate(r,d,c),"function"==typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(r,d,c)),"function"==typeof a.componentDidUpdate&&(t.effectTag|=4),"function"==typeof a.getSnapshotBeforeUpdate&&(t.effectTag|=256)):("function"!=typeof a.componentDidUpdate||o===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=4),"function"!=typeof a.getSnapshotBeforeUpdate||o===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=256),t.memoizedProps=r,t.memoizedState=d),a.props=r,a.state=d,a.context=c,r=s):("function"!=typeof a.componentDidUpdate||o===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=4),"function"!=typeof a.getSnapshotBeforeUpdate||o===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=256),r=!1);return La(e,t,n,r,i,l)}function La(e,t,n,r,l,i){Ia(e,t);var a=0!=(64&t.effectTag);if(!r&&!a)return l&&wl(t,n,!1),Ka(e,t,i);r=t.stateNode,Pa.current=t;var o=a&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.effectTag|=1,null!==e&&a?(t.child=Ei(t,e.child,null,i),t.child=Ei(t,null,o,i)):za(e,t,o,i),t.memoizedState=r.state,l&&wl(t,n,!0),t.child}function Aa(e){var t=e.stateNode;t.pendingContext?gl(0,t.pendingContext,t.pendingContext!==t.context):t.context&&gl(0,t.context,!1),Oi(e,t.containerInfo)}var Ua,Va,Wa,ja={dehydrated:null,retryTime:0};function Qa(e,t,n){var r,l=t.mode,i=t.pendingProps,a=Fi.current,o=!1;if((r=0!=(64&t.effectTag))||(r=0!=(2&a)&&(null===e||null!==e.memoizedState)),r?(o=!0,t.effectTag&=-65):null!==e&&null===e.memoizedState||void 0===i.fallback||!0===i.unstable_avoidThisFallback||(a|=1),cl(Fi,1&a),null===e){if(void 0!==i.fallback&&Ea(t),o){if(o=i.fallback,(i=Pu(null,l,0,null)).return=t,0==(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,i.child=e;null!==e;)e.return=i,e=e.sibling;return(n=Pu(o,l,n,null)).return=t,i.sibling=n,t.memoizedState=ja,t.child=i,n}return l=i.children,t.memoizedState=null,t.child=Si(t,null,l,n)}if(null!==e.memoizedState){if(l=(e=e.child).sibling,o){if(i=i.fallback,(n=Cu(e,e.pendingProps)).return=t,0==(2&t.mode)&&(o=null!==t.memoizedState?t.child.child:t.child)!==e.child)for(n.child=o;null!==o;)o.return=n,o=o.sibling;return(l=Cu(l,i)).return=t,n.sibling=l,n.childExpirationTime=0,t.memoizedState=ja,t.child=n,l}return n=Ei(t,e.child,i.children,n),t.memoizedState=null,t.child=n}if(e=e.child,o){if(o=i.fallback,(i=Pu(null,l,0,null)).return=t,i.child=e,null!==e&&(e.return=i),0==(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,i.child=e;null!==e;)e.return=i,e=e.sibling;return(n=Pu(o,l,n,null)).return=t,i.sibling=n,n.effectTag|=2,i.childExpirationTime=0,t.memoizedState=ja,t.child=i,n}return t.memoizedState=null,t.child=Ei(t,e,i.children,n)}function $a(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t),ti(e.return,t)}function Ba(e,t,n,r,l,i){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailExpiration:0,tailMode:l,lastEffect:i}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailExpiration=0,a.tailMode=l,a.lastEffect=i)}function Ha(e,t,n){var r=t.pendingProps,l=r.revealOrder,i=r.tail;if(za(e,t,r.children,n),0!=(2&(r=Fi.current)))r=1&r|2,t.effectTag|=64;else{if(null!==e&&0!=(64&e.effectTag))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&$a(e,n);else if(19===e.tag)$a(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(cl(Fi,r),0==(2&t.mode))t.memoizedState=null;else switch(l){case"forwards":for(n=t.child,l=null;null!==n;)null!==(e=n.alternate)&&null===Di(e)&&(l=n),n=n.sibling;null===(n=l)?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),Ba(t,!1,l,n,i,t.lastEffect);break;case"backwards":for(n=null,l=t.child,t.child=null;null!==l;){if(null!==(e=l.alternate)&&null===Di(e)){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}Ba(t,!0,n,null,i,t.lastEffect);break;case"together":Ba(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function Ka(e,t,n){null!==e&&(t.dependencies=e.dependencies);var r=t.expirationTime;if(0!==r&&au(r),t.childExpirationTime<n)return null;if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=Cu(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Cu(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function qa(e,t){switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Ya(e,t,n){var r=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return hl(t.type)&&vl(),null;case 3:return Ri(),ul(dl),ul(fl),(n=t.stateNode).pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||!Ca(t)||(t.effectTag|=4),null;case 5:Ii(t),n=zi(Ni.current);var i=t.type;if(null!==e&&null!=t.stateNode)Va(e,t,i,r,n),e.ref!==t.ref&&(t.effectTag|=128);else{if(!r){if(null===t.stateNode)throw Error(a(166));return null}if(e=zi(_i.current),Ca(t)){r=t.stateNode,i=t.type;var o=t.memoizedProps;switch(r[En]=t,r[Sn]=o,i){case"iframe":case"object":case"embed":Kt("load",r);break;case"video":case"audio":for(e=0;e<Xe.length;e++)Kt(Xe[e],r);break;case"source":Kt("error",r);break;case"img":case"image":case"link":Kt("error",r),Kt("load",r);break;case"form":Kt("reset",r),Kt("submit",r);break;case"details":Kt("toggle",r);break;case"input":Te(r,o),Kt("invalid",r),un(n,"onChange");break;case"select":r._wrapperState={wasMultiple:!!o.multiple},Kt("invalid",r),un(n,"onChange");break;case"textarea":Oe(r,o),Kt("invalid",r),un(n,"onChange")}for(var u in ln(i,o),e=null,o)if(o.hasOwnProperty(u)){var c=o[u];"children"===u?"string"==typeof c?r.textContent!==c&&(e=["children",c]):"number"==typeof c&&r.textContent!==""+c&&(e=["children",""+c]):E.hasOwnProperty(u)&&null!=c&&un(n,u)}switch(i){case"input":we(r),Ce(r,o,!0);break;case"textarea":we(r),Me(r);break;case"select":case"option":break;default:"function"==typeof o.onClick&&(r.onclick=cn)}n=e,t.updateQueue=n,null!==n&&(t.effectTag|=4)}else{switch(u=9===n.nodeType?n:n.ownerDocument,e===on&&(e=De(i)),e===on?"script"===i?((e=u.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=u.createElement(i,{is:r.is}):(e=u.createElement(i),"select"===i&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,i),e[En]=t,e[Sn]=r,Ua(e,t),t.stateNode=e,u=an(i,r),i){case"iframe":case"object":case"embed":Kt("load",e),c=r;break;case"video":case"audio":for(c=0;c<Xe.length;c++)Kt(Xe[c],e);c=r;break;case"source":Kt("error",e),c=r;break;case"img":case"image":case"link":Kt("error",e),Kt("load",e),c=r;break;case"form":Kt("reset",e),Kt("submit",e),c=r;break;case"details":Kt("toggle",e),c=r;break;case"input":Te(e,r),c=xe(e,r),Kt("invalid",e),un(n,"onChange");break;case"option":c=Pe(e,r);break;case"select":e._wrapperState={wasMultiple:!!r.multiple},c=l({},r,{value:void 0}),Kt("invalid",e),un(n,"onChange");break;case"textarea":Oe(e,r),c=ze(e,r),Kt("invalid",e),un(n,"onChange");break;default:c=r}ln(i,c);var s=c;for(o in s)if(s.hasOwnProperty(o)){var f=s[o];"style"===o?nn(e,f):"dangerouslySetInnerHTML"===o?null!=(f=f?f.__html:void 0)&&Ue(e,f):"children"===o?"string"==typeof f?("textarea"!==i||""!==f)&&Ve(e,f):"number"==typeof f&&Ve(e,""+f):"suppressContentEditableWarning"!==o&&"suppressHydrationWarning"!==o&&"autoFocus"!==o&&(E.hasOwnProperty(o)?null!=f&&un(n,o):null!=f&&G(e,o,f,u))}switch(i){case"input":we(e),Ce(e,r,!1);break;case"textarea":we(e),Me(e);break;case"option":null!=r.value&&e.setAttribute("value",""+ye(r.value));break;case"select":e.multiple=!!r.multiple,null!=(n=r.value)?Ne(e,!!r.multiple,n,!1):null!=r.defaultValue&&Ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof c.onClick&&(e.onclick=cn)}gn(i,r)&&(t.effectTag|=4)}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)Wa(0,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(a(166));n=zi(Ni.current),zi(_i.current),Ca(t)?(n=t.stateNode,r=t.memoizedProps,n[En]=t,n.nodeValue!==r&&(t.effectTag|=4)):((n=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[En]=t,t.stateNode=n)}return null;case 13:return ul(Fi),r=t.memoizedState,0!=(64&t.effectTag)?(t.expirationTime=n,t):(n=null!==r,r=!1,null===e?void 0!==t.memoizedProps.fallback&&Ca(t):(r=null!==(i=e.memoizedState),n||null===i||null!==(i=e.child.sibling)&&(null!==(o=t.firstEffect)?(t.firstEffect=i,i.nextEffect=o):(t.firstEffect=t.lastEffect=i,i.nextEffect=null),i.effectTag=8)),n&&!r&&0!=(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&Fi.current)?_o===wo&&(_o=ko):(_o!==wo&&_o!==ko||(_o=xo),0!==Ro&&null!==Eo&&(Mu(Eo,Co),Iu(Eo,Ro)))),(n||r)&&(t.effectTag|=4),null);case 4:return Ri(),null;case 10:return ei(t),null;case 17:return hl(t.type)&&vl(),null;case 19:if(ul(Fi),null===(r=t.memoizedState))return null;if(i=0!=(64&t.effectTag),null===(o=r.rendering)){if(i)qa(r,!1);else if(_o!==wo||null!==e&&0!=(64&e.effectTag))for(o=t.child;null!==o;){if(null!==(e=Di(o))){for(t.effectTag|=64,qa(r,!1),null!==(i=e.updateQueue)&&(t.updateQueue=i,t.effectTag|=4),null===r.lastEffect&&(t.firstEffect=null),t.lastEffect=r.lastEffect,r=t.child;null!==r;)o=n,(i=r).effectTag&=2,i.nextEffect=null,i.firstEffect=null,i.lastEffect=null,null===(e=i.alternate)?(i.childExpirationTime=0,i.expirationTime=o,i.child=null,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null):(i.childExpirationTime=e.childExpirationTime,i.expirationTime=e.expirationTime,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,o=e.dependencies,i.dependencies=null===o?null:{expirationTime:o.expirationTime,firstContext:o.firstContext,responders:o.responders}),r=r.sibling;return cl(Fi,1&Fi.current|2),t.child}o=o.sibling}}else{if(!i)if(null!==(e=Di(o))){if(t.effectTag|=64,i=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.effectTag|=4),qa(r,!0),null===r.tail&&"hidden"===r.tailMode&&!o.alternate)return null!==(t=t.lastEffect=r.lastEffect)&&(t.nextEffect=null),null}else 2*Ul()-r.renderingStartTime>r.tailExpiration&&1<n&&(t.effectTag|=64,i=!0,qa(r,!1),t.expirationTime=t.childExpirationTime=n-1);r.isBackwards?(o.sibling=t.child,t.child=o):(null!==(n=r.last)?n.sibling=o:t.child=o,r.last=o)}return null!==r.tail?(0===r.tailExpiration&&(r.tailExpiration=Ul()+500),n=r.tail,r.rendering=n,r.tail=n.sibling,r.lastEffect=t.lastEffect,r.renderingStartTime=Ul(),n.sibling=null,t=Fi.current,cl(Fi,i?1&t|2:1&t),n):null}throw Error(a(156,t.tag))}function Xa(e){switch(e.tag){case 1:hl(e.type)&&vl();var t=e.effectTag;return 4096&t?(e.effectTag=-4097&t|64,e):null;case 3:if(Ri(),ul(dl),ul(fl),0!=(64&(t=e.effectTag)))throw Error(a(285));return e.effectTag=-4097&t|64,e;case 5:return Ii(e),null;case 13:return ul(Fi),4096&(t=e.effectTag)?(e.effectTag=-4097&t|64,e):null;case 19:return ul(Fi),null;case 4:return Ri(),null;case 10:return ei(e),null;default:return null}}function Ga(e,t){return{value:e,source:t,stack:ge(t)}}Ua=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Va=function(e,t,n,r,i){var a=e.memoizedProps;if(a!==r){var o,u,c=t.stateNode;switch(zi(_i.current),e=null,n){case"input":a=xe(c,a),r=xe(c,r),e=[];break;case"option":a=Pe(c,a),r=Pe(c,r),e=[];break;case"select":a=l({},a,{value:void 0}),r=l({},r,{value:void 0}),e=[];break;case"textarea":a=ze(c,a),r=ze(c,r),e=[];break;default:"function"!=typeof a.onClick&&"function"==typeof r.onClick&&(c.onclick=cn)}for(o in ln(n,r),n=null,a)if(!r.hasOwnProperty(o)&&a.hasOwnProperty(o)&&null!=a[o])if("style"===o)for(u in c=a[o])c.hasOwnProperty(u)&&(n||(n={}),n[u]="");else"dangerouslySetInnerHTML"!==o&&"children"!==o&&"suppressContentEditableWarning"!==o&&"suppressHydrationWarning"!==o&&"autoFocus"!==o&&(E.hasOwnProperty(o)?e||(e=[]):(e=e||[]).push(o,null));for(o in r){var s=r[o];if(c=null!=a?a[o]:void 0,r.hasOwnProperty(o)&&s!==c&&(null!=s||null!=c))if("style"===o)if(c){for(u in c)!c.hasOwnProperty(u)||s&&s.hasOwnProperty(u)||(n||(n={}),n[u]="");for(u in s)s.hasOwnProperty(u)&&c[u]!==s[u]&&(n||(n={}),n[u]=s[u])}else n||(e||(e=[]),e.push(o,n)),n=s;else"dangerouslySetInnerHTML"===o?(s=s?s.__html:void 0,c=c?c.__html:void 0,null!=s&&c!==s&&(e=e||[]).push(o,s)):"children"===o?c===s||"string"!=typeof s&&"number"!=typeof s||(e=e||[]).push(o,""+s):"suppressContentEditableWarning"!==o&&"suppressHydrationWarning"!==o&&(E.hasOwnProperty(o)?(null!=s&&un(i,o),e||c===s||(e=[])):(e=e||[]).push(o,s))}n&&(e=e||[]).push("style",n),i=e,(t.updateQueue=i)&&(t.effectTag|=4)}},Wa=function(e,t,n,r){n!==r&&(t.effectTag|=4)};var Ja="function"==typeof WeakSet?WeakSet:Set;function Za(e,t){var n=t.source,r=t.stack;null===r&&null!==n&&(r=ge(n)),null!==n&&ve(n.type),t=t.value,null!==e&&1===e.tag&&ve(e.type);try{console.error(t)}catch(l){setTimeout((function(){throw l}))}}function eo(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(n){yu(e,n)}else t.current=null}function to(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:ql(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:case 5:case 6:case 4:case 17:return}throw Error(a(163))}function no(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.destroy;n.destroy=void 0,void 0!==r&&r()}n=n.next}while(n!==t)}}function ro(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function lo(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:return void ro(3,n);case 1:if(e=n.stateNode,4&n.effectTag)if(null===t)e.componentDidMount();else{var r=n.elementType===n.type?t.memoizedProps:ql(n.type,t.memoizedProps);e.componentDidUpdate(r,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate)}return void(null!==(t=n.updateQueue)&&fi(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=n.child.stateNode;break;case 1:e=n.child.stateNode}fi(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.effectTag&&gn(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&Dt(n)))));case 19:case 17:case 20:case 21:return}throw Error(a(163))}function io(e,t,n){switch("function"==typeof xu&&xu(t),t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var r=e.next;jl(97<n?97:n,(function(){var e=r;do{var n=e.destroy;if(void 0!==n){var l=t;try{n()}catch(i){yu(l,i)}}e=e.next}while(e!==r)}))}break;case 1:eo(t),"function"==typeof(n=t.stateNode).componentWillUnmount&&function(e,t){try{t.props=e.memoizedProps,t.state=e.memoizedState,t.componentWillUnmount()}catch(n){yu(e,n)}}(t,n);break;case 5:eo(t);break;case 4:co(e,t,n)}}function ao(e){var t=e.alternate;e.return=null,e.child=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.alternate=null,e.firstEffect=null,e.lastEffect=null,e.pendingProps=null,e.memoizedProps=null,e.stateNode=null,null!==t&&ao(t)}function oo(e){return 5===e.tag||3===e.tag||4===e.tag}function uo(e){e:{for(var t=e.return;null!==t;){if(oo(t)){var n=t;break e}t=t.return}throw Error(a(160))}switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(a(161))}16&n.effectTag&&(Ve(t,""),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||oo(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}r?function e(t,n,r){var l=t.tag,i=5===l||6===l;if(i)t=i?t.stateNode:t.stateNode.instance,n?8===r.nodeType?r.parentNode.insertBefore(t,n):r.insertBefore(t,n):(8===r.nodeType?(n=r.parentNode).insertBefore(t,r):(n=r).appendChild(t),null!==(r=r._reactRootContainer)&&void 0!==r||null!==n.onclick||(n.onclick=cn));else if(4!==l&&null!==(t=t.child))for(e(t,n,r),t=t.sibling;null!==t;)e(t,n,r),t=t.sibling}(e,n,t):function e(t,n,r){var l=t.tag,i=5===l||6===l;if(i)t=i?t.stateNode:t.stateNode.instance,n?r.insertBefore(t,n):r.appendChild(t);else if(4!==l&&null!==(t=t.child))for(e(t,n,r),t=t.sibling;null!==t;)e(t,n,r),t=t.sibling}(e,n,t)}function co(e,t,n){for(var r,l,i=t,o=!1;;){if(!o){o=i.return;e:for(;;){if(null===o)throw Error(a(160));switch(r=o.stateNode,o.tag){case 5:l=!1;break e;case 3:case 4:r=r.containerInfo,l=!0;break e}o=o.return}o=!0}if(5===i.tag||6===i.tag){e:for(var u=e,c=i,s=n,f=c;;)if(io(u,f,s),null!==f.child&&4!==f.tag)f.child.return=f,f=f.child;else{if(f===c)break e;for(;null===f.sibling;){if(null===f.return||f.return===c)break e;f=f.return}f.sibling.return=f.return,f=f.sibling}l?(u=r,c=i.stateNode,8===u.nodeType?u.parentNode.removeChild(c):u.removeChild(c)):r.removeChild(i.stateNode)}else if(4===i.tag){if(null!==i.child){r=i.stateNode.containerInfo,l=!0,i.child.return=i,i=i.child;continue}}else if(io(e,i,n),null!==i.child){i.child.return=i,i=i.child;continue}if(i===t)break;for(;null===i.sibling;){if(null===i.return||i.return===t)return;4===(i=i.return).tag&&(o=!1)}i.sibling.return=i.return,i=i.sibling}}function so(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:return void no(3,t);case 1:return;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps,l=null!==e?e.memoizedProps:r;e=t.type;var i=t.updateQueue;if(t.updateQueue=null,null!==i){for(n[Sn]=r,"input"===e&&"radio"===r.type&&null!=r.name&&Ee(n,r),an(e,l),t=an(e,r),l=0;l<i.length;l+=2){var o=i[l],u=i[l+1];"style"===o?nn(n,u):"dangerouslySetInnerHTML"===o?Ue(n,u):"children"===o?Ve(n,u):G(n,o,u,t)}switch(e){case"input":Se(n,r);break;case"textarea":Re(n,r);break;case"select":t=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!r.multiple,null!=(e=r.value)?Ne(n,!!r.multiple,e,!1):t!==!!r.multiple&&(null!=r.defaultValue?Ne(n,!!r.multiple,r.defaultValue,!0):Ne(n,!!r.multiple,r.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(a(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((t=t.stateNode).hydrate&&(t.hydrate=!1,Dt(t.containerInfo)));case 12:return;case 13:if(n=t,null===t.memoizedState?r=!1:(r=!0,n=t.child,Io=Ul()),null!==n)e:for(e=n;;){if(5===e.tag)i=e.stateNode,r?"function"==typeof(i=i.style).setProperty?i.setProperty("display","none","important"):i.display="none":(i=e.stateNode,l=null!=(l=e.memoizedProps.style)&&l.hasOwnProperty("display")?l.display:null,i.style.display=tn("display",l));else if(6===e.tag)e.stateNode.nodeValue=r?"":e.memoizedProps;else{if(13===e.tag&&null!==e.memoizedState&&null===e.memoizedState.dehydrated){(i=e.child.sibling).return=e,e=i;continue}if(null!==e.child){e.child.return=e,e=e.child;continue}}if(e===n)break;for(;null===e.sibling;){if(null===e.return||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}return void fo(t);case 19:return void fo(t);case 17:return}throw Error(a(163))}function fo(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Ja),t.forEach((function(t){var r=wu.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}var po="function"==typeof WeakMap?WeakMap:Map;function mo(e,t,n){(n=oi(n,null)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Do||(Do=!0,Lo=r),Za(e,t)},n}function ho(e,t,n){(n=oi(n,null)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var l=t.value;n.payload=function(){return Za(e,t),r(l)}}var i=e.stateNode;return null!==i&&"function"==typeof i.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===Ao?Ao=new Set([this]):Ao.add(this),Za(e,t));var n=t.stack;this.componentDidCatch(t.value,{componentStack:null!==n?n:""})}),n}var vo,go=Math.ceil,yo=X.ReactCurrentDispatcher,bo=X.ReactCurrentOwner,wo=0,ko=3,xo=4,To=0,Eo=null,So=null,Co=0,_o=wo,Po=null,No=1073741823,zo=1073741823,Oo=null,Ro=0,Mo=!1,Io=0,Fo=null,Do=!1,Lo=null,Ao=null,Uo=!1,Vo=null,Wo=90,jo=null,Qo=0,$o=null,Bo=0;function Ho(){return 0!=(48&To)?1073741821-(Ul()/10|0):0!==Bo?Bo:Bo=1073741821-(Ul()/10|0)}function Ko(e,t,n){if(0==(2&(t=t.mode)))return 1073741823;var r=Vl();if(0==(4&t))return 99===r?1073741823:1073741822;if(0!=(16&To))return Co;if(null!==n)e=Kl(e,0|n.timeoutMs||5e3,250);else switch(r){case 99:e=1073741823;break;case 98:e=Kl(e,150,100);break;case 97:case 96:e=Kl(e,5e3,250);break;case 95:e=2;break;default:throw Error(a(326))}return null!==Eo&&e===Co&&--e,e}function qo(e,t){if(50<Qo)throw Qo=0,$o=null,Error(a(185));if(null!==(e=Yo(e,t))){var n=Vl();1073741823===t?0!=(8&To)&&0==(48&To)?Zo(e):(Go(e),0===To&&Bl()):Go(e),0==(4&To)||98!==n&&99!==n||(null===jo?jo=new Map([[e,t]]):(void 0===(n=jo.get(e))||n>t)&&jo.set(e,t))}}function Yo(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t);var r=e.return,l=null;if(null===r&&3===e.tag)l=e.stateNode;else for(;null!==r;){if(n=r.alternate,r.childExpirationTime<t&&(r.childExpirationTime=t),null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t),null===r.return&&3===r.tag){l=r.stateNode;break}r=r.return}return null!==l&&(Eo===l&&(au(t),_o===xo&&Mu(l,Co)),Iu(l,t)),l}function Xo(e){var t=e.lastExpiredTime;if(0!==t)return t;if(!Ru(e,t=e.firstPendingTime))return t;var n=e.lastPingedTime;return 2>=(e=n>(e=e.nextKnownPendingLevel)?n:e)&&t!==e?0:e}function Go(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=$l(Zo.bind(null,e));else{var t=Xo(e),n=e.callbackNode;if(0===t)null!==n&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var r=Ho();if(1073741823===t?r=99:1===t||2===t?r=95:r=0>=(r=10*(1073741821-t)-10*(1073741821-r))?99:250>=r?98:5250>=r?97:95,null!==n){var l=e.callbackPriority;if(e.callbackExpirationTime===t&&l>=r)return;n!==Rl&&Tl(n)}e.callbackExpirationTime=t,e.callbackPriority=r,t=1073741823===t?$l(Zo.bind(null,e)):Ql(r,Jo.bind(null,e),{timeout:10*(1073741821-t)-Ul()}),e.callbackNode=t}}}function Jo(e,t){if(Bo=0,t)return Fu(e,t=Ho()),Go(e),null;var n=Xo(e);if(0!==n){if(t=e.callbackNode,0!=(48&To))throw Error(a(327));if(hu(),e===Eo&&n===Co||nu(e,n),null!==So){var r=To;To|=16;for(var l=lu();;)try{uu();break}catch(u){ru(e,u)}if(Zl(),To=r,yo.current=l,1===_o)throw t=Po,nu(e,n),Mu(e,n),Go(e),t;if(null===So)switch(l=e.finishedWork=e.current.alternate,e.finishedExpirationTime=n,r=_o,Eo=null,r){case wo:case 1:throw Error(a(345));case 2:Fu(e,2<n?2:n);break;case ko:if(Mu(e,n),n===(r=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=fu(l)),1073741823===No&&10<(l=Io+500-Ul())){if(Mo){var i=e.lastPingedTime;if(0===i||i>=n){e.lastPingedTime=n,nu(e,n);break}}if(0!==(i=Xo(e))&&i!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}e.timeoutHandle=bn(du.bind(null,e),l);break}du(e);break;case xo:if(Mu(e,n),n===(r=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=fu(l)),Mo&&(0===(l=e.lastPingedTime)||l>=n)){e.lastPingedTime=n,nu(e,n);break}if(0!==(l=Xo(e))&&l!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}if(1073741823!==zo?r=10*(1073741821-zo)-Ul():1073741823===No?r=0:(r=10*(1073741821-No)-5e3,0>(r=(l=Ul())-r)&&(r=0),(n=10*(1073741821-n)-l)<(r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*go(r/1960))-r)&&(r=n)),10<r){e.timeoutHandle=bn(du.bind(null,e),r);break}du(e);break;case 5:if(1073741823!==No&&null!==Oo){i=No;var o=Oo;if(0>=(r=0|o.busyMinDurationMs)?r=0:(l=0|o.busyDelayMs,r=(i=Ul()-(10*(1073741821-i)-(0|o.timeoutMs||5e3)))<=l?0:l+r-i),10<r){Mu(e,n),e.timeoutHandle=bn(du.bind(null,e),r);break}}du(e);break;default:throw Error(a(329))}if(Go(e),e.callbackNode===t)return Jo.bind(null,e)}}return null}function Zo(e){var t=e.lastExpiredTime;if(t=0!==t?t:1073741823,0!=(48&To))throw Error(a(327));if(hu(),e===Eo&&t===Co||nu(e,t),null!==So){var n=To;To|=16;for(var r=lu();;)try{ou();break}catch(l){ru(e,l)}if(Zl(),To=n,yo.current=r,1===_o)throw n=Po,nu(e,t),Mu(e,t),Go(e),n;if(null!==So)throw Error(a(261));e.finishedWork=e.current.alternate,e.finishedExpirationTime=t,Eo=null,du(e),Go(e)}return null}function eu(e,t){var n=To;To|=1;try{return e(t)}finally{0===(To=n)&&Bl()}}function tu(e,t){var n=To;To&=-2,To|=8;try{return e(t)}finally{0===(To=n)&&Bl()}}function nu(e,t){e.finishedWork=null,e.finishedExpirationTime=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,wn(n)),null!==So)for(n=So.return;null!==n;){var r=n;switch(r.tag){case 1:null!=(r=r.type.childContextTypes)&&vl();break;case 3:Ri(),ul(dl),ul(fl);break;case 5:Ii(r);break;case 4:Ri();break;case 13:case 19:ul(Fi);break;case 10:ei(r)}n=n.return}Eo=e,So=Cu(e.current,null),Co=t,_o=wo,Po=null,zo=No=1073741823,Oo=null,Ro=0,Mo=!1}function ru(e,t){for(;;){try{if(Zl(),Ai.current=ha,$i)for(var n=Wi.memoizedState;null!==n;){var r=n.queue;null!==r&&(r.pending=null),n=n.next}if(Vi=0,Qi=ji=Wi=null,$i=!1,null===So||null===So.return)return _o=1,Po=t,So=null;e:{var l=e,i=So.return,a=So,o=t;if(t=Co,a.effectTag|=2048,a.firstEffect=a.lastEffect=null,null!==o&&"object"==typeof o&&"function"==typeof o.then){var u=o;if(0==(2&a.mode)){var c=a.alternate;c?(a.updateQueue=c.updateQueue,a.memoizedState=c.memoizedState,a.expirationTime=c.expirationTime):(a.updateQueue=null,a.memoizedState=null)}var s=0!=(1&Fi.current),f=i;do{var d;if(d=13===f.tag){var p=f.memoizedState;if(null!==p)d=null!==p.dehydrated;else{var m=f.memoizedProps;d=void 0!==m.fallback&&(!0!==m.unstable_avoidThisFallback||!s)}}if(d){var h=f.updateQueue;if(null===h){var v=new Set;v.add(u),f.updateQueue=v}else h.add(u);if(0==(2&f.mode)){if(f.effectTag|=64,a.effectTag&=-2981,1===a.tag)if(null===a.alternate)a.tag=17;else{var g=oi(1073741823,null);g.tag=2,ui(a,g)}a.expirationTime=1073741823;break e}o=void 0,a=t;var y=l.pingCache;if(null===y?(y=l.pingCache=new po,o=new Set,y.set(u,o)):void 0===(o=y.get(u))&&(o=new Set,y.set(u,o)),!o.has(a)){o.add(a);var b=bu.bind(null,l,u,a);u.then(b,b)}f.effectTag|=4096,f.expirationTime=t;break e}f=f.return}while(null!==f);o=Error((ve(a.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+ge(a))}5!==_o&&(_o=2),o=Ga(o,a),f=i;do{switch(f.tag){case 3:u=o,f.effectTag|=4096,f.expirationTime=t,ci(f,mo(f,u,t));break e;case 1:u=o;var w=f.type,k=f.stateNode;if(0==(64&f.effectTag)&&("function"==typeof w.getDerivedStateFromError||null!==k&&"function"==typeof k.componentDidCatch&&(null===Ao||!Ao.has(k)))){f.effectTag|=4096,f.expirationTime=t,ci(f,ho(f,u,t));break e}}f=f.return}while(null!==f)}So=su(So)}catch(x){t=x;continue}break}}function lu(){var e=yo.current;return yo.current=ha,null===e?ha:e}function iu(e,t){e<No&&2<e&&(No=e),null!==t&&e<zo&&2<e&&(zo=e,Oo=t)}function au(e){e>Ro&&(Ro=e)}function ou(){for(;null!==So;)So=cu(So)}function uu(){for(;null!==So&&!Ml();)So=cu(So)}function cu(e){var t=vo(e.alternate,e,Co);return e.memoizedProps=e.pendingProps,null===t&&(t=su(e)),bo.current=null,t}function su(e){So=e;do{var t=So.alternate;if(e=So.return,0==(2048&So.effectTag)){if(t=Ya(t,So,Co),1===Co||1!==So.childExpirationTime){for(var n=0,r=So.child;null!==r;){var l=r.expirationTime,i=r.childExpirationTime;l>n&&(n=l),i>n&&(n=i),r=r.sibling}So.childExpirationTime=n}if(null!==t)return t;null!==e&&0==(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=So.firstEffect),null!==So.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=So.firstEffect),e.lastEffect=So.lastEffect),1<So.effectTag&&(null!==e.lastEffect?e.lastEffect.nextEffect=So:e.firstEffect=So,e.lastEffect=So))}else{if(null!==(t=Xa(So)))return t.effectTag&=2047,t;null!==e&&(e.firstEffect=e.lastEffect=null,e.effectTag|=2048)}if(null!==(t=So.sibling))return t;So=e}while(null!==So);return _o===wo&&(_o=5),null}function fu(e){var t=e.expirationTime;return t>(e=e.childExpirationTime)?t:e}function du(e){var t=Vl();return jl(99,pu.bind(null,e,t)),null}function pu(e,t){do{hu()}while(null!==Vo);if(0!=(48&To))throw Error(a(327));var n=e.finishedWork,r=e.finishedExpirationTime;if(null===n)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var l=fu(n);if(e.firstPendingTime=l,r<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:r<=e.firstSuspendedTime&&(e.firstSuspendedTime=r-1),r<=e.lastPingedTime&&(e.lastPingedTime=0),r<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===Eo&&(So=Eo=null,Co=0),1<n.effectTag?null!==n.lastEffect?(n.lastEffect.nextEffect=n,l=n.firstEffect):l=n:l=n.firstEffect,null!==l){var i=To;To|=32,bo.current=null,hn=Ht;var o=pn();if(mn(o)){if("selectionStart"in o)var u={start:o.selectionStart,end:o.selectionEnd};else e:{var c=(u=(u=o.ownerDocument)&&u.defaultView||window).getSelection&&u.getSelection();if(c&&0!==c.rangeCount){u=c.anchorNode;var s=c.anchorOffset,f=c.focusNode;c=c.focusOffset;try{u.nodeType,f.nodeType}catch(C){u=null;break e}var d=0,p=-1,m=-1,h=0,v=0,g=o,y=null;t:for(;;){for(var b;g!==u||0!==s&&3!==g.nodeType||(p=d+s),g!==f||0!==c&&3!==g.nodeType||(m=d+c),3===g.nodeType&&(d+=g.nodeValue.length),null!==(b=g.firstChild);)y=g,g=b;for(;;){if(g===o)break t;if(y===u&&++h===s&&(p=d),y===f&&++v===c&&(m=d),null!==(b=g.nextSibling))break;y=(g=y).parentNode}g=b}u=-1===p||-1===m?null:{start:p,end:m}}else u=null}u=u||{start:0,end:0}}else u=null;vn={activeElementDetached:null,focusedElem:o,selectionRange:u},Ht=!1,Fo=l;do{try{mu()}catch(C){if(null===Fo)throw Error(a(330));yu(Fo,C),Fo=Fo.nextEffect}}while(null!==Fo);Fo=l;do{try{for(o=e,u=t;null!==Fo;){var w=Fo.effectTag;if(16&w&&Ve(Fo.stateNode,""),128&w){var k=Fo.alternate;if(null!==k){var x=k.ref;null!==x&&("function"==typeof x?x(null):x.current=null)}}switch(1038&w){case 2:uo(Fo),Fo.effectTag&=-3;break;case 6:uo(Fo),Fo.effectTag&=-3,so(Fo.alternate,Fo);break;case 1024:Fo.effectTag&=-1025;break;case 1028:Fo.effectTag&=-1025,so(Fo.alternate,Fo);break;case 4:so(Fo.alternate,Fo);break;case 8:co(o,s=Fo,u),ao(s)}Fo=Fo.nextEffect}}catch(C){if(null===Fo)throw Error(a(330));yu(Fo,C),Fo=Fo.nextEffect}}while(null!==Fo);if(x=vn,k=pn(),w=x.focusedElem,u=x.selectionRange,k!==w&&w&&w.ownerDocument&&function e(t,n){return!(!t||!n)&&(t===n||(!t||3!==t.nodeType)&&(n&&3===n.nodeType?e(t,n.parentNode):"contains"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}(w.ownerDocument.documentElement,w)){null!==u&&mn(w)&&(k=u.start,void 0===(x=u.end)&&(x=k),"selectionStart"in w?(w.selectionStart=k,w.selectionEnd=Math.min(x,w.value.length)):(x=(k=w.ownerDocument||document)&&k.defaultView||window).getSelection&&(x=x.getSelection(),s=w.textContent.length,o=Math.min(u.start,s),u=void 0===u.end?o:Math.min(u.end,s),!x.extend&&o>u&&(s=u,u=o,o=s),s=dn(w,o),f=dn(w,u),s&&f&&(1!==x.rangeCount||x.anchorNode!==s.node||x.anchorOffset!==s.offset||x.focusNode!==f.node||x.focusOffset!==f.offset)&&((k=k.createRange()).setStart(s.node,s.offset),x.removeAllRanges(),o>u?(x.addRange(k),x.extend(f.node,f.offset)):(k.setEnd(f.node,f.offset),x.addRange(k))))),k=[];for(x=w;x=x.parentNode;)1===x.nodeType&&k.push({element:x,left:x.scrollLeft,top:x.scrollTop});for("function"==typeof w.focus&&w.focus(),w=0;w<k.length;w++)(x=k[w]).element.scrollLeft=x.left,x.element.scrollTop=x.top}Ht=!!hn,vn=hn=null,e.current=n,Fo=l;do{try{for(w=e;null!==Fo;){var T=Fo.effectTag;if(36&T&&lo(w,Fo.alternate,Fo),128&T){k=void 0;var E=Fo.ref;if(null!==E){var S=Fo.stateNode;switch(Fo.tag){case 5:k=S;break;default:k=S}"function"==typeof E?E(k):E.current=k}}Fo=Fo.nextEffect}}catch(C){if(null===Fo)throw Error(a(330));yu(Fo,C),Fo=Fo.nextEffect}}while(null!==Fo);Fo=null,Il(),To=i}else e.current=n;if(Uo)Uo=!1,Vo=e,Wo=t;else for(Fo=l;null!==Fo;)t=Fo.nextEffect,Fo.nextEffect=null,Fo=t;if(0===(t=e.firstPendingTime)&&(Ao=null),1073741823===t?e===$o?Qo++:(Qo=0,$o=e):Qo=0,"function"==typeof ku&&ku(n.stateNode,r),Go(e),Do)throw Do=!1,e=Lo,Lo=null,e;return 0!=(8&To)||Bl(),null}function mu(){for(;null!==Fo;){var e=Fo.effectTag;0!=(256&e)&&to(Fo.alternate,Fo),0==(512&e)||Uo||(Uo=!0,Ql(97,(function(){return hu(),null}))),Fo=Fo.nextEffect}}function hu(){if(90!==Wo){var e=97<Wo?97:Wo;return Wo=90,jl(e,vu)}}function vu(){if(null===Vo)return!1;var e=Vo;if(Vo=null,0!=(48&To))throw Error(a(331));var t=To;for(To|=32,e=e.current.firstEffect;null!==e;){try{var n=e;if(0!=(512&n.effectTag))switch(n.tag){case 0:case 11:case 15:case 22:no(5,n),ro(5,n)}}catch(r){if(null===e)throw Error(a(330));yu(e,r)}n=e.nextEffect,e.nextEffect=null,e=n}return To=t,Bl(),!0}function gu(e,t,n){ui(e,t=mo(e,t=Ga(n,t),1073741823)),null!==(e=Yo(e,1073741823))&&Go(e)}function yu(e,t){if(3===e.tag)gu(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){gu(n,e,t);break}if(1===n.tag){var r=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Ao||!Ao.has(r))){ui(n,e=ho(n,e=Ga(t,e),1073741823)),null!==(n=Yo(n,1073741823))&&Go(n);break}}n=n.return}}function bu(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),Eo===e&&Co===n?_o===xo||_o===ko&&1073741823===No&&Ul()-Io<500?nu(e,Co):Mo=!0:Ru(e,n)&&(0!==(t=e.lastPingedTime)&&t<n||(e.lastPingedTime=n,Go(e)))}function wu(e,t){var n=e.stateNode;null!==n&&n.delete(t),0===(t=0)&&(t=Ko(t=Ho(),e,null)),null!==(e=Yo(e,t))&&Go(e)}vo=function(e,t,n){var r=t.expirationTime;if(null!==e){var l=t.pendingProps;if(e.memoizedProps!==l||dl.current)Na=!0;else{if(r<n){switch(Na=!1,t.tag){case 3:Aa(t),_a();break;case 5:if(Mi(t),4&t.mode&&1!==n&&l.hidden)return t.expirationTime=t.childExpirationTime=1,null;break;case 1:hl(t.type)&&bl(t);break;case 4:Oi(t,t.stateNode.containerInfo);break;case 10:r=t.memoizedProps.value,l=t.type._context,cl(Yl,l._currentValue),l._currentValue=r;break;case 13:if(null!==t.memoizedState)return 0!==(r=t.child.childExpirationTime)&&r>=n?Qa(e,t,n):(cl(Fi,1&Fi.current),null!==(t=Ka(e,t,n))?t.sibling:null);cl(Fi,1&Fi.current);break;case 19:if(r=t.childExpirationTime>=n,0!=(64&e.effectTag)){if(r)return Ha(e,t,n);t.effectTag|=64}if(null!==(l=t.memoizedState)&&(l.rendering=null,l.tail=null),cl(Fi,Fi.current),!r)return null}return Ka(e,t,n)}Na=!1}}else Na=!1;switch(t.expirationTime=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,l=ml(t,fl.current),ni(t,n),l=Ki(null,t,r,e,l,n),t.effectTag|=1,"object"==typeof l&&null!==l&&"function"==typeof l.render&&void 0===l.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,hl(r)){var i=!0;bl(t)}else i=!1;t.memoizedState=null!==l.state&&void 0!==l.state?l.state:null,ii(t);var o=r.getDerivedStateFromProps;"function"==typeof o&&mi(t,r,o,e),l.updater=hi,t.stateNode=l,l._reactInternalFiber=t,bi(t,r,e,n),t=La(null,t,r,!0,i,n)}else t.tag=0,za(null,t,l,n),t=t.child;return t;case 16:e:{if(l=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,function(e){if(-1===e._status){e._status=0;var t=e._ctor;t=t(),e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}}(l),1!==l._status)throw l._result;switch(l=l._result,t.type=l,i=t.tag=function(e){if("function"==typeof e)return Su(e)?1:0;if(null!=e){if((e=e.$$typeof)===ue)return 11;if(e===fe)return 14}return 2}(l),e=ql(l,e),i){case 0:t=Fa(null,t,l,e,n);break e;case 1:t=Da(null,t,l,e,n);break e;case 11:t=Oa(null,t,l,e,n);break e;case 14:t=Ra(null,t,l,ql(l.type,e),r,n);break e}throw Error(a(306,l,""))}return t;case 0:return r=t.type,l=t.pendingProps,Fa(e,t,r,l=t.elementType===r?l:ql(r,l),n);case 1:return r=t.type,l=t.pendingProps,Da(e,t,r,l=t.elementType===r?l:ql(r,l),n);case 3:if(Aa(t),r=t.updateQueue,null===e||null===r)throw Error(a(282));if(r=t.pendingProps,l=null!==(l=t.memoizedState)?l.element:null,ai(e,t),si(t,r,null,n),(r=t.memoizedState.element)===l)_a(),t=Ka(e,t,n);else{if((l=t.stateNode.hydrate)&&(wa=kn(t.stateNode.containerInfo.firstChild),ba=t,l=ka=!0),l)for(n=Si(t,null,r,n),t.child=n;n;)n.effectTag=-3&n.effectTag|1024,n=n.sibling;else za(e,t,r,n),_a();t=t.child}return t;case 5:return Mi(t),null===e&&Ea(t),r=t.type,l=t.pendingProps,i=null!==e?e.memoizedProps:null,o=l.children,yn(r,l)?o=null:null!==i&&yn(r,i)&&(t.effectTag|=16),Ia(e,t),4&t.mode&&1!==n&&l.hidden?(t.expirationTime=t.childExpirationTime=1,t=null):(za(e,t,o,n),t=t.child),t;case 6:return null===e&&Ea(t),null;case 13:return Qa(e,t,n);case 4:return Oi(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Ei(t,null,r,n):za(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,Oa(e,t,r,l=t.elementType===r?l:ql(r,l),n);case 7:return za(e,t,t.pendingProps,n),t.child;case 8:case 12:return za(e,t,t.pendingProps.children,n),t.child;case 10:e:{r=t.type._context,l=t.pendingProps,o=t.memoizedProps,i=l.value;var u=t.type._context;if(cl(Yl,u._currentValue),u._currentValue=i,null!==o)if(u=o.value,0===(i=Lr(u,i)?0:0|("function"==typeof r._calculateChangedBits?r._calculateChangedBits(u,i):1073741823))){if(o.children===l.children&&!dl.current){t=Ka(e,t,n);break e}}else for(null!==(u=t.child)&&(u.return=t);null!==u;){var c=u.dependencies;if(null!==c){o=u.child;for(var s=c.firstContext;null!==s;){if(s.context===r&&0!=(s.observedBits&i)){1===u.tag&&((s=oi(n,null)).tag=2,ui(u,s)),u.expirationTime<n&&(u.expirationTime=n),null!==(s=u.alternate)&&s.expirationTime<n&&(s.expirationTime=n),ti(u.return,n),c.expirationTime<n&&(c.expirationTime=n);break}s=s.next}}else o=10===u.tag&&u.type===t.type?null:u.child;if(null!==o)o.return=u;else for(o=u;null!==o;){if(o===t){o=null;break}if(null!==(u=o.sibling)){u.return=o.return,o=u;break}o=o.return}u=o}za(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=(i=t.pendingProps).children,ni(t,n),r=r(l=ri(l,i.unstable_observedBits)),t.effectTag|=1,za(e,t,r,n),t.child;case 14:return i=ql(l=t.type,t.pendingProps),Ra(e,t,l,i=ql(l.type,i),r,n);case 15:return Ma(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ql(r,l),null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),t.tag=1,hl(r)?(e=!0,bl(t)):e=!1,ni(t,n),gi(t,r,l),bi(t,r,l,n),La(null,t,r,!0,e,n);case 19:return Ha(e,t,n)}throw Error(a(156,t.tag))};var ku=null,xu=null;function Tu(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function Eu(e,t,n,r){return new Tu(e,t,n,r)}function Su(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Cu(e,t){var n=e.alternate;return null===n?((n=Eu(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.effectTag=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childExpirationTime=e.childExpirationTime,n.expirationTime=e.expirationTime,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{expirationTime:t.expirationTime,firstContext:t.firstContext,responders:t.responders},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function _u(e,t,n,r,l,i){var o=2;if(r=e,"function"==typeof e)Su(e)&&(o=1);else if("string"==typeof e)o=5;else e:switch(e){case ne:return Pu(n.children,l,i,t);case oe:o=8,l|=7;break;case re:o=8,l|=1;break;case le:return(e=Eu(12,n,t,8|l)).elementType=le,e.type=le,e.expirationTime=i,e;case ce:return(e=Eu(13,n,t,l)).type=ce,e.elementType=ce,e.expirationTime=i,e;case se:return(e=Eu(19,n,t,l)).elementType=se,e.expirationTime=i,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case ie:o=10;break e;case ae:o=9;break e;case ue:o=11;break e;case fe:o=14;break e;case de:o=16,r=null;break e;case pe:o=22;break e}throw Error(a(130,null==e?e:typeof e,""))}return(t=Eu(o,n,t,l)).elementType=e,t.type=r,t.expirationTime=i,t}function Pu(e,t,n,r){return(e=Eu(7,e,r,t)).expirationTime=n,e}function Nu(e,t,n){return(e=Eu(6,e,null,t)).expirationTime=n,e}function zu(e,t,n){return(t=Eu(4,null!==e.children?e.children:[],e.key,t)).expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Ou(e,t,n){this.tag=t,this.current=null,this.containerInfo=e,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function Ru(e,t){var n=e.firstSuspendedTime;return e=e.lastSuspendedTime,0!==n&&n>=t&&e<=t}function Mu(e,t){var n=e.firstSuspendedTime,r=e.lastSuspendedTime;n<t&&(e.firstSuspendedTime=t),(r>t||0===n)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function Iu(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var n=e.firstSuspendedTime;0!==n&&(t>=n?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function Fu(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTime=t)}function Du(e,t,n,r){var l=t.current,i=Ho(),o=di.suspense;i=Ko(i,l,o);e:if(n){t:{if(Ze(n=n._reactInternalFiber)!==n||1!==n.tag)throw Error(a(170));var u=n;do{switch(u.tag){case 3:u=u.stateNode.context;break t;case 1:if(hl(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break t}}u=u.return}while(null!==u);throw Error(a(171))}if(1===n.tag){var c=n.type;if(hl(c)){n=yl(n,c,u);break e}}n=u}else n=sl;return null===t.context?t.context=n:t.pendingContext=n,(t=oi(i,o)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),ui(l,t),qo(l,i),i}function Lu(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function Au(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retryTime<t&&(e.retryTime=t)}function Uu(e,t){Au(e,t),(e=e.alternate)&&Au(e,t)}function Vu(e,t,n){var r=new Ou(e,t,n=null!=n&&!0===n.hydrate),l=Eu(3,null,null,2===t?7:1===t?3:0);r.current=l,l.stateNode=r,ii(l),e[Cn]=r.current,n&&0!==t&&function(e,t){var n=Je(t);Ct.forEach((function(e){mt(e,t,n)})),_t.forEach((function(e){mt(e,t,n)}))}(0,9===e.nodeType?e:e.ownerDocument),this._internalRoot=r}function Wu(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function ju(e,t,n,r,l){var i=n._reactRootContainer;if(i){var a=i._internalRoot;if("function"==typeof l){var o=l;l=function(){var e=Lu(a);o.call(e)}}Du(t,a,e,l)}else{if(i=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new Vu(e,0,t?{hydrate:!0}:void 0)}(n,r),a=i._internalRoot,"function"==typeof l){var u=l;l=function(){var e=Lu(a);u.call(e)}}tu((function(){Du(t,a,e,l)}))}return Lu(a)}function Qu(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:te,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}function $u(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Wu(t))throw Error(a(200));return Qu(e,t,null,n)}Vu.prototype.render=function(e){Du(e,this._internalRoot,null,null)},Vu.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;Du(null,e,null,(function(){t[Cn]=null}))},ht=function(e){if(13===e.tag){var t=Kl(Ho(),150,100);qo(e,t),Uu(e,t)}},vt=function(e){13===e.tag&&(qo(e,3),Uu(e,3))},gt=function(e){if(13===e.tag){var t=Ho();qo(e,t=Ko(t,e,null)),Uu(e,t)}},P=function(e,t,n){switch(t){case"input":if(Se(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var l=zn(r);if(!l)throw Error(a(90));ke(r),Se(r,l)}}}break;case"textarea":Re(e,n);break;case"select":null!=(t=n.value)&&Ne(e,!!n.multiple,t,!1)}},I=eu,F=function(e,t,n,r,l){var i=To;To|=4;try{return jl(98,e.bind(null,t,n,r,l))}finally{0===(To=i)&&Bl()}},D=function(){0==(49&To)&&(function(){if(null!==jo){var e=jo;jo=null,e.forEach((function(e,t){Fu(t,e),Go(t)})),Bl()}}(),hu())},L=function(e,t){var n=To;To|=2;try{return e(t)}finally{0===(To=n)&&Bl()}};var Bu,Hu,Ku={Events:[Pn,Nn,zn,C,T,Ln,function(e){lt(e,Dn)},R,M,Gt,ot,hu,{current:!1}]};Hu=(Bu={findFiberByHostInstance:_n,bundleType:0,version:"16.13.1",rendererPackageName:"react-dom"}).findFiberByHostInstance,function(e){if("undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);ku=function(e){try{t.onCommitFiberRoot(n,e,void 0,64==(64&e.current.effectTag))}catch(r){}},xu=function(e){try{t.onCommitFiberUnmount(n,e)}catch(r){}}}catch(r){}}(l({},Bu,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:X.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=nt(e))?null:e.stateNode},findFiberByHostInstance:function(e){return Hu?Hu(e):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null})),t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Ku,t.createPortal=$u,t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternalFiber;if(void 0===t){if("function"==typeof e.render)throw Error(a(188));throw Error(a(268,Object.keys(e)))}return e=null===(e=nt(t))?null:e.stateNode},t.flushSync=function(e,t){if(0!=(48&To))throw Error(a(187));var n=To;To|=1;try{return jl(99,e.bind(null,t))}finally{To=n,Bl()}},t.hydrate=function(e,t,n){if(!Wu(t))throw Error(a(200));return ju(null,e,t,!0,n)},t.render=function(e,t,n){if(!Wu(t))throw Error(a(200));return ju(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Wu(e))throw Error(a(40));return!!e._reactRootContainer&&(tu((function(){ju(null,null,e,!1,(function(){e._reactRootContainer=null,e[Cn]=null}))})),!0)},t.unstable_batchedUpdates=eu,t.unstable_createPortal=function(e,t){return $u(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Wu(n))throw Error(a(200));if(null==e||void 0===e._reactInternalFiber)throw Error(a(38));return ju(e,t,n,!1,r)},t.version="16.13.1"}}]);
+//# sourceMappingURL=framework-a576ae5ab153fa4a7c27.js.map
\ No newline at end of file
diff --git a/framework-a576ae5ab153fa4a7c27.js.map b/framework-a576ae5ab153fa4a7c27.js.map
new file mode 100644
index 0000000..a3f4a9d
--- /dev/null
+++ b/framework-a576ae5ab153fa4a7c27.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/react-dom/node_modules/scheduler/index.js","webpack:///./node_modules/react-dom/node_modules/scheduler/cjs/scheduler.production.min.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/react-dom/index.js","webpack:///./node_modules/react/index.js","webpack:///./node_modules/react/cjs/react.production.min.js","webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js"],"names":["ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","module","exports","shim","props","propName","componentName","location","propFullName","secret","err","Error","name","getShim","isRequired","ReactPropTypes","array","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","f","g","h","k","l","window","MessageChannel","p","q","t","a","unstable_now","b","setTimeout","u","Date","now","clearTimeout","unstable_forceFrameRate","w","performance","x","y","z","console","A","cancelAnimationFrame","requestAnimationFrame","error","B","C","D","E","F","G","Math","floor","H","I","port2","port1","onmessage","postMessage","J","c","length","push","d","e","K","L","M","pop","m","n","v","r","sortIndex","id","N","O","P","Q","R","S","T","U","V","callback","startTime","expirationTime","W","X","priorityLevel","Y","Z","unstable_IdlePriority","unstable_ImmediatePriority","unstable_LowPriority","unstable_NormalPriority","unstable_Profiling","unstable_UserBlockingPriority","unstable_cancelCallback","unstable_continueExecution","unstable_getCurrentPriorityLevel","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_requestPaint","unstable_runWithPriority","unstable_scheduleCallback","delay","timeout","unstable_shouldYield","unstable_wrapCallback","apply","this","arguments","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","Symbol","for","iterator","encodeURIComponent","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","context","refs","updater","prototype","isReactComponent","setState","forceUpdate","constructor","isPureReactComponent","current","Object","hasOwnProperty","key","ref","__self","__source","call","children","Array","defaultProps","$$typeof","type","_owner","result","keyPrefix","count","isArray","next","done","value","keys","join","replace","escape","toString","aa","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","assign","Children","map","forEach","toArray","only","Component","Fragment","Profiler","PureComponent","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","createContext","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_context","createElement","createFactory","bind","createRef","forwardRef","render","isValidElement","lazy","_ctor","_status","_result","memo","compare","useCallback","useContext","useDebugValue","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","version","slice","onError","da","ea","fa","ha","ia","ja","la","ma","na","oa","currentTarget","ka","pa","qa","ra","indexOf","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","ua","registrationName","va","wa","dependencies","xa","ya","document","za","Aa","Ba","Ca","stateNode","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","split","toLowerCase","Ua","Va","toUpperCase","xlinkHref","Wa","Xa","Sa","isNaN","Ta","test","Ra","removeAttribute","setAttribute","setAttributeNS","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","pb","displayName","qb","tag","_debugOwner","_debugSource","fileName","lineNumber","return","rb","sb","nodeName","xb","_valueTracker","getOwnPropertyDescriptor","get","set","defineProperty","configurable","enumerable","getValue","setValue","stopTracking","tb","yb","checked","zb","defaultChecked","defaultValue","_wrapperState","initialChecked","Ab","initialValue","controlled","Bb","Cb","Db","Eb","ownerDocument","activeElement","Gb","Fb","Hb","options","selected","defaultSelected","disabled","Ib","dangerouslySetInnerHTML","Jb","Kb","Lb","textContent","Mb","Nb","Ob","Pb","Qb","MSApp","execUnsafeLocalFunction","namespaceURI","innerHTML","valueOf","firstChild","removeChild","appendChild","Rb","lastChild","nodeType","nodeValue","Sb","Tb","animationend","animationiteration","animationstart","transitionend","Ub","Vb","Wb","style","animation","transition","Xb","Yb","Zb","$b","ac","bc","WeakMap","Map","cc","dc","alternate","effectTag","ec","memoizedState","dehydrated","fc","hc","child","sibling","gc","ic","concat","jc","kc","lc","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","mc","nc","target","srcElement","correspondingUseElement","parentNode","oc","pc","qc","topLevelType","nativeEvent","targetInst","ancestors","rc","eventSystemFlags","sc","containerInfo","tc","uc","has","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Kc","blockedOn","container","Lc","delete","pointerId","Mc","Nc","Pc","priority","hydrate","Qc","Rc","Sc","Tc","shift","Uc","Vc","Wc","Yc","Zc","$c","ad","bubbled","captured","eventPriority","bd","cd","dd","ed","fd","gd","hd","addEventListener","Oc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","kd","ld","trim","md","setProperty","charAt","substring","nd","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","od","pd","is","qd","rd","sd","td","body","ud","vd","offset","nextSibling","xd","HTMLIFrameElement","contentWindow","href","yd","contentEditable","Dd","Ed","Fd","autoFocus","Gd","__html","Hd","Id","Jd","Kd","previousSibling","data","Ld","random","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","dispatchConfig","Ud","_targetInst","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","Interface","isDefaultPrevented","defaultPrevented","returnValue","ee","eventPool","fe","destructor","de","getPooled","preventDefault","stopPropagation","cancelBubble","persist","eventPhase","bubbles","cancelable","timeStamp","isTrusted","extend","ge","he","ie","je","ke","documentMode","le","me","ne","String","fromCharCode","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","pe","qe","keyCode","re","detail","se","ve","locale","which","te","ctrlKey","altKey","metaKey","char","ue","we","color","date","datetime","email","month","password","range","search","tel","text","time","url","week","xe","ye","change","ze","Ae","Be","Ce","De","Ee","Fe","Ge","detachEvent","He","Ie","attachEvent","Je","Ke","Le","Me","_isInputEventSupported","Ne","view","Oe","Alt","Control","Meta","Shift","Pe","getModifierState","Qe","Re","Se","Te","Ue","Ve","screenX","screenY","clientX","clientY","pageX","pageY","shiftKey","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","We","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Xe","mouseEnter","mouseLeave","pointerEnter","pointerLeave","Ye","defaultView","parentWindow","$e","af","bf","cf","df","select","ef","ff","gf","hf","jf","start","selectionStart","end","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","kf","onSelect","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","of","charCode","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","qf","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","rf","repeat","sf","dataTransfer","tf","touches","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","Cf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","childContextTypes","Df","Ef","Ff","getChildContext","Gf","__reactInternalMemoizedMergedChildContext","Hf","If","Jf","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","childExpirationTime","qg","firstContext","rg","sg","observedBits","responders","tg","ug","updateQueue","baseState","baseQueue","shared","pending","effects","vg","wg","suspenseConfig","payload","xg","yg","zg","ca","Ag","Bg","Cg","Dg","Eg","Fg","Jg","_reactInternalFiber","Gg","Hg","Ig","Kg","shouldComponentUpdate","Lg","contextType","state","Mg","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ng","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Og","Pg","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","index","Sg","Tg","mode","Ug","implementation","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","documentElement","tagName","eh","fh","gh","hh","memoizedProps","revealOrder","ih","responder","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","th","queue","uh","vh","wh","lastRenderedReducer","action","eagerReducer","eagerState","lastRenderedState","dispatch","xh","yh","zh","Ah","create","destroy","deps","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","readContext","useResponder","useDeferredValue","useTransition","Oh","Ph","Qh","Rh","Sh","Th","pendingProps","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","getDerivedStateFromError","hi","pendingContext","ni","pi","qi","ii","retryTime","ji","fallback","unstable_avoidThisFallback","ki","li","isBackwards","rendering","renderingStartTime","last","tail","tailExpiration","tailMode","mi","ri","si","wasMultiple","multiple","onClick","onclick","size","createElementNS","createTextNode","ti","ui","vi","wi","xi","yi","zi","Ai","stack","Bi","WeakSet","Set","Ci","Fi","Ei","Gi","__reactInternalSnapshotBeforeUpdate","Hi","Ii","Ji","focus","Ki","Li","componentWillUnmount","Di","Mi","Ni","Oi","Pi","Qi","instance","insertBefore","_reactRootContainer","Ri","Si","Ti","display","Ui","Vi","add","then","Wi","Xi","Yi","Zi","$i","componentDidCatch","aj","componentStack","Rj","bj","ceil","cj","dj","kj","lj","mj","nj","oj","qj","rj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","Cj","Dj","Ej","Fj","Gj","Hj","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","Kj","Mj","Nj","pingCache","Oj","ub","Pj","Xc","Qj","Sj","firstSuspendedTime","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Tj","wd","contains","compareDocumentPosition","min","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","vb","Uj","Vj","Wj","hidden","default","ob","Xj","unstable_observedBits","Zj","pendingChildren","ak","bk","ck","dk","ek","fk","Jc","_internalRoot","gk","ik","hasAttribute","hk","jk","kk","unmount","querySelectorAll","JSON","stringify","form","Lj","lk","Events","findFiberByHostInstance","bundleType","rendererPackageName","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer"],"mappings":"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","file":"framework-a576ae5ab153fa4a7c27.js","sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v0.19.1\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\"function\"!==typeof A&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported\"):F=0<a?Math.floor(1E3/a):5};var H=new MessageChannel,I=H.port2;H.port1.onmessage=\nfunction(){if(null!==D){var a=exports.unstable_now();G=a+F;try{D(!0,a)?I.postMessage(null):(C=!1,D=null)}catch(b){throw I.postMessage(null),b;}}else C=!1};f=function(a){D=a;C||(C=!0,I.postMessage(null))};g=function(a,b){E=y(function(){a(exports.unstable_now())},b)};h=function(){z(E);E=-1}}function J(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<K(e,b))a[d]=b,a[c]=e,c=d;else break a}}function L(a){a=a[0];return void 0===a?null:a}\nfunction M(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0<e?d+e:d;c=\"number\"===typeof c.timeout?c.timeout:Y(a)}else c=Y(a),e=d;c=e+c;a={id:P++,callback:b,priorityLevel:a,startTime:e,expirationTime:c,sortIndex:-1};e>d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime<Q.expirationTime||k()};exports.unstable_wrapCallback=function(a){var b=R;return function(){var c=R;R=b;try{return a.apply(this,arguments)}finally{R=c}}};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/** @license React v16.13.1\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar D={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E={};function F(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}F.prototype.isReactComponent={};F.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(C(85));this.updater.enqueueSetState(this,a,b,\"setState\")};F.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction G(){}G.prototype=F.prototype;function H(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}var I=H.prototype=new G;I.constructor=H;l(I,F.prototype);I.isPureReactComponent=!0;var J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,c){var e,d={},g=null,k=null;if(null!=b)for(e in void 0!==b.ref&&(k=b.ref),void 0!==b.key&&(g=\"\"+b.key),b)K.call(b,e)&&!L.hasOwnProperty(e)&&(d[e]=b[e]);var f=arguments.length-2;if(1===f)d.children=c;else if(1<f){for(var h=Array(f),m=0;m<f;m++)h[m]=arguments[m+2];d.children=h}if(a&&a.defaultProps)for(e in f=a.defaultProps,f)void 0===d[e]&&(d[e]=f[e]);return{$$typeof:p,type:a,key:g,ref:k,props:d,_owner:J.current}}\nfunction N(a,b){return{$$typeof:p,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===p}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g,Q=[];function R(a,b,c,e){if(Q.length){var d=Q.pop();d.result=a;d.keyPrefix=b;d.func=c;d.context=e;d.count=0;return d}return{result:a,keyPrefix:b,func:c,context:e,count:0}}\nfunction S(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>Q.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k<a.length;k++){d=a[k];var f=b+U(d,k);g+=T(d,f,c,e)}else if(null===a||\"object\"!==typeof a?f=null:(f=B&&a[B]||a[\"@@iterator\"],f=\"function\"===typeof f?f:null),\"function\"===typeof f)for(a=f.call(a),k=\n0;!(d=a.next()).done;)d=d.value,f=b+U(d,k++),g+=T(d,f,c,e);else if(\"object\"===d)throw c=\"\"+a,Error(C(31,\"[object Object]\"===c?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":c,\"\"));return g}function V(a,b,c){return null==a?0:T(a,\"\",b,c)}function U(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function W(a,b){a.func.call(a.context,b,a.count++)}\nfunction aa(a,b,c){var e=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?X(a,e,c,function(a){return a}):null!=a&&(O(a)&&(a=N(a,d+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(P,\"$&/\")+\"/\")+c)),e.push(a))}function X(a,b,c,e,d){var g=\"\";null!=c&&(g=(\"\"+c).replace(P,\"$&/\")+\"/\");b=R(b,g,e,d);V(a,aa,b);S(b)}var Y={current:null};function Z(){var a=Y.current;if(null===a)throw Error(C(321));return a}\nvar ba={ReactCurrentDispatcher:Y,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:J,IsSomeRendererActing:{current:!1},assign:l};exports.Children={map:function(a,b,c){if(null==a)return a;var e=[];X(a,e,null,b,c);return e},forEach:function(a,b,c){if(null==a)return a;b=R(null,null,b,c);V(a,W,b);S(b)},count:function(a){return V(a,function(){return null},null)},toArray:function(a){var b=[];X(a,b,null,function(a){return a});return b},only:function(a){if(!O(a))throw Error(C(143));return a}};\nexports.Component=F;exports.Fragment=r;exports.Profiler=u;exports.PureComponent=H;exports.StrictMode=t;exports.Suspense=y;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ba;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(C(267,a));var e=l({},a.props),d=a.key,g=a.ref,k=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,k=J.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var f=a.type.defaultProps;for(h in b)K.call(b,h)&&!L.hasOwnProperty(h)&&(e[h]=void 0===b[h]&&void 0!==f?f[h]:b[h])}var h=arguments.length-2;if(1===h)e.children=c;else if(1<h){f=Array(h);for(var m=0;m<h;m++)f[m]=arguments[m+2];e.children=f}return{$$typeof:p,type:a.type,\nkey:d,ref:g,props:e,_owner:k}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:w,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:v,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:x,render:a}};exports.isValidElement=O;\nexports.lazy=function(a){return{$$typeof:A,_ctor:a,_status:-1,_result:null}};exports.memo=function(a,b){return{$$typeof:z,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return Z().useCallback(a,b)};exports.useContext=function(a,b){return Z().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return Z().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return Z().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return Z().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return Z().useMemo(a,b)};exports.useReducer=function(a,b,c){return Z().useReducer(a,b,c)};exports.useRef=function(a){return Z().useRef(a)};exports.useState=function(a){return Z().useState(a)};exports.version=\"16.13.1\";\n","/** @license React v16.13.1\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!aa)throw Error(u(227));\nfunction ba(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var da=!1,ea=null,fa=!1,ha=null,ia={onError:function(a){da=!0;ea=a}};function ja(a,b,c,d,e,f,g,h,k){da=!1;ea=null;ba.apply(ia,arguments)}function ka(a,b,c,d,e,f,g,h,k){ja.apply(this,arguments);if(da){if(da){var l=ea;da=!1;ea=null}else throw Error(u(198));fa||(fa=!0,ha=l)}}var la=null,ma=null,na=null;\nfunction oa(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=na(c);ka(d,b,void 0,a);a.currentTarget=null}var pa=null,qa={};\nfunction ra(){if(pa)for(var a in qa){var b=qa[a],c=pa.indexOf(a);if(!(-1<c))throw Error(u(96,a));if(!sa[c]){if(!b.extractEvents)throw Error(u(97,a));sa[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;if(ta.hasOwnProperty(h))throw Error(u(99,h));ta[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&ua(k[e],g,h);e=!0}else f.registrationName?(ua(f.registrationName,g,h),e=!0):e=!1;if(!e)throw Error(u(98,d,a));}}}}\nfunction ua(a,b,c){if(va[a])throw Error(u(100,a));va[a]=b;wa[a]=b.eventTypes[c].dependencies}var sa=[],ta={},va={},wa={};function xa(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];if(!qa.hasOwnProperty(c)||qa[c]!==d){if(qa[c])throw Error(u(102,c));qa[c]=d;b=!0}}b&&ra()}var ya=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),za=null,Aa=null,Ba=null;\nfunction Ca(a){if(a=ma(a)){if(\"function\"!==typeof za)throw Error(u(280));var b=a.stateNode;b&&(b=la(b),za(a.stateNode,a.type,b))}}function Da(a){Aa?Ba?Ba.push(a):Ba=[a]:Aa=a}function Ea(){if(Aa){var a=Aa,b=Ba;Ba=Aa=null;Ca(a);if(b)for(a=0;a<b.length;a++)Ca(b[a])}}function Fa(a,b){return a(b)}function Ga(a,b,c,d,e){return a(b,c,d,e)}function Ha(){}var Ia=Fa,Ja=!1,Ka=!1;function La(){if(null!==Aa||null!==Ba)Ha(),Ea()}\nfunction Ma(a,b,c){if(Ka)return a(b,c);Ka=!0;try{return Ia(a,b,c)}finally{Ka=!1,La()}}var Na=/^[: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][: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\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,Oa=Object.prototype.hasOwnProperty,Pa={},Qa={};\nfunction Ra(a){if(Oa.call(Qa,a))return!0;if(Oa.call(Pa,a))return!1;if(Na.test(a))return Qa[a]=!0;Pa[a]=!0;return!1}function Sa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction Ta(a,b,c,d){if(null===b||\"undefined\"===typeof b||Sa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"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\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(Ta(b,c,e,d)&&(c=null),d||null===e?Ra(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nvar Ya=/^(.*)[\\\\\\/]/,E=\"function\"===typeof Symbol&&Symbol.for,Za=E?Symbol.for(\"react.element\"):60103,$a=E?Symbol.for(\"react.portal\"):60106,ab=E?Symbol.for(\"react.fragment\"):60107,bb=E?Symbol.for(\"react.strict_mode\"):60108,cb=E?Symbol.for(\"react.profiler\"):60114,db=E?Symbol.for(\"react.provider\"):60109,eb=E?Symbol.for(\"react.context\"):60110,fb=E?Symbol.for(\"react.concurrent_mode\"):60111,gb=E?Symbol.for(\"react.forward_ref\"):60112,hb=E?Symbol.for(\"react.suspense\"):60113,ib=E?Symbol.for(\"react.suspense_list\"):\n60120,jb=E?Symbol.for(\"react.memo\"):60115,kb=E?Symbol.for(\"react.lazy\"):60116,lb=E?Symbol.for(\"react.block\"):60121,mb=\"function\"===typeof Symbol&&Symbol.iterator;function nb(a){if(null===a||\"object\"!==typeof a)return null;a=mb&&a[mb]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function ob(a){if(-1===a._status){a._status=0;var b=a._ctor;b=b();a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}}\nfunction pb(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ab:return\"Fragment\";case $a:return\"Portal\";case cb:return\"Profiler\";case bb:return\"StrictMode\";case hb:return\"Suspense\";case ib:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case eb:return\"Context.Consumer\";case db:return\"Context.Provider\";case gb:var b=a.render;b=b.displayName||b.name||\"\";return a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\n\"ForwardRef\");case jb:return pb(a.type);case lb:return pb(a.render);case kb:if(a=1===a._status?a._result:null)return pb(a)}return null}function qb(a){var b=\"\";do{a:switch(a.tag){case 3:case 4:case 6:case 7:case 10:case 9:var c=\"\";break a;default:var d=a._debugOwner,e=a._debugSource,f=pb(a.type);c=null;d&&(c=pb(d.type));d=f;f=\"\";e?f=\" (at \"+e.fileName.replace(Ya,\"\")+\":\"+e.lineNumber+\")\":c&&(f=\" (created by \"+c+\")\");c=\"\\n in \"+(d||\"Unknown\")+f}b+=c;a=a.return}while(a);return b}\nfunction rb(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function sb(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction tb(a){var b=sb(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function xb(a){a._valueTracker||(a._valueTracker=tb(a))}function yb(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=sb(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function zb(a,b){var c=b.checked;return n({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}\nfunction Ab(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=rb(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function Bb(a,b){b=b.checked;null!=b&&Xa(a,\"checked\",b,!1)}\nfunction Cb(a,b){Bb(a,b);var c=rb(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?Db(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&Db(a,b.type,rb(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction Eb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction Db(a,b,c){if(\"number\"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function Fb(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function Gb(a,b){a=n({children:void 0},b);if(b=Fb(b.children))a.children=b;return a}\nfunction Hb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+rb(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction Ib(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(u(91));return n({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function Jb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(u(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;d<b.length&&!a.isPropagationStopped();d++)oa(a,b[d],c[d]);else b&&oa(a,b,c);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function mc(a){null!==a&&(kc=ic(kc,a));a=kc;kc=null;if(a){jc(a,lc);if(kc)throw Error(u(95));if(fa)throw a=ha,fa=!1,ha=null,a;}}\nfunction nc(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}function oc(a){if(!ya)return!1;a=\"on\"+a;var b=a in document;b||(b=document.createElement(\"div\"),b.setAttribute(a,\"return;\"),b=\"function\"===typeof b[a]);return b}var pc=[];function qc(a){a.topLevelType=null;a.nativeEvent=null;a.targetInst=null;a.ancestors.length=0;10>pc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c<a.ancestors.length;c++){b=a.ancestors[c];var e=nc(a.nativeEvent);d=a.topLevelType;var f=a.nativeEvent,g=a.eventSystemFlags;0===c&&(g|=64);for(var h=null,k=0;k<sa.length;k++){var l=sa[k];l&&(l=l.extractEvents(d,b,f,e,g))&&(h=\nic(h,l))}mc(h)}}function uc(a,b,c){if(!c.has(a)){switch(a){case \"scroll\":vc(b,\"scroll\",!0);break;case \"focus\":case \"blur\":vc(b,\"focus\",!0);vc(b,\"blur\",!0);c.set(\"blur\",null);c.set(\"focus\",null);break;case \"cancel\":case \"close\":oc(a)&&vc(b,a,!0);break;case \"invalid\":case \"submit\":case \"reset\":break;default:-1===ac.indexOf(a)&&F(a,b)}c.set(a,null)}}\nvar wc,xc,yc,zc=!1,Ac=[],Bc=null,Cc=null,Dc=null,Ec=new Map,Fc=new Map,Gc=[],Hc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),Ic=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");\nfunction Jc(a,b){var c=cc(b);Hc.forEach(function(a){uc(a,b,c)});Ic.forEach(function(a){uc(a,b,c)})}function Kc(a,b,c,d,e){return{blockedOn:a,topLevelType:b,eventSystemFlags:c|32,nativeEvent:e,container:d}}\nfunction Lc(a,b){switch(a){case \"focus\":case \"blur\":Bc=null;break;case \"dragenter\":case \"dragleave\":Cc=null;break;case \"mouseover\":case \"mouseout\":Dc=null;break;case \"pointerover\":case \"pointerout\":Ec.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Fc.delete(b.pointerId)}}function Mc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=Kc(b,c,d,e,f),null!==b&&(b=Nc(b),null!==b&&xc(b)),a;a.eventSystemFlags|=d;return a}\nfunction Oc(a,b,c,d,e){switch(b){case \"focus\":return Bc=Mc(Bc,a,b,c,d,e),!0;case \"dragenter\":return Cc=Mc(Cc,a,b,c,d,e),!0;case \"mouseover\":return Dc=Mc(Dc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Ec.set(f,Mc(Ec.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Fc.set(f,Mc(Fc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Pc(a){var b=tc(a.target);if(null!==b){var c=dc(b);if(null!==c)if(b=c.tag,13===b){if(b=ec(c),null!==b){a.blockedOn=b;r.unstable_runWithPriority(a.priority,function(){yc(c)});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}function Qc(a){if(null!==a.blockedOn)return!1;var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);if(null!==b){var c=Nc(b);null!==c&&xc(c);a.blockedOn=b;return!1}return!0}\nfunction Sc(a,b,c){Qc(a)&&c.delete(b)}function Tc(){for(zc=!1;0<Ac.length;){var a=Ac[0];if(null!==a.blockedOn){a=Nc(a.blockedOn);null!==a&&wc(a);break}var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);null!==b?a.blockedOn=b:Ac.shift()}null!==Bc&&Qc(Bc)&&(Bc=null);null!==Cc&&Qc(Cc)&&(Cc=null);null!==Dc&&Qc(Dc)&&(Dc=null);Ec.forEach(Sc);Fc.forEach(Sc)}function Uc(a,b){a.blockedOn===b&&(a.blockedOn=null,zc||(zc=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Tc)))}\nfunction Vc(a){function b(b){return Uc(b,a)}if(0<Ac.length){Uc(Ac[0],a);for(var c=1;c<Ac.length;c++){var d=Ac[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Bc&&Uc(Bc,a);null!==Cc&&Uc(Cc,a);null!==Dc&&Uc(Dc,a);Ec.forEach(b);Fc.forEach(b);for(c=0;c<Gc.length;c++)d=Gc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Gc.length&&(c=Gc[0],null===c.blockedOn);)Pc(c),null===c.blockedOn&&Gc.shift()}\nvar Wc={},Yc=new Map,Zc=new Map,$c=[\"abort\",\"abort\",Xb,\"animationEnd\",Yb,\"animationIteration\",Zb,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\n\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",$b,\"transitionEnd\",\"waiting\",\"waiting\"];function ad(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1],f=\"on\"+(e[0].toUpperCase()+e.slice(1));f={phasedRegistrationNames:{bubbled:f,captured:f+\"Capture\"},dependencies:[d],eventPriority:b};Zc.set(d,b);Yc.set(d,f);Wc[e]=f}}\nad(\"blur blur cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focus focus input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),0);\nad(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1);ad($c,2);for(var bd=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),cd=0;cd<bd.length;cd++)Zc.set(bd[cd],0);\nvar dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function F(a,b){vc(b,a,!1)}function vc(a,b,c){var d=Zc.get(b);switch(void 0===d?2:d){case 0:d=gd.bind(null,b,1,a);break;case 1:d=hd.bind(null,b,1,a);break;default:d=id.bind(null,b,1,a)}c?a.addEventListener(b,d,!0):a.addEventListener(b,d,!1)}function gd(a,b,c,d){Ja||Ha();var e=id,f=Ja;Ja=!0;try{Ga(e,a,b,c,d)}finally{(Ja=f)||La()}}function hd(a,b,c,d){ed(dd,id.bind(null,a,b,c,d))}\nfunction id(a,b,c,d){if(fd)if(0<Ac.length&&-1<Hc.indexOf(a))a=Kc(null,a,b,c,d),Ac.push(a);else{var e=Rc(a,b,c,d);if(null===e)Lc(a,d);else if(-1<Hc.indexOf(a))a=Kc(e,a,b,c,d),Ac.push(a);else if(!Oc(e,a,b,c,d)){Lc(a,d);a=rc(a,d,null,b);try{Ma(sc,a)}finally{qc(a)}}}}\nfunction Rc(a,b,c,d){c=nc(d);c=tc(c);if(null!==c){var e=dc(c);if(null===e)c=null;else{var f=e.tag;if(13===f){c=ec(e);if(null!==c)return c;c=null}else if(3===f){if(e.stateNode.hydrate)return 3===e.tag?e.stateNode.containerInfo:null;c=null}else e!==c&&(c=null)}}a=rc(a,d,c,b);try{Ma(sc,a)}finally{qc(a)}return null}\nvar jd={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},kd=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(jd).forEach(function(a){kd.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);jd[b]=jd[a]})});function ld(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||jd.hasOwnProperty(a)&&jd[a]?(\"\"+b).trim():b+\"px\"}\nfunction md(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=ld(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var nd=n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction od(a,b){if(b){if(nd[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(u(137,a,\"\"));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(u(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(u(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(u(62,\"\"));}}\nfunction pd(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var qd=Mb.html;function rd(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=cc(a);b=wa[b];for(var d=0;d<b.length;d++)uc(b[d],a,c)}function sd(){}\nfunction td(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function ud(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function vd(a,b){var c=ud(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0<b--;)Td(c[b],\"captured\",a);for(b=0;b<c.length;b++)Td(c[b],\"bubbled\",a)}}\nfunction Vd(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Sd(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a))}function Wd(a){a&&a.dispatchConfig.registrationName&&Vd(a._targetInst,null,a)}function Xd(a){jc(a,Ud)}var Yd=null,Zd=null,$d=null;\nfunction ae(){if($d)return $d;var a,b=Zd,c=b.length,d,e=\"value\"in Yd?Yd.value:Yd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return $d=e.slice(a,1<d?1-d:void 0)}function be(){return!0}function ce(){return!1}\nfunction G(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):\"target\"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?be:ce;this.isPropagationStopped=ce;return this}\nn(G.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=be)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=be)},persist:function(){this.isPersistent=be},isPersistent:ce,destructor:function(){var a=this.constructor.Interface,\nb;for(b in a)this[b]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null;this.isPropagationStopped=this.isDefaultPrevented=ce;this._dispatchInstances=this._dispatchListeners=null}});G.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};\nG.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;n(e,c.prototype);c.prototype=e;c.prototype.constructor=c;c.Interface=n({},d.Interface,a);c.extend=d.extend;de(c);return c};de(G);function ee(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}\nfunction fe(a){if(!(a instanceof this))throw Error(u(279));a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8<ke&&11>=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return me&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar ve={eventTypes:oe,extractEvents:function(a,b,c,d){var e;if(je)b:{switch(a){case \"compositionstart\":var f=oe.compositionStart;break b;case \"compositionend\":f=oe.compositionEnd;break b;case \"compositionupdate\":f=oe.compositionUpdate;break b}f=void 0}else se?qe(a,c)&&(f=oe.compositionEnd):\"keydown\"===a&&229===c.keyCode&&(f=oe.compositionStart);f?(me&&\"ko\"!==c.locale&&(se||f!==oe.compositionStart?f===oe.compositionEnd&&se&&(e=ae()):(Yd=d,Zd=\"value\"in Yd?Yd.value:Yd.textContent,se=!0)),f=ge.getPooled(f,\nb,c,d),e?f.data=e:(e=re(c),null!==e&&(f.data=e)),Xd(f),e=f):e=null;(a=le?te(a,c):ue(a,c))?(b=he.getPooled(oe.beforeInput,b,c,d),b.data=a,Xd(b)):b=null;return null===e?b:null===b?e:[e,b]}},we={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function xe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!we[a.type]:\"textarea\"===b?!0:!1}\nvar ye={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"blur change click focus input keydown keyup selectionchange\".split(\" \")}};function ze(a,b,c){a=G.getPooled(ye.change,a,b,c);a.type=\"change\";Da(c);Xd(a);return a}var Ae=null,Be=null;function Ce(a){mc(a)}function De(a){var b=Pd(a);if(yb(b))return a}function Ee(a,b){if(\"change\"===a)return b}var Fe=!1;ya&&(Fe=oc(\"input\")&&(!document.documentMode||9<document.documentMode));\nfunction Ge(){Ae&&(Ae.detachEvent(\"onpropertychange\",He),Be=Ae=null)}function He(a){if(\"value\"===a.propertyName&&De(Be))if(a=ze(Be,a,nc(a)),Ja)mc(a);else{Ja=!0;try{Fa(Ce,a)}finally{Ja=!1,La()}}}function Ie(a,b,c){\"focus\"===a?(Ge(),Ae=b,Be=c,Ae.attachEvent(\"onpropertychange\",He)):\"blur\"===a&&Ge()}function Je(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return De(Be)}function Ke(a,b){if(\"click\"===a)return De(b)}function Le(a,b){if(\"input\"===a||\"change\"===a)return De(b)}\nvar Me={eventTypes:ye,_isInputEventSupported:Fe,extractEvents:function(a,b,c,d){var e=b?Pd(b):window,f=e.nodeName&&e.nodeName.toLowerCase();if(\"select\"===f||\"input\"===f&&\"file\"===e.type)var g=Ee;else if(xe(e))if(Fe)g=Le;else{g=Je;var h=Ie}else(f=e.nodeName)&&\"input\"===f.toLowerCase()&&(\"checkbox\"===e.type||\"radio\"===e.type)&&(g=Ke);if(g&&(g=g(a,b)))return ze(g,c,d);h&&h(a,e,b);\"blur\"===a&&(a=e._wrapperState)&&a.controlled&&\"number\"===e.type&&Db(e,\"number\",e.value)}},Ne=G.extend({view:null,detail:null}),\nOe={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pe(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Oe[a])?!!b[a]:!1}function Qe(){return Pe}\nvar Re=0,Se=0,Te=!1,Ue=!1,Ve=Ne.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Qe,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if(\"movementX\"in a)return a.movementX;var b=Re;Re=a.screenX;return Te?\"mousemove\"===a.type?a.screenX-b:0:(Te=!0,0)},movementY:function(a){if(\"movementY\"in a)return a.movementY;\nvar b=Se;Se=a.screenY;return Ue?\"mousemove\"===a.type?a.screenY-b:0:(Ue=!0,0)}}),We=Ve.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Xe={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"mouseout\",\"mouseover\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"mouseout\",\"mouseover\"]},pointerEnter:{registrationName:\"onPointerEnter\",dependencies:[\"pointerout\",\"pointerover\"]},pointerLeave:{registrationName:\"onPointerLeave\",\ndependencies:[\"pointerout\",\"pointerover\"]}},Ye={eventTypes:Xe,extractEvents:function(a,b,c,d,e){var f=\"mouseover\"===a||\"pointerover\"===a,g=\"mouseout\"===a||\"pointerout\"===a;if(f&&0===(e&32)&&(c.relatedTarget||c.fromElement)||!g&&!f)return null;f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window;if(g){if(g=b,b=(b=c.relatedTarget||c.toElement)?tc(b):null,null!==b){var h=dc(b);if(b!==h||5!==b.tag&&6!==b.tag)b=null}}else g=null;if(g===b)return null;if(\"mouseout\"===a||\"mouseover\"===\na){var k=Ve;var l=Xe.mouseLeave;var m=Xe.mouseEnter;var p=\"mouse\"}else if(\"pointerout\"===a||\"pointerover\"===a)k=We,l=Xe.pointerLeave,m=Xe.pointerEnter,p=\"pointer\";a=null==g?f:Pd(g);f=null==b?f:Pd(b);l=k.getPooled(l,g,c,d);l.type=p+\"leave\";l.target=a;l.relatedTarget=f;c=k.getPooled(m,b,c,d);c.type=p+\"enter\";c.target=f;c.relatedTarget=a;d=g;p=b;if(d&&p)a:{k=d;m=p;g=0;for(a=k;a;a=Rd(a))g++;a=0;for(b=m;b;b=Rd(b))a++;for(;0<g-a;)k=Rd(k),g--;for(;0<a-g;)m=Rd(m),a--;for(;g--;){if(k===m||k===m.alternate)break a;\nk=Rd(k);m=Rd(m)}k=null}else k=null;m=k;for(k=[];d&&d!==m;){g=d.alternate;if(null!==g&&g===m)break;k.push(d);d=Rd(d)}for(d=[];p&&p!==m;){g=p.alternate;if(null!==g&&g===m)break;d.push(p);p=Rd(p)}for(p=0;p<k.length;p++)Vd(k[p],\"bubbled\",l);for(p=d.length;0<p--;)Vd(d[p],\"captured\",c);return 0===(e&64)?[l]:[l,c]}};function Ze(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var $e=\"function\"===typeof Object.is?Object.is:Ze,af=Object.prototype.hasOwnProperty;\nfunction bf(a,b){if($e(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!af.call(b,c[d])||!$e(a[c[d]],b[c[d]]))return!1;return!0}\nvar cf=ya&&\"documentMode\"in document&&11>=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;g<f.length;g++)if(!e.has(f[g])){e=!1;break a}e=!0}f=!e}if(f)return null;e=b?Pd(b):window;switch(a){case \"focus\":if(xe(e)||\"true\"===e.contentEditable)ef=e,ff=b,gf=null;break;case \"blur\":gf=ff=ef=null;break;case \"mousedown\":hf=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":return hf=!1,jf(c,d);case \"selectionchange\":if(cf)break;\ncase \"keydown\":case \"keyup\":return jf(c,d)}return null}},lf=G.extend({animationName:null,elapsedTime:null,pseudoElement:null}),mf=G.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),nf=Ne.extend({relatedTarget:null});function of(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar pf={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},qf={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},rf=Ne.extend({key:function(a){if(a.key){var b=pf[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=of(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?qf[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Qe,charCode:function(a){return\"keypress\"===\na.type?of(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===a.type?of(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),sf=Ve.extend({dataTransfer:null}),tf=Ne.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Qe}),uf=G.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),vf=Ve.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in\na?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),wf={eventTypes:Wc,extractEvents:function(a,b,c,d){var e=Yc.get(a);if(!e)return null;switch(a){case \"keypress\":if(0===of(c))return null;case \"keydown\":case \"keyup\":a=rf;break;case \"blur\":case \"focus\":a=nf;break;case \"click\":if(2===c.button)return null;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":a=\nVe;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":a=sf;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":a=tf;break;case Xb:case Yb:case Zb:a=lf;break;case $b:a=uf;break;case \"scroll\":a=Ne;break;case \"wheel\":a=vf;break;case \"copy\":case \"cut\":case \"paste\":a=mf;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":a=\nWe;break;default:a=G}b=a.getPooled(e,b,c,d);Xd(b);return b}};if(pa)throw Error(u(101));pa=Array.prototype.slice.call(\"ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));ra();var xf=Nc;la=Qd;ma=xf;na=Pd;xa({SimpleEventPlugin:wf,EnterLeaveEventPlugin:Ye,ChangeEventPlugin:Me,SelectEventPlugin:kf,BeforeInputEventPlugin:ve});var yf=[],zf=-1;function H(a){0>zf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});Wf=null}catch(c){throw null!==Wf&&(Wf=Wf.slice(a+1)),Jf(Of,gg),c;}finally{Yf=!1}}}function hg(a,b,c){c/=10;return 1073741821-(((1073741821-a+b/10)/c|0)+1)*c}function ig(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}var jg={current:null},kg=null,lg=null,mg=null;function ng(){mg=lg=kg=null}\nfunction og(a){var b=jg.current;H(jg);a.type._context._currentValue=b}function pg(a,b){for(;null!==a;){var c=a.alternate;if(a.childExpirationTime<b)a.childExpirationTime=b,null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);else if(null!==c&&c.childExpirationTime<b)c.childExpirationTime=b;else break;a=a.return}}function qg(a,b){kg=a;mg=lg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(a.expirationTime>=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(g<d){var ca={expirationTime:z.expirationTime,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null};null===x?(p=x=\nca,m=k):x=x.next=ca;g>l&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=e;e=c;if(\"function\"!==typeof d)throw Error(u(191,d));d.call(e)}}}var Dg=Wa.ReactCurrentBatchConfig,Eg=(new aa.Component).refs;function Fg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;0===a.expirationTime&&(a.updateQueue.baseState=c)}\nvar Jg={isMounted:function(a){return(a=a._reactInternalFiber)?dc(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=Gg(),d=Dg.suspense;\nc=Hg(c,a,d);d=wg(c,d);d.tag=2;void 0!==b&&null!==b&&(d.callback=b);xg(a,d);Ig(a,c)}};function Kg(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!bf(c,d)||!bf(e,f):!0}\nfunction Lg(a,b,c){var d=!1,e=Af;var f=b.contextType;\"object\"===typeof f&&null!==f?f=sg(f):(e=L(b)?Bf:J.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Cf(a,e):Af);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Jg;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Mg(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Jg.enqueueReplaceState(b,b.state,null)}\nfunction Ng(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Eg;ug(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=sg(f):(f=L(b)?Bf:J.current,e.context=Cf(a,f));zg(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Fg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||\n(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Jg.enqueueReplaceState(e,e.state,null),zg(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.effectTag|=4)}var Og=Array.isArray;\nfunction Pg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(u(309));var d=c.stateNode}if(!d)throw Error(u(147,a));var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Eg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw Error(u(284));if(!c._owner)throw Error(u(290,a));}return a}\nfunction Qg(a,b){if(\"textarea\"!==a.type)throw Error(u(31,\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\"));}\nfunction Rg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Sg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=\n2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Tg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=Pg(a,b,c),d.return=a,d;d=Ug(c.type,c.key,c.props,null,a.mode,d);d.ref=Pg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==\nc.implementation)return b=Vg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Wg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function p(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Tg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case Za:return c=Ug(b.type,b.key,b.props,null,a.mode,c),c.ref=Pg(a,null,b),c.return=a,c;case $a:return b=Vg(b,a.mode,c),b.return=a,b}if(Og(b)||\nnb(b))return b=Wg(b,a.mode,c,null),b.return=a,b;Qg(a,b)}return null}function x(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case Za:return c.key===e?c.type===ab?m(a,b,c.props.children,d,e):k(a,b,c,d):null;case $a:return c.key===e?l(a,b,c,d):null}if(Og(c)||nb(c))return null!==e?null:m(a,b,c,d,null);Qg(a,c)}return null}function z(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=\na.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case Za:return a=a.get(null===d.key?c:d.key)||null,d.type===ab?m(b,a,d.props.children,e,d.key):k(b,a,d,e);case $a:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Og(d)||nb(d))return a=a.get(c)||null,m(b,a,d,e,null);Qg(b,d)}return null}function ca(e,g,h,k){for(var l=null,t=null,m=g,y=g=0,A=null;null!==m&&y<h.length;y++){m.index>y?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;y<h.length;y++)m=p(e,h[y],k),null!==m&&(g=f(m,g,y),null===t?l=m:t.sibling=m,t=m);return l}for(m=d(e,m);y<h.length;y++)A=z(m,e,y,h[y],k),null!==A&&(a&&null!==A.alternate&&m.delete(null===A.key?y:A.key),g=f(A,g,y),null===t?l=A:t.sibling=A,t=A);a&&m.forEach(function(a){return b(e,a)});return l}function D(e,g,h,l){var k=nb(h);if(\"function\"!==typeof k)throw Error(u(150));h=k.call(h);\nif(null==h)throw Error(u(151));for(var m=k=null,t=g,y=g=0,A=null,q=h.next();null!==t&&!q.done;y++,q=h.next()){t.index>y?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!$e(a[c],b[c]))return!1;return!0}\nfunction oh(a,b,c,d,e,f){lh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.expirationTime=0;jh.current=null===a||null===a.memoizedState?ph:qh;a=c(d,e);if(b.expirationTime===lh){f=0;do{b.expirationTime=0;if(!(25>f))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(l<lh){var m={expirationTime:k.expirationTime,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null};null===h?(g=h=m,f=d):h=h.next=m;l>N.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97<d?97:d,function(){var d=kh.suspense;kh.suspense=void 0===b?null:b;try{a(!1),c()}finally{kh.suspense=d}})}\nfunction zh(a,b,c){var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e={expirationTime:d,suspenseConfig:e,action:c,eagerReducer:null,eagerState:null,next:null};var f=b.pending;null===f?e.next=e:(e.next=f.next,f.next=e);b.pending=e;f=a.alternate;if(a===N||null!==f&&f===N)mh=!0,e.expirationTime=lh,N.expirationTime=lh;else{if(0===a.expirationTime&&(null===f||0===f.expirationTime)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.eagerReducer=f;e.eagerState=h;if($e(h,g))return}catch(k){}finally{}Ig(a,\nd)}}\nvar sh={readContext:sg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useResponder:Q,useDeferredValue:Q,useTransition:Q},ph={readContext:sg,useCallback:Kh,useContext:sg,useEffect:Eh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Ch(4,2,Hh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Ch(4,2,a,b)},useMemo:function(a,b){var c=th();b=void 0===b?null:b;a=a();c.memoizedState=[a,\nb];return a},useReducer:function(a,b,c){var d=th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=zh.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=th();a={current:a};return b.memoizedState=a},useState:yh,useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=yh(a),d=c[0],e=c[1];Eh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=\nc}},[a,b]);return d},useTransition:function(a){var b=yh(!1),c=b[0];b=b[1];return[Kh(Nh.bind(null,b,a),[b,a]),c]}},qh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:wh,useRef:Bh,useState:function(){return wh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=wh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=\nwh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,b,a),[b,a]),c]}},rh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:xh,useRef:Bh,useState:function(){return xh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=xh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=xh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,\nb,a),[b,a]),c]}},Oh=null,Ph=null,Qh=!1;function Rh(a,b){var c=Sh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}\nfunction Th(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Uh(a){if(Qh){var b=Ph;if(b){var c=b;if(!Th(a,b)){b=Jd(c.nextSibling);if(!b||!Th(a,b)){a.effectTag=a.effectTag&-1025|2;Qh=!1;Oh=a;return}Rh(Oh,c)}Oh=a;Ph=Jd(b.firstChild)}else a.effectTag=a.effectTag&-1025|2,Qh=!1,Oh=a}}function Vh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;Oh=a}\nfunction Wh(a){if(a!==Oh)return!1;if(!Qh)return Vh(a),Qh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!Gd(b,a.memoizedProps))for(b=Ph;b;)Rh(a,b),b=Jd(b.nextSibling);Vh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(u(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(c===Ad){if(0===b){Ph=Jd(a.nextSibling);break a}b--}else c!==zd&&c!==Cd&&c!==Bd||b++}a=a.nextSibling}Ph=null}}else Ph=Oh?Jd(a.stateNode.nextSibling):null;return!0}\nfunction Xh(){Ph=Oh=null;Qh=!1}var Yh=Wa.ReactCurrentOwner,rg=!1;function R(a,b,c,d){b.child=null===a?Yg(b,null,c,d):Xg(b,a.child,c,d)}function Zh(a,b,c,d,e){c=c.render;var f=b.ref;qg(b,e);d=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,d,e);return b.child}\nfunction ai(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!bi(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ci(a,b,g,d,e,f);a=Ug(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e<f&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:bf,c(e,d)&&a.ref===b.ref))return $h(a,b,f);b.effectTag|=1;a=Sg(g,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction ci(a,b,c,d,e,f){return null!==a&&bf(a.memoizedProps,d)&&a.ref===b.ref&&(rg=!1,e<f)?(b.expirationTime=a.expirationTime,$h(a,b,f)):di(a,b,c,d,f)}function ei(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128}function di(a,b,c,d,e){var f=L(c)?Bf:J.current;f=Cf(b,f);qg(b,e);c=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,c,e);return b.child}\nfunction fi(a,b,c,d,e){if(L(c)){var f=!0;Gf(b)}else f=!1;qg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),Lg(b,c,d),Ng(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l));var m=c.getDerivedStateFromProps,p=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;p||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l);tg=!1;var x=b.memoizedState;g.state=x;zg(b,d,g,e);k=b.memoizedState;h!==d||x!==k||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),k=b.memoizedState),(h=tg||Kg(b,c,h,d,x,k,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.effectTag|=4)):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),d=!1)}else g=b.stateNode,vg(a,b),h=b.memoizedProps,g.props=b.type===b.elementType?h:ig(b.type,h),k=g.context,l=c.contextType,\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l)),m=c.getDerivedStateFromProps,(p=\"function\"===typeof m||\"function\"===\ntypeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l),tg=!1,k=b.memoizedState,g.state=k,zg(b,d,g,e),x=b.memoizedState,h!==d||k!==x||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),x=b.memoizedState),(m=tg||Kg(b,c,h,d,k,x,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nx,l),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,l)),\"function\"===typeof g.componentDidUpdate&&(b.effectTag|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.effectTag|=256)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=l,d=m):\n(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),d=!1);return gi(a,b,c,d,f,e)}\nfunction gi(a,b,c,d,e,f){ei(a,b);var g=0!==(b.effectTag&64);if(!d&&!g)return e&&Hf(b,c,!1),$h(a,b,f);d=b.stateNode;Yh.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.effectTag|=1;null!==a&&g?(b.child=Xg(b,a.child,null,f),b.child=Xg(b,null,h,f)):R(a,b,h,f);b.memoizedState=d.state;e&&Hf(b,c,!0);return b.child}function hi(a){var b=a.stateNode;b.pendingContext?Ef(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Ef(a,b.context,!1);dh(a,b.containerInfo)}\nvar ii={dehydrated:null,retryTime:0};\nfunction ji(a,b,c){var d=b.mode,e=b.pendingProps,f=M.current,g=!1,h;(h=0!==(b.effectTag&64))||(h=0!==(f&2)&&(null===a||null!==a.memoizedState));h?(g=!0,b.effectTag&=-65):null!==a&&null===a.memoizedState||void 0===e.fallback||!0===e.unstable_avoidThisFallback||(f|=1);I(M,f&1);if(null===a){void 0!==e.fallback&&Uh(b);if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=\nb;e.sibling=c;b.memoizedState=ii;b.child=e;return c}d=e.children;b.memoizedState=null;return b.child=Yg(b,null,d,c)}if(null!==a.memoizedState){a=a.child;d=a.sibling;if(g){e=e.fallback;c=Sg(a,a.pendingProps);c.return=b;if(0===(b.mode&2)&&(g=null!==b.memoizedState?b.child.child:b.child,g!==a.child))for(c.child=g;null!==g;)g.return=c,g=g.sibling;d=Sg(d,e);d.return=b;c.sibling=d;c.childExpirationTime=0;b.memoizedState=ii;b.child=c;return d}c=Xg(b,a.child,e.children,c);b.memoizedState=null;return b.child=\nc}a=a.child;if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;e.child=a;null!==a&&(a.return=e);if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=b;e.sibling=c;c.effectTag|=2;e.childExpirationTime=0;b.memoizedState=ii;b.child=e;return c}b.memoizedState=null;return b.child=Xg(b,a,e.children,c)}\nfunction ki(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);pg(a.return,b)}function li(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailExpiration:0,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailExpiration=0,g.tailMode=e,g.lastEffect=f)}\nfunction mi(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;R(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.effectTag|=64;else{if(null!==a&&0!==(a.effectTag&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&ki(a,c);else if(19===a.tag)ki(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(M,d);if(0===(b.mode&2))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===hh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);li(b,!1,e,c,f,b.lastEffect);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===hh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}li(b,!0,c,null,f,b.lastEffect);break;case \"together\":li(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}\nfunction $h(a,b,c){null!==a&&(b.dependencies=a.dependencies);var d=b.expirationTime;0!==d&&Bg(d);if(b.childExpirationTime<c)return null;if(null!==a&&b.child!==a.child)throw Error(u(153));if(null!==b.child){a=b.child;c=Sg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Sg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}var ni,oi,pi,qi;\nni=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};oi=function(){};\npi=function(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){var g=b.stateNode;ch($g.current);a=null;switch(c){case \"input\":f=zb(g,f);d=zb(g,d);a=[];break;case \"option\":f=Gb(g,f);d=Gb(g,d);a=[];break;case \"select\":f=n({},f,{value:void 0});d=n({},d,{value:void 0});a=[];break;case \"textarea\":f=Ib(g,f);d=Ib(g,d);a=[];break;default:\"function\"!==typeof f.onClick&&\"function\"===typeof d.onClick&&(g.onclick=sd)}od(c,d);var h,k;c=null;for(h in f)if(!d.hasOwnProperty(h)&&f.hasOwnProperty(h)&&null!=f[h])if(\"style\"===\nh)for(k in g=f[h],g)g.hasOwnProperty(k)&&(c||(c={}),c[k]=\"\");else\"dangerouslySetInnerHTML\"!==h&&\"children\"!==h&&\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&\"autoFocus\"!==h&&(va.hasOwnProperty(h)?a||(a=[]):(a=a||[]).push(h,null));for(h in d){var l=d[h];g=null!=f?f[h]:void 0;if(d.hasOwnProperty(h)&&l!==g&&(null!=l||null!=g))if(\"style\"===h)if(g){for(k in g)!g.hasOwnProperty(k)||l&&l.hasOwnProperty(k)||(c||(c={}),c[k]=\"\");for(k in l)l.hasOwnProperty(k)&&g[k]!==l[k]&&(c||(c={}),\nc[k]=l[k])}else c||(a||(a=[]),a.push(h,c)),c=l;else\"dangerouslySetInnerHTML\"===h?(l=l?l.__html:void 0,g=g?g.__html:void 0,null!=l&&g!==l&&(a=a||[]).push(h,l)):\"children\"===h?g===l||\"string\"!==typeof l&&\"number\"!==typeof l||(a=a||[]).push(h,\"\"+l):\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&(va.hasOwnProperty(h)?(null!=l&&rd(e,h),a||g===l||(a=[])):(a=a||[]).push(h,l))}c&&(a=a||[]).push(\"style\",c);e=a;if(b.updateQueue=e)b.effectTag|=4}};\nqi=function(a,b,c,d){c!==d&&(b.effectTag|=4)};function ri(a,b){switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction si(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return L(b.type)&&Df(),null;case 3:return eh(),H(K),H(J),c=b.stateNode,c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),null!==a&&null!==a.child||!Wh(b)||(b.effectTag|=4),oi(b),null;case 5:gh(b);c=ch(bh.current);var e=b.type;if(null!==a&&null!=b.stateNode)pi(a,b,e,d,c),a.ref!==b.ref&&(b.effectTag|=128);else{if(!d){if(null===b.stateNode)throw Error(u(166));\nreturn null}a=ch($g.current);if(Wh(b)){d=b.stateNode;e=b.type;var f=b.memoizedProps;d[Md]=b;d[Nd]=f;switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",d);break;case \"video\":case \"audio\":for(a=0;a<ac.length;a++)F(ac[a],d);break;case \"source\":F(\"error\",d);break;case \"img\":case \"image\":case \"link\":F(\"error\",d);F(\"load\",d);break;case \"form\":F(\"reset\",d);F(\"submit\",d);break;case \"details\":F(\"toggle\",d);break;case \"input\":Ab(d,f);F(\"invalid\",d);rd(c,\"onChange\");break;case \"select\":d._wrapperState=\n{wasMultiple:!!f.multiple};F(\"invalid\",d);rd(c,\"onChange\");break;case \"textarea\":Jb(d,f),F(\"invalid\",d),rd(c,\"onChange\")}od(e,f);a=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(a=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(a=[\"children\",\"\"+h]):va.hasOwnProperty(g)&&null!=h&&rd(c,g)}switch(e){case \"input\":xb(d);Eb(d,f,!0);break;case \"textarea\":xb(d);Lb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&\n(d.onclick=sd)}c=a;b.updateQueue=c;null!==c&&(b.effectTag|=4)}else{g=9===c.nodeType?c:c.ownerDocument;a===qd&&(a=Nb(e));a===qd?\"script\"===e?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;h<ac.length;h++)F(ac[h],a);h=d;break;case \"source\":F(\"error\",a);h=d;break;case \"img\":case \"image\":case \"link\":F(\"error\",a);F(\"load\",a);h=d;break;case \"form\":F(\"reset\",a);F(\"submit\",a);h=d;break;case \"details\":F(\"toggle\",a);h=d;break;case \"input\":Ab(a,d);h=zb(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;case \"option\":h=Gb(a,d);break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};h=n({},d,{value:void 0});F(\"invalid\",a);rd(c,\"onChange\");break;case \"textarea\":Jb(a,\nd);h=Ib(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;default:h=d}od(e,h);var k=h;for(f in k)if(k.hasOwnProperty(f)){var l=k[f];\"style\"===f?md(a,l):\"dangerouslySetInnerHTML\"===f?(l=l?l.__html:void 0,null!=l&&Qb(a,l)):\"children\"===f?\"string\"===typeof l?(\"textarea\"!==e||\"\"!==l)&&Rb(a,l):\"number\"===typeof l&&Rb(a,\"\"+l):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(va.hasOwnProperty(f)?null!=l&&rd(c,f):null!=l&&Xa(a,f,l,g))}switch(e){case \"input\":xb(a);Eb(a,d,!1);\nbreak;case \"textarea\":xb(a);Lb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+rb(d.value));break;case \"select\":a.multiple=!!d.multiple;c=d.value;null!=c?Hb(a,!!d.multiple,c,!1):null!=d.defaultValue&&Hb(a,!!d.multiple,d.defaultValue,!0);break;default:\"function\"===typeof h.onClick&&(a.onclick=sd)}Fd(e,d)&&(b.effectTag|=4)}null!==b.ref&&(b.effectTag|=128)}return null;case 6:if(a&&null!=b.stateNode)qi(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(u(166));\nc=ch(bh.current);ch($g.current);Wh(b)?(c=b.stateNode,d=b.memoizedProps,c[Md]=b,c.nodeValue!==d&&(b.effectTag|=4)):(c=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),c[Md]=b,b.stateNode=c)}return null;case 13:H(M);d=b.memoizedState;if(0!==(b.effectTag&64))return b.expirationTime=c,b;c=null!==d;d=!1;null===a?void 0!==b.memoizedProps.fallback&&Wh(b):(e=a.memoizedState,d=null!==e,c||null===e||(e=a.child.sibling,null!==e&&(f=b.firstEffect,null!==f?(b.firstEffect=e,e.nextEffect=f):(b.firstEffect=b.lastEffect=\ne,e.nextEffect=null),e.effectTag=8)));if(c&&!d&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(M.current&1))S===ti&&(S=ui);else{if(S===ti||S===ui)S=vi;0!==wi&&null!==T&&(xi(T,U),yi(T,wi))}if(c||d)b.effectTag|=4;return null;case 4:return eh(),oi(b),null;case 10:return og(b),null;case 17:return L(b.type)&&Df(),null;case 19:H(M);d=b.memoizedState;if(null===d)return null;e=0!==(b.effectTag&64);f=d.rendering;if(null===f)if(e)ri(d,!1);else{if(S!==ti||null!==a&&0!==(a.effectTag&\n64))for(f=b.child;null!==f;){a=hh(f);if(null!==a){b.effectTag|=64;ri(d,!1);e=a.updateQueue;null!==e&&(b.updateQueue=e,b.effectTag|=4);null===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;for(d=b.child;null!==d;)e=d,f=c,e.effectTag&=2,e.nextEffect=null,e.firstEffect=null,e.lastEffect=null,a=e.alternate,null===a?(e.childExpirationTime=0,e.expirationTime=f,e.child=null,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null):(e.childExpirationTime=a.childExpirationTime,\ne.expirationTime=a.expirationTime,e.child=a.child,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,f=a.dependencies,e.dependencies=null===f?null:{expirationTime:f.expirationTime,firstContext:f.firstContext,responders:f.responders}),d=d.sibling;I(M,M.current&1|2);return b.child}f=f.sibling}}else{if(!e)if(a=hh(f),null!==a){if(b.effectTag|=64,e=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.effectTag|=4),ri(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!f.alternate)return b=\nb.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*$f()-d.renderingStartTime>d.tailExpiration&&1<c&&(b.effectTag|=64,e=!0,ri(d,!1),b.expirationTime=b.childExpirationTime=c-1);d.isBackwards?(f.sibling=b.child,b.child=f):(c=d.last,null!==c?c.sibling=f:b.child=f,d.last=f)}return null!==d.tail?(0===d.tailExpiration&&(d.tailExpiration=$f()+500),c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=$f(),c.sibling=null,b=M.current,I(M,e?b&1|2:b&1),c):null}throw Error(u(156,\nb.tag));}function zi(a){switch(a.tag){case 1:L(a.type)&&Df();var b=a.effectTag;return b&4096?(a.effectTag=b&-4097|64,a):null;case 3:eh();H(K);H(J);b=a.effectTag;if(0!==(b&64))throw Error(u(285));a.effectTag=b&-4097|64;return a;case 5:return gh(a),null;case 13:return H(M),b=a.effectTag,b&4096?(a.effectTag=b&-4097|64,a):null;case 19:return H(M),null;case 4:return eh(),null;case 10:return og(a),null;default:return null}}function Ai(a,b){return{value:a,source:b,stack:qb(b)}}\nvar Bi=\"function\"===typeof WeakSet?WeakSet:Set;function Ci(a,b){var c=b.source,d=b.stack;null===d&&null!==c&&(d=qb(c));null!==c&&pb(c.type);b=b.value;null!==a&&1===a.tag&&pb(a.type);try{console.error(b)}catch(e){setTimeout(function(){throw e;})}}function Di(a,b){try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(c){Ei(a,c)}}function Fi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Ei(a,c)}else b.current=null}\nfunction Gi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.effectTag&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:ig(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:case 5:case 6:case 4:case 17:return}throw Error(u(163));}\nfunction Hi(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.destroy;c.destroy=void 0;void 0!==d&&d()}c=c.next}while(c!==b)}}function Ii(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}\nfunction Ji(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:Ii(3,c);return;case 1:a=c.stateNode;if(c.effectTag&4)if(null===b)a.componentDidMount();else{var d=c.elementType===c.type?b.memoizedProps:ig(c.type,b.memoizedProps);a.componentDidUpdate(d,b.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}b=c.updateQueue;null!==b&&Cg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Cg(c,b,a)}return;\ncase 5:a=c.stateNode;null===b&&c.effectTag&4&&Fd(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Vc(c))));return;case 19:case 17:case 20:case 21:return}throw Error(u(163));}\nfunction Ki(a,b,c){\"function\"===typeof Li&&Li(b);switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var d=a.next;cg(97<c?97:c,function(){var a=d;do{var c=a.destroy;if(void 0!==c){var g=b;try{c()}catch(h){Ei(g,h)}}a=a.next}while(a!==d)})}break;case 1:Fi(b);c=b.stateNode;\"function\"===typeof c.componentWillUnmount&&Di(b,c);break;case 5:Fi(b);break;case 4:Mi(a,b,c)}}\nfunction Ni(a){var b=a.alternate;a.return=null;a.child=null;a.memoizedState=null;a.updateQueue=null;a.dependencies=null;a.alternate=null;a.firstEffect=null;a.lastEffect=null;a.pendingProps=null;a.memoizedProps=null;a.stateNode=null;null!==b&&Ni(b)}function Oi(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Pi(a){a:{for(var b=a.return;null!==b;){if(Oi(b)){var c=b;break a}b=b.return}throw Error(u(160));}b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(u(161));}c.effectTag&16&&(Rb(b,\"\"),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||Oi(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.effectTag&2)continue b;\nif(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}d?Qi(a,c,b):Ri(a,c,b)}\nfunction Qi(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=sd));else if(4!==d&&(a=a.child,null!==a))for(Qi(a,b,c),a=a.sibling;null!==a;)Qi(a,b,c),a=a.sibling}\nfunction Ri(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Ri(a,b,c),a=a.sibling;null!==a;)Ri(a,b,c),a=a.sibling}\nfunction Mi(a,b,c){for(var d=b,e=!1,f,g;;){if(!e){e=d.return;a:for(;;){if(null===e)throw Error(u(160));f=e.stateNode;switch(e.tag){case 5:g=!1;break a;case 3:f=f.containerInfo;g=!0;break a;case 4:f=f.containerInfo;g=!0;break a}e=e.return}e=!0}if(5===d.tag||6===d.tag){a:for(var h=a,k=d,l=c,m=k;;)if(Ki(h,m,l),null!==m.child&&4!==m.tag)m.child.return=m,m=m.child;else{if(m===k)break a;for(;null===m.sibling;){if(null===m.return||m.return===k)break a;m=m.return}m.sibling.return=m.return;m=m.sibling}g?(h=\nf,k=d.stateNode,8===h.nodeType?h.parentNode.removeChild(k):h.removeChild(k)):f.removeChild(d.stateNode)}else if(4===d.tag){if(null!==d.child){f=d.stateNode.containerInfo;g=!0;d.child.return=d;d=d.child;continue}}else if(Ki(a,d,c),null!==d.child){d.child.return=d;d=d.child;continue}if(d===b)break;for(;null===d.sibling;){if(null===d.return||d.return===b)return;d=d.return;4===d.tag&&(e=!1)}d.sibling.return=d.return;d=d.sibling}}\nfunction Si(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:Hi(3,b);return;case 1:return;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps,e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[Nd]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&Bb(c,d);pd(a,e);b=pd(a,d);for(e=0;e<f.length;e+=2){var g=f[e],h=f[e+1];\"style\"===g?md(c,h):\"dangerouslySetInnerHTML\"===g?Qb(c,h):\"children\"===g?Rb(c,h):Xa(c,g,h,b)}switch(a){case \"input\":Cb(c,d);break;\ncase \"textarea\":Kb(c,d);break;case \"select\":b=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,a=d.value,null!=a?Hb(c,!!d.multiple,a,!1):b!==!!d.multiple&&(null!=d.defaultValue?Hb(c,!!d.multiple,d.defaultValue,!0):Hb(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}return;case 6:if(null===b.stateNode)throw Error(u(162));b.stateNode.nodeValue=b.memoizedProps;return;case 3:b=b.stateNode;b.hydrate&&(b.hydrate=!1,Vc(b.containerInfo));return;case 12:return;case 13:c=b;null===b.memoizedState?\nd=!1:(d=!0,c=b.child,Ti=$f());if(null!==c)a:for(a=c;;){if(5===a.tag)f=a.stateNode,d?(f=f.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(f=a.stateNode,e=a.memoizedProps.style,e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null,f.style.display=ld(\"display\",e));else if(6===a.tag)a.stateNode.nodeValue=d?\"\":a.memoizedProps;else if(13===a.tag&&null!==a.memoizedState&&null===a.memoizedState.dehydrated){f=a.child.sibling;f.return=a;a=\nf;continue}else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===c)break;for(;null===a.sibling;){if(null===a.return||a.return===c)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}Ui(b);return;case 19:Ui(b);return;case 17:return}throw Error(u(163));}function Ui(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Bi);b.forEach(function(b){var d=Vi.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nvar Wi=\"function\"===typeof WeakMap?WeakMap:Map;function Xi(a,b,c){c=wg(c,null);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Yi||(Yi=!0,Zi=d);Ci(a,b)};return c}\nfunction $i(a,b,c){c=wg(c,null);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ci(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===aj?aj=new Set([this]):aj.add(this),Ci(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nvar bj=Math.ceil,cj=Wa.ReactCurrentDispatcher,dj=Wa.ReactCurrentOwner,V=0,ej=8,fj=16,gj=32,ti=0,hj=1,ij=2,ui=3,vi=4,jj=5,W=V,T=null,X=null,U=0,S=ti,kj=null,lj=1073741823,mj=1073741823,nj=null,wi=0,oj=!1,Ti=0,pj=500,Y=null,Yi=!1,Zi=null,aj=null,qj=!1,rj=null,sj=90,tj=null,uj=0,vj=null,wj=0;function Gg(){return(W&(fj|gj))!==V?1073741821-($f()/10|0):0!==wj?wj:wj=1073741821-($f()/10|0)}\nfunction Hg(a,b,c){b=b.mode;if(0===(b&2))return 1073741823;var d=ag();if(0===(b&4))return 99===d?1073741823:1073741822;if((W&fj)!==V)return U;if(null!==c)a=hg(a,c.timeoutMs|0||5E3,250);else switch(d){case 99:a=1073741823;break;case 98:a=hg(a,150,100);break;case 97:case 96:a=hg(a,5E3,250);break;case 95:a=2;break;default:throw Error(u(326));}null!==T&&a===U&&--a;return a}\nfunction Ig(a,b){if(50<uj)throw uj=0,vj=null,Error(u(185));a=xj(a,b);if(null!==a){var c=ag();1073741823===b?(W&ej)!==V&&(W&(fj|gj))===V?yj(a):(Z(a),W===V&&gg()):Z(a);(W&4)===V||98!==c&&99!==c||(null===tj?tj=new Map([[a,b]]):(c=tj.get(a),(void 0===c||c>b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);var d=a.return,e=null;if(null===d&&3===a.tag)e=a.stateNode;else for(;null!==d;){c=d.alternate;d.childExpirationTime<b&&(d.childExpirationTime=b);null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);if(null===d.return&&3===d.tag){e=d.stateNode;break}d=d.return}null!==e&&(T===e&&(Bg(b),S===vi&&xi(e,U)),yi(e,b));return e}\nfunction zj(a){var b=a.lastExpiredTime;if(0!==b)return b;b=a.firstPendingTime;if(!Aj(a,b))return b;var c=a.lastPingedTime;a=a.nextKnownPendingLevel;a=c>a?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2<c?2:c);break;case ui:xi(a,c);d=a.lastSuspendedTime;\nc===d&&(a.nextKnownPendingLevel=Ij(e));if(1073741823===lj&&(e=Ti+pj-$f(),10<e)){if(oj){var f=a.lastPingedTime;if(0===f||f>=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c<d&&(d=c));if(10<d){a.timeoutHandle=Hd(Jj.bind(null,a),d);break}Jj(a);break;case jj:if(1073741823!==lj&&null!==nj){f=lj;var g=nj;d=g.busyMinDurationMs|0;0>=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10<d){xi(a,c);a.timeoutHandle=\nHd(Jj.bind(null,a),d);break}}Jj(a);break;default:throw Error(u(329));}Z(a);if(a.callbackNode===b)return Bj.bind(null,a)}}return null}\nfunction yj(a){var b=a.lastExpiredTime;b=0!==b?b:1073741823;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&b===U||Ej(a,b);if(null!==X){var c=W;W|=fj;var d=Fj();do try{Kj();break}catch(e){Hj(a,e)}while(1);ng();W=c;cj.current=d;if(S===hj)throw c=kj,Ej(a,b),xi(a,b),Z(a),c;if(null!==X)throw Error(u(261));a.finishedWork=a.current.alternate;a.finishedExpirationTime=b;T=null;Jj(a);Z(a)}return null}function Lj(){if(null!==tj){var a=tj;tj=null;a.forEach(function(a,c){Cj(c,a);Z(c)});gg()}}\nfunction Mj(a,b){var c=W;W|=1;try{return a(b)}finally{W=c,W===V&&gg()}}function Nj(a,b){var c=W;W&=-2;W|=ej;try{return a(b)}finally{W=c,W===V&&gg()}}\nfunction Ej(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Id(c));if(null!==X)for(c=X.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Df();break;case 3:eh();H(K);H(J);break;case 5:gh(d);break;case 4:eh();break;case 13:H(M);break;case 19:H(M);break;case 10:og(d)}c=c.return}T=a;X=Sg(a.current,null);U=b;S=ti;kj=null;mj=lj=1073741823;nj=null;wi=0;oj=!1}\nfunction Hj(a,b){do{try{ng();jh.current=sh;if(mh)for(var c=N.memoizedState;null!==c;){var d=c.queue;null!==d&&(d.pending=null);c=c.next}lh=0;P=O=N=null;mh=!1;if(null===X||null===X.return)return S=hj,kj=b,X=null;a:{var e=a,f=X.return,g=X,h=b;b=U;g.effectTag|=2048;g.firstEffect=g.lastEffect=null;if(null!==h&&\"object\"===typeof h&&\"function\"===typeof h.then){var k=h;if(0===(g.mode&2)){var l=g.alternate;l?(g.updateQueue=l.updateQueue,g.memoizedState=l.memoizedState,g.expirationTime=l.expirationTime):(g.updateQueue=\nnull,g.memoizedState=null)}var m=0!==(M.current&1),p=f;do{var x;if(x=13===p.tag){var z=p.memoizedState;if(null!==z)x=null!==z.dehydrated?!0:!1;else{var ca=p.memoizedProps;x=void 0===ca.fallback?!1:!0!==ca.unstable_avoidThisFallback?!0:m?!1:!0}}if(x){var D=p.updateQueue;if(null===D){var t=new Set;t.add(k);p.updateQueue=t}else D.add(k);if(0===(p.mode&2)){p.effectTag|=64;g.effectTag&=-2981;if(1===g.tag)if(null===g.alternate)g.tag=17;else{var y=wg(1073741823,null);y.tag=2;xg(g,y)}g.expirationTime=1073741823;\nbreak a}h=void 0;g=b;var A=e.pingCache;null===A?(A=e.pingCache=new Wi,h=new Set,A.set(k,h)):(h=A.get(k),void 0===h&&(h=new Set,A.set(k,h)));if(!h.has(g)){h.add(g);var q=Oj.bind(null,e,k,g);k.then(q,q)}p.effectTag|=4096;p.expirationTime=b;break a}p=p.return}while(null!==p);h=Error((pb(g.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){a<lj&&2<a&&(lj=a);null!==b&&a<mj&&2<a&&(mj=a,nj=b)}function Bg(a){a>wi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1<X.effectTag&&(null!==\na.lastEffect?a.lastEffect.nextEffect=X:a.firstEffect=X,a.lastEffect=X))}else{b=zi(X);if(null!==b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048)}b=X.sibling;if(null!==b)return b;X=a}while(null!==X);S===ti&&(S=jj);return null}function Ij(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1<c.effectTag?null!==c.lastEffect?(c.lastEffect.nextEffect=c,e=c.firstEffect):e=c:e=c.firstEffect;if(null!==e){var f=W;W|=gj;dj.current=null;Dd=fd;var g=xd();if(yd(g)){if(\"selectionStart\"in g)var h={start:g.selectionStart,end:g.selectionEnd};else a:{h=(h=g.ownerDocument)&&h.defaultView||window;var k=h.getSelection&&h.getSelection();if(k&&0!==k.rangeCount){h=k.anchorNode;var l=k.anchorOffset,\nm=k.focusNode;k=k.focusOffset;try{h.nodeType,m.nodeType}catch(wb){h=null;break a}var p=0,x=-1,z=-1,ca=0,D=0,t=g,y=null;b:for(;;){for(var A;;){t!==h||0!==l&&3!==t.nodeType||(x=p+l);t!==m||0!==k&&3!==t.nodeType||(z=p+k);3===t.nodeType&&(p+=t.nodeValue.length);if(null===(A=t.firstChild))break;y=t;t=A}for(;;){if(t===g)break b;y===h&&++ca===l&&(x=p);y===m&&++D===k&&(z=p);if(null!==(A=t.nextSibling))break;t=y;y=t.parentNode}t=A}h=-1===x||-1===z?null:{start:x,end:z}}else h=null}h=h||{start:0,end:0}}else h=\nnull;Ed={activeElementDetached:null,focusedElem:g,selectionRange:h};fd=!1;Y=e;do try{Tj()}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=e;do try{for(g=a,h=b;null!==Y;){var q=Y.effectTag;q&16&&Rb(Y.stateNode,\"\");if(q&128){var B=Y.alternate;if(null!==B){var w=B.ref;null!==w&&(\"function\"===typeof w?w(null):w.current=null)}}switch(q&1038){case 2:Pi(Y);Y.effectTag&=-3;break;case 6:Pi(Y);Y.effectTag&=-3;Si(Y.alternate,Y);break;case 1024:Y.effectTag&=-1025;break;case 1028:Y.effectTag&=\n-1025;Si(Y.alternate,Y);break;case 4:Si(Y.alternate,Y);break;case 8:l=Y,Mi(g,l,h),Ni(l)}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);w=Ed;B=xd();q=w.focusedElem;h=w.selectionRange;if(B!==q&&q&&q.ownerDocument&&wd(q.ownerDocument.documentElement,q)){null!==h&&yd(q)&&(B=h.start,w=h.end,void 0===w&&(w=B),\"selectionStart\"in q?(q.selectionStart=B,q.selectionEnd=Math.min(w,q.value.length)):(w=(B=q.ownerDocument||document)&&B.defaultView||window,w.getSelection&&\n(w=w.getSelection(),l=q.textContent.length,g=Math.min(h.start,l),h=void 0===h.end?g:Math.min(h.end,l),!w.extend&&g>h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q<B.length;q++)w=B[q],w.element.scrollLeft=w.left,w.element.scrollTop=w.top}fd=!!Dd;Ed=Dd=null;a.current=c;Y=e;do try{for(q=a;null!==Y;){var ub=Y.effectTag;ub&36&&Ji(q,Y.alternate,Y);if(ub&128){B=void 0;var vb=Y.ref;if(null!==vb){var Xc=Y.stateNode;switch(Y.tag){case 5:B=Xc;break;default:B=Xc}\"function\"===typeof vb?vb(B):vb.current=B}}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=\nnull;Vf();W=f}else a.current=c;if(qj)qj=!1,rj=a,sj=b;else for(Y=e;null!==Y;)b=Y.nextEffect,Y.nextEffect=null,Y=b;b=a.firstPendingTime;0===b&&(aj=null);1073741823===b?a===vj?uj++:(uj=0,vj=a):uj=0;\"function\"===typeof Uj&&Uj(c.stateNode,d);Z(a);if(Yi)throw Yi=!1,a=Zi,Zi=null,a;if((W&ej)!==V)return null;gg();return null}function Tj(){for(;null!==Y;){var a=Y.effectTag;0!==(a&256)&&Gi(Y.alternate,Y);0===(a&512)||qj||(qj=!0,dg(97,function(){Dj();return null}));Y=Y.nextEffect}}\nfunction Dj(){if(90!==sj){var a=97<sj?97:sj;sj=90;return cg(a,Vj)}}function Vj(){if(null===rj)return!1;var a=rj;rj=null;if((W&(fj|gj))!==V)throw Error(u(331));var b=W;W|=gj;for(a=a.current.firstEffect;null!==a;){try{var c=a;if(0!==(c.effectTag&512))switch(c.tag){case 0:case 11:case 15:case 22:Hi(5,c),Ii(5,c)}}catch(d){if(null===a)throw Error(u(330));Ei(a,d)}c=a.nextEffect;a.nextEffect=null;a=c}W=b;gg();return!0}\nfunction Wj(a,b,c){b=Ai(c,b);b=Xi(a,b,1073741823);xg(a,b);a=xj(a,1073741823);null!==a&&Z(a)}function Ei(a,b){if(3===a.tag)Wj(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){Wj(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===aj||!aj.has(d))){a=Ai(b,a);a=$i(c,a,1073741823);xg(c,a);c=xj(c,1073741823);null!==c&&Z(c);break}}c=c.return}}\nfunction Oj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);T===a&&U===c?S===vi||S===ui&&1073741823===lj&&$f()-Ti<pj?Ej(a,U):oj=!0:Aj(a,c)&&(b=a.lastPingedTime,0!==b&&b<c||(a.lastPingedTime=c,Z(a)))}function Vi(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=Gg(),b=Hg(b,a,null));a=xj(a,b);null!==a&&Z(a)}var Rj;\nRj=function(a,b,c){var d=b.expirationTime;if(null!==a){var e=b.pendingProps;if(a.memoizedProps!==e||K.current)rg=!0;else{if(d<c){rg=!1;switch(b.tag){case 3:hi(b);Xh();break;case 5:fh(b);if(b.mode&4&&1!==c&&e.hidden)return b.expirationTime=b.childExpirationTime=1,null;break;case 1:L(b.type)&&Gf(b);break;case 4:dh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;e=b.type._context;I(jg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){d=b.child.childExpirationTime;\nif(0!==d&&d>=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime<c&&(h.expirationTime=c);l=h.alternate;null!==l&&l.expirationTime<c&&(l.expirationTime=c);pg(h.return,c);k.expirationTime<c&&(k.expirationTime=c);break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=\ng}R(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,qg(b,c),e=sg(e,f.unstable_observedBits),d=d(e),b.effectTag|=1,R(a,b,d,c),b.child;case 14:return e=b.type,f=ig(e,b.pendingProps),f=ig(e.type,f),ai(a,b,e,f,d,c);case 15:return ci(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),b.tag=1,L(d)?(a=!0,Gf(b)):a=!1,qg(b,c),Lg(b,d,e),Ng(b,d,e,c),gi(null,\nb,d,!0,a,c);case 19:return mi(a,b,c)}throw Error(u(156,b.tag));};var Uj=null,Li=null;function Yj(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Uj=function(a){try{b.onCommitFiberRoot(c,a,void 0,64===(a.current.effectTag&64))}catch(e){}};Li=function(a){try{b.onCommitFiberUnmount(c,a)}catch(e){}}}catch(d){}return!0}\nfunction Zj(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function Sh(a,b,c,d){return new Zj(a,b,c,d)}\nfunction bi(a){a=a.prototype;return!(!a||!a.isReactComponent)}function Xj(a){if(\"function\"===typeof a)return bi(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===gb)return 11;if(a===jb)return 14}return 2}\nfunction Sg(a,b){var c=a.alternate;null===c?(c=Sh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{expirationTime:b.expirationTime,\nfirstContext:b.firstContext,responders:b.responders};c.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Ug(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bi(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ab:return Wg(c.children,e,f,b);case fb:g=8;e|=7;break;case bb:g=8;e|=1;break;case cb:return a=Sh(12,c,b,e|8),a.elementType=cb,a.type=cb,a.expirationTime=f,a;case hb:return a=Sh(13,c,b,e),a.type=hb,a.elementType=hb,a.expirationTime=f,a;case ib:return a=Sh(19,c,b,e),a.elementType=ib,a.expirationTime=f,a;default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case db:g=\n10;break a;case eb:g=9;break a;case gb:g=11;break a;case jb:g=14;break a;case kb:g=16;d=null;break a;case lb:g=22;break a}throw Error(u(130,null==a?a:typeof a,\"\"));}b=Sh(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function Wg(a,b,c,d){a=Sh(7,a,d,b);a.expirationTime=c;return a}function Tg(a,b,c){a=Sh(6,a,null,b);a.expirationTime=c;return a}\nfunction Vg(a,b,c){b=Sh(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction ak(a,b,c){this.tag=b;this.current=null;this.containerInfo=a;this.pingCache=this.pendingChildren=null;this.finishedExpirationTime=0;this.finishedWork=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=90;this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}\nfunction Aj(a,b){var c=a.firstSuspendedTime;a=a.lastSuspendedTime;return 0!==c&&c>=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;c<b&&(a.firstSuspendedTime=b);if(d>b||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime<b&&(a.retryTime=b)}function ek(a,b){dk(a,b);(a=a.alternate)&&dk(a,b)}\nfunction fk(a,b,c){c=null!=c&&!0===c.hydrate;var d=new ak(a,b,c),e=Sh(3,null,null,2===b?7:1===b?3:0);d.current=e;e.stateNode=d;ug(e);a[Od]=d.current;c&&0!==b&&Jc(a,9===a.nodeType?a:a.ownerDocument);this._internalRoot=d}fk.prototype.render=function(a){bk(a,this._internalRoot,null,null)};fk.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;bk(null,a,null,function(){b[Od]=null})};\nfunction gk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function hk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new fk(a,0,b?{hydrate:!0}:void 0)}\nfunction ik(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=ck(g);h.call(a)}}bk(b,g,a,e)}else{f=c._reactRootContainer=hk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=ck(g);k.call(a)}}Nj(function(){bk(b,g,a,e)})}return ck(g)}function jk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:$a,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nwc=function(a){if(13===a.tag){var b=hg(Gg(),150,100);Ig(a,b);ek(a,b)}};xc=function(a){13===a.tag&&(Ig(a,3),ek(a,3))};yc=function(a){if(13===a.tag){var b=Gg();b=Hg(b,a,null);Ig(a,b);ek(a,b)}};\nza=function(a,b,c){switch(b){case \"input\":Cb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Qd(d);if(!e)throw Error(u(90));yb(d);Cb(d,e)}}}break;case \"textarea\":Kb(a,c);break;case \"select\":b=c.value,null!=b&&Hb(a,!!c.multiple,b,!1)}};Fa=Mj;\nGa=function(a,b,c,d,e){var f=W;W|=4;try{return cg(98,a.bind(null,b,c,d,e))}finally{W=f,W===V&&gg()}};Ha=function(){(W&(1|fj|gj))===V&&(Lj(),Dj())};Ia=function(a,b){var c=W;W|=2;try{return a(b)}finally{W=c,W===V&&gg()}};function kk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!gk(b))throw Error(u(200));return jk(a,b,null,c)}var lk={Events:[Nc,Pd,Qd,xa,ta,Xd,function(a){jc(a,Wd)},Da,Ea,id,mc,Dj,{current:!1}]};\n(function(a){var b=a.findFiberByHostInstance;return Yj(n({},a,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Wa.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=hc(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))})({findFiberByHostInstance:tc,bundleType:0,version:\"16.13.1\",\nrendererPackageName:\"react-dom\"});exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=lk;exports.createPortal=kk;exports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;if(void 0===b){if(\"function\"===typeof a.render)throw Error(u(188));throw Error(u(268,Object.keys(a)));}a=hc(b);a=null===a?null:a.stateNode;return a};\nexports.flushSync=function(a,b){if((W&(fj|gj))!==V)throw Error(u(187));var c=W;W|=1;try{return cg(99,a.bind(null,b))}finally{W=c,gg()}};exports.hydrate=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!0,c)};exports.render=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!1,c)};\nexports.unmountComponentAtNode=function(a){if(!gk(a))throw Error(u(40));return a._reactRootContainer?(Nj(function(){ik(null,null,a,!1,function(){a._reactRootContainer=null;a[Od]=null})}),!0):!1};exports.unstable_batchedUpdates=Mj;exports.unstable_createPortal=function(a,b){return kk(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!gk(c))throw Error(u(200));if(null==a||void 0===a._reactInternalFiber)throw Error(u(38));return ik(a,b,c,!1,d)};exports.version=\"16.13.1\";\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/index.html b/index.html
index 3ff6eaf..2740ded 100644
--- a/index.html
+++ b/index.html
@@ -1,8 +1,14 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.889ab2160f8ec77a2fd2.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{background:#073642}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;-webkit-transition:color .3s;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.18.17"/><title data-react-helmet="true">Eclipse JKube - Successor of the deprecated Fabric8 Maven Plugin</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content="Eclipse - Successor of the deprecated Fabric8 Maven Plugin"/><style type="text/css">
- .anchor {
- float: left;
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/jkube/styles.edb330c6c19e6d79150a.css">@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}</style><meta name="generator" content="Gatsby 2.24.12"/><title data-react-helmet="true">Eclipse JKube - Successor of the deprecated Fabric8 Maven Plugin</title><meta data-react-helmet="true" charSet="UTF-8"/><meta data-react-helmet="true" name="description" content="Eclipse - Successor of the deprecated Fabric8 Maven Plugin"/><style type="text/css">
+ .anchor.before {
+ position: absolute;
+ top: 0;
+ left: 0;
+ transform: translateX(-100%);
padding-right: 4px;
- margin-left: -20px;
+ }
+ .anchor.after {
+ display: inline-block;
+ padding-left: 4px;
}
h1 .anchor svg,
h2 .anchor svg,
@@ -32,7 +38,9 @@
if (hash !== '') {
var element = document.getElementById(hash)
if (element) {
- var offset = element.offsetTop
+ var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
+ var clientTop = document.documentElement.clientTop || document.body.clientTop || 0
+ var offset = element.getBoundingClientRect().top + scrollTop - clientTop
// Wait for the browser to finish rendering before scrolling.
setTimeout((function() {
window.scrollTo(0, offset - 0)
@@ -40,7 +48,7 @@
}
}
})
- </script><link as="script" rel="preload" href="/jkube/webpack-runtime-e8c5029a536217a0c012.js"/><link as="script" rel="preload" href="/jkube/app-194ea4f7bf63aa4ef2a0.js"/><link as="script" rel="preload" href="/jkube/styles-dc2598e243cc612bb313.js"/><link as="script" rel="preload" href="/jkube/commons-2e644671e1023bf8738b.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-main-jsx-509f65dc90a3e989be93.js"/><link as="fetch" rel="preload" href="/jkube/page-data/index/page-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" role="group" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a aria-current="page" class="eclipse-jkube__header-logo" href="/jkube/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/docs">Docs</a></li><li><a href="/jkube/demos">Demos</a></li><li><a href="/jkube/community">Community</a></li><li><a href="/jkube/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__main"><div class="eclipse-jkube__content"><div class="hero">
+ </script><link as="script" rel="preload" href="/jkube/webpack-runtime-3c499563b1f56aaa782c.js"/><link as="script" rel="preload" href="/jkube/framework-a576ae5ab153fa4a7c27.js"/><link as="script" rel="preload" href="/jkube/app-ea12b9b536627f4c1462.js"/><link as="script" rel="preload" href="/jkube/styles-c2fe8482057191dca484.js"/><link as="script" rel="preload" href="/jkube/commons-32e6f91911f4befd4235.js"/><link as="script" rel="preload" href="/jkube/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"/><link as="fetch" rel="preload" href="/jkube/page-data/index/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/jkube/page-data/app-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="eclipse-jkube"><header class="eclipse-jkube__header"><div class="eclipse-jkube__header-container"><a aria-current="page" class="eclipse-jkube__header-logo" href="/jkube/"><div class="eclipse-jkube__header-logo-image"><img src="/jkube/static/EF_WHT-OR_png-d0fd43ad31261ee9693a060be920e71e.png" alt="Eclipse Foundation"/></div><div>JKube</div></a><div class="eclipse-jkube__header-content"><ul><li><a href="/jkube/docs">Docs</a></li><li><a href="/jkube/demos">Demos</a></li><li><a href="/jkube/community">Community</a></li><li><a href="/jkube/contributing">Contributing</a></li><li><a class="eclipse-jkube__header-stars" href="https://github.com/eclipse/jkube" title="eclipse/jkube" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/github/stars/eclipse/jkube?style=social" alt="eclipse/jkube stargazers"/></a></li></ul></div></div></header><div class="eclipse-jkube__main"><div class="eclipse-jkube__content"><div class="hero">
<div class="hero-content">
<div class="getting-involved">
<p><a href="https://twitter.com/jkubeio" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/twitter/follow/jkubeio?label=Follow" alt="Twitter"></a>
@@ -48,8 +56,8 @@
<a href="https://gitter.im/eclipse/jkube?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge" target="_blank" rel="nofollow noopener noreferrer"><img src="https://badges.gitter.im/eclipse/jkube.svg" alt="Gitter"></a>
<a href="https://accounts.eclipse.org/mailing-list/jkube-dev" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/badge/Eclipse%20JKube%20-Developer%20Mailing%20List-orange" alt="Eclipse JKube Dev Mailing List"></a></p>
</div>
-<h1 id="eclipse-jkube"><a href="#eclipse-jkube" aria-label="eclipse jkube permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Eclipse JKube</h1>
-<h2 id="cloud-native-java-applications-without-a-hassle"><a href="#cloud-native-java-applications-without-a-hassle" aria-label="cloud native java applications without a hassle permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Cloud-Native Java Applications without a hassle</h2>
+<h1 id="eclipse-jkube" style="position:relative;"><a href="#eclipse-jkube" aria-label="eclipse jkube permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Eclipse JKube</h1>
+<h2 id="cloud-native-java-applications-without-a-hassle" style="position:relative;"><a href="#cloud-native-java-applications-without-a-hassle" aria-label="cloud native java applications without a hassle permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Cloud-Native Java Applications without a hassle</h2>
<p>Eclipse JKube is a collection of plugins and libraries that are used for building container images using Docker, JIB
or S2I build strategies. Eclipse JKube generates and deploys Kubernetes/OpenShift manifests at compile time too.</p>
<p>It brings your Java applications on to Kubernetes and OpenShift by leveraging the tasks required to make your application
@@ -57,8 +65,8 @@
<p>Eclipse JKube also provides a set of tools such as watch, debug, log, etc. to improve your developer experience.</p>
</div>
</div>
-<h2 id="features"><a href="#features" aria-label="features permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Features</h2>
-<h3 id="kubernetes-maven-plugin"><a href="#kubernetes-maven-plugin" aria-label="kubernetes maven plugin permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Kubernetes Maven Plugin</h3>
+<h2 id="features" style="position:relative;"><a href="#features" aria-label="features permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Features</h2>
+<h3 id="kubernetes-maven-plugin" style="position:relative;"><a href="#kubernetes-maven-plugin" aria-label="kubernetes maven plugin permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Kubernetes Maven Plugin</h3>
<div class="highlight">
<p><img src="/jkube/3a15213ddffc497c558cabac9f1e2c2b/kubernetes-logo.svg" alt="JKube - Kubernetes Maven Plugin" title="Kubernetes logo"></p>
<ul>
@@ -69,7 +77,7 @@
<li>Provides <strong>External Configuration</strong> templates of real deployment descriptors which are enriched by plugin.</li>
</ul>
</div>
-<h3 id="openshift-maven-plugin"><a href="#openshift-maven-plugin" aria-label="openshift maven plugin permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>OpenShift Maven Plugin</h3>
+<h3 id="openshift-maven-plugin" style="position:relative;"><a href="#openshift-maven-plugin" aria-label="openshift maven plugin permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>OpenShift Maven Plugin</h3>
<div class="highlight">
<ul>
<li>Built on top of <strong>Kubernetes Maven Plugin</strong> provides OpenShift specific features.</li>
@@ -81,7 +89,7 @@
</ul>
<p><img src="/jkube/6be71d0a49fc50ccde5579e8a1b88310/openshift-logo.svg" alt="JKube - OpenShift Maven Plugin" title="OpenShift logo"></p>
</div>
-<h3 id="jkube-kit"><a href="#jkube-kit" aria-label="jkube kit permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>JKube Kit</h3>
+<h3 id="jkube-kit" style="position:relative;"><a href="#jkube-kit" aria-label="jkube kit permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>JKube Kit</h3>
<div class="highlight">
<p><img src="/jkube/9a88e76eff4f487e1a95525b473ebcc5/briefcase-icon.svg" alt="JKube Kit" title="Briefcase icon"></p>
<ul>
@@ -94,10 +102,10 @@
</ul>
</div>
<div class="section-dark">
-<h2 id="downloads"><a href="#downloads" aria-label="downloads permalink" class="anchor"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Downloads</h2>
+<h2 id="downloads" style="position:relative;"><a href="#downloads" aria-label="downloads permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Downloads</h2>
<p>You can get Eclipse JKube from these platforms:</p>
<p><a href="https://search.maven.org/search?q=g:%22org.eclipse.jkube%22" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/maven-central/v/org.eclipse.jkube/jkube.svg?label=Maven%20Central" alt="Maven Central">
</a>
<a href="https://download.eclipse.org/jkube/" target="_blank" rel="nofollow noopener noreferrer"><img src="https://img.shields.io/badge/eclipse%20downloads-downloads.eclipse.org-red" alt="Eclipse Download Repository">
</a></p>
-</div></div></div><div class="eclipse-jkube__footer"><div class="eclipse-jkube__footer-copyright">Copyright © Eclipse Foundation 2020</div></div></div></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"app":["/app-194ea4f7bf63aa4ef2a0.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-509f65dc90a3e989be93.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js"]};/*]]>*/</script><script src="/jkube/component---src-templates-main-jsx-509f65dc90a3e989be93.js" async=""></script><script src="/jkube/commons-2e644671e1023bf8738b.js" async=""></script><script src="/jkube/styles-dc2598e243cc612bb313.js" async=""></script><script src="/jkube/app-194ea4f7bf63aa4ef2a0.js" async=""></script><script src="/jkube/webpack-runtime-e8c5029a536217a0c012.js" async=""></script></body></html>
\ No newline at end of file
+</div></div></div><div class="eclipse-jkube__footer"><div class="eclipse-jkube__footer-copyright">Copyright © Eclipse Foundation 2020</div></div></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-2a86e29ae53b0bcd324d.js"],"app":["/app-ea12b9b536627f4c1462.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-38fb851fba733cc5515a.js"],"component---src-templates-main-jsx":["/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"]};/*]]>*/</script><script src="/jkube/polyfill-2a86e29ae53b0bcd324d.js" nomodule=""></script><script src="/jkube/component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js" async=""></script><script src="/jkube/commons-32e6f91911f4befd4235.js" async=""></script><script src="/jkube/styles-c2fe8482057191dca484.js" async=""></script><script src="/jkube/app-ea12b9b536627f4c1462.js" async=""></script><script src="/jkube/framework-a576ae5ab153fa4a7c27.js" async=""></script><script src="/jkube/webpack-runtime-3c499563b1f56aaa782c.js" async=""></script></body></html>
\ No newline at end of file
diff --git a/page-data/app-data.json b/page-data/app-data.json
index b4e8db0..3173bfb 100644
--- a/page-data/app-data.json
+++ b/page-data/app-data.json
@@ -1 +1 @@
-{"webpackCompilationHash":"93578f7c610669dc565b"}
+{"webpackCompilationHash":"4fddeb8eebf11ff8b7e1"}
diff --git a/page-data/community/page-data.json b/page-data/community/page-data.json
index bbff984..ae4c0e3 100644
--- a/page-data/community/page-data.json
+++ b/page-data/community/page-data.json
@@ -1 +1 @@
-{"componentChunkName":"component---src-templates-main-jsx","path":"/community/","result":{"data":{"markdownRemark":{"html":"<div class=\"hero\">\n<div class=\"hero-content\">\n<h1 id=\"feedback-and-community\"><a href=\"#feedback-and-community\" aria-label=\"feedback and community permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Feedback and Community</h1>\n<p>Do you have any questions or comments on Eclipse JKube?</p>\n<p>Do you want to get involved?</p>\n</div>\n</div>\n<h2 id=\"support\"><a href=\"#support\" aria-label=\"support permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Support</h2>\n<p>For any question, bug reporting, feature request, etc. please open a\n<a href=\"https://github.com/eclipse/jkube/issues/new\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">GitHub issue</a> in our main repository.</p>\n<h2 id=\"public-chat\"><a href=\"#public-chat\" aria-label=\"public chat permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Public chat</h2>\n<p>If you need an answer right away, check the <a href=\"https://gitter.im/eclipse/jkube\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Eclipse JKube Gitter</a> channel.\nCommunity and team members are eager to help you out or point to helpful resources to solve your questions. </p>\n<h2 id=\"twitter\"><a href=\"#twitter\" aria-label=\"twitter permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Twitter</h2>\n<p>For the latest news about Eclipse JKube, follow <a href=\"https://twitter.com/jkubeio\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jkubeio on Twitter</a>.</p>\n<h2 id=\"stack-overflow\"><a href=\"#stack-overflow\" aria-label=\"stack overflow permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Stack Overflow</h2>\n<p>Check out for existing questions tagged with <a href=\"https://stackoverflow.com/questions/tagged/jkube\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">jkube</a> or\n<a href=\"https://stackoverflow.com/questions/ask?tags=jkube\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">ask your own</a>.</p>\n<h2 id=\"mailing-list\"><a href=\"#mailing-list\" aria-label=\"mailing list permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Mailing list</h2>\n<p>Sign up to our <a href=\"https://accounts.eclipse.org/mailing-list/jkube-dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">mailing list</a> to receive official updates about\nEclipse JKube.</p>\n<h2 id=\"planning-and-meetings\"><a href=\"#planning-and-meetings\" aria-label=\"planning and meetings permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Planning and Meetings</h2>\n<p>Check our team's plans in Eclipse JKube's <a href=\"https://github.com/eclipse/jkube/projects\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">projects</a> page.</p>\n<ul>\n<li>Sprints last 3 weeks and are aligned with\n<a href=\"https://developers.redhat.com/topics/developer-tools/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Red Hat Developer Tools</a> team calendar schedule.</li>\n<li>Planning meetings held before Sprint starts (check team calendar for specific date and time).</li>\n</ul>\n<h3 id=\"team-calendar\"><a href=\"#team-calendar\" aria-label=\"team calendar permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Team Calendar</h3>\n<p>Stay tuned to our\n<a href=\"https://calendar.google.com/calendar/embed?src=n38b3vf86tupe7ennn65ntmchk%40group.calendar.google.com&ctz=GMT\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">public calendar</a>\nto see when our next Sprint planning or meeting happens and feel free to join our\n<a href=\"https://bluejeans.com/656779179\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">public meeting room</a>.</p>\n<div class=\"calendar\">\n<iframe src=\"https://calendar.google.com/calendar/embed?height=600&wkst=2&bgcolor=%23F1F2F2&ctz=Etc%2FGMT&src=n38b3vf86tupe7ennn65ntmchk%40group.calendar.google.com&color=%237CB342&showTitle=0\" style=\"border-width:0\" frameborder=\"0\" scrolling=\"no\"></iframe>\n</div>","frontmatter":{"date":"February 22, 2020","path":"/community","title":"Eclipse JKube Community","description":"Eclipse JKube Feedback and Community: Information about how to get involved in the project"}}},"pageContext":{"langKey":"en","slug":"/community/"}}}
\ No newline at end of file
+{"componentChunkName":"component---src-templates-main-jsx","path":"/community/","result":{"data":{"markdownRemark":{"html":"<div class=\"hero\">\n<div class=\"hero-content\">\n<h1 id=\"feedback-and-community\" style=\"position:relative;\"><a href=\"#feedback-and-community\" aria-label=\"feedback and community permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Feedback and Community</h1>\n<p>Do you have any questions or comments on Eclipse JKube?</p>\n<p>Do you want to get involved?</p>\n</div>\n</div>\n<h2 id=\"support\" style=\"position:relative;\"><a href=\"#support\" aria-label=\"support permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Support</h2>\n<p>For any question, bug reporting, feature request, etc. please open a\n<a href=\"https://github.com/eclipse/jkube/issues/new\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">GitHub issue</a> in our main repository.</p>\n<h2 id=\"public-chat\" style=\"position:relative;\"><a href=\"#public-chat\" aria-label=\"public chat permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Public chat</h2>\n<p>If you need an answer right away, check the <a href=\"https://gitter.im/eclipse/jkube\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Eclipse JKube Gitter</a> channel.\nCommunity and team members are eager to help you out or point to helpful resources to solve your questions. </p>\n<h2 id=\"twitter\" style=\"position:relative;\"><a href=\"#twitter\" aria-label=\"twitter permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Twitter</h2>\n<p>For the latest news about Eclipse JKube, follow <a href=\"https://twitter.com/jkubeio\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jkubeio on Twitter</a>.</p>\n<h2 id=\"stack-overflow\" style=\"position:relative;\"><a href=\"#stack-overflow\" aria-label=\"stack overflow permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Stack Overflow</h2>\n<p>Check out for existing questions tagged with <a href=\"https://stackoverflow.com/questions/tagged/jkube\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">jkube</a> or\n<a href=\"https://stackoverflow.com/questions/ask?tags=jkube\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">ask your own</a>.</p>\n<h2 id=\"mailing-list\" style=\"position:relative;\"><a href=\"#mailing-list\" aria-label=\"mailing list permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Mailing list</h2>\n<p>Sign up to our <a href=\"https://accounts.eclipse.org/mailing-list/jkube-dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">mailing list</a> to receive official updates about\nEclipse JKube.</p>\n<h2 id=\"planning-and-meetings\" style=\"position:relative;\"><a href=\"#planning-and-meetings\" aria-label=\"planning and meetings permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Planning and Meetings</h2>\n<p>Check our team's plans in Eclipse JKube's <a href=\"https://github.com/eclipse/jkube/projects\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">projects</a> page.</p>\n<ul>\n<li>Sprints last 3 weeks and are aligned with\n<a href=\"https://developers.redhat.com/topics/developer-tools/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Red Hat Developer Tools</a> team calendar schedule.</li>\n<li>Planning meetings held before Sprint starts (check team calendar for specific date and time).</li>\n</ul>\n<h3 id=\"team-calendar\" style=\"position:relative;\"><a href=\"#team-calendar\" aria-label=\"team calendar permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Team Calendar</h3>\n<p>Stay tuned to our\n<a href=\"https://calendar.google.com/calendar/embed?src=n38b3vf86tupe7ennn65ntmchk%40group.calendar.google.com&ctz=GMT\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">public calendar</a>\nto see when our next Sprint planning or meeting happens and feel free to join our\n<a href=\"https://bluejeans.com/656779179\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">public meeting room</a>.</p>\n<div class=\"calendar\">\n<iframe src=\"https://calendar.google.com/calendar/embed?height=600&wkst=2&bgcolor=%23F1F2F2&ctz=Etc%2FGMT&src=n38b3vf86tupe7ennn65ntmchk%40group.calendar.google.com&color=%237CB342&showTitle=0\" style=\"border-width:0\" frameborder=\"0\" scrolling=\"no\"></iframe>\n</div>","frontmatter":{"date":"February 22, 2020","path":"/community","title":"Eclipse JKube Community","description":"Eclipse JKube Feedback and Community: Information about how to get involved in the project"}}},"pageContext":{"langKey":"en","slug":"/community/"}},"staticQueryHashes":[]}
\ No newline at end of file
diff --git a/page-data/contributing/page-data.json b/page-data/contributing/page-data.json
index b0ea69e..970fb36 100644
--- a/page-data/contributing/page-data.json
+++ b/page-data/contributing/page-data.json
@@ -1 +1 @@
-{"componentChunkName":"component---src-templates-main-jsx","path":"/contributing/","result":{"data":{"markdownRemark":{"html":"<div class=\"hero\">\n<div class=\"hero-content\">\n<h1 id=\"contributing-guide\"><a href=\"#contributing-guide\" aria-label=\"contributing guide permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Contributing guide</h1>\n<p>Thanks for being interested in contributing to Eclipse JKube!</p>\n</div>\n</div>\n<h3 id=\"want-to-contribute\"><a href=\"#want-to-contribute\" aria-label=\"want to contribute permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Want to contribute?</h3>\n<p><strong>Great!</strong> We try to make it easy, and all contributions, even the smaller ones, are more than welcome.</p>\n<p>This includes bug reports, fixes, documentation, examples... But first, please read this page.</p>\n<h2 id=\"legal\"><a href=\"#legal\" aria-label=\"legal permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Legal</h2>\n<p>All original contributions to Eclipse JKube are licensed under the\n<a href=\"https://github.com/eclipse/jkube/blob/master/LICENSE\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Eclipse Public License - v2.0</a>.</p>\n<p>First step before submitting any pull request is singing an\n<a href=\"https://accounts.eclipse.org/user/eca\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Eclipse Contributor Agreement</a>.</p>\n<p>To complete this step you'll need an <a href=\"https://accounts.eclipse.org/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Eclipse account</a>.</p>\n<h2 id=\"reporting-an-issue\"><a href=\"#reporting-an-issue\" aria-label=\"reporting an issue permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Reporting an issue</h2>\n<p>Eclipse JKube uses <a href=\"https://github.com/eclipse/jkube/issues\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">GitHub</a> to manage the issues.\n<a href=\"https://github.com/eclipse/jkube/issues/new\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Open</a> an issue directly in GitHub.</p>\n<p>If you believe you found a bug (It's very likely you did), please open an issue\nindicating a way to reproduce it, what you are seeing and what you are expecting to see.</p>\n<p>If you want your issue to be resolved quickly, please include in your issue:</p>\n<ul>\n<li>Operating System</li>\n<li>Eclipse JKube version</li>\n<li>Java version</li>\n<li>Maven version</li>\n<li>Target cluster version (Kubernetes, OpenShift, Minikube, CRC, etc.)</li>\n</ul>\n<h2 id=\"before-you-contribute\"><a href=\"#before-you-contribute\" aria-label=\"before you contribute permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Before you contribute</h2>\n<p>To contribute use GitHub <a href=\"https://github.com/eclipse/jkube/pulls\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">pull requests</a> from your <strong>own</strong> fork.</p>\n<p>All commits must be <a href=\"https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---signoff\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">signed-off</a>\nby a user that has signed the\n<a href=\"https://www.eclipse.org/legal/ECA.php\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Eclipse Contributor Agreement</a>.</p>\n<h3 id=\"code-reviews\"><a href=\"#code-reviews\" aria-label=\"code reviews permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Code reviews</h3>\n<p>All reviews, including submissions by project members, need to be reviewed before being merged by the project official\n<a href=\"https://projects.eclipse.org/projects/ecd.jkube/who\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">committers</a>.</p>\n<h3 id=\"tests-and-documentation\"><a href=\"#tests-and-documentation\" aria-label=\"tests and documentation permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Tests and documentation</h3>\n<p>Don't forget to include unit tests in your pull requests along with documentation (Reference information, javadoc, etc.).</p>\n<h2 id=\"setup\"><a href=\"#setup\" aria-label=\"setup permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Setup</h2>\n<h3 id=\"ide-config-and-code-style\"><a href=\"#ide-config-and-code-style\" aria-label=\"ide config and code style permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>IDE Config and Code Style</h3>\n<p>Code formatting is done by the Eclipse code formatter using the configuration files found in the <code class=\"language-text\">ide-config</code> directory.</p>\n<h4 id=\"eclipse-setup\"><a href=\"#eclipse-setup\" aria-label=\"eclipse setup permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Eclipse Setup</h4>\n<p>Open the Preferences window, and then navigate to Java -> Code Style -> Formatter.\nClick Import and then select the <code class=\"language-text\">eclipse-format.xml</code> file in the <code class=\"language-text\">ide-config</code> directory.</p>\n<p>Next navigate to Java -> Code Style -> Organize Imports.\nClick Import and select the <code class=\"language-text\">eclipse.importorder</code> file in the <code class=\"language-text\">ide-config</code> directory.</p>\n<h4 id=\"idea-setup\"><a href=\"#idea-setup\" aria-label=\"idea setup permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>IDEA Setup</h4>\n<p>Open the Preferences window (or Settings depending on your edition), navigate to Plugins and install the\n<a href=\"https://plugins.jetbrains.com/plugin/6546-eclipse-code-formatter\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Eclipse Code Formatter Plugin</a> from the Marketplace.</p>\n<p>Restart your IDE, open the Preferences (or Settings) window again and navigate to Other Settings -> Eclipse Code Formatter.</p>\n<p>Select Use the Eclipse Code Formatter, then change the Eclipse Java Formatter Config File to point to the\n<code class=\"language-text\">eclipse-format.xml</code> file in the <code class=\"language-text\">ide-config</code> directory.</p>\n<p>Make sure the Optimize Imports box is ticked, and select the <code class=\"language-text\">eclipse.importorder</code> file as the import order config file.</p>\n<p><span\n class=\"gatsby-resp-image-wrapper\"\n style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 590px;\"\n >\n <a\n class=\"gatsby-resp-image-link\"\n href=\"/jkube/static/40db5a95d875815a4fddb66504f92f51/c4e1e/intellij-eclipse-code-formatter-settings.png\"\n style=\"display: block\"\n target=\"_blank\"\n rel=\"noopener\"\n >\n <span\n class=\"gatsby-resp-image-background-image\"\n style=\"padding-bottom: 61.82572614107884%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsSAAALEgHS3X78AAACJklEQVQoz2VSyY7TQBD1HzFZnNV2u93enQ4JwzIjxIkDNy5IXDjwefwBEgcshLAQ3CYaM9IId/GqO4k04vBUvb569aq86WzxyZ8vfgM/Jv68Q+z82bybIc4Xy240nnSL5cri0cWouxiNu/HUB6bdeDK1974/7dar+U/sv3ilfvq92V1RWu4pzjRlZUN51ZDKSxJJSpFUNoaIYcxI8KamtKgAfpPRblvT2zfXFAr5x6u2L74CFCb6b5w9NnhgYpWZQEizjmIDAiPT3IDYnvEeREdUBomNzIohySvCuxuv0ft29+Q51Xo/xKqAopQvrBIQWoVIYNcn8B2D7yK35kSEhAdPPvvQFi8/Urh/Pyz0OxJpQ0mW2zItYaKoqDe2PE4Uq9SSRNKVDxJec1W8P3iivG7ry9eU6ldDVF6BwH3iz5FMQF5QtdH/oWw0vK7hdcEJDe8h4uCpQreVviTEQagaZLklYXBjuAF5tUGCggIuF4pOdpxKZ69XoSDg4EVq08bZFk1pBuDcSS6By2Gltd46ZVBhyy8rm8hVoTg5N8gpBEkrUk0gdoR2TBzpMoisl2WzsYolkjgfs3PjAqeYp8A15SFhDXNzg+wmZ1SMxrACED8AfLYxANk6kjxSXPoNE37D/IHQkloP3dA6sI/HDp5Hhc+5ZG4IN479PBLeelFSfg5lcR/I4jaI8x6feiFVHx0Boy3w+IyAISTWog9U3Yu06mHTHc5//QMbcqX+VbbrowAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n ></span>\n <img\n class=\"gatsby-resp-image-image\"\n alt=\"IntelliJ Eclipse Code Formatter Settings\"\n title=\"Eclipse Code Formatter Plugin\"\n src=\"/jkube/static/40db5a95d875815a4fddb66504f92f51/799d3/intellij-eclipse-code-formatter-settings.png\"\n srcset=\"/jkube/static/40db5a95d875815a4fddb66504f92f51/00d96/intellij-eclipse-code-formatter-settings.png 148w,\n/jkube/static/40db5a95d875815a4fddb66504f92f51/0b23c/intellij-eclipse-code-formatter-settings.png 295w,\n/jkube/static/40db5a95d875815a4fddb66504f92f51/799d3/intellij-eclipse-code-formatter-settings.png 590w,\n/jkube/static/40db5a95d875815a4fddb66504f92f51/2a3d6/intellij-eclipse-code-formatter-settings.png 885w,\n/jkube/static/40db5a95d875815a4fddb66504f92f51/ae92f/intellij-eclipse-code-formatter-settings.png 1180w,\n/jkube/static/40db5a95d875815a4fddb66504f92f51/c4e1e/intellij-eclipse-code-formatter-settings.png 1446w\"\n sizes=\"(max-width: 590px) 100vw, 590px\"\n style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n loading=\"lazy\"\n />\n </a>\n </span></p>","frontmatter":{"date":"February 28, 2020","path":"/contributing","title":"Contributing to Eclipse JKube","description":"Eclipse JKube contributing main guidelines"}}},"pageContext":{"langKey":"en","slug":"/contributing/"}}}
\ No newline at end of file
+{"componentChunkName":"component---src-templates-main-jsx","path":"/contributing/","result":{"data":{"markdownRemark":{"html":"<div class=\"hero\">\n<div class=\"hero-content\">\n<h1 id=\"contributing-guide\" style=\"position:relative;\"><a href=\"#contributing-guide\" aria-label=\"contributing guide permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Contributing guide</h1>\n<p>Thanks for being interested in contributing to Eclipse JKube!</p>\n</div>\n</div>\n<h3 id=\"want-to-contribute\" style=\"position:relative;\"><a href=\"#want-to-contribute\" aria-label=\"want to contribute permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Want to contribute?</h3>\n<p><strong>Great!</strong> We try to make it easy, and all contributions, even the smaller ones, are more than welcome.</p>\n<p>This includes bug reports, fixes, documentation, examples... But first, please read this page.</p>\n<h2 id=\"legal\" style=\"position:relative;\"><a href=\"#legal\" aria-label=\"legal permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Legal</h2>\n<p>All original contributions to Eclipse JKube are licensed under the\n<a href=\"https://github.com/eclipse/jkube/blob/master/LICENSE\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Eclipse Public License - v2.0</a>.</p>\n<p>First step before submitting any pull request is singing an\n<a href=\"https://accounts.eclipse.org/user/eca\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Eclipse Contributor Agreement</a>.</p>\n<p>To complete this step you'll need an <a href=\"https://accounts.eclipse.org/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Eclipse account</a>.</p>\n<h2 id=\"reporting-an-issue\" style=\"position:relative;\"><a href=\"#reporting-an-issue\" aria-label=\"reporting an issue permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Reporting an issue</h2>\n<p>Eclipse JKube uses <a href=\"https://github.com/eclipse/jkube/issues\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">GitHub</a> to manage the issues.\n<a href=\"https://github.com/eclipse/jkube/issues/new\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Open</a> an issue directly in GitHub.</p>\n<p>If you believe you found a bug (It's very likely you did), please open an issue\nindicating a way to reproduce it, what you are seeing and what you are expecting to see.</p>\n<p>If you want your issue to be resolved quickly, please include in your issue:</p>\n<ul>\n<li>Operating System</li>\n<li>Eclipse JKube version</li>\n<li>Java version</li>\n<li>Maven version</li>\n<li>Target cluster version (Kubernetes, OpenShift, Minikube, CRC, etc.)</li>\n</ul>\n<h2 id=\"before-you-contribute\" style=\"position:relative;\"><a href=\"#before-you-contribute\" aria-label=\"before you contribute permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Before you contribute</h2>\n<p>To contribute use GitHub <a href=\"https://github.com/eclipse/jkube/pulls\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">pull requests</a> from your <strong>own</strong> fork.</p>\n<p>All commits must be <a href=\"https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---signoff\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">signed-off</a>\nby a user that has signed the\n<a href=\"https://www.eclipse.org/legal/ECA.php\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Eclipse Contributor Agreement</a>.</p>\n<h3 id=\"code-reviews\" style=\"position:relative;\"><a href=\"#code-reviews\" aria-label=\"code reviews permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Code reviews</h3>\n<p>All reviews, including submissions by project members, need to be reviewed before being merged by the project official\n<a href=\"https://projects.eclipse.org/projects/ecd.jkube/who\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">committers</a>.</p>\n<h3 id=\"tests-and-documentation\" style=\"position:relative;\"><a href=\"#tests-and-documentation\" aria-label=\"tests and documentation permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Tests and documentation</h3>\n<p>Don't forget to include unit tests in your pull requests along with documentation (Reference information, javadoc, etc.).</p>\n<h2 id=\"setup\" style=\"position:relative;\"><a href=\"#setup\" aria-label=\"setup permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Setup</h2>\n<h3 id=\"ide-config-and-code-style\" style=\"position:relative;\"><a href=\"#ide-config-and-code-style\" aria-label=\"ide config and code style permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>IDE Config and Code Style</h3>\n<p>Code formatting is done by the Eclipse code formatter using the configuration files found in the <code class=\"language-text\">ide-config</code> directory.</p>\n<h4 id=\"eclipse-setup\" style=\"position:relative;\"><a href=\"#eclipse-setup\" aria-label=\"eclipse setup permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Eclipse Setup</h4>\n<p>Open the Preferences window, and then navigate to Java -> Code Style -> Formatter.\nClick Import and then select the <code class=\"language-text\">eclipse-format.xml</code> file in the <code class=\"language-text\">ide-config</code> directory.</p>\n<p>Next navigate to Java -> Code Style -> Organize Imports.\nClick Import and select the <code class=\"language-text\">eclipse.importorder</code> file in the <code class=\"language-text\">ide-config</code> directory.</p>\n<h4 id=\"idea-setup\" style=\"position:relative;\"><a href=\"#idea-setup\" aria-label=\"idea setup permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>IDEA Setup</h4>\n<p>Open the Preferences window (or Settings depending on your edition), navigate to Plugins and install the\n<a href=\"https://plugins.jetbrains.com/plugin/6546-eclipse-code-formatter\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Eclipse Code Formatter Plugin</a> from the Marketplace.</p>\n<p>Restart your IDE, open the Preferences (or Settings) window again and navigate to Other Settings -> Eclipse Code Formatter.</p>\n<p>Select Use the Eclipse Code Formatter, then change the Eclipse Java Formatter Config File to point to the\n<code class=\"language-text\">eclipse-format.xml</code> file in the <code class=\"language-text\">ide-config</code> directory.</p>\n<p>Make sure the Optimize Imports box is ticked, and select the <code class=\"language-text\">eclipse.importorder</code> file as the import order config file.</p>\n<p><img src=\"/jkube/40db5a95d875815a4fddb66504f92f51/intellij-eclipse-code-formatter-settings.png\" alt=\"IntelliJ Eclipse Code Formatter Settings\" title=\"Eclipse Code Formatter Plugin\"></p>","frontmatter":{"date":"February 28, 2020","path":"/contributing","title":"Contributing to Eclipse JKube","description":"Eclipse JKube contributing main guidelines"}}},"pageContext":{"langKey":"en","slug":"/contributing/"}},"staticQueryHashes":[]}
\ No newline at end of file
diff --git a/page-data/demos/page-data.json b/page-data/demos/page-data.json
index 9127372..17d5ad0 100644
--- a/page-data/demos/page-data.json
+++ b/page-data/demos/page-data.json
@@ -1 +1 @@
-{"componentChunkName":"component---src-templates-main-jsx","path":"/demos/","result":{"data":{"markdownRemark":{"html":"<div class=\"hero\">\n<div class=\"hero-content\">\n<h1 id=\"demos\"><a href=\"#demos\" aria-label=\"demos permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Demos</h1>\n</div>\n</div>\n<h3 id=\"kubernetes-maven-plugin\"><a href=\"#kubernetes-maven-plugin\" aria-label=\"kubernetes maven plugin permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><a href=\"/jkube/docs/kubernetes-maven-plugin\">Kubernetes Maven Plugin</a></h3>\n<p><a href=\"https://asciinema.org/a/335724\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://asciinema.org/a/335724.svg\" alt=\"Kubernetes Maven Plugin\"></a></p>\n<h3 id=\"openshift-maven-plugin\"><a href=\"#openshift-maven-plugin\" aria-label=\"openshift maven plugin permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><a href=\"/jkube/docs/openshift-maven-plugin\">OpenShift Maven Plugin</a></h3>\n<p><a href=\"https://asciinema.org/a/335743\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://asciinema.org/a/335743.svg\" alt=\"OpenShift Maven Plugin\"></a></p>","frontmatter":{"date":"February 21, 2020","path":"/demos","title":"Eclipse JKube Demonstrations","description":"Eclipse JKube Demonstrations and quick start for Kubernetes and OpenShift"}}},"pageContext":{"langKey":"en","slug":"/demos/"}}}
\ No newline at end of file
+{"componentChunkName":"component---src-templates-main-jsx","path":"/demos/","result":{"data":{"markdownRemark":{"html":"<div class=\"hero\">\n<div class=\"hero-content\">\n<h1 id=\"demos\" style=\"position:relative;\"><a href=\"#demos\" aria-label=\"demos permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Demos</h1>\n</div>\n</div>\n<h3 id=\"kubernetes-maven-plugin\" style=\"position:relative;\"><a href=\"#kubernetes-maven-plugin\" aria-label=\"kubernetes maven plugin permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><a href=\"/jkube/docs/kubernetes-maven-plugin\">Kubernetes Maven Plugin</a></h3>\n<p><a href=\"https://asciinema.org/a/335724\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://asciinema.org/a/335724.svg\" alt=\"Kubernetes Maven Plugin\"></a></p>\n<h3 id=\"openshift-maven-plugin\" style=\"position:relative;\"><a href=\"#openshift-maven-plugin\" aria-label=\"openshift maven plugin permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><a href=\"/jkube/docs/openshift-maven-plugin\">OpenShift Maven Plugin</a></h3>\n<p><a href=\"https://asciinema.org/a/335743\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://asciinema.org/a/335743.svg\" alt=\"OpenShift Maven Plugin\"></a></p>","frontmatter":{"date":"February 21, 2020","path":"/demos","title":"Eclipse JKube Demonstrations","description":"Eclipse JKube Demonstrations and quick start for Kubernetes and OpenShift"}}},"pageContext":{"langKey":"en","slug":"/demos/"}},"staticQueryHashes":[]}
\ No newline at end of file
diff --git a/page-data/docs/kubernetes-maven-plugin/page-data.json b/page-data/docs/kubernetes-maven-plugin/page-data.json
index cbf34f4..9e0cebd 100644
--- a/page-data/docs/kubernetes-maven-plugin/page-data.json
+++ b/page-data/docs/kubernetes-maven-plugin/page-data.json
@@ -1 +1 @@
-{"componentChunkName":"component---src-templates-doc-jsx","path":"/docs/kubernetes-maven-plugin","result":{"data":{"asciidocCopy":{"html":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>© 2020 The original authors.</p>\n</div>\n<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\" class=\"title\">kubernetes-maven-plugin</div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#introduction\">1. Introduction</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#building-images\">1.1. Building Images</a></li>\n<li><a href=\"#resource-descriptors\">1.2. Kubernetes Resources</a></li>\n<li><a href=\"#_configuration\">1.3. Configuration</a></li>\n<li><a href=\"#_examples\">1.4. Examples</a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#zero-config\">1.4.1. Zero-Config</a></li>\n<li><a href=\"#_xml_configuration\">1.4.2. XML Configuration</a></li>\n<li><a href=\"#_resource_fragments\">1.4.3. Resource Fragments</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a href=\"#compatibility-with-Kubernetes\">2. Compatibility with Kubernetes</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#kubernetes-compatibility\">2.1. Kubernetes Compatibility</a></li>\n</ul>\n</li>\n<li><a href=\"#installation\">3. Installation</a></li>\n<li><a href=\"#goals\">4. Goals Overview</a></li>\n<li><a href=\"#goals-overview-build\">5. Build Goals</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#jkube:resource\">5.1. <strong>k8s:resource</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#resource-labels-annotations\">5.1.1. Labels and Annotations</a></li>\n<li><a href=\"#resource-secrets\">5.1.2. Secrets</a></li>\n<li><a href=\"#resource-validation\">5.1.3. Resource Validation</a></li>\n<li><a href=\"#Supported-Properties-Resource\">5.1.4. Supported Properties for Resource goal</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:build\">5.2. <strong>k8s:build</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#build-kubernetes\">5.2.1. Kubernetes Build</a></li>\n<li><a href=\"#build-goal-configuration\">5.2.2. Configuration (XML)</a></li>\n<li><a href=\"#_kubernetes_access_configuration\">5.2.3. Kubernetes Access Configuration</a></li>\n<li><a href=\"#_image_configuration\">5.2.4. Image Configuration</a></li>\n<li><a href=\"#build-configuration\">5.2.5. Build Configuration</a></li>\n<li><a href=\"#build-assembly\">5.2.6. Assembly</a></li>\n<li><a href=\"#misc-env\">5.2.7. Environment and Labels</a></li>\n<li><a href=\"#misc-startup\">5.2.8. Startup Arguments</a></li>\n<li><a href=\"#build-buildargs\">5.2.9. Build Args</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:push\">5.3. <strong>k8s:push</strong></a></li>\n<li><a href=\"#jkube:apply\">5.4. <strong>k8s:apply</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#Supported-Properties-Apply\">5.4.1. Supported Properties For Apply goal</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:helm\">5.5. <strong>k8s:helm</strong></a></li>\n</ul>\n</li>\n<li><a href=\"#goals-overview-develop\">6. Development Goals</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#jkube:deploy\">6.1. <strong>k8s:deploy</strong></a></li>\n<li><a href=\"#jkube:undeploy\">6.2. <strong>k8s:undeploy</strong></a></li>\n<li><a href=\"#jkube:log\">6.3. <strong>k8s:log</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#Supported-Properties-Log\">6.3.1. Supported Properties for Log goal</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:debug\">6.4. <strong>k8s:debug</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#_speeding_up_debugging\">6.4.1. Speeding up debugging</a></li>\n<li><a href=\"#_debugging_with_suspension\">6.4.2. Debugging with suspension</a></li>\n<li><a href=\"#Supported-Properties-Debug\">6.4.3. Supported Properties For Debug Goal</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:watch\">6.5. <strong>k8s:watch</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#watcher-spring-boot\">6.5.1. Spring Boot</a></li>\n<li><a href=\"#watcher-docker-image\">6.5.2. Docker Image</a></li>\n<li><a href=\"#Supported-Properties-Watch\">6.5.3. Supported Properties for Watch goal</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a href=\"#generators\">7. Generators</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#generators-default\">7.1. Default Generators</a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#generator-java-exec\">7.1.1. Java Applications</a></li>\n<li><a href=\"#generator-spring-boot\">7.1.2. Spring Boot</a></li>\n<li><a href=\"#generator-wildfly-swarm\">7.1.3. Wildfly Swarm</a></li>\n<li><a href=\"#generator-thorntail-v2\">7.1.4. Thorntail v2</a></li>\n<li><a href=\"#generator-vertx\">7.1.5. Vert.x</a></li>\n<li><a href=\"#generator-karaf\">7.1.6. Karaf</a></li>\n<li><a href=\"#generator-webapp\">7.1.7. Web Applications</a></li>\n<li><a href=\"#generator-quarkus\">7.1.8. Quarkus</a></li>\n<li><a href=\"#generator-openliberty\">7.1.9. Open Liberty</a></li>\n<li><a href=\"#generator-wildfly-jar\">7.1.10. Wildfly JAR Generator</a></li>\n</ul>\n</li>\n<li><a href=\"#generators-api\">7.2. Generator API</a></li>\n</ul>\n</li>\n<li><a href=\"#enrichers\">8. Enrichers</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#enrichers-default\">8.1. Default Enrichers</a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#enrichers-generic\">8.1.1. Generic Enrichers</a></li>\n<li><a href=\"#enrichers-specific\">8.1.2. Specific Enrichers</a></li>\n</ul>\n</li>\n<li><a href=\"#_enricher_api\">8.2. Enricher API</a></li>\n</ul>\n</li>\n<li><a href=\"#profiles\">9. Profiles</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#generator-enricher-definition\">9.1. Generator and Enricher definitions</a></li>\n<li><a href=\"#profiles-lookup-order\">9.2. Lookup order</a></li>\n<li><a href=\"#profiles-using\">9.3. Using Profiles</a></li>\n<li><a href=\"#profiles-predefined\">9.4. Predefined Profiles</a></li>\n<li><a href=\"#profiles-extended\">9.5. Extending Profiles</a></li>\n</ul>\n</li>\n<li><a href=\"#access-configuration\">10. Access configuration</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_docker_access\">10.1. Docker Access</a></li>\n<li><a href=\"#_openshift_and_kubernetes_access\">10.2. OpenShift and Kubernetes Access</a></li>\n</ul>\n</li>\n<li><a href=\"#registry\">11. Registry handling</a></li>\n<li><a href=\"#authentication\">12. Authentication</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_pull_vs_push_authentication\">12.1. Pull vs. Push Authentication</a></li>\n<li><a href=\"#_openshift_authentication\">12.2. OpenShift Authentication</a></li>\n<li><a href=\"#password-encryption\">12.3. Password encryption</a></li>\n<li><a href=\"#extended-authentication\">12.4. Extended Authentication</a></li>\n</ul>\n</li>\n<li><a href=\"#volume-configuration\">13. Volume Configuration</a></li>\n<li><a href=\"#integrations\">14. Integrations</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#integrations.dekorate\">14.1. Dekorate</a></li>\n<li><a href=\"#_jib_java_image_builder\">14.2. JIB (Java Image Builder)</a></li>\n</ul>\n</li>\n<li><a href=\"#faq\">15. FAQ</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_general_questions\">15.1. General questions</a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#_how_do_i_define_an_environment_variable\">15.1.1. How do I define an environment variable?</a></li>\n<li><a href=\"#_how_do_i_define_a_system_property\">15.1.2. How do I define a system property?</a></li>\n<li><a href=\"#_how_do_i_mount_a_config_file_from_a_configmap\">15.1.3. How do I mount a config file from a ConfigMap?</a></li>\n<li><a href=\"#_how_do_i_use_a_persistent_volume\">15.1.4. How do I use a Persistent Volume?</a></li>\n<li><a href=\"#_how_do_i_generate_ingress_for_my_generated_service\">15.1.5. How do I generate Ingress for my generated Service?</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a href=\"#appendix\">16. Appendix</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_kindfilename_type_mapping\">16.1. Kind/Filename Type Mapping</a></li>\n<li><a href=\"#_custom_kindfilename_mapping\">16.2. Custom Kind/Filename Mapping</a></li>\n</ul>\n</li>\n</ul>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"introduction\">1. Introduction</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>The <strong>kubernetes-maven-plugin</strong> brings your Java applications on to\n<a href=\"http://kubernetes.io/\">Kubernetes</a>.\nIt provides a tight integration into <a href=\"http://maven.apache.org\">Maven</a> and benefits from the build configuration already provided.\nThis plugin focus on two tasks: <em>Building Docker images</em> and <em>creating Kubernetes resource descriptors</em>.\nIt can be configured very flexibly and supports multiple configuration models for creating: A <em>Zero-Config</em> setup allows for a quick ramp-up with some opinionated defaults.\nFor more advanced requirements, an <em>XML configuration</em> provides additional configuration options which can be added to the <code>pom.xml</code>.\nFor the full power, in order to tune all facets of the creation, external <em>resource fragments</em> and <em>Dockerfiles</em> can be used.</p>\n</div>\n<div class=\"sect2\">\n<h3 id=\"building-images\">1.1. Building Images</h3>\n<div class=\"paragraph\">\n<p>The <a href=\"#jkube:build\"><strong>k8s:build</strong></a> goal is for creating Docker images containing the actual application. These then can be deployed later on Kubernetes or OpenShift.\nIt is easy to include build artifacts and their dependencies into these images.\nThis plugin uses the assembly descriptor format similar to the one used in\n<a href=\"http://maven.apache.org/plugins/maven-assembly-plugin/\">maven-assembly-plugin</a> to specify the content which will be added\nto the image.\nThat images can then be pushed to public or private Docker registries with <a href=\"#jkube:push\"><strong>k8s:push</strong></a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Depending on the operational mode, for building the actual image either a Docker daemon is used directly or an <a href=\"https://docs.openshift.com/enterprise/3.0/architecture/core_concepts/builds_and_image_streams.html#docker-build\">OpenShift Docker Build</a> is performed.</p>\n</div>\n<div class=\"paragraph\">\n<p>A special <a href=\"#jkube:watch\"><strong>k8s:watch</strong></a> goal allows for reacting to code changes to automatically recreate images or copy new artifacts into running containers.</p>\n</div>\n<div class=\"paragraph\">\n<p>These image related features are inherited from the <a href=\"https://github.com/fabric8io/docker-maven-plugin\">jkubeio/docker-maven-plugin</a> which is part of this plugin.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"resource-descriptors\">1.2. Kubernetes Resources</h3>\n<div class=\"paragraph\">\n<p>Kubernetes resource descriptors can be created or generated from <a href=\"#jkube:resource\"><strong>k8s:resource</strong></a>.\nThese files are packaged within the Maven artifacts and can be deployed to a running orchestration platform with <a href=\"#jkube:apply\"><strong>k8s:apply</strong></a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Typically you only specify a small part of the real resource descriptors which will be enriched by this plugin with various extra information taken from the <code>pom.xml</code>.\nThis drastically reduces boilerplate code for common scenarios.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_configuration\">1.3. Configuration</h3>\n<div class=\"paragraph\">\n<p>As mentioned already there are three levels of configuration:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><strong>Zero-Config</strong> mode makes some very opinionated decisions based on what is present in the pom.xml like what base image to use or which ports to expose.\nThis is great for starting up things and for keeping quickstart applications small and tidy.</p>\n</li>\n<li>\n<p><strong>XML plugin configuration</strong> mode is similar to what <a href=\"https://dmp.fabric8.io/#example\">docker-maven-plugin</a> provides.\nThis allows for type-safe configuration with IDE support, but only a subset of possible resource descriptor features is provided.</p>\n</li>\n<li>\n<p><strong>Kubernetes & OpenShift resource fragments</strong> are user provided YAML files that can be <em>enriched</em> by the plugin. This allows expert users to use a plain configuration file with all their capabilities, but also to add project specific build information and avoid boilerplate code.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The following table gives an overview of the different models</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 1. Configuration Models</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 50%;\">\n<col style=\"width: 37.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Model</th>\n<th class=\"tableblock halign-left valign-top\">Docker Images</th>\n<th class=\"tableblock halign-left valign-top\">Resource Descriptors</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Zero-Config</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generators\">Generators</a> are used to create Docker image configurations. Generators can detect certain aspects of\n the build (e.g. whether Spring Boot is used) and then choose some opinionated defaults like the base image, which\n ports to expose and the startup command. They can be configured, but offer only a few options.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default <a href=\"#enrichers\">Enrichers</a> will create a default <em>Service</em> and <em>Deployment</em> (<em>DeploymentConfig</em> for OpenShift)\n when no other resource objects are provided. Depending on the image they can detect which port to expose in the\n service. As with Generators, Enrichers support a limited set of configuration options.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>XML configuration</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">kubernetes-maven-plugin inherits the XML based configuration for building images from the\n <a href=\"https://dmp.fabric8.io/#docker:build\">docker-maven-plugin</a> and provides the same functionality. It supports an\n <a href=\"http://maven.apache.org/components/plugins/maven-assembly-plugin/assembly.html\">assembly descriptor</a> for specifying the\n content of the Docker image.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A subset of possible resource objects can be configured with a dedicated XML syntax. With a decent IDE you get\n autocompletion on most objects and inline documentation for the available configuration elements. The provided\n configuration can be still enhanced by Enhancers which is useful for adding e.g. labels and annotations containing\n build or other information.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Resource Fragments</strong> and <strong>Dockerfiles</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Similarly to the docker-maven-plugin, kubernetes-maven-plugin supports <a href=\"#external-dockerfile\">external Dockerfiles</a> too, which are\n referenced from the plugin configuration.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Resource descriptors can be provided as external YAML files which will build a base skeleton for the applicable resource.</p>\n<p class=\"tableblock\"> The \"skeleton\" is then post-processed by <a href=\"#enrichers\">Enrichers</a> which will complete the skeleton by adding the fields\n each enricher is responsible of (labels, annotations, port information, etc.). Maven properties within these files\n are resolved to their values.</p>\n<p class=\"tableblock\"> With this model you can use every Kubernetes / OpenShift resource objects with all their flexibility, but still get the benefit\n of adding build information.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_examples\">1.4. Examples</h3>\n<div class=\"paragraph\">\n<p>Let’s have a look at some code. The following examples will demonstrate all three configurations variants:</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"zero-config\">1.4.1. Zero-Config</h4>\n<div class=\"paragraph\">\n<p>This minimal but full working example <code>pom.xml</code> shows how a simple spring boot application can be dockerized and\nprepared for Kubernetes. The full example can be found in directory\n<a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/zero-config\">quickstarts/maven/zero-config</a>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><project>\n <modelVersion>4.0.0</modelVersion>\n\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>jkube-maven-sample-zero-config</artifactId>\n <version>1.0.0-rc-1</version>\n <packaging>jar</packaging>\n\n <parent>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-starter-parent</artifactId> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <version>1.5.5.RELEASE</version>\n </parent>\n\n <dependencies>\n <dependency>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-starter-web</artifactId> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n </dependency>\n </dependencies>\n\n <build>\n <plugins>\n <plugin>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-maven-plugin</artifactId> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n </plugin>\n <plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n <version>1.0.0-rc-1</version>\n </plugin>\n </plugins>\n </build>\n</project></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>This minimalistic spring boot application uses the spring-boot parent POM for setting up dependencies and plugins</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>The Spring Boot web starter dependency enables a simple embedded Tomcat for serving Spring MVC apps</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td>The <code>spring-boot-maven-plugin</code> is responsible for repackaging the application into a fat jar, including all dependencies and the embedded Tomcat</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>The <code>kubernetes-maven-plugin</code> enables the automatic generation of a Docker image and Kubernetes / OpenShift descriptors including this Spring application.</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>This setup make some opinionated decisions for you:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>As base image <a href=\"https://quay.io/repository/jkube/jkube-java-binary-s2i\">jkube/jkube-java-binary-s2i</a>\nis chosen which enables <a href=\"https://www.jolokia.org\">Jolokia</a> and <a href=\"https://github.com/prometheus/jmx_exporter\">jmx_exporter</a>.\nIt also comes with a sophisticated <a href=\"https://github.com/jboss-openshift/cct_module/tree/master/jboss/container/java/run/bash\">startup script</a>.</p>\n</li>\n<li>\n<p>It will create a Kubernetes <a href=\"http://kubernetes.io/docs/user-guide/deployments/\">Deployment</a> and a\n<a href=\"http://kubernetes.io/docs/user-guide/services/\">Service</a> as resource objects</p>\n</li>\n<li>\n<p>It exports port 8080 as the application service port (and 8778 and 9779 for Jolokia and jmx_exporter access, respectively)</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>These choices can be influenced by configuration options as described in <a href=\"#generator-spring-boot\">Spring Boot Generator</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>To start the Docker image build, you simply run</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-bash\" data-lang=\"bash\">mvn package k8s:build</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This will create the Docker image against a running Docker daemon (which must be accessible either via Unix Socket or\nwith the URL set in <code>DOCKER_HOST</code>). Alternatively, when connected to an OpenShift cluster (or using the <code>openshift</code>\n<a href=\"#build-mode\">mode</a> explicitly), then a Docker build will be performed on OpenShift which at the end creates an\n<a href=\"https://docs.openshift.com/enterprise/3.1/architecture/core_concepts/builds_and_image_streams.html\">ImageStream</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>To deploy the resources to the cluster call</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-bash\" data-lang=\"bash\">mvn k8s:resource k8s:deploy</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>By default a <em>Service</em> and a <em>Deployment</em> object pointing to the created Docker image is created. When running in OpenShift mode, a <em>Service</em> and <em>DeploymentConfig</em> which refers the <em>ImageStream</em> created with <code>k8s:build</code> will be installed.</p>\n</div>\n<div class=\"paragraph\">\n<p>Of course you can bind all those jkube.goals to execution phases as well, so that they are called along with standard lifecycle goals like <code>install</code>. For example, to bind the building of the Kubernetes resource files and the Docker images, add the following goals to the execution of the kubernetes-maven-plugin:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for lifecycle bindings</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n\n <!-- ... -->\n\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If you’d also like to automatically deploy to Kubernetes each time you do a <code>mvn install</code> you can add the <code>apply</code> goal:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for lifecycle bindings with automatic deploys for mvn install</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n\n <!-- ... -->\n\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n <goal>apply</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_xml_configuration\">1.4.2. XML Configuration</h4>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nXML based configuration is only partially implemented and is not recommended for use right now.\n</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>Although the Zero-config mode and its generators can be tweaked with options up to a certain degree, many cases require more flexibility. For such instances, an XML-based plugin configuration can be used, in a way similar to the\n<a href=\"https://dmp.fabric8.io/#configuration\">XML configuration</a> used by <code>docker-maven-plugin</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The plugin configuration can be roughly divided into the following sections:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Global configuration options are responsible for tuning the behaviour of plugin goals</p>\n</li>\n<li>\n<p><code><images></code> defines which Docker <a href=\"#image-configuration\">images</a> are used and configured. This section is similar to the\n<a href=\"https://dmp.fabric8.io//#image-configuration\">image configuration</a> of the <code>docker-maven-plugin</code>, except that <code><run></code>\nand <code><external></code> sub-elements are ignored)</p>\n</li>\n<li>\n<p><code><resource></code> defines the resource descriptors for deploying on an OpenShift or Kuberneres cluster.</p>\n</li>\n<li>\n<p><code><generator></code> configures <a href=\"#generators\">generators</a> which are responsible for creating images. Generators are used as an alternative to a dedicated <code><images></code> section.</p>\n</li>\n<li>\n<p><code><enricher></code> configures various aspects of <a href=\"#enrichers\">enrichers</a> for creating or enhancing resource descriptors.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>A working example can be found in the\n<a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/xml-config\">quickstarts/maven/xml-config</a> directory.\nAn extract of the plugin configuration is shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for an XML configuration</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <namespace>test-ns</namespace>\n <images> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <image>\n <name>xml-config-demo:1.0.0</name>\n <!-- \"alias\" is used to correlate to the containers in the pod spec -->\n <alias>camel-app</alias>\n <build>\n <from>fabric8/java-centos-openjdk8-jre</from>\n <assembly>\n <inline>\n <baseDirectory>/deployments</baseDirectory>\n </inline>\n </assembly>\n <env>\n <JAVA_LIB_DIR>/deployments</JAVA_LIB_DIR>\n <JAVA_MAIN_CLASS>org.apache.camel.cdi.Main</JAVA_MAIN_CLASS>\n </env>\n </build>\n </image>\n </images>\n\n <resources> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n <labels> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n <all>\n <group>quickstarts</group>\n </all>\n </labels>\n\n <replicas>2</replicas> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n <controllerName>${project.artifactId}</controllerName> <i class=\"conum\" data-value=\"5\"></i><b>(5)</b>\n\n <services> <i class=\"conum\" data-value=\"6\"></i><b>(6)</b>\n <service>\n <name>camel-service</name>\n <headless>true</headless>\n </service>\n </services>\n\n <serviceAccounts>\n <serviceAccount>\n <name>build-robot</name>\n </serviceAccount>\n </serviceAccounts>\n </resources>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Standard docker-maven-plugin configuration for building one single Docker image</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>Kubernetes / OpenShift resources to create</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td>Labels which should be applied globally to all resource objects</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>Number of replicas desired</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"5\"></i><b>5</b></td>\n<td>Name of controller created by plugin</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"6\"></i><b>6</b></td>\n<td>One or more <a href=\"http://kubernetes.io/docs/user-guide/services/\">Service</a> definitions.</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>The XML resource configuration is based on plain Kubernetes resource objects. When targeting OpenShift, Kubernetes resource descriptors will be automatically converted to their OpenShift counterparts, e.g. a Kubernetes <a href=\"http://kubernetes.io/docs/user-guide/deployments/\">Deployment</a> will be converted to an OpenShift <a href=\"https://docs.openshift.org/latest/architecture/core_concepts/deployments.html#deployments-and-deployment-configurations\">DeploymentConfig</a>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_resource_fragments\">1.4.3. Resource Fragments</h4>\n<div class=\"paragraph\">\n<p>The third configuration option is to use an external configuration in form of YAML resource descriptors which are located in the <code>src/main/jkube</code> directory. Each resource gets its own file, which contains a skeleton of a resource descriptor. The plugin will pick up the resource, enrich it and then combine all to a single <code>kubernetes.yml</code> and <code>openshift.yml</code> file. Within these descriptor files you are can freely use any Kubernetes feature.</p>\n</div>\n<div class=\"paragraph\">\n<p>Note: In order to support simultaneously both OpenShift and Kubernetes, there is currently no way to specify OpenShift-only features this way, though this might change in future releases.</p>\n</div>\n<div class=\"paragraph\">\n<p>Let’s have a look at an example from\n<a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/external-resources\">quickstarts/maven/external-resources</a>.\nThis is a plain Spring Boot application, whose images are auto generated like in the <a href=\"#zero-config\">Zero-Config</a> case.\nThe resource fragments are in <code>src/main/jkube</code>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example fragment \"deployment.yml\"</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n replicas: 1\n template:\n spec:\n volumes:\n - name: config\n gitRepo:\n repository: 'https://github.com/jstrachan/sample-springboot-config.git'\n revision: 667ee4db6bc842b127825351e5c9bae5a4fb2147\n directory: .\n containers:\n - volumeMounts:\n - name: config\n mountPath: /app/config\n env:\n - name: KUBERNETES_NAMESPACE\n valueFrom:\n fieldRef:\n apiVersion: v1\n fieldPath: metadata.namespace\n serviceAccount: ribbon</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>As you can see, there is no <code>metadata</code> section as would be expected for Kubernetes resources because it will be automatically added by the <code>kubernetes-maven-plugin</code>. The object’s <code>Kind</code>, if not given, is automatically derived from the\nfilename. In this case, the <code>kubernetes-maven-plugin</code> will create a <code>Deployment</code> because the file is called <code>deployment.yml</code>. Similar mappings between file names and resource type exist for each supported resource kind, the\ncomplete list of which (along with associated abbreviations) can be found in the <a href=\"#appendix-kind-mapping\">Appendix</a>.</p>\n</div>\n<div class=\"admonitionblock note\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-note\" title=\"Note\"></i>\n</td>\n<td class=\"content\">\nNow that sidecar containers are supported in this plugin(if <code>jkube.sidecar</code> is enabled), be careful whenever you’re supplying container name in the resource fragment. If container specified in resource fragment doesn’t have a name or it’s name is equal to default fmp generated application’s container name; it would not be treated as sidecar and it would be merged into main container. However, You can override plugin’s default name for main container via <code>jkube.generator.alias</code> property.\n</td>\n</tr>\n</table>\n</div>\n<hr>\n<div class=\"paragraph\">\n<p>Additionally, if you name your fragment using a name prefix followed by a dash and the mapped file name, the plugin will automatically use that name for your resource. So, for example, if you name your deployment fragment\n<code>myapp-deployment.yml</code>, the plugin will name your resource <code>myapp</code>. In the absence of such provided name for your resource, a name will be automatically derived from your project’s metadata (in particular, its <code>artifactId</code> as specified in your POM).</p>\n</div>\n<div class=\"paragraph\">\n<p>No image is also referenced in this example because the plugin also fills in the image details based on the configured image you are building with (either from a generator or from a dedicated image plugin configuration, as seen before).</p>\n</div>\n<div class=\"admonitionblock note\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-note\" title=\"Note\"></i>\n</td>\n<td class=\"content\">\nFor building images there is also an alternative mode using external Dockerfiles, in addition to the XML based configuration. Refer to <a href=\"#build-overview\">k8s:build</a> for details.\n</td>\n</tr>\n</table>\n</div>\n<hr>\n<div class=\"paragraph\">\n<p>Enrichment of resource fragments can be fine-tuned by using profile sub-directories. For more details see <a href=\"#profiles\">Profiles</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Now that we have seen some examples of the various ways how this plugin can be used, the following sections will describe the plugin goals and extension points in detail.</p>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"compatibility-with-Kubernetes\">2. Compatibility with Kubernetes</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"kubernetes-compatibility\">2.1. Kubernetes Compatibility</h3>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 2. Kubernetes Compatibility</caption>\n<colgroup>\n<col style=\"width: 20%;\">\n<col style=\"width: 20%;\">\n<col style=\"width: 20%;\">\n<col style=\"width: 20%;\">\n<col style=\"width: 20%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">KMP</th>\n<th class=\"tableblock halign-left valign-top\">Kubernetes 1.18</th>\n<th class=\"tableblock halign-left valign-top\">Kubernetes 1.17</th>\n<th class=\"tableblock halign-left valign-top\">Kubernetes 1.14</th>\n<th class=\"tableblock halign-left valign-top\">Kubernetes 1.12</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">KMP 1.0.0-rc-1</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">KMP 1.0.0-alpha-4</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">KMP 1.0.0-alpha-3</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">x</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">KMP 1.0.0-alpha-2</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">x</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">KMP 1.0.0-alpha-1</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">x</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">KMP 0.2.0</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">x</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">KMP 0.1.1</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">x</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">x</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">KMP 0.1.0</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">x</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">x</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"installation\">3. Installation</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This plugin is available from Maven central and can be connected to\npre- and post-integration phase as seen below. The configuration and\navailable goals are described below.</p>\n</div>\n<div class=\"paragraph\">\n<p>By default, Maven will only search for plugins in the <code>org.apache.maven.plugins</code> and <code>org.codehaus.mojo</code> packages. In order to resolve the provider for the JKube plugin goals, you need to edit <code>~/.m2/settings.xml</code> and add the <code>org.eclipse.jkube</code> namespace so the <code><pluginGroups></code> configuration.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><settings>\n ...\n\n <pluginGroups>\n <pluginGroup>org.eclipse.jkube</pluginGroup>\n </pluginGroups>\n\n ...\n</settings></code></pre>\n</div>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n\n <configuration>\n ....\n <images>\n <!-- A single's image configuration -->\n <image>\n ...\n <build>\n ....\n </build>\n </image>\n ....\n </images>\n </configuration>\n\n <!-- Connect k8s:resource, k8s:build and k8s:helm to lifecycle phases -->\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n <goal>helm</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"goals\">4. Goals Overview</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This plugin supports a rich set for providing a smooth Java developer experience. These goals can be categorized in multiple groups:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"#goals-build\">Build goals</a> are all about creating and managing Kubernetes build artifacts like Docker images or S2I builds.</p>\n</li>\n<li>\n<p><a href=\"#goals-develop\">Development goals</a> target help not only in deploying resource descriptors to the development cluster but also to manage the lifecycle of the development cluster as well.</p>\n</li>\n</ul>\n</div>\n<table id=\"goals-build\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 3. Build Goals</caption>\n<colgroup>\n<col style=\"width: 25%;\">\n<col style=\"width: 75%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Goal</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:build\"><strong>k8s:build</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Build images</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:push\"><strong>k8s:push</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Push images to a registry</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:resource\"><strong>k8s:resource</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Create Kubernetes or OpenShift resource descriptors</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:apply\"><strong>k8s:apply</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Apply resources to a running cluster</p></td>\n</tr>\n</tbody>\n</table>\n<table id=\"goals-develop\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 4. Development Goals</caption>\n<colgroup>\n<col style=\"width: 25%;\">\n<col style=\"width: 75%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Goal</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:deploy\"><strong>k8s:deploy</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Deploy resources descriptors to a cluster after creating them and building the app. Same as <a href=\"#jkube:run\">[jkube:run]</a> except that it runs in the background.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:undeploy\"><strong>k8s:undeploy</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Undeploy and remove resources descriptors from a cluster.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:watch\"><strong>k8s:watch</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Watch for file changes and perform rebuilds and redeployments</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:log\"><strong>k8s:log</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Show the logs of the running application</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:debug\"><strong>k8s:debug</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Enable remote debugging</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Depending on whether the OpenShift or Kubernetes operational mode is used, the workflow and the performed actions differs :</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 5. Workflows</caption>\n<colgroup>\n<col style=\"width: 11.1111%;\">\n<col style=\"width: 44.4444%;\">\n<col style=\"width: 44.4445%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Use Case</th>\n<th class=\"tableblock halign-left valign-top\">Kubernetes</th>\n<th class=\"tableblock halign-left valign-top\">OpenShift</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Build</p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p><code>k8s:build</code> <code>k8s:push</code></p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Creates an image against an exposed Docker daemon (with a <code>docker.tar</code>)</p>\n</li>\n<li>\n<p>Pushes the image to a registry which is then referenced from the configuration</p>\n</li>\n</ul>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p><code>k8s:build</code></p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Creates or uses a <code>BuildConfig</code></p>\n</li>\n<li>\n<p>Creates or uses an <code>ImageStream</code> which can be referenced by the deployment descriptors in a <code>DeploymenConfig</code></p>\n</li>\n<li>\n<p>Starts an OpenShift build with a <code>docker.tar</code> as input</p>\n</li>\n</ul>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Deploy</p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p><code>k8s:deploy</code></p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Applies a Kubernetes resource descriptor to cluster</p>\n</li>\n</ul>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p><code>k8s:deploy</code></p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Applies an OpenShift resource descriptor to a cluster</p>\n</li>\n</ul>\n</div></div></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"goals-overview-build\">5. Build Goals</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"jkube:resource\">5.1. <strong>k8s:resource</strong></h3>\n<div class=\"paragraph\">\n<p>This goal generates Kubernetes resources based on your project. It can either be opinionated defaults or\nbased on the configuration provided in XML config or resource fragments in <code>src/main/jkube</code>.\nGenerated resources are in <code>target/classes/META-INF/jkube/kubernetes</code> directory.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"resource-labels-annotations\">5.1.1. Labels and Annotations</h4>\n<div class=\"paragraph\">\n<p>Labels and annotations can be easily added to any resource object. This is best explained by an example.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for label and annotations</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <!-- ... -->\n <configuration>\n <!-- ... -->\n <resources>\n <labels> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <all> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <property> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n <name>organisation</name>\n <value>unesco</value>\n </property>\n </all>\n <service> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n <property>\n <name>database</name>\n <value>mysql</value>\n </property>\n <property>\n <name>persistent</name>\n <value>true</value>\n </property>\n </service>\n <replicaSet> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n <!-- ... -->\n </replicaSet>\n <pod> <i class=\"conum\" data-value=\"5\"></i><b>(5)</b>\n <!-- ... -->\n </pod>\n <deployment> <i class=\"conum\" data-value=\"6\"></i><b>(6)</b>\n <!-- ... -->\n </deployment>\n </labels>\n\n <annotations> <i class=\"conum\" data-value=\"7\"></i><b>(7)</b>\n <!-- ... -->\n </annotations>\n <remotes> <i class=\"conum\" data-value=\"8\"></i><b>(8)</b>\n <remote>https://gist.githubusercontent.com/lordofthejars/ac2823cec7831697d09444bbaa76cd50/raw/e4b43f1b6494766dfc635b5959af7730c1a58a93/deployment.yaml</remote>\n </remotes>\n </resource>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td><code><labels></code> section with <code><resources></code> contains labels which should be applied to objects of various kinds</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>Within <code><all></code> labels which should be applied to <strong>every</strong> object can be specified</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td><code><service></code> labels are used to label services</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td><code><replicaSet></code> labels are for replica set and replication controller</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"5\"></i><b>5</b></td>\n<td><code><pod></code> holds labels for pod specifications in replication controller, replica sets and deployments</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"6\"></i><b>6</b></td>\n<td><code><deployment></code> is for labels on deployments (kubernetes) and deployment configs (openshift)</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"7\"></i><b>7</b></td>\n<td>The subelements are also available for specifying annotations.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"8\"></i><b>8</b></td>\n<td><code><remotes></code> you can set location of fragments as <code>URL</code>.</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>Labels and annotations can be specified in free form as a map. In this map, the element name is the name of the label or annotation respectively, whereas the content is the value to set.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following subelements are possible for <code><labels></code> and <code><annotations></code> :</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 6. Label and annotation configuration</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>all</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">All entries specified in the <code><all></code> sections are applied to all resource objects created.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>deployment</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels and annotations applied to <code>Deployment</code> (for Kubernetes).</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pod</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels and annotations applied pod specification as used in <code>ReplicationController</code>, <code>ReplicaSets</code>, <code>Deployments</code> and <code>DeploymentConfigs</code> objects.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>replicaSet</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels and annotations applied to <code>ReplicaSet</code> and <code>ReplicationController</code> objects.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>service</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels and annotations applied to <code>Service</code> objects.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"resource-secrets\">5.1.2. Secrets</h4>\n<div class=\"paragraph\">\n<p>Once you’ve configured some docker registry credentials into <code>~/.m2/setting.xml</code>, as explained in the\n<a href=\"#authentication\">Authentication</a> section, you can create Kubernetes secrets from a server declaration.</p>\n</div>\n<div class=\"paragraph\">\n<p><strong>XML configuration</strong></p>\n</div>\n<div class=\"paragraph\">\n<p>You can create a secret using xml configuration in the <code>pom.xml</code> file. It should contain the following fields:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">key</th>\n<th class=\"tableblock halign-left valign-top\">required</th>\n<th class=\"tableblock halign-left valign-top\">description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>dockerServerId</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>true</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">the server id which is configured in\n<code>~/.m2/setting.xml</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>true</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">this will be used as name of the kubernetes secret resource</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>namespace</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>false</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">the secret resource will be applied to the specific\nnamespace, if provided</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>This is best explained by an example.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for XML configuration</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <jkube.docker.registry>docker.io</docker.registry>\n</properties></code></pre>\n</div>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <resources>\n <secrets>\n <secret>\n <dockerServerId>${docker.registry}</dockerServerId>\n <name>mydockerkey</name>\n </secret>\n </secrets>\n </resources>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p><strong>Yaml fragment with annotation</strong></p>\n</div>\n<div class=\"paragraph\">\n<p>You can create a secret using a yaml fragment. You can reference the docker server id with an annotation\n<code>maven.jkube.io/dockerServerId</code>. The yaml fragment file should be put under\nthe <code>src/main/jkube/</code> folder.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">apiVersion: v1\nkind: Secret\nmetadata:\n name: mydockerkey\n namespace: default\n annotations:\n maven.jkube.io/dockerServerId: ${docker.registry}\ntype: kubernetes.io/dockercfg</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"resource-validation\">5.1.3. Resource Validation</h4>\n<div class=\"paragraph\">\n<p>Resource goal also validates the generated resource descriptors using API specification of <a href=\"https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json\">Kubernetes</a>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 7. Validation Configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipResourceValidation</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If value is set to <code>true</code> then resource validation is skipped. This may be useful if resource validation is failing\n for some reason but you still want to continue the deployment.</p>\n<p class=\"tableblock\"> Default is <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skipResourceValidation</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>failOnValidationError</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If value is set to <code>true</code> then any validation error will block the plugin execution. A warning will be printed\n otherwise.</p>\n<p class=\"tableblock\"> Default is <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.failOnValidationError</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Resource\">5.1.4. Supported Properties for Resource goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 8. Options available with resource goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>profile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Profile to use. A profile contains the enrichers and generators to use as well as their configuration. Profiles are\n looked up in the classpath and can be provided as yaml files.</p>\n<p class=\"tableblock\"> Defaults to <code>default</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.profile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>sidecar</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Whether to enable sidecar behavior or not. By default pod specs are merged into main application container.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.sidecar</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipHealthCheck</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Whether to skip health checks addition in generated resources or not.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skipHealthCheck</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>workDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The JKube working directory. Defaults to <code>${project.build.directory}/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.workDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>environment</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Environment name where resources are placed. For example, if you set this property to dev and resourceDir is the\n default one, plugin will look at <code>src/main/jkube/dev</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>null</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.environment</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>useProjectClassPath</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we use the project’s compile time classpath to scan for additional enrichers/generators.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.useProjectClassPath</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>resourceDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Folder where to find project specific files.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/src/main/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.resourceDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>targetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The generated Kubernetes manifests target direcotry.</p>\n<p class=\"tableblock\"> Defaults to <code>${project.build.outputDirectory}/META-INF/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.targetDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>resourceType</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The artifact type for attaching the generated resource file to the project. Can be either 'json' or 'yaml'.</p>\n<p class=\"tableblock\"> Defaults to <code>yaml</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.resourceType</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>mergeWithDekorate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">When resource generation is delegated to Dekorate, should JKube resources be merged with Dekorate generated ones.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.mergeWithDekorate</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipResource</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Skip resource generation.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.resource</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>createExternalUrls</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we create external Ingress for any LoadBalancer Services which don’t already have them.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.createExternalUrls</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>domain</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Domain added to the Service ID when creating Kubernetes Ingresses or OpenShift routes.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.domain</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:build\">5.2. <strong>k8s:build</strong></h3>\n<div class=\"paragraph\">\n<p>This goal is for building Docker images.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-kubernetes\">5.2.1. Kubernetes Build</h4>\n<div class=\"paragraph\">\n<p>If the mode is set to <code>kubernetes</code> then a normal Docker build is performed by default. The connection configuration to\naccess the Docker daemon is described in <a href=\"#access-configuration\">Access Configuration</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>In order to make the generated images available to the Kubernetes cluster the generated images need to be pushed to a\nregistry with the goal <a href=\"#jkube:push\"><strong>k8s:push</strong></a>. This is not necessary for single node clusters, though as there is no need to\ndistribute images.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-goal-configuration\">5.2.2. Configuration (XML)</h4>\n<div class=\"paragraph\">\n<p>The following sections describe the usual configuration, which is similar to the build configuration used in the\n <a href=\"https://dmp.fabric8.io\">docker-maven-plugin</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>In addition a more automatic way for creating predefined build configuration can be performed with so called <a href=\"#generators\">Generators</a>. Generators are very flexible and can be easily created. These are described in an extra <a href=\"#generators\">section</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Global configuration parameters specify overall behavior common for all images to build. Some of the configuration options are shared with other goals.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 9. Global configuration</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4285%;\">\n<col style=\"width: 14.2858%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>buildStrategy</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Defines what build strategy to choose while building container image.\nPossible values are <code>docker</code> and <code>jib</code> out of which <code>docker</code> is default.</p>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.strategy</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>apiVersion</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Use this variable if you are using an older version of docker not compatible with the current default use to\n communicate with the server.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.apiVersion</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>authConfig</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Authentication information when pulling from or pushing to Docker registry. There is a dedicated section\n <a href=\"#authentication\">Authentication</a> for how to do security.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>autoPull</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Decide how to pull missing base images or images to start:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>on</code> : Automatic download any missing images (default)</p>\n</li>\n<li>\n<p><code>off</code> : Automatic pulling is switched off</p>\n</li>\n<li>\n<p><code>always</code> : Pull images always even when they already exist locally</p>\n</li>\n<li>\n<p><code>once</code> : For multi-module builds images are only checked once and pulled for the whole build.</p>\n</li>\n</ul>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.autoPull</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>buildRecreate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>If the effective <a href=\"#build-mode\">mode</a> is <code>openshift</code> then this option decides how the OpenShift resource objects\n associated with the build should be treated when they already exist:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>buildConfig</code> or <code>bc</code> : Only the BuildConfig is recreated</p>\n</li>\n<li>\n<p><code>imageStream</code> or <code>is</code> : Only the ImageStream is recreated</p>\n</li>\n<li>\n<p><code>all</code> : Both, BuildConfig and ImageStream are recreated</p>\n</li>\n<li>\n<p><code>none</code> : Neither BuildConfig nor ImageStream is recreated</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The default is <code>none</code>. If you provide the property without value then <code>all</code> is assumed, so everything gets recreated.</p>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.recreate</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>forcePull</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Applicable only for OpenShift, S2I build strategy.</p>\n<p class=\"tableblock\">While creating a BuildConfig, By default, if the builder image specified in the\nbuild configuration is available locally on the node, that image will be used.</p>\n<p class=\"tableblock\">Using forcePull will override the local image and refresh it from the registry the image stream points to.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.forcePull</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>imagePullPolicy</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specific pull policy for the base image. This overwrites any global pull policy.\nSee the global configuration option <a href=\"#image-pull-policy\">imagePullPolicy</a> for the possible values and the default.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.imagePullPolicy</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>certPath</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to SSL certificate when SSL is used for communicating with the Docker daemon. These certificates are normally\n stored in <code>~/.docker/</code>. With this configuration the path can be set explicitly. If not set, the fallback is first\n taken from the environment variable <code>DOCKER_CERT_PATH</code> and then as last resort <code>~/.docker/</code>. The keys in this are\n expected with it standard names <code>ca.pem</code>, <code>cert.pem</code> and <code>key.pem</code>.\n Please refer to the <a href=\"https://docs.docker.com/articles/https\">Docker documentation</a> for more information about SSL\n security with Docker.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.certPath</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>dockerHost</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>The URL of the Docker Daemon. If this configuration option is not given, then the optional <code><machine></code> configuration\nsection is consulted. The scheme of the URL can be either given directly as <code>http</code> or <code>https</code>\ndepending on whether plain HTTP communication is enabled or SSL should\nbe used. Alternatively the scheme could be <code>tcp</code> in which case the\nprotocol is determined via the IANA assigned port: 2375 for <code>http</code>\nand 2376 for <code>https</code>. Finally, Unix sockets are supported by using\nthe scheme <code>unix</code> together with the filesystem path to the unix socket.</p>\n</div>\n<div class=\"paragraph\">\n<p>The discovery sequence used by the docker-maven-plugin to determine\nthe URL is:</p>\n</div>\n<div class=\"olist arabic\">\n<ol class=\"arabic\">\n<li>\n<p>Value of <strong>dockerHost</strong> (<code>jkube.docker.host</code>)</p>\n</li>\n<li>\n<p>The Docker host associated with the docker-machine named in <code><machine></code>, i.e. the <code>DOCKER_HOST</code> from <code>docker-machine env</code>. See <a href=\"#docker-machine\">below</a> for more information about Docker machine support.</p>\n</li>\n<li>\n<p>The value of the environment variable <code>DOCKER_HOST</code>.</p>\n</li>\n<li>\n<p><code>unix:///var/run/docker.sock</code> if it is a readable socket.</p>\n</li>\n</ol>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.host</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>filter</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">In order to temporarily restrict the operation of plugin goals this configuration option can be used.\n Typically this will be set via the system property <code>jkube.image.filter</code> when Maven is called. The value can be a single\n image name (either its alias or full name) or it can be a comma separated list with multiple image names. Any name\n which doesn’t refer an image in the configuration will be ignored.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.image.filter</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>machine</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Docker machine configuration. See <a href=\"#docker-machine\">Docker Machine</a> for possible values.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>maxConnections</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of parallel connections are allowed to be opened to the Docker Host. For parsing log output, a connection needs\n to be kept open (as well for the wait features), so don’t put that number to low. Default is 100 which should be\n suitable for most of the cases.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.maxConnections</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>access</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Group of configuration parameters to connect to Kubernetes/OpenShift cluster.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>outputDirectory</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default output directory to be used by this plugin.\n The default value is <code>target/docker</code> and is only used for the goal <code>k8s:build</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.target.dir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>portPropertyFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Global property file into which the mapped properties should be written to. The format of this file and its purpose\n are also described in <a href=\"#start-port-mapping\">Port Mapping</a>.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>profile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Profile to which contains enricher and generators configuration. See <a href=\"#profiles\">Profiles</a> for details.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.profile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>registry</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specify globally a registry to use for pulling and pushing images. See <a href=\"#registry\">Registry handling</a> for details.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.registry</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>resourceDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory where jkube.resources are stored. This is also the directory where a custom profile is looked up. Default\n is <code>src/main/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.resourceDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>environment</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Environment name where resources are placed. For example, if you set this property to dev and resourceDir is the\n default one, JKube will look at src/main/jkube/dev. If not set then root <code>resourceDir</code> directory is used.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.environment</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skip</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">With this parameter the execution of this plugin can be skipped completely.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipBuild</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set not images will be build (which implies also <em>skip.tag</em>) with <code>k8s:build</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.build</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipBuildPom</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set the build step will be skipped for modules of type <code>pom</code>. If not set, then by default projects of type <code>pom</code>\n will be skipped if there are no image configurations contained.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.build.pom</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipTag</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to <code>true</code> this plugin won’t add any tags to images that have been built with <code>k8s:build</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.tag</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipMachine</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Skip using docker machine in any case</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.skip.machine</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>sourceDirectory</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default directory that contains the assembly descriptor(s) used by the plugin. The default value is <code>src/main/docker</code>.\n This option is only relevant for the <code>k8s:build</code> goal.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.source.dir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>verbose</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Boolean attribute for switching on verbose output like the build steps when doing a Docker build. Default is <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.verbose</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logDate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The date format to use when logging messages from Docker. Default is <code>DEFAULT</code> (<code>HH:mm:ss.SSS</code>)</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.logDate</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logStdout</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Log to stdout regardless if log files are configured or not. Default is <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.logStdout</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_kubernetes_access_configuration\">5.2.3. Kubernetes Access Configuration</h4>\n<div class=\"paragraph\">\n<p>You can configure parameters to define how plugin is going to connect to Kubernetes cluster instead of relying on default parameters.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <access>\n <username></username>\n <password></password>\n <masterUrl></masterUrl>\n <apiVersion></apiVersion>\n </access>\n</configuration></code></pre>\n</div>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4285%;\">\n<col style=\"width: 14.2858%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>username</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Username on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.username</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>password</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Password on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.password</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>namespace</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Namespace on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.namespace</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>masterUrl</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Master URL on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.masterUrl</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>apiVersion</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Api version on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.apiVersion</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>caCertFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">CaCert File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.caCertFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>caCertData</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">CaCert Data on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.caCertData</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientCertFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Cert File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientCertFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientCertData</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Cert Data on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientCertData</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientKeyFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Key File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientKeyFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientKeyData</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Key Data on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientKeyData</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientKeyAlgo</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Key Algorithm on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientKeyAlgo</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientKeyPassphrase</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Key Passphrase on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientKeyPassphrase</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>trustStoreFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Trust Store File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.trustStoreFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>trustStorePassphrase</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Trust Store Passphrase on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.trustStorePassphrase</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keyStoreFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Key Store File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.keyStoreFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keyStorePassphrase</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Key Store Passphrase on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.keyStorePassphrase</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_image_configuration\">5.2.4. Image Configuration</h4>\n<div class=\"paragraph\">\n<p>The configuration how images should be created a defined in a dedicated <code><images></code> sections. These are specified for\neach image within the <code><images></code> element of the configuration with one <code><image></code> element per image to use.</p>\n</div>\n<div class=\"paragraph\">\n<p>The <code><image></code> element can contain the following sub elements:</p>\n</div>\n<table id=\"config-image\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 10. Image Configuration</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Each <code><image></code> configuration has a mandatory, unique docker\nrepository <em>name</em>. This can include registry and tag parts, but also placeholder parameters. See below for a detailed explanation.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>alias</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Shortcut name for an image which can be used for\nidentifying the image within this configuration. This is used when\nlinking images together or for specifying it with the global <strong>image</strong> configuration element.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#registry\"><strong>registry</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Registry to use for this image. If the <code>name</code> already contains a registry this takes precedence. See <a href=\"#registry\">Registry handling</a> for more details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#config-image-build\"><strong>build</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Element which contains all the configuration aspects when doing a <a href=\"#jkube:build\"><strong>k8s:build</strong></a>. This element can be omitted if the image is only pulled from a registry e.g. as support for integration tests like database images.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#config-image-run\"><strong>run</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Element which describe how containers should be\ncreated and run when <a href=\"#jkube:start\">[jkube:start]</a> is called. If this image is only used a <em>data container</em> (i.e. is supposed only to be mounted as a volume) for exporting artifacts via volumes this section can be missing.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#external-configuration\"><strong>external</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specification of external configuration as an alternative to this XML based configuration with <code><run></code> and <code><build></code>. It contains a <code><type></code> element specifying the handler for getting the configuration. See <a href=\"#external-configuration\">External configuration</a> for details.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>The <code><build></code> section is mandatory and is explained in <a href=\"#build-configuration\">below</a>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for <image></div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n ....\n <images>\n <image> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <name>%g/docker-demo:0.1</name> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n <alias>service</alias> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n <build>....</build> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n </image>\n <image>\n ....\n </image>\n </images>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>One or more <code><image>`</code> definitions</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>The Docker image name used when creating the image.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td>An alias which can be used in other parts of the plugin to reference to this image. This alias must be unique.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>A <code><build></code> section as described in <a href=\"#buid-configuration\">Build Configuration</a></td>\n</tr>\n</table>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-configuration\">5.2.5. Build Configuration</h4>\n<div id=\"build-overview\" class=\"paragraph\">\n<p>There are two different modes how images can be built:</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Inline plugin configuration</div>\n<p>With an inline plugin configuration all information required to build the image is contained in the plugin configuration. By default its the standard XML based configuration for the plugin but can be switched to a property based configuration syntax as described in the section <a href=\"#external-configuration\">External configuration</a>. The XML configuration syntax is recommended because of its more structured and typed nature.</p>\n</div>\n<div class=\"paragraph\">\n<p>When using this mode, the Dockerfile is created on the fly with all instructions extracted from the configuration given.</p>\n</div>\n<div id=\"external-dockerfile\" class=\"paragraph\">\n<div class=\"title\">External Dockerfile or Docker archive</div>\n<p>Alternatively an external Dockerfile template or Docker archive can be used. This mode is switched on by using one of these three configuration options within</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><strong>contextDir</strong> specifies docker build context if an external dockerfile is located outside of Docker build context. If not specified, Dockerfile’s parent directory is used as build context.</p>\n</li>\n<li>\n<p><strong>dockerFile</strong> specifies a specific Dockerfile path. The Docker build context directory is set to <code>contextDir</code> if given. If not the directory by default is the directory in which the Dockerfile is stored.</p>\n</li>\n<li>\n<p><strong>dockerArchive</strong> specifies a previously saved image archive to load directly. If a <code>dockerArchive</code> is provided, no <code>dockerFile</code> must be given.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>All paths can be either absolute or relative paths. A relative path is looked up in <code>${project.basedir}/src/main/docker</code> by default. You can make it easily an absolute path by using <code>${project.basedir}</code> in your configuration.</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Adding assemblies in Dockerfile mode</div>\n<p>You can also use an assembly if specified in an <a href=\"#build-assembly\">assembly configuration</a>.\nHowever, you need to add the files on your own in the Dockerfile with an <code>ADD</code> or <code>COPY</code> command.\nThe files of the assembly are stored in a build context relative directory <code>maven/</code> but can be changed by changing the assembly name with the option <code><name></code> in the assembly configuration.</p>\n</div>\n<div class=\"paragraph\">\n<p>E.g. the files can be added with</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-dockerfile\" data-lang=\"dockerfile\">COPY maven/ /my/target/directory</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>so that the assembly files will end up in <code>/my/target/directory</code> within the container.</p>\n</div>\n<div class=\"paragraph\">\n<p>If this directory contains a <code>.maven-dockerignore</code> (or alternatively, a <code>.maven-dockerexclude</code> file), then it is used for excluding files for the build. Each line in this file is treated as a <a href=\"http://ant.apache.org/manual/Types/fileset.html\">FileSet exclude pattern</a> as used by the <a href=\"http://maven.apache.org/plugins/maven-assembly-plugin\">maven-assembly-plugin</a>. It is similar to <code>.dockerignore</code> when using Docker but has a slightly different syntax (hence the different name).\n<a href=\"#ex-build-dockerexclude\">Example <code>.maven-dockerexclude</code> or <code>.maven-dockerignore</code></a> is an example which excludes all compiled Java classes.</p>\n</div>\n<div id=\"ex-build-dockerexclude\" class=\"exampleblock\">\n<div class=\"title\">Example 1. Example <code>.maven-dockerexclude</code> or <code>.maven-dockerignore</code></div>\n<div class=\"content\">\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>target/classes/** <i class=\"conum\" data-value=\"1\"></i><b>(1)</b></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Exclude all compiled classes</td>\n</tr>\n</table>\n</div>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If this directory contains a <code>.maven-dockerinclude</code> file, then it is used for including only those files for the build. Each line in this file is also treated as a <a href=\"http://ant.apache.org/manual/Types/fileset.html\">FileSet exclude pattern</a> as used by the <a href=\"http://maven.apache.org/plugins/maven-assembly-plugin\">maven-assembly-plugin</a>. <a href=\"#ex-build-dockerinclude\">Example <code>.maven-dockerinclude</code></a> shows how to include only jar file that have build to the Docker build context.</p>\n</div>\n<div id=\"ex-build-dockerinclude\" class=\"exampleblock\">\n<div class=\"title\">Example 2. Example <code>.maven-dockerinclude</code></div>\n<div class=\"content\">\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>target/*.jar <i class=\"conum\" data-value=\"1\"></i><b>(1)</b></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Only add jar file to you Docker build context.</td>\n</tr>\n</table>\n</div>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Except for the <a href=\"#build-assembly\">assembly configuration</a> all other configuration options are ignored for now.</p>\n</div>\n<div id=\"simple-dockerfile-build\" class=\"paragraph\">\n<div class=\"title\">Simple Dockerfile build</div>\n<p>When only a single image should be built with a Dockerfile no XML configuration is needed at all.\nAll what need to be done is to place a <code>Dockerfile</code> into the top-level module directory, alongside to <code>pom.xml</code>.\nYou can still configure <a href=\"#global-configuration\">global aspects</a> in the plugin configuration, but as soon as you add an <code><image></code> in the XML configuration, you need to configure also the build explicitly.</p>\n</div>\n<div class=\"paragraph\">\n<p>The image name is by default set from the Maven coordinates (<code>%g/%a:%l</code>, see <a href=\"#image-name\">Image Name </a> for an explanation of the params which are essentially the Maven GAV)\nThis name can be set with the property <code>jkube.image.name</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>If you want to add some <code><run></code> configuration to this image for starting it with <code>kubernetes-maven-plugin:run</code> then you can add an image configuration but without a <code><build></code> section in which case the Dockerfile will be picked up, too. This works only for a single image, though.</p>\n</div>\n<div id=\"build-filtering\" class=\"paragraph\">\n<div class=\"title\">Filtering</div>\n<p>kubernetes-maven-plugin filters given Dockerfile with Maven properties, much like the <code>maven-resource-plugin</code> does. Filtering is enabled by default and can be switched off with a build config <code><filter>false</filter></code>. Properties which we want to replace are specified with the <code>${..}</code> syntax.\nReplacement includes Maven project properties such as <code>${project.artifactId}</code>, properties set in the build, command-line properties, and system properties. Unresolved properties remain untouched.</p>\n</div>\n<div class=\"paragraph\">\n<p>This partial replacement means that you can easily mix it with Docker build arguments and environment variable reference, but you need to be careful.\nIf you want to be more explicit about the property delimiter to clearly separate Docker properties and Maven properties you can redefine the delimiter.\nIn general, the <code>filter</code> option can be specified the same way as delimiters in the resource plugin.\nIn particular, if this configuration contains a * then the parts left, and right of the asterisks are used as delimiters.</p>\n</div>\n<div class=\"paragraph\">\n<p>For example, the default <code><filter>${*}</filter></code> parse Maven properties in the format that we know.\nIf you specify a single character for <code><filter></code> then this delimiter is taken for both, the start and the end.\nE.g a <code><filter>@</filter></code> triggers on parameters in the format <code>@…​@</code>, much like in the <code>maven-invoker-plugin</code>.\nUse something like this if you want to clearly separate from Docker builds args.\nThis form of property replacement works for Dockerfile only.\nFor replacing other data in other files targeted for the Docker image, please use the <code>maven-resource-plugin</code> or an <a href=\"#build-assembly\">assembly configuration</a> with filtering to make them available in the docker build context.</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Example</div>\n<p>The following example replaces all properties in the format <code>@property@</code> within the Dockerfile.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <configuration>\n <images>\n <image>\n <name>user/demo</name>\n <build>\n <filter>@</filter>\n </build>\n </image>\n </images>\n </configuration>\n ...\n</plugin></code></pre>\n</div>\n</div>\n<div id=\"build-plugin\" class=\"paragraph\">\n<div class=\"title\">Build Plugins</div>\n<p>This plugin supports so call <strong>dmp-plugins</strong> which are used during the build phase.\ndmp-plugins are enabled by just declaring a dependency in the plugin declaration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n\n <dependencies>\n <dependency>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>run-java-sh</artifactId>\n <version>1.2.2</version>\n </dependency>\n </dependencies>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>org.eclipse.jkube.runsh.RunShLoader</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>During a build with <code>kubernetes-maven-plugin:build</code>, those classes are loaded and certain fixed method are called.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following methods are supported:</p>\n</div>\n<table id=\"build-plugin-methods\" class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Method</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>addExtraFiles</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A <em>static</em> method called by dmp with a single <code>File</code> argument. This will point to a directory <code>docker-extra</code> which can be referenced easily by a Dockerfile or an assembly. A dmp plugin typically will create an own subdirectory to avoid a clash with other dmp-plugins.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>If a configured plugin does not provide method of this name and signature, then it will be simply ignored.\nAlso, no interface needs to be implemented to keep the coupling low.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following official dmp-plugins are known and supported:</p>\n</div>\n<table id=\"build-plugins-official\" class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4286%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Name</th>\n<th class=\"tableblock halign-left valign-top\">G,A</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"https://github.com/fabric8io-images/run-java-sh\">run-java.sh</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.io</code>, <code>run-java</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">General purpose startup script fo running Java applications. The dmp plugin creates a\n <code>target/docker-extra/run-java/run-java.sh</code> which can be included in a Dockerfile (see the example above).\n See the <a href=\"https://github.com/fabric8io-images/run-java-sh\">run-java.sh Documentation</a> for more details.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Check out <code>samples/run-java</code> for a fully working example.</p>\n</div>\n<div class=\"paragraph\">\n<p>All build relevant configuration is contained in the <code><build></code> section\nof an image configuration. The following configuration options are supported:</p>\n</div>\n<table id=\"config-image-build\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 11. Build configuration (<a href=\"#config-image\"><image> </a>)</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#config-image-build-assembly\"><strong>assembly</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specifies the assembly configuration as described in <a href=\"#build-assembly\">Build Assembly</a></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#build-buildargs\"><strong>args</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Map specifying the value of <a href=\"https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables-build-arg\">Docker build args</a>\nwhich should be used when building the image with an external Dockerfile which uses build arguments. The key-value syntax is the same as when defining Maven properties (or <code>labels</code> or <code>env</code>).\nThis argument is ignored when no external Dockerfile is used. Build args can also be specified as properties as\ndescribed in <a href=\"#build-buildargs\">Build Args</a></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>buildOptions</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Map specifying the build options to provide to the docker daemon when building the image. These options map to the ones listed as query parameters in the\n<a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#build-image-from-a-dockerfile\">Docker Remote API</a> and are restricted to simple options\n(e.g.: memory, shmsize). If you use the respective configuration options for build options natively supported by the build configuration (i.e. <code>noCache</code>, <code>cleanup=remove</code> for buildoption <code>forcerm=1</code> and <code>args</code> for build args) then these will override any corresponding options given here. The key-value syntax is the same as when defining environment variables or labels as described in <a href=\"#misc-env\">Setting Environment Variables and Labels</a>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>cleanup</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Cleanup dangling (untagged) images after each build (including any containers created from them). Default is <code>try</code> which tries to remove the old image, but doesn’t fail the build if this is not possible because e.g. the image is still used by a running container. Use <code>remove</code> if you want to fail the build and <code>none</code> if no cleanup is requested.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a id=\"context-dir\"></a><strong>contextDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to a directory used for the build’s context. You can specify the <code>Dockerfile</code> to use with <strong>dockerFile</strong>, which by default is the Dockerfile found in the <code>contextDir</code>. The Dockerfile can be also located outside of the <code>contextDir</code>, if provided with an absolute file path. See <a href=\"#external-dockerfile\">External Dockerfile</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#misc-startup\"><strong>cmd</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A command to execute by default (i.e. if no command is provided when a container for this image is started). See <a href=\"#misc-startup\">Startup Arguments</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>compression</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The compression mode how the build archive is transmitted to the docker daemon (<code>k8s:build</code>) and how docker build archives are attached to this build as sources (<code>k8s:source</code>). The value can be <code>none</code> (default), <code>gzip</code> or <code>bzip2</code>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>dockerFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to a <code>Dockerfile</code> which also triggers <em>Dockerfile mode</em>. See <a href=\"#external-dockerfile\">External Dockerfile</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>dockerArchive</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to a saved image archive which is then imported. See <a href=\"#external-dockerfile\">Docker archive</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#misc-startup\"><strong>entryPoint</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">An entrypoint allows you to configure a container that will run as an executable. See <a href=\"#misc-startup\">Startup Arguments</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#misc-env\"><strong>env</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The environments as described in <a href=\"#misc-env\">Setting Environment Variables and Labels</a>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>filter</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Enable and set the delimiters for property replacements. By default properties in the format <code>${..}</code> are replaced with Maven properties. You can switch off property replacement by setting this property to <code>false</code>. When using a single char like <code>@</code> then this is used as a delimiter (e.g <code>@…​@</code>). See <a href=\"#build-filtering\">Filtering</a> for more details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a id=\"build-config-from\"></a><strong>from</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The base image which should be used for this image. If not given this default to <code>busybox:latest</code> and is suitable for a pure data image.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a id=\"build-config-from-ext\"></a><strong>fromExt</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Extended definition for a base image. This field holds a map of defined in <code><key>value</key></code> format. The known keys are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code><name></code> : Name of the base image</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>A provided <code><from></code> takes precedence over the name given here. This tag is useful for extensions of this plugin.</p>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#build-healthcheck\"><strong>healthCheck</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Definition of a health check as described in <a href=\"#build-healthcheck\">Healthcheck</a></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>imagePullPolicy</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specific pull policy for the base image. This overwrites any global pull policy.\n See the global configuration option <a href=\"#image-pull-policy\">imagePullPolicy</a> for the possible values and the default.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>loadNamePattern</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Scan the images in the archive specified in <code>dockerArchive</code> and match the associated repository and tag information against this pattern. When a matching repository and tag is found, create a tag linking the <code>name</code> for this image to the repository and tag that matched the pattern.</p>\n</div>\n<div class=\"paragraph\">\n<p>The wildcards are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>?</code> matches a single character</p>\n</li>\n<li>\n<p><code>*</code> matches within one component, where components are separated by slashes, or the final colon that separates the repository from the tag</p>\n</li>\n<li>\n<p><code>**</code> matches multiple components, stopping at the final colon</p>\n</li>\n<li>\n<p><code>**/</code> matches multiple components, but must stop at a slash, or the final colon</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>When matching multiple components, <code>**/</code> is likely to be more useful than <code>**</code>. The pattern <code>**image-name:*</code> will match <code>my-group/my-image-name:some-tag</code>, whereas <code>**/image-name:*</code> will not, because the wildcard has to stop at a slash. Note that <code>**/image-name:*</code> will also match 'image-name:some-tag', since the <code>**/</code> wildcard can be empty.</p>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#misc-env\"><strong>labels</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels as described in <a href=\"#misc-env\">Setting Environment Variables and Labels</a>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>maintainer</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The author (<code>MAINTAINER</code>) field for the generated image</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>noCache</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Don’t use Docker’s build cache. This can be overwritten by setting a system property <code>docker.noCache</code> when running Maven.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>cacheFrom</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A list of <code><image></code> elements specifying image names to use as cache sources.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>optimise</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">if set to true then it will compress all the <code>runCmds</code> into a single <code>RUN</code> directive so that only one image layer is created.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>ports</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The exposed ports which is a list of <code><port></code> elements, one for each port to expose. Whitespace is trimmed from each element and empty elements are ignored. The format can be either pure numerical (\"8080\") or with the protocol attached (\"8080/tcp\").</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>shell</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Shell to be used for the <strong>runCmds</strong>. It contains <strong>arg</strong> elements which are defining the executable and its params.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>runCmds</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Commands to be run during the build process. It contains <strong>run</strong> elements which are passed to the shell. Whitespace is trimmed from each element and empty elements are ignored. The run commands are inserted right after the assembly and after <strong>workdir</strong> into the Dockerfile. This tag is not to be confused with the <code><run></code> section for this image which specifies the runtime behaviour when starting containers.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skip</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">if set to true disables building of the image. This config option is best used together with a maven property</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipTag</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to <code>true</code> this plugin won’t add any tags to images.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tags</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of additional <code>tag</code> elements with which an image is to be tagged after the build. Whitespace is trimmed from each element and empty elements are ignored.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>user</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">User to which the Dockerfile should switch to the end (corresponds to the <code>USER</code> Dockerfile directive).</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>volumes</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of <code>volume</code> elements to create a container volume. Whitespace is trimmed from each element and empty elements are ignored.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>workdir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory to change to when starting the container.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>From this configuration this Plugin creates an in-memory Dockerfile,\ncopies over the assembled files and calls the Docker daemon via its\nremote API.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><build>\n <from>java:8u40</from>\n <maintainer>john.doe@example.com</maintainer>\n <tags>\n <tag>latest</tag>\n <tag>${project.version}</tag>\n </tags>\n <ports>\n <port>8080</port>\n </ports>\n <volumes>\n <volume>/path/to/expose</volume>\n </volumes>\n <buildOptions>\n <shmsize>2147483648</shmsize>\n </buildOptions>\n\n <shell>\n <exec>\n <arg>/bin/sh</arg>\n <arg>-c</arg>\n </exec>\n </shell>\n <runCmds>\n <run>groupadd -r appUser</run>\n <run>useradd -r -g appUser appUser</run>\n </runCmds>\n\n <entryPoint>\n <!-- exec form for ENTRYPOINT -->\n <exec>\n <arg>java</arg>\n <arg>-jar</arg>\n <arg>/opt/demo/server.jar</arg>\n </exec>\n </entryPoint>\n\n <assembly>\n <mode>dir</mode>\n <targetDir>/opt/demo</targetDir>\n <descriptor>assembly.xml</descriptor>\n </assembly>\n</build></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>In order to see the individual build steps you can switch on <code>verbose</code> mode either by setting the property\n<code>jkube.docker.verbose</code> or by using <code><verbose>true</verbose></code> in the <a href=\"#global-configuration\">Global configuration</a></p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-assembly\">5.2.6. Assembly</h4>\n<div class=\"paragraph\">\n<p>The <code><assembly></code> element within <code><build></code> element has an XML structure and defines how build artifacts and other files\ncan be added to the Docker image.</p>\n</div>\n<table id=\"config-image-build-assembly\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 12. Assembly Configuration (<a href=\"#config-image\"><image> </a> : <a href=\"#config-image-build\"><build> </a>)</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Assembly name, which is <code>maven</code> by default. This name is used for the archives and directories created during the build.\n This directory holds the files specified by the assembly. If an <a href=\"#external-dockerfile\">external Dockerfile</a> is used then\n this name is also the relative directory which contains the assembly files.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>targetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory under which the files and artifacts contained in the assembly will be copied within the container.\n The default value for this is <code>/<assembly name></code>, so <code>/maven</code> if <strong>name</strong> is not set to a different value.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#build-assembly-inline\"><strong>inline</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Inlined assembly descriptor as described in <a href=\"#build-assembly-inline\">Assembly - Inline</a> below.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>exportTargetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specification whether the <code>targetDir</code> should be exported as a volume. This value is <code>true</code> by default except in the\n case the <code>targetDir</code> is set to the container root (<code>/</code>). It is also <code>false</code> by default when a base image is used with\n <code>from</code> since exporting makes no sense in this case and will waste disk space unnecessarily.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>excludeFinalOutputArtifact</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">By default, the project’s final artifact will be included in the assembly, set this flag to true in case the\n artifact should be excluded from the assembly.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>mode</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Mode how the how the assembled files should be collected:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>dir</code> : Files are simply copied (default),</p>\n</li>\n<li>\n<p><code>tar</code> : Transfer via tar archive</p>\n</li>\n<li>\n<p><code>tgz</code> : Transfer via compressed tar archive</p>\n</li>\n<li>\n<p><code>zip</code> : Transfer via ZIP archive</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The archive formats have the advantage that file permission can be preserved better (since the copying is independent\nfrom the underlying files systems), but might triggers internal bugs from the Maven assembler (as it has been reported\nin <a href=\"https://github.com/fabric8io/docker-maven-plugin/issues/171\">#171</a>)</p>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>permissions</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Permission of the files to add:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>ignore</code> to use the permission as found on files regardless on any\nassembly configuration</p>\n</li>\n<li>\n<p><code>keep</code> to respect the assembly provided permissions</p>\n</li>\n<li>\n<p><code>exec</code> for setting the executable bit on all files (required for Windows when using an assembly mode <code>dir</code>)</p>\n</li>\n<li>\n<p><code>auto</code> to let the plugin select <code>exec</code> on Windows and <code>keep</code> on others.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p><code>keep</code> is the default value.</p>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tarLongFileMode</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Sets the TarArchiver behaviour on file paths with more than 100 characters length. Valid values are: \"warn\"(default), \"fail\", \"truncate\", \"gnu\", \"posix\", \"posix_warn\" or \"omit\"</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>user</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>User and/or group under which the files should be added. The user must already exist in the base image.</p>\n</div>\n<div class=\"paragraph\">\n<p>It has the general format <code>user[:group[:run-user]]</code>. The user and group can be given either as numeric user- and group-id or as names. The group id is optional.</p>\n</div>\n<div class=\"paragraph\">\n<p>If a third part is given, then the build changes to user <code>root</code> before changing the ownerships, changes the ownerships and then change to user <code>run-user</code> which is then used for the final command to execute. This feature might be needed, if the base image already changed the user (e.g. to 'jboss') so that a <code>chown</code> from root to this user would fail.</p>\n</div>\n<div class=\"paragraph\">\n<p>For example, the image <code>jboss/wildfly</code> use a \"jboss\" user under which all commands are executed. Adding files in Docker always happens under the UID root. These files can only be changed to \"jboss\" is the <code>chown</code> command is executed as root. For the following commands to be run again as \"jboss\" (like the final <code>standalone.sh</code>), the plugin switches back to user <code>jboss</code> (this is this \"run-user\") after changing the file ownership. For this example a specification of\n<code>jboss:jboss:jboss</code> would be required.</p>\n</div></div></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>In the event you do not need to include any artifacts with the image, you may safely omit this element from the configuration.</p>\n</div>\n<div class=\"sect4\">\n<h5 id=\"build-assembly-inline\">Assembly - Inline</h5>\n<div class=\"paragraph\">\n<p>Inlined assembly description with a format very similar to\n<a href=\"https://maven.apache.org/plugins/maven-assembly-plugin/assembly.html\">Maven Assembly Plugin</a>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 13. Assembly - Inline (<a href=\"#config-image\"><image> </a> : <a href=\"#config-image-build\"><build> </a> : <a href=\"#config-image-build-assembly\"><assembly> </a>)</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>id</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Unique ID for the assembly.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>files</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>List of files for the assembly.</p>\n</div>\n<div class=\"paragraph\">\n<p>Each file has the following fields:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>source</code>: Absolute or relative path from the project’s directory of the file to be included in the assembly.</p>\n</li>\n<li>\n<p><code>outputDirectory</code>: Output directory relative to the root of the root directory of the assembly.</p>\n</li>\n<li>\n<p><code>destName</code>: Destination filename in the outputDirectory.</p>\n</li>\n<li>\n<p><code>fileMode</code>: Similar to a UNIX permission, sets the file mode of the file included.</p>\n</li>\n</ul>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>fileSets</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>List of filesets for the Assembly.</p>\n</div>\n<div class=\"paragraph\">\n<p>Each fileset has the following fields:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>directory</code>: Absolute or relative location from the project’s directory.</p>\n</li>\n<li>\n<p><code>outputDirectory</code>: Output directory relative to the root of the root directory of the assembly fileSet.</p>\n</li>\n<li>\n<p><code>includes</code>: A set of files and directories to include.</p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If none is present, then everything is included.</p>\n</li>\n<li>\n<p>Files can be referenced by using their complete path name.</p>\n</li>\n<li>\n<p>Wildcards are also supported, patterns will be matched using\n<a href=\"https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/file/FileSystem.html#getPathMatcher(java.lang.String)\">\nFileSystem#getPathMatcher</a> <code>glob</code> syntax.</p>\n</li>\n</ul>\n</div>\n</li>\n<li>\n<p><code>excludes</code>: A set of files and directory to exclude.</p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If none is present, then there are no exclusions.</p>\n</li>\n</ul>\n</div>\n</li>\n<li>\n<p><code>fileMode</code>: Similar to a UNIX permission, sets the file mode of the files included.</p>\n</li>\n<li>\n<p><code>directoryMode</code>: Similar to a UNIX permission, sets the directory mode of the directories included.</p>\n</li>\n</ul>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>baseDirectory</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Base directory from which to resolve the Assembly files and filesets.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"misc-env\">5.2.7. Environment and Labels</h4>\n<div class=\"paragraph\">\n<p>When creating a container one or more environment variables can be set via configuration with the <code>env</code> parameter</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><env>\n <JAVA_HOME>/opt/jdk8</JAVA_HOME>\n <CATALINA_OPTS>-Djava.security.egd=file:/dev/./urandom</CATALINA_OPTS>\n</env></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If you put this configuration into profiles you can easily create various test variants with a single image (e.g. by switching the JDK or whatever).</p>\n</div>\n<div class=\"paragraph\">\n<p>It is also possible to set the environment variables from the outside of the plugin’s configuration with the parameter <code>envPropertyFile</code>. If given, this property file is used to set the environment variables where the keys and values specify the environment variable. Environment variables specified in this file override any environment variables specified in the configuration.</p>\n</div>\n<div class=\"paragraph\">\n<p>Labels can be set inline the same way as environment variables:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><labels>\n <com.example.label-with-value>foo</com.example.label-with-value>\n <version>${project.version}</version>\n <artifactId>${project.artifactId}</artifactId>\n</labels></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"misc-startup\">5.2.8. Startup Arguments</h4>\n<div class=\"paragraph\">\n<p>Using <code>entryPoint</code> and <code>cmd</code> it is possible to specify the <a href=\"https://docs.docker.com/reference/builder/#entrypoint\">entry point</a>\nor <a href=\"https://docs.docker.com/reference/builder/#cmd\">cmd</a> for a container.</p>\n</div>\n<div class=\"paragraph\">\n<p>The difference is, that an <code>entrypoint</code> is the command that always be executed, with the <code>cmd</code> as argument. If no <code>entryPoint</code> is provided, it defaults to <code>/bin/sh -c</code> so any <code>cmd</code> given is executed with a shell. The arguments given to <code>docker run</code> are always given as arguments to the\n<code>entrypoint</code>, overriding any given <code>cmd</code> option. On the other hand if no extra arguments are given to <code>docker run</code> the default <code>cmd</code> is used as argument to <code>entrypoint</code>.</p>\n</div>\n<div class=\"sidebarblock\">\n<div class=\"content\">\n<div class=\"paragraph\">\n<p>See this <a href=\"http://stackoverflow.com/questions/21553353/what-is-the-difference-between-cmd-and-entrypoint-in-a-dockerfile\">stackoverflow question</a> for a detailed explanation.</p>\n</div>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>An entry point or command can be specified in two alternative formats:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 14. Entrypoint and Command Configuration</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Mode</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>shell</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Shell form in which the whole line is given to <code>shell -c</code> for interpretation.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>exec</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of arguments (with inner <code><args></code>) arguments which will be given to the <code>exec</code> call directly without any shell interpretation.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Either shell or params should be specified.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><entryPoint>\n <!-- shell form -->\n <shell>java -jar $HOME/server.jar</shell>\n</entryPoint></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>or</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><entryPoint>\n <!-- exec form -->\n <exec>\n <arg>java</arg>\n <arg>-jar</arg>\n <arg>/opt/demo/server.jar</arg>\n </exec>\n</entryPoint></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This can be formulated also more dense with:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><!-- shell form -->\n<entryPoint>java -jar $HOME/server.jar</entryPoint></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>or</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><entryPoint>\n <!-- exec form -->\n <arg>java</arg>\n <arg>-jar</arg>\n <arg>/opt/demo/server.jar</arg>\n</entryPoint></code></pre>\n</div>\n</div>\n<div class=\"dlist\">\n<dl>\n<dt class=\"hdlist1\">INFO</dt>\n<dd>\n<p>Startup arguments are not used in S2I builds</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-buildargs\">5.2.9. Build Args</h4>\n<div id=\"property-buildargs\" class=\"paragraph\">\n<p>As described in section <a href=\"#build-configuration\">Configuration</a> for external Dockerfiles <a href=\"https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables-build-arg\">Docker build arg</a> can be used. In addition to the\nconfiguration within the plugin configuration you can also use properties to specify them:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Set a system property when running Maven, eg.: <code>-Ddocker.buildArg.http_proxy=http://proxy:8001</code>. This is especially\nuseful when using predefined Docker arguments for setting proxies transparently.</p>\n</li>\n<li>\n<p>Set a project property within the <code>pom.xml</code>, eg.:</p>\n</li>\n</ul>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><docker.buildArg.myBuildArg>myValue</docker.buildArg.myBuildArg></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Please note that the system property setting will always override the project property. Also note that for all\nproperties which are not Docker <a href=\"https://docs.docker.com/engine/reference/builder/#arg\">predefined</a> properties, the\nexternal Dockerfile must contain an <code>ARGS</code> instruction.</p>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:push\">5.3. <strong>k8s:push</strong></h3>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nSection needs review and rearrangements\n</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>This goal uploads images to the registry which have a <code><build></code> configuration section. The images to push can be restricted with\nthe global option <code>filter</code> (see <a href=\"#global-configuration\">Global Configuration</a> for details). The registry to push is by\ndefault <code>docker.io</code> but can be specified as part of the images’s <code>name</code> the Docker way.\nE.g. <code>docker.test.org:5000/data:1.5</code> will push the image <code>data</code> with tag <code>1.5</code> to the registry <code>docker.test.org</code> at port\n<code>5000</code>. Registry credentials (i.e. username and password) can be specified in multiple ways as described in section <a href=\"#authentication\">Authentication</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>By default a progress meter is printed out on the console, which is omitted when using Maven in batch mode (option <code>-B</code>).\nA very simplified progress meter is provided when using no color output (i.e. with <code>-Djkube.useColor=false</code>).</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 15. Push options</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4285%;\">\n<col style=\"width: 14.2858%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipPush</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to <code>true</code> the plugin won’t push any images that have been built.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.push</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipTag</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to <code>true</code> this plugin won’t push any tags</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.tag</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pushRegistry</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The registry to use when pushing the image. See <a href=\"#registry\">Registry Handling</a> for\nmore details.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.push.registry</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>retries</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">How often should a push be retried before giving up. This useful for flaky registries which tend to return 500 error codes from time to time. The default is 0 which means no retry at all.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.push.retries</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:apply\">5.4. <strong>k8s:apply</strong></h3>\n<div class=\"paragraph\">\n<p>This goal applies the resources created with <a href=\"#jkube:resource\"><strong>k8s:resource</strong></a> to a connected Kubernetes cluster. It’s similar to <a href=\"#jkube:deploy\"><strong>k8s:deploy</strong></a> but does not the full deployment cycle of creating the resource, creating the application image and sending the resource descriptors to the clusters. This goal can be easily bound to <code><executions></code> within the plugin’s configuration and binds by default to the <code>install</code> lifecycle phase.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:apply</code></pre>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Apply\">5.4.1. Supported Properties For Apply goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 16. Other options available with apply goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>recreate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we update resources by deleting them first and then creating them again.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.recreate</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>kubernetesManifest</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The generated kubernetes YAML file.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/target/classes/META-INF/jkube/kubernetes.yml</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.kubernetesManifest</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>create</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we create new resources.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.create</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>rolling</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we use rolling updates to apply changes.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.rolling</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>failOnNoKubernetesJson</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we fail if there is no Kubernetes JSON.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.failOnNoKubernetesJson</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>servicesOnly</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">In services only mode we only process services so that those can be recursively created/updated first before\n creating/updating any pods and replication controllers.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.servicesOnly</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>ignoreServices</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Do we want to ignore services. This is particularly useful when in recreate mode to let you easily recreate all the\n ReplicationControllers and Pods but leave any service definitions alone to avoid changing the portalIP addresses and\n breaking existing pods using the service.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.ignoreServices</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>processTemplatesLocally</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Process templates locally in Java so that we can apply OpenShift templates on any Kubernetes environment.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.processTemplatesLocally</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>deletePods</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we delete all the pods if we update a Replication Controller.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.deletePods</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>ignoreRunningOAuthClients</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Do we want to ignore OAuthClients which are already running?. OAuthClients are shared across namespaces so we should\n not try to update or create/delete global oauth clients.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.ignoreRunningOAuthClients</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>jsonLogDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The folder we should store any temporary json files or results.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/target/jkube/applyJson</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.jsonLogDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>waitSeconds</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">How many seconds to wait for a URL to be generated for a service.</p>\n<p class=\"tableblock\"> Defaults to <code>5</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.serviceUrl.waitSeconds</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>resourceDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Folder where to find project specific files.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/src/main/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.resourceDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>environment</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Environment name where resources are placed. For example, if you set this property to dev and resourceDir is the\n default one, jkube will look at <code>src/main/jkube/dev</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>null</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.environment</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipApply</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Skip applying the resources.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.apply</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:helm\">5.5. <strong>k8s:helm</strong></h3>\n<div class=\"paragraph\">\n<p>This goal is for creating\n<a href=\"https://helm.sh/docs/topics/charts\">Helm charts</a>\nfor your Maven project so that you can install, update or delete your app in Kubernetes\nusing <a href=\"https://github.com/helm/helm\">Helm</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>For creating a Helm chart you simply call <code>k8s:helm</code> goal on the command line:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:resource k8s:helm</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The <code>k8s:resource</code> goal is required to create the resource descriptors which are included in the Helm chart.\nIf you have already built the resource then you can omit this goal.</p>\n</div>\n<div class=\"paragraph\">\n<p>The configuration is defined in a <code><helm></code> section within the plugin’s configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example Helm configuration</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <configuration>\n <helm>\n <chart>Jenkins</chart>\n <keywords>ci,cd,server</keywords>\n </helm>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This configuration section knows the following sub-elements in order to configure your Helm chart.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 17. Helm configuration</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4285%;\">\n<col style=\"width: 14.2858%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>chart</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart name, which is <code>${project.artifactId}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.chart</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>version</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart SemVer version, which is <code>${project.version}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.version</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>description</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart single-sentence description, which is <code>${project.description}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.description</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>home</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart URL for this project’s home page, which is <code>${project.url}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.home</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>sources</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart list of URLs to source code for this project, defaults to the list of <code>${project.scm.url}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>maintainers</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart list of maintainers (name+email), defaults to the list of\n `${project.developers.name}:${project.developers.name}`if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>icon</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart URL to an SVG or PNG image to be used as an icon, default is extracted from the kubernetes manifest\n (<code>kubernetes.yml</code>) <code>jkube.io/iconUrl</code> annotation if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.icon</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keywords</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Comma separated list of keywords to add to the chart.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>engine</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The template engine to use.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>additionalFiles</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The list of additional files to be included in the Chart archive. Any file named <code>README</code> or <code>LICENSE</code> will <strong>always</strong>\n be included by default.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>type</strong> / <strong>types</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Platform for which to generate the chart. By default this is <code>kubernetes</code>, but can be also <code>openshift</code> for using\n OpenShift specific resources in the chart. You can also add both values as a comma separated list.</p>\n<p class=\"tableblock\"> <em>Please note that there is no OpenShift support yet for charts, so this is experimental.</em></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.type</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>sourceDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where to find the resource descriptors generated with <code>k8s:resource</code>.\n By default this is <code>${basedir}/target/classes/META-INF/jkube., which is also the output directory used by `k8s:resource</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.sourceDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>outputDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where to create the Helm chart, which is <code>${basedir}/target/jkube/helm</code> by default for Kubernetes\n and <code>${basedir}/target/jkube/helmshift</code> for OpenShift.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.outputDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tarballOutputDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where to create the the Helm chart archive, which is <code>${basedir}/target</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.tarballOutputDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>chartExtension</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Helm chart file extension (<code>tgz</code>, <code>tar.bz</code>, <code>tar.bzip2</code>, <code>tar.bz2</code>), default value is <code>tar.gz</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.chartExtension</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>In a next step you can install this via the <a href=\"https://github.com/helm/helm/releases\">helm command line tool</a> as follows:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">helm install nameForChartInRepository target/jkube/helm/${chartName}/kubernetes</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>or</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>helm install target/jkube/helm/${chartName}/kubernetes --generate-name</pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>To add the <code>helm</code> goal to your project so that it is automatically executed just add the <code>helm</code> goal to the <code>executions</code>\nsection of the <code>kubernetes-maven-plugin</code> section of your <code>pom.xml</code>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Add helm goal</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n\n <!-- ... -->\n\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n <goal>deploy</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>In addition this goal will also create a tar-archive below <code>${basedir}/target</code> which contains the chart with its template.\nThis tar is added as an artifact with classifier <code>helm</code> to the build (<code>helmshift</code> for the OpenShift mode).</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"goals-overview-develop\">6. Development Goals</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"jkube:deploy\">6.1. <strong>k8s:deploy</strong></h3>\n<div class=\"paragraph\">\n<p>This is the main goal for building your docker image, generating the kubernetes resources and deploying them into the cluster (insofar your pom.xml is set up correct; keep reading :)).</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:deploy</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This goal is designed to run <a href=\"#jkube:build\"><strong>k8s:build</strong></a> and <a href=\"#jkube:resource\"><strong>k8s:resource</strong></a> before the deploy <strong>if</strong> you have the goals bound in your pom.xml:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n\n <!-- Connect k8s:resource, k8s:build and k8s:helm to lifecycle phases -->\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n <goal>helm</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Effectively this builds your project then invokes these goals:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"#jkube:build\"><strong>k8s:build</strong></a></p>\n</li>\n<li>\n<p><a href=\"#jkube:apply\"><strong>k8s:apply</strong></a></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>By default the behaviour of resource goal is it generates <code>route.yml</code> for a service if you have not done any configuration changes. Sometimes there may be case when you want to generate route.yml but do not want to create route resource on OpenShift Cluster. This can be achieved by the following configuration.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for not generating route resource on your cluster</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <configuration>\n <enricher>\n <excludes>\n <exclude>jkube-expose</exclude>\n </excludes>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:undeploy\">6.2. <strong>k8s:undeploy</strong></h3>\n<div class=\"paragraph\">\n<p>This goal is for deleting the kubernetes resources that you deployed via the <a href=\"#jkube:apply\"><strong>k8s:apply</strong></a> or <a href=\"#jkube:deploy\"><strong>k8s:deploy</strong></a> goals</p>\n</div>\n<div class=\"paragraph\">\n<p>It iterates through all the resources generated by the <a href=\"#jkube:resource\"><strong>k8s:resource</strong></a> goal and deletes them from your current kubernetes cluster.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:undeploy</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:log\">6.3. <strong>k8s:log</strong></h3>\n<div class=\"paragraph\">\n<p>This goal tails the log of the app that you deployed via the <a href=\"#jkube:deploy\"><strong>k8s:deploy</strong></a> goal</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:log</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>You can then terminate the output by hitting <code>Ctrl+C</code></p>\n</div>\n<div class=\"paragraph\">\n<p>If you wish to get the log of the app and then terminate immediately then try:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:log -Djkube.log.follow=false</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This lets you pipe the output into grep or some other tool</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:log -Djkube.log.follow=false | grep Exception</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If your app is running in multiple pods you can configure the pod name to log via the <code>jkube.log.pod</code> property, otherwise it defaults to the latest pod:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:log -Djkube.log.pod=foo</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If your pod has multiple containers you can configure the container name to log via the <code>jkube.log.container</code> property, otherwise it defaults to the first container:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:log -Djkube.log.container=foo</code></pre>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Log\">6.3.1. Supported Properties for Log goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 18. Options available with log goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logFollow</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Get follow logs for your application inside Kubernetes.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.log.follow</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logContainer</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Get logs of some specific container inside your application Deployment.</p>\n<p class=\"tableblock\"> Defaults to <code>null</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.log.container</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logPod</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Get logs of some specific pod inside your application Deployment.</p>\n<p class=\"tableblock\"> Defaults to <code>null</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.log.pod</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:debug\">6.4. <strong>k8s:debug</strong></h3>\n<div class=\"paragraph\">\n<p>This goal enables debugging in your Java app and then port forwards from localhost to the latest running pod of your app so that you can easily debug your app from your Java IDE.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:debug</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then follow the on screen instructions.</p>\n</div>\n<div class=\"paragraph\">\n<p>The default debug port is <code>5005</code>. If you wish to change the local port to use for debugging then pass in the <code>jkube.debug.port</code> parameter:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:debug -Djkube.debug.port=8000</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then in your IDE you start a Remote debug execution using this remote port using localhost and you should be able to set breakpoints and step through your code.</p>\n</div>\n<div class=\"paragraph\">\n<p>This lets you debug your apps while they are running inside a Kubernetes cluster - for example if you wish to debug a REST endpoint while another pod is invoking it.</p>\n</div>\n<div class=\"paragraph\">\n<p>Debug is enabled via the <code>JAVA_ENABLE_DEBUG</code> environment variable being set to <code>true</code>. This environment variable is used for all the standard Java docker images used by Spring Boot, flat classpath and executable JAR projects and Wildfly Swarm. If you use your own custom docker base image you may wish to also respect this environment variable too to enable debugging.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_speeding_up_debugging\">6.4.1. Speeding up debugging</h4>\n<div class=\"paragraph\">\n<p>By default the <code>k8s:debug</code> goal has to edit your Deployment to enable debugging then wait for a pod to start. It might be in development you frequently want to debug things and want to speed things up a bit.</p>\n</div>\n<div class=\"paragraph\">\n<p>If so you can enable debug mode for each build via the <code>jkube.debug.enabled</code> property.</p>\n</div>\n<div class=\"paragraph\">\n<p>e.g. you can pass this property on the command line:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:deploy -Djkube.debug.enabled=true</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Or you can add something like this to your <code>~/.m2/settings.xml</code> file so that you enable debug mode for all maven builds on your laptop by using a profile :</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><?xml version=\"1.0\"?>\n<settings>\n <profiles>\n <profile>\n <id>enable-debug</id>\n <activation>\n <activeByDefault>true</activeByDefault>\n </activation>\n <properties>\n <jkube.debug.enabled>true</jkube.debug.enabled>\n </properties>\n </profile>\n </profiles>\n</settings></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then whenever you type the <code>k8s:debug</code> goal there is no need for the maven goal to edit the <code>Deployment</code> and wait for a pod to restart; we can immediately start debugging when you type:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:debug</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_debugging_with_suspension\">6.4.2. Debugging with suspension</h4>\n<div class=\"paragraph\">\n<p>The <code>k8s:debug</code> goal allows to attach a remote debugger to a running container, but the application is free to execute when the debugger is not attached.\nIn some cases, you may want to have complete control on the execution, e.g. to investigate the application behavior at startup. This can be done using the <code>jkube.debug.suspend</code> flag:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:debug -Djkube.debug.suspend</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The suspend flag will set the <code>JAVA_DEBUG_SUSPEND</code> environment variable to <code>true</code> and <code>JAVA_DEBUG_SESSION</code> to a random number in your deployment.\nWhen the <code>JAVA_DEBUG_SUSPEND</code> environment variable is set, standard docker images will use <code>suspend=y</code> in the JVM startup options for debugging.</p>\n</div>\n<div class=\"paragraph\">\n<p>The <code>JAVA_DEBUG_SESSION</code> environment variable is always set to a random number (each time you run the debug goal with the suspend flag) in order to tell Kubernetes to restart the pod.\nThe remote application will start only after a remote debugger is attached. You can use the remote debugging feature of your IDE to connect (on <code>localhost</code>, port <code>5005</code> by default).</p>\n</div>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nThe <code>jkube.debug.suspend</code> flag will disable readiness probes in the Kubernetes deployment in order to start port-forwarding during the early phases of application startup\n</td>\n</tr>\n</table>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Debug\">6.4.3. Supported Properties For Debug Goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 19. Options available with debug goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>debugPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default port available for debugging your application inside Kubernetes.</p>\n<p class=\"tableblock\"> Defaults to <code>5005</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.debug.port</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>debugSuspend</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Disables readiness probes in Kubernetes Deployment in order to start port forwarding during early phases of\n application startup.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.debug.suspend</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:watch\">6.5. <strong>k8s:watch</strong></h3>\n<div class=\"paragraph\">\n<p>This goal is used to monitor the project workspace for changes and automatically trigger a redeploy of the application\nrunning on Kubernetes.</p>\n</div>\n<div class=\"paragraph\">\n<p>In order to use k8s:watch for spring-boot, you need to make sure that <code>devtools</code> is included in the repacked\narchive, as shown in the following listing:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-maven-plugin</artifactId>\n <configuration>\n <excludeDevtools>false</excludeDevtools>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then you need to set a <code>spring.devtools.remote.secret</code> in application.properties, as shown in the following example:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>spring.devtools.remote.secret=mysecret</pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Before entering the watch mode, this goal must generate the docker image and the Kubernetes resources\n(optionally including some development libraries/configuration),\nand deploy the app on Kubernetes. Lifecycle bindings should be configured as follows to allow\nthe generation of such resources.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Lifecycle bindings for k8s:watch</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n\n <!-- ... -->\n\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>For any application having <code>resource</code> and <code>build</code> goals bound to the lifecycle, the following\ncommand can be used to run the watch task.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-bash\" data-lang=\"bash\">mvn k8s:watch</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This plugin supports different watcher providers, enabled automatically if the project satisfies certain conditions.</p>\n</div>\n<div class=\"paragraph\">\n<p>Watcher providers can also be configured manually. The <a href=\"#generator-example\">Generator example</a> is a good blueprint, simply replace <code><generator></code> with <code><watcher></code>. The configuration is structurally identical.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"watcher-spring-boot\">6.5.1. Spring Boot</h4>\n<div class=\"paragraph\">\n<p>This watcher is enabled by default for all Spring Boot projects. It performs the following actions:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>deploys your application with Spring Boot DevTools enabled</p>\n</li>\n<li>\n<p>tails the log of the latest running pod for your application</p>\n</li>\n<li>\n<p>watches the local development build of your Spring Boot based application and then triggers a reload of the application when there are changes</p>\n</li>\n</ul>\n</div>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nSpring devtools automatically ignores projects named <code>spring-boot</code>, <code>spring-boot-devtools</code>,\n <code>spring-boot-autoconfigure</code>, <code>spring-boot-actuator</code>, <code>and spring-boot-starter</code>\n</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>You can try it on any spring boot application via:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:watch</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Once the goal starts up the spring boot RemoteSpringApplication it will watch for local development changes.</p>\n</div>\n<div class=\"paragraph\">\n<p>e.g. if you edit the java code of your app and then build it via something like this:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn package</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>You should see your app reload on the fly in the shell running the <a href=\"#jkube:watch\"><strong>k8s:watch</strong></a> goal!</p>\n</div>\n<div class=\"paragraph\">\n<p>There is also support for LiveReload as well.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"watcher-docker-image\">6.5.2. Docker Image</h4>\n<div class=\"paragraph\">\n<p>This is a generic watcher that can be used in Kubernetes mode only. Once activated, it listens for changes in the project workspace\n in order to trigger a redeploy of the application.</p>\n</div>\n<div class=\"paragraph\">\n<p>The watcher can be activated e.g. by running this command in another shell:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn package</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The watcher will detect that the binary artifact has changed and will first rebuild the docker image,\nthen start a redeploy of the Kubernetes pod.</p>\n</div>\n<div class=\"paragraph\">\n<p>It uses the watch feature of the <a href=\"https://dmp.fabric8.io/#docker:watch\">docker-maven-plugin</a> under the hood.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Watch\">6.5.3. Supported Properties for Watch goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 20. Options available with watch goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>kubernetesManifest</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The generated kubernetes YAML file.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/target/classes/META-INF/jkube/kubernetes.yml</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.kubernetesManifest</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>watchMode</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>How to watch for image changes.</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>copy</code>: Copy watched artifacts into container</p>\n</li>\n<li>\n<p><code>build</code>: Build only images</p>\n</li>\n<li>\n<p><code>run</code>: Run images</p>\n</li>\n<li>\n<p><code>both</code>: Build and run images</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Defaults to <code>both</code>.</p>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.watch.mode</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>watchInterval</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Watch interval in milliseconds.</p>\n<p class=\"tableblock\"> Defaults to <code>5000</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.watch.interval</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"generators\">7. Generators</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>The usual way to define Docker images is with the plugin configuration as explained in <a href=\"#jkube:build\"><strong>k8s:build</strong></a>. This can either be done completely within the <code>pom.xml</code> or by referring to an external Dockerfile. Since kubernetes-maven-plugin includes <a href=\"https://github.com/jkubeio/docker-maven-plugin\">docker-maven-plugin</a> the way by which images are built is identical.</p>\n</div>\n<div class=\"paragraph\">\n<p>However, this plugin provides an additional route for defining image configurations. This is done by so called <em>Generators</em>. A generator is a Java component providing an auto-detection mechanism for certain build types like a Spring Boot build or a plain Java build. As soon as a <em>Generator</em> detects that it is applicable it will be called with the list of images configured in the <code>pom.xml</code>. Typically a generator only creates dynamically a new image configuration if this list is empty. But a generator is free to also add new images to an existing list or even change the current image list.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can easily create your own generator as explained in <a href=\"#generators-api\">Generator API</a>. This section will focus on existing generators and how you can configure them.</p>\n</div>\n<div class=\"paragraph\">\n<p>The included <em>Generators</em> are enabled by default, but you can easily disable them or only select a certain set of generators. Each generator has a <em>name</em>, which is unique for a generator.</p>\n</div>\n<div class=\"paragraph\">\n<p>The generator configuration is embedded in a <code><generator></code> configuration section:</p>\n</div>\n<div id=\"generator-example\" class=\"listingblock\">\n<div class=\"title\">Example for a generator configuration</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n ....\n <configuration>\n ....\n <generator> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <includes> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n <include>spring-boot</include>\n </includes>\n <config> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n <spring-boot> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n <alias>ping</alias>\n </spring-boot>\n </config>\n </generator>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Start of generators' configuration.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>Generators can be included and excluded. Includes have precedence, and the generators are called in the given order.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td>Configuration for individual generators.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>The config is a map of supported config values. Each section is embedded in a tag named after the generator.</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>The following sub-elements are supported:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 21. Generator configuration</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><includes></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Contains one ore more <code><include></code> elements with generator names which should be included. If given only this list of generators are included in this given order. The order is important because by default only the first matching generator kicks in. The generators from every active profile are included, too. However the generators listed here are moved to the front of the list, so that they are called first. Use the profile <code>raw</code> if you want to explicitly set the complete list of generators.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><excludes></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Holds one or more <code><exclude></code> elements with generator names to exclude. If set then all detected generators are used except the ones mentioned in this section.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><config></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Configuration for all generators. Each generator support a specific set of configuration values as described in the documentation. The subelements of this section are generator names to configure. E.g. for generator <code>spring-boot</code>, the sub-element is called <code><spring-boot></code>. This element then holds the specific generator configuration like <code><name></code> for specifying the final image name. See above for an example. Configuration coming from profiles are merged into this config, but not overriding the configuration specified here.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Beside specifying generator configuration in the plugin’s configuration it can be set directly with properties, too:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example generator property config</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn -Djkube.generator.java-exec.webPort=8082</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The general scheme is a prefix <code>jkube.generator.</code> followed by the unique generator name and then the generator specific key.</p>\n</div>\n<div class=\"paragraph\">\n<p>In addition to the provided default <em>Generators</em> described in the next section <a href=\"#generators-default\">Default Generators</a>, custom generators can be easily added. There are two ways to include generators:</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Plugin dependency</div>\n<p>You can declare the generator holding jars as dependency to this plugin as shown in this example</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <artifactId>kubernetes-maven-plugin</artifactId>\n ....\n <dependencies>\n <dependency>\n <groupId>io.acme</groupId>\n <artifactId>mygenerator</artifactId>\n <version>1.0</version>\n </dependency>\n </dependencies>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Compile time dependency</div>\n<p>Alternatively and if your application code comes with a custom generator you can set the global configuration option <code>useProjectClasspath</code> (property: <code>jkube.useProjectClasspath</code>) to true. In this case also the project artifact and its dependencies are looked up for <em>Generators</em>. See <a href=\"#generators-api\">Generator API</a> for details how to write your own generators.</p>\n</div>\n<div class=\"sect2\">\n<h3 id=\"generators-default\">7.1. Default Generators</h3>\n<div class=\"paragraph\">\n<p>All default generators examine the build information for certain aspects and generate a Docker build configuration on the fly. They can be configured to a certain degree, where the configuration is generator specific.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 22. Default Generators</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 66.6668%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Generator</th>\n<th class=\"tableblock halign-left valign-top\">Name</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-java-exec\">Java Applications</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>java-exec</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generic generator for flat classpath and fat-jar Java applications</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-spring-boot\">Spring Boot</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>spring-boot</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Spring Boot specific generator</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-wildfly-swarm\">Wildfly Swarm</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>wildfly-swarm</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Wildfly Swarm apps</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-thorntail-v2\">Thorntail v2</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>thorntail-v2</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Thorntail v2 apps</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-vertx\">Vert.x</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Vert.x applications</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-karaf\">Karaf</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>karaf</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Karaf based apps</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-webapp\">Web applications</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>webapps</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for WAR based applications supporting Tomcat, Jetty and Wildfly base images</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-quarkus\">Quarkus</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>Quarkus</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Quarkus based applications</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-openliberty\">Open Liberty</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>openliberty</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Open Liberty applications</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-wildfly-jar\">WildFly Bootable JAR</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>wildfly-jar</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for WildFly Bootable JAR applications</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>There are some configuration options which are shared by all generators:</p>\n</div>\n<table id=\"generator-options-common\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 23. Common generator options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>add</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">When set to <code>true</code>, then the generator <em>adds</em> to an existing image configuration. By default this is disabled, so\n that a generator only kicks in when there are no other image configurations in the build, which are either configured\n directly for a <code>k8s:build</code> or already added by a generator which has been run previously.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.add</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>alias</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">An alias name for referencing this image in various other parts of the configuration. This is also used in the log\n output. The default alias name is the name of the generator.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.alias</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>from</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">This is the base image from where to start when creating the images. By default the generators make an opinionated\n decision for the base image which are described in the respective generator section.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.from</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>fromMode</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Whe using OpenShift S2I builds the base image can be either a plain docker image (mode: <code>jib</code>) or a reference to an\n <a href=\"https://docs.openshift.com/container-platform/3.3/architecture/core_concepts/builds_and_image_streams.html\"> ImageStreamTag</a>\n (mode: <code>istag</code>). In the case of an ImageStreamTag, <code>from</code> has to be specified in the form <code>namespace/image-stream:tag</code>.\n The mode takes only effect when running in OpenShift mode.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.fromMode</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Docker image name used when doing Docker builds. For OpenShift S2I builds its the name of the image stream. This\n can be a pattern as descibed in <a href=\"#image-name-placeholders\">Name Placeholders</a>. The default is <code>%g/%a:%l</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.name</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>registry</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A optional Docker registry used when doing Docker builds. It has no effect for OpenShift S2I builds.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.registry</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>When used as properties they can be directly referenced with the property names above.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-java-exec\">7.1.1. Java Applications</h4>\n<div class=\"paragraph\">\n<p>One of the most generic <em>Generators</em> is the <code>java-exec</code> generator.\nIt is responsible for starting up arbitrary Java application.\nIt knows how to deal with fat-jar applications where the application and all dependencies are included within a single jar and the <code>MANIFEST.MF</code> within the jar references a main class.\nBut also flat classpath applications, where the dependencies are separate jar files and a main class is given.</p>\n</div>\n<div class=\"paragraph\">\n<p>If no main class is explicitly configured, the plugin first attempts to locate a fat jar.\nIf the Maven build creates a JAR file with a <code>META-INF/MANIFEST.MF</code> containing a <code>Main-Class</code> entry, then this is considered to be the fat jar to use.\nIf there are more than one of such files then the largest one is used.</p>\n</div>\n<div class=\"paragraph\">\n<p>If a main class is configured (see below) then the image configuration will contain the application jar plus all dependency jars.\nIf no main class is configured as well as no fat jar being detected, then this <em>Generator</em> tries to detect a single main class by searching for <code>public static void main(String args[])</code> among the application classes. If exactly one class is found this is considered to be the main class. If no or more than one is found the <em>Generator</em> finally does nothing.</p>\n</div>\n<div class=\"paragraph\">\n<p>It will use the following base image by default, but as explained <a href=\"#generator-options-common\">above</a> and can be changed with the <code>from</code> configuration.</p>\n</div>\n<table id=\"generator-java-exec-from\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 24. Java Base Images</caption>\n<colgroup>\n<col style=\"width: 7.6923%;\">\n<col style=\"width: 30.7692%;\">\n<col style=\"width: 30.7692%;\">\n<col style=\"width: 30.7693%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"></th>\n<th class=\"tableblock halign-left valign-top\">Docker Build</th>\n<th class=\"tableblock halign-left valign-top\">S2I Build</th>\n<th class=\"tableblock halign-left valign-top\">ImageStream</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Community</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-java-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-java-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube-java</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>These images always refer to the latest tag.</p>\n</div>\n<div class=\"paragraph\">\n<p>When a <code>fromMode</code> of <code>istag</code> is used to specify an <code>ImageStreamTag</code> and when no <code>from</code> is given, then as default the\n<code>ImageStreamTag</code> <code>jkube-java</code> in the namespace <code>openshift</code> is chosen.\nBy default, <code>fromMode = \"docker\"</code> which use the a plain Docker image reference for the S2I builder image.</p>\n</div>\n<div class=\"paragraph\">\n<p>Beside the common configuration parameters described in the table <a href=\"#generator-options-common\">common generator options</a>\nthe following additional configuration options are recognized:</p>\n</div>\n<table id=\"generator-java-exec-options\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 25. Java Application configuration options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>targetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory within the generated image where to put the detected artefacts into. Change this only if the base image is\n changed, too.</p>\n<p class=\"tableblock\"> Defaults to <code>/deployments</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.targetDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>jolokiaPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port of the Jolokia agent exposed by the base image. Set this to 0 if you don’t want to expose the Jolokia port.</p>\n<p class=\"tableblock\"> Defaults to <code>8778</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.jolokiaPort</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>mainClass</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Main class to call. If not given first a check is performed to detect a fat-jar (see above). Next a class is looked up\n by scanning <code>target/classes</code> for a single class with a main method. If no such class is found or if more than one is\n found, then this generator does nothing.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.mainClass</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>prometheusPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port of the Prometheus jmx_exporter exposed by the base image. Set this to 0 if you don’t want to expose the Prometheus\n port.</p>\n<p class=\"tableblock\"> Defaults to <code>9779</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.prometheusPort</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>webPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port to expose as service, which is supposed to be the port of a web application. Set this to 0 if you don’t want to\n expose a port.</p>\n<p class=\"tableblock\"> Defaults to <code>8080</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.webPort</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>The exposed ports are typically later on use by <a href=\"#enrichers\">Enrichers</a> to create default Kubernetes or OpenShift services.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can add additional files to the target image within <code>baseDir</code> by placing files into <code>src/main/jkube-includes</code>.\nThese will be added with mode <code>0644</code>, while everything in <code>src/main/jkube-includes/bin</code> will be added with <code>0755</code>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-spring-boot\">7.1.2. Spring Boot</h4>\n<div class=\"paragraph\">\n<p>This generator is called <code>spring-boot</code> and gets activated when it finds a <code>spring-boot-maven-plugin</code> in the pom.xml.</p>\n</div>\n<div class=\"paragraph\">\n<p>This generator is based on the <a href=\"#generator-java-exec\">Java Application</a> Generator and inherits all of its configuration values. The generated container port is read from the <code>server.port</code> property <code>application.properties</code>, defaulting to <code>8080</code> if it is not found. It also uses the same default images as the <a href=\"#generator-java-exec-from\">java-exec Generator</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Beside the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\">java-exec options</a> the following additional configuration is recognized:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 26. Spring-Boot configuration options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>color</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set, force the use of color in the Spring Boot console output.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.spring-boot.color</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>The generator adds Kubernetes liveness and readiness probes pointing to either the management or server port as read from the <code>application.properties</code>.\nIf the <code>management.port</code> (for Spring Boot 1) or <code>management.server.port</code> (for Spring Boot 2) and <code>management.ssl.key-store</code> (for Spring Boot 1) or <code>management.server.ssl.key-store</code> (for Spring Boot 2) properties are set in <code>application.properties</code> otherwise or <code>server.ssl.key-store</code> property is set in <code>application.properties</code> then the probes are automatically set to use <code>https</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The generator works differently when called together with <code>k8s:watch</code>.\nIn that case it enables support for <a href=\"http://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html\">Spring Boot Developer Tools</a> which allows for hot reloading of the Spring Boot app.\nIn particular, the following steps are performed:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If a secret token is not provided within the Spring Boot application configuration <code>application.properties</code> or <code>application.yml</code> with the key <code>spring.devtools.remote.secret</code> then a custom secret token is created and added to <code>application.properties</code></p>\n</li>\n<li>\n<p>Add <code>spring-boot-devtools.jar</code> as <code>BOOT-INF/lib/spring-devtools.jar</code> to the spring-boot fat jar.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Since during <code>k8s:watch</code> the application itself within the <code>target/</code> directory is modified for allowing easy reloading you must ensure that you do a <code>mvn clean</code> before building an artifact which should be put into production.\nSince the released version are typically generated with a CI system which does a clean build anyway this should be only a theoretical problem.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-wildfly-swarm\">7.1.3. Wildfly Swarm</h4>\n<div class=\"paragraph\">\n<p>The WildFly Swarm generator detects a WildFly Swarm build and disables the Prometheus Java agent because of this <a href=\"https://issues.jboss.org/browse/THORN-1859\">issue</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Otherwise this generator is identical to the <a href=\"#generator-java-exec\">java-exec generator</a>.\nIt supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-thorntail-v2\">7.1.4. Thorntail v2</h4>\n<div class=\"paragraph\">\n<p>The Thorntail v2 generator detects a Thorntail v2 build and disables the Prometheus Java agent because of this <a href=\"https://issues.jboss.org/browse/THORN-1859\">issue</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Otherwise this generator is identical to the <a href=\"#generator-java-exec\">java-exec generator</a>. It supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-vertx\">7.1.5. Vert.x</h4>\n<div class=\"paragraph\">\n<p>The Vert.x generator detects an application using Eclipse Vert.x. It generates the metadata to start the application as a fat jar.</p>\n</div>\n<div class=\"paragraph\">\n<p>Currently, this generator is enabled if:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>you are using the Vert.x Maven Plugin (<a href=\"https://github.com/reactiverse/vertx-maven-plugin\" class=\"bare\">https://github.com/reactiverse/vertx-maven-plugin</a>)</p>\n</li>\n<li>\n<p>you are depending on <code>io.vertx:vertx-core</code> and uses the Maven Shader plugin</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Otherwise this generator is identical to the <a href=\"#generator-java-exec\">java-exec generator</a>. It supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The generator automatically:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>enable metrics and JMX publishing of the metrics when <code>io.vertx:vertx-dropwizard-metrics</code> is in the project’s classpath / dependencies.</p>\n</li>\n<li>\n<p>enable clustering when a Vert.x cluster manager is available in the project’s classpath / dependencies. this is done by appending <code>-cluster</code> to the command line.</p>\n</li>\n<li>\n<p>Force IPv4 stack when <code>vertx-infinispan</code> is used.</p>\n</li>\n<li>\n<p>Disable the async DNS resolver to fallback to the regular JVM DNS resolver.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>You can pass application parameter by setting the <code>JAVA_ARGS</code> env variable. You can pass system properties either using the same variable or using <code>JAVA_OPTIONS</code>. For instance, create <code>src/main/jkube/deployment.yml</code> with the following content to configure <code>JAVA_ARGS</code>:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n template:\n spec:\n containers:\n - env:\n - name: JAVA_ARGS\n value: \"-Dfoo=bar -cluster -instances=2\"</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-karaf\">7.1.6. Karaf</h4>\n<div class=\"paragraph\">\n<p>This generator named <code>karaf</code> kicks in when the build uses a <code>karaf-maven-plugin</code>. By default the following base images are used:</p>\n</div>\n<table id=\"generator-karaf-from\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 27. Karaf Base Images</caption>\n<colgroup>\n<col style=\"width: 7.6923%;\">\n<col style=\"width: 30.7692%;\">\n<col style=\"width: 30.7692%;\">\n<col style=\"width: 30.7693%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"></th>\n<th class=\"tableblock halign-left valign-top\">Docker Build</th>\n<th class=\"tableblock halign-left valign-top\">S2I Build</th>\n<th class=\"tableblock halign-left valign-top\">ImageStream</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Community</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-karaf-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-karaf-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube-karaf</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>When a <code>fromMode</code> of <code>istag</code> is used to specify an <code>ImageStreamTag</code> and when no <code>from</code> is given, then as default the\n<code>ImageStreamTag</code> <code>jkube-karaf</code> in the namespace <code>openshift</code> is chosen.</p>\n</div>\n<div class=\"paragraph\">\n<p>In addition to the <a href=\"#generator-options-common\">common generator options</a> this generator can be configured with the following options:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 28. Karaf configuration options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>baseDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory within the generated image where to put the detected artifacts into. Change this only if the base image is\n changed, too.</p>\n<p class=\"tableblock\"> Defaults to <code>/deployments</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.karaf.baseDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>webPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port to expose as service, which is supposed to be the port of a web application. Set this to 0 if you don’t want to\nexpose a port.</p>\n<p class=\"tableblock\"> Defaults to <code>8080</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.karaf.webPort</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-webapp\">7.1.7. Web Applications</h4>\n<div class=\"paragraph\">\n<p>The <code>webapp</code> generator tries to detect WAR builds and selects a base servlet container image based on the configuration found in the <code>pom.xml</code>:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>A <strong>Tomcat</strong> base image is selected when a <code>tomcat6-maven-plugin</code> or <code>tomcat7-maven-plugin</code> is present or when a <code>META-INF/context.xml</code> could be found in the classes directory.</p>\n</li>\n<li>\n<p>A <strong>Jetty</strong> base image is selected when a <code>jetty-maven-plugin</code> is present or one of the files <code>WEB-INF/jetty-web.xml</code> or <code>WEB-INF/jetty-logging.properties</code> is found.</p>\n</li>\n<li>\n<p>A <strong>Wildfly</strong> base image is chosen for a given <code>jboss-as-maven-plugin</code> or <code>wildfly-maven-plugin</code> or when a Wildfly specific deployment descriptor like <code>jboss-web.xml</code> is found.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The base images chosen are:</p>\n</div>\n<table id=\"generator-webapp-from\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 29. Webapp Base Images</caption>\n<colgroup>\n<col style=\"width: 11.1111%;\">\n<col style=\"width: 44.4444%;\">\n<col style=\"width: 44.4445%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"></th>\n<th class=\"tableblock halign-left valign-top\">Docker Build</th>\n<th class=\"tableblock halign-left valign-top\">S2I Build</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Tomcat</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-tomcat9-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-tomcat9-binary-s2i</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Jetty</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-jetty9-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-jetty9-binary-s2i</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Wildfly</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jboss/wildfly</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"https://github.com/wildfly/wildfly-s2i\"><code>quay.io/wildfly/wildfly-centos7</code></a></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>In addition to the <a href=\"#generator-options-common\">common generator options</a> this generator can be configured with the following options:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 30. Webapp configuration options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>server</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Fix server to use in the base image. Can be either <strong>tomcat</strong>, <strong>jetty</strong> or <strong>wildfly</strong>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.server</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>targetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where to put the war file into the target image. By default its selected by the base image chosen but can be\n overwritten with this option.</p>\n<p class=\"tableblock\"> Defaults to <code>/deployments</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.targetDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>user</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">User and/or group under which the files should be added. The syntax of this options is descriped in\n <a href=\"#config-image-build-assembly-user\">Assembly Configuration</a>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.user</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>path</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Context path with which the application can be reached by default.</p>\n<p class=\"tableblock\"> Defaults to <code>/</code> (root context).</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.path</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>cmd</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Command to use to start the container. By default the base images startup command is used.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.cmd</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>ports</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Comma separated list of ports to expose in the image and which eventually are translated later to Kubernetes services.\n The ports depend on the base image and are selected automatically. But they can be overridden here.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.ports</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-quarkus\">7.1.8. Quarkus</h4>\n<div class=\"paragraph\">\n<p>The <code>Quarkus</code> generator tried to detect quarkus based projects looking at project <code>pom.xml</code>:</p>\n</div>\n<div class=\"paragraph\">\n<p>The base images chosen are:</p>\n</div>\n<table id=\"generator-quarkus-from\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 31. Webapp Base Images</caption>\n<colgroup>\n<col style=\"width: 11.1111%;\">\n<col style=\"width: 44.4444%;\">\n<col style=\"width: 44.4445%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"></th>\n<th class=\"tableblock halign-left valign-top\">Docker Build</th>\n<th class=\"tableblock halign-left valign-top\">S2I Build</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Native</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>registry.access.redhat.com/ubi8/ubi-minimal:8.1</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">---</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Normal Build</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>openjdk:11</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">---</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"admonitionblock important\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-important\" title=\"Important\"></i>\n</td>\n<td class=\"content\">\n<div class=\"paragraph\">\n<p>S2I builds are currently not yet supported for the Quarkus generator.</p>\n</div>\n</td>\n</tr>\n</table>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-openliberty\">7.1.9. Open Liberty</h4>\n<div class=\"paragraph\">\n<p>The Open Liberty generator runs when the Open Liberty plugin is enabled in the maven build.</p>\n</div>\n<div class=\"paragraph\">\n<p>The generator is similar to the <a href=\"#generator-java-exec\">java-exec generator</a>. It supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>For Open Liberty, the default value of webPort is 9080.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-wildfly-jar\">7.1.10. Wildfly JAR Generator</h4>\n<div class=\"paragraph\">\n<p>The Wildfly JAR generator detects a WildFly Bootable JAR build and disables the Jolokia and Prometheus Java agent TO BE REVISITED WHEN WE HAVE A SOLUTION.</p>\n</div>\n<div class=\"paragraph\">\n<p>Otherwise this generator is identical to the <a href=\"#generator-java-exec\">java-exec generator</a>. It supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"generators-api\">7.2. Generator API</h3>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nThe API is still a bit in flux and will be documented later. Please refer to the\n <a href=\"https://github.com/eclipse/jkube/blob/master/jkube-kit/generator/api/src/main/java/org/eclipse/jkube/generator/api/Generator.java\">Generator</a>\n Interface in the meantime.\n</td>\n</tr>\n</table>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"enrichers\">8. Enrichers</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Enriching is the complementary concept to <a href=\"#generators\">Generators</a>. Whereas Generators are used to create and customize Docker images, Enrichers are use to create and customize Kubernetes resource objects.</p>\n</div>\n<div class=\"paragraph\">\n<p>There are a lot of similarities to Generators:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Each Enricher has a unique name.</p>\n</li>\n<li>\n<p>Enrichers are looked up automatically from the plugin dependencies and there is a set of default enrichers delivered with this plugin.</p>\n</li>\n<li>\n<p>Enrichers are configured the same ways as generators</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The <a href=\"#generator-example\">Generator example</a> is a good blueprint, simply replace <code><generator></code> with <code><enricher></code>. The configuration is structural identical:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 32. Enricher configuration</caption>\n<colgroup>\n<col style=\"width: 25%;\">\n<col style=\"width: 75%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><includes></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Contains one ore more <code><include></code> elements with enricher names which should be included. If given, only this list of enrichers are included in this order. The enrichers from every active profile are included, too. However the enrichers listed here are moved to the front of the list, so that they are called first. Use the profile <code>raw</code> if you want to explicitly set the complete list of enrichers.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><excludes></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Holds one or more <code><exclude></code> elements with enricher names to exclude. This means all the detected enrichers are used except the ones mentioned in this section.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><config></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Configuration for all enrichers. Each enricher supports a specific set of configuration values as described in its documentation. The subelements of this section are enricher names. E.g. for enricher <code>jkube-service</code>, the sub-element is called <code><jkube-service></code>. This element then holds the specific enricher configuration like <code><name></code> for the service name. Configuration coming from profiles are merged into this config, but not overriding the configuration specified here.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>This plugin comes with a set of default enrichers. In addition custom enrichers can be easily added by providing implementation of the <a href=\"#enricher-api\">Enricher API</a> and adding these as a dependency to the build.</p>\n</div>\n<div class=\"sect2\">\n<h3 id=\"enrichers-default\">8.1. Default Enrichers</h3>\n<div class=\"paragraph\">\n<p>kubernetes-maven-plugin comes with a set of enrichers which are enabled by default. There are two categories of default enrichers:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"#enrichers-generic\"><strong>Generic Enrichers</strong></a> are used to add default resource object when they are missing or add common\nmetadata extracted from the given build information.</p>\n</li>\n<li>\n<p><a href=\"#enrichers-specific\"><strong>Specific Enrichers</strong></a> are enrichers which are focused on a certain tech stack that they detect.</p>\n</li>\n</ul>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 33. Default Enrichers Overview</caption>\n<colgroup>\n<col style=\"width: 22.2222%;\">\n<col style=\"width: 77.7778%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Enricher</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-configmap-file\">jkube-configmap-file</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add ConfigMap elements defined as XML or as annotation.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-controller\">jkube-controller</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Create default controller (replication controller, replica set or deployment <a href=\"https://kubernetes.io/docs/concepts/workloads/controllers/\">Kubernetes doc</a>) if missing.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-dependency\">jkube-dependency</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Examine build dependencies for <code>kubernetes.yml</code> and add the objects found therein.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-git\">jkube-git</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Check local <code>.git</code> directory and add build information as annotations.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-image\">jkube-image</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add the image name into a <code>PodSpec</code> of replication controller, replication sets and deployments, if missing.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-maven-issue-mgmt-enricher\">jkube-maven-issue-mgmt</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Maven Issue Management information as annotations to the kubernetes/openshift resources</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-maven-scm-enricher\">jkube-maven-scm-enricher</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Maven SCM information as annotations to the kubernetes/openshift resources</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-name\">jkube-name</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add a default name to every object which misses a name.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-pod-annotation\">jkube-pod-annotation</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Copy over annotations from a <code>Deployment</code> to a <code>Pod</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-portname\">jkube-portname</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add a default portname for commonly known service.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-project-label\">jkube-project-label</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Maven coordinates as labels to all objects.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-prometheus\">jkube-prometheus</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Prometheus annotations.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-revision-history-enricher\">jkube-revision-history</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add revision history limit (<a href=\"https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit\">Kubernetes doc</a>) as a deployment spec property to the Kubernetes/OpenShift resources.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-secret-file\">jkube-secret-file</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Secret elements defined as annotation.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-service\">jkube-service</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Create a default service if missing and extract ports from the Docker image configuration.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-serviceaccount\">jkube-serviceaccount</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add a ServiceAccount defined as XML or mentioned in resource fragment.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-triggers-annotation\">jkube-triggers-annotation</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add ImageStreamTag change triggers on Kubernetes resources such as StatefulSets, ReplicaSets and DaemonSets using the <code>image.openshift.io/triggers</code> annotation.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"sect3\">\n<h4 id=\"enrichers-generic\">8.1.1. Generic Enrichers</h4>\n<div class=\"paragraph\">\n<p>Default generic enrichers are used for adding missing resources or adding metadata to given resource objects.\nThe following default enhancers are available out of the box.</p>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-configmap-file\">jkube-configmap-file</h5>\n<div class=\"paragraph\">\n<p>This enricher adds ConfigMap defined as <code>resources</code> in plugin configuration and/or resolves file content from an annotation.</p>\n</div>\n<div class=\"paragraph\">\n<p>As XML you can define:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">pom.xml</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <resources>\n <configMap>\n <name>myconfigmap</name>\n <entries>\n <entry>\n <name>A</name>\n <value>B</value>\n </entry>\n </entries>\n </configMap>\n </resources>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This creates a ConfigMap data with key <code>A</code> and value <code>B</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can also use <code>file</code> tag to refer to the content of a file.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <resources>\n <configMap>\n <name>configmap-test</name>\n <entries>\n <entry>\n <file>src/test/resources/test-application.properties</file>\n </entry>\n </entries>\n </configMap>\n </resources>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This creates a ConfigMap with key <code>test-application.properties</code> and value the content of the <code>src/test/resources/test-application.properties</code> file.\nIf you set <code>name</code> tag then this is used as key instead of the filename.</p>\n</div>\n<div class=\"paragraph\">\n<p>If you are defining a custom <code>ConfigMap</code> file, you can use an annotation to define a file name as key and its content as the value:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">metadata:\n name: ${project.artifactId}\n annotations:\n maven.jkube.io/cm/application.properties: src/test/resources/test-application.properties</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This creates a <code>ConfigMap</code> data with key <code>application.properties</code> (part defined after <code>cm</code>) and value the content of <code>src/test/resources/test-application.properties</code> file.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-controller\">jkube-controller</h5>\n<div class=\"paragraph\">\n<p>This enricher is used to ensure that a controller is present.\nThis can be either directly configured with fragments or with the XML configuration.\nAn explicit configuration always takes precedence over auto detection.\nSee <a href=\"https://kubernetes.io/docs/concepts/workloads/controllers/\">Kubernetes doc</a> for more information on types of controllers.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following configuration parameters can be used to influence the behaviour of this enricher:</p>\n</div>\n<table id=\"enricher-jkube-controller\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 34. Default controller enricher</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Name of the Controller. Kubernetes Controller names must start with a letter. If the maven artifactId starts with a\n digit, <code>s</code> will be prefixed.</p>\n<p class=\"tableblock\"> Defaults to <code>${project.artifactId}</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-controller.name</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pullPolicy</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Image pull policy to use for the container. One of: <em>IfNotPresent</em>, <em>Always</em>.</p>\n<p class=\"tableblock\"> Defaults to <code>IfNotPresent</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-controller.pullPolicy</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>type</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Type of Controller to create. One of: <em>ReplicationController</em>, <em>ReplicaSet</em>, <em>Deployment</em>, <em>DeploymentConfig</em>,\n <em>StatefulSet</em>, <em>DaemonSet</em>, <em>Job</em>.</p>\n<p class=\"tableblock\"> Defaults to <code>Deployment</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-controller.type</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>replicaCount</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of replicas for the container.</p>\n<p class=\"tableblock\"> Defaults to <code>1</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-controller.replicaCount</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-service\">jkube-service</h5>\n<div class=\"paragraph\">\n<p>This enricher is used to ensure that a service is present.\nThis can be either directly configured with fragments or with the XML configuration, but it can be also automatically inferred by looking at the ports exposed by an image configuration.\nAn explicit configuration always takes precedence over auto detection. For enriching an existing service this enricher actually works only on a configured service which matches with the configured (or inferred) service name.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following configuration parameters can be used to influence the behaviour of this enricher:</p>\n</div>\n<table id=\"enricher-jkube-service\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 35. Default service enricher</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Service name to enrich by default. If not given here or configured elsewhere, the artifactId is used.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.name</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>headless</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Whether a headless service without a port should be configured. A headless service has the <code>ClusterIP</code> set to <code>None</code>\n and will be only used if no ports are exposed by the image configuration or by the configuration <code>port</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.headless</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>expose</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to true, a label <code>expose</code> with value <code>true</code> is added which can be picked up by the jkube.\n <a href=\"https://github.com/jenkins-x/exposecontroller\">expose-controller</a> to expose the service to the outside by various means.\n See the documentation of expose-controller for more details.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.expose</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>type</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Kubernetes / OpenShift service type to set like <em>LoadBalancer</em>, <em>NodePort</em> or <em>ClusterIP</em>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.type</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>port</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The service port to use. By default the same port as the ports exposed in the image configuration is used, but can be\n changed with this parameter. See <a href=\"#jkube-service-ports\">below</a> for a detailed description of the format which can be\n put into this variable.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.port</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>multiPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Set this to <code>true</code> if you want all ports to be exposed from an image configuration. Otherwise only the first port is\n used as a service port.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.multiPort</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>protocol</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default protocol to use for the services. Must be <code>tcp</code> or <code>udp</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>tcp</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.protocol</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>normalizePort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Normalize the port numbering of the service to common and conventional port numbers.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.normalizePort</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Following is the Port mapping that comes in effect, when normalizePort option is set true.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 50%;\">\n<col style=\"width: 50%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Original Port</th>\n<th class=\"tableblock halign-left valign-top\">Normalized Port</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8080</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">80</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8081</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">80</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8181</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">80</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8180</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">80</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8443</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">443</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">443</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">443</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>You specify the properties like for any enricher within the enrichers configuration like in</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <!-- ... -->\n <enricher>\n <config>\n <jkube-service>\n <name>my-service</name>\n <type>NodePort</type>\n <multiPort>true</multiPort>\n </jkube-service>\n </config>\n </enricher>\n</configuration></code></pre>\n</div>\n</div>\n<div id=\"jkube-service-ports\" class=\"paragraph\">\n<div class=\"title\">Port specification</div>\n<p>With the option <code>port</code> you can influence the mapping how ports are mapped from the pod to the service.\nBy default and if this option is not given the ports exposed are dictated by the ports exposed from the Docker images contained in the pods.\nRemember, each image configured can be part of the pod.\nHowever you can expose also completely different ports as the images meta data declare.</p>\n</div>\n<div class=\"paragraph\">\n<p>The property <code>port</code> can contain a comma separated list of mappings of the following format:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-text\" data-lang=\"text\"><servicePort1>:<targetPort1>/<protocol>,<servicePort2>:<targetPort2>/<protocol>,....</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>where the <code>targetPort</code> and <code><protocol></code> specification is optional. These ports are overlayed over the ports exposed by the images, in the given order.</p>\n</div>\n<div class=\"paragraph\">\n<p>This is best explained by some examples.</p>\n</div>\n<div class=\"paragraph\">\n<p>For example if you have a pod which exposes a Microservice on port 8080 and you want to expose it as a service on port 80 (so that it can be accessed with <code><a href=\"http://myservice\" class=\"bare\">http://myservice</a></code>) you can simply use the following enricher configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <enricher>\n <config>\n <jkube-service>\n <name>myservice</name>\n <port>80:8080</port> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n </jkube-service>\n </config>\n </enricher>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>80 is the service port, 8080 the port opened in from the pod’s images</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>If your pod <em>exposes</em> their ports (which e.g. all generator do), then you can even omit the 8080 here (i.e. <code><port>80</port></code>).\nIn this case the <em>first</em> port exposed will be mapped to port 80, all other exposed ports will be omitted.</p>\n</div>\n<div class=\"paragraph\">\n<p>By default an automatically generated service only exposes the first port, even when more ports are exposed.\nWhen you want to map multiple ports you need to set the config option <code><multiPort>true</multiPort></code>.\nIn this case you can also provide multiple mappings as a comma separated list in the <code><port></code> specification where each element of the list are the mapping for the first, second, …​ port.</p>\n</div>\n<div class=\"paragraph\">\n<p>A more (and bit artificially constructed) specification could be <code><port>80,9779:9779/udp,443</port></code>.\nAssuming that the image exposes ports <code>8080</code> and <code>8778</code> (either directly or via <a href=\"#generators\">generators</a>) and we have switched on multiport mode, then the following service port mappings will be performed for the automatically generated service:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Pod port 8080 is mapped to service port 80.</p>\n</li>\n<li>\n<p>Pod port 9779 is mapped to service port 9779 with protocol UDP. Note how this second entry overrides the pod exposed port 8778.</p>\n</li>\n<li>\n<p>Pod port 443 is mapped to service port 443.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>This example shows also the mapping rules:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Port specification in <code>port</code> always override the port metadata of the contained Docker images (i.e. the ports exposed)</p>\n</li>\n<li>\n<p>You can always provide a complete mapping with <code>port</code> on your own</p>\n</li>\n<li>\n<p>The ports exposed by the images serve as <em>default values</em> which are used if not specified by this configuration option.</p>\n</li>\n<li>\n<p>You can map ports which are <em>not</em> exposed by the images by specifying them as target ports.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Multiple ports are <strong>only</strong> mapped when <em>multiPort</em> mode is enabled (which is switched off by default). If <em>multiPort</em> mode is disabled, only the first port from the list of mapped ports calculated as above is taken.</p>\n</div>\n<div class=\"paragraph\">\n<p>When you set <code>legacyPortMapping</code> to true than ports 8080 to 9090 are mapped to port 80 automatically if not explicitly mapped via <code><em>port</em></code>. I.e. when an image exposes port 8080 with a legacy mapping this mapped to a service port 80, not 8080. You <em>should not</em> switch this on for any good reason. In fact it might be that this option can vanish anytime.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-image\">jkube-image</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-name\">jkube-name</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-portname\">jkube-portname</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-pod-annotation\">jkube-pod-annotation</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-project-label\">jkube-project-label</h5>\n<div class=\"paragraph\">\n<p>Enricher that adds standard labels and selectors to generated resources (e.g. <code>app</code>, <code>group</code>, <code>provider</code>, <code>version</code>).</p>\n</div>\n<div class=\"paragraph\">\n<p>The <code>jkube-project-label</code> enricher supports the following configuration options:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Option</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>useProjectLabel</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Enable this flag to turn on the generation of the old <code>project</code> label in Kubernetes resources. The <code>project</code> label has\nbeen replaced by the <code>app</code> label in newer versions of the plugin.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-project-label.useProjectLabel</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>The project labels which are already specified in the input fragments are not overridden by the enricher.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-git\">jkube-git</h5>\n<div class=\"paragraph\">\n<p>Enricher that adds info from .git directory as annotations.</p>\n</div>\n<div class=\"paragraph\">\n<p>The git branch & latest commit on the branch are annotated as <code>jkube.io/git-branch</code> & <code>jkube.io/git-commit</code>.\n<code>jkube.io/git-url</code> is annotated as the URL of your configured remote.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Option</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>gitRemote</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Configures the git remote name, whose URL you want to annotate as 'git-url'.</p>\n<p class=\"tableblock\"> Defaults to <code>origin</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-git.gitRemote</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-dependency\">jkube-dependency</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-volume-permission\">jkube-volume-permission</h5>\n<div class=\"paragraph\">\n<p>Enricher which fixes the permission of persistent volume mount with the help of an init container.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-openshift-autotls\">jkube-openshift-autotls</h5>\n<div class=\"paragraph\">\n<p>Enricher which adds appropriate annotations and volumes to enable OpenShift’s automatic\n<a href=\"https://docs.openshift.org/latest/dev_guide/secrets.html#service-serving-certificate-secrets\">Service Serving Certificate Secrets</a>.\nThis enricher adds an init container to convert the service serving certificates from PEM (the format that OpenShift generates them in) to\na JKS-format Java keystore ready for consumption in Java services.</p>\n</div>\n<div class=\"paragraph\">\n<p>This enricher is disabled by default. In order to use it, you must configure the kubernetes-maven-plugin to use this enricher:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <includes>\n <include>jkube-openshift-autotls</include>\n </includes>\n <config>\n <jkube-openshift-autotls>\n <!-- ... -->\n </jkube-openshift-autotls>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The auto-TLS enricher supports the following configuration options:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tlsSecretName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the secret to be used to store the generated service serving certs.</p>\n<p class=\"tableblock\"> Defaults to <code><project.artifactId>-tls</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.tlsSecretName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tlsSecretVolumeMountPoint</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where the service serving secret should be mounted to in the pod.</p>\n<p class=\"tableblock\"> Defaults to <code>/var/run/secrets/jkube.io/tls-pem</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.tlsSecretName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tlsSecretVolumeName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the secret volume.</p>\n<p class=\"tableblock\"> Defaults to <code>tls-pem</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.tlsSecretVolumeName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>jksVolumeMountPoint</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where the generated keystore volume should be mounted to in the pod.</p>\n<p class=\"tableblock\"> Defaults to <code>/var/run/secrets/jkube.io/tls-jks</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.the</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>jksVolumeName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the keystore volume.</p>\n<p class=\"tableblock\"> Defaults to <code>tls-jks</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.jksVolumeName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pemToJKSInitContainerImage</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the image used as an init container to convert PEM certificate/key to Java keystore.</p>\n<p class=\"tableblock\"> Defaults to <code>jimmidyson/pemtokeystore:v0.1.0</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.pemToJKSInitContainerImage</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pemToJKSInitContainerName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">the name of the init container to convert PEM certificate/key to Java keystore.</p>\n<p class=\"tableblock\"> Defaults to <code>tls-jks-converter</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.pemToJKSInitContainerName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keystoreFileName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the generated keystore file.</p>\n<p class=\"tableblock\"> Defaults to <code>keystore.jks</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.keystoreFileName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keystorePassword</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The password to use for the generated keystore.</p>\n<p class=\"tableblock\"> Defaults to <code>changeit</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.keystorePassword</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keystoreCertAlias</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The alias in the keystore used for the imported service serving certificate.</p>\n<p class=\"tableblock\"> Defaults to <code>server</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.keystoreCertAlias</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-prometheus\">jkube-prometheus</h5>\n<div class=\"paragraph\">\n<p>This enricher adds Prometheus annotation like:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">apiVersion: v1\nkind: List\nitems:\n- apiVersion: v1\n kind: Service\n metadata:\n annotations:\n prometheus.io/scrape: \"true\"\n prometheus.io/port: 9779</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>By default the enricher inspects the images' BuildConfiguration and add the annotations if the port 9779 is listed.\nYou can force the plugin to add annotations by setting enricher’s config <code><code>prometheusPort</code></code></p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-maven-scm-enricher\">jkube-maven-scm-enricher</h5>\n<div class=\"paragraph\">\n<p>This enricher adds additional <a href=\"https://maven.apache.org/pom.html#SCM\">SCM</a> related metadata to all objects supporting annotations.\nThese metadata will be added only if <a href=\"https://maven.apache.org/pom.html#SCM\">SCM</a> information is present in the maven <code>pom.xml</code> of the project.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following annotations will be added to the objects that supports annotations,</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 36. Maven SCM Enrichers Annotation Mapping</caption>\n<colgroup>\n<col style=\"width: 28.5714%;\">\n<col style=\"width: 28.5714%;\">\n<col style=\"width: 42.8572%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Maven SCM Info</th>\n<th class=\"tableblock halign-left valign-top\">Annotation</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scm/connection</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/scm-con-url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The SCM connection that will be used to connect to the project’s SCM</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scm/developerConnection</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/scm-devcon-url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The SCM Developer Connection that will be used to connect to the project’s developer SCM</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scm/tag</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/scm-tag</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The SCM tag that will be used to checkout the sources, like HEAD dev-branch etc.,</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scm/url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/scm-url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The SCM web url that can be used to browse the SCM over web browser</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Lets say you have a maven pom.xml with the following scm information,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><scm>\n <connection>scm:git:git://github.com/jkubeio/kubernetes-maven-plugin.git</connection>\n <developerConnection>scm:git:git://github.com/jkubeio/kubernetes-maven-plugin.git</developerConnection>\n <url>git://github.com/jkubeio/kubernetes-maven-plugin.git</url>\n</scm></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This information will be enriched as annotations in the generated manifest like,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\"># ...\n kind: Service\n metadata:\n annotations\n jkube.io/scm-con-url: \"scm:git:git://github.com/jkubeio/kubernetes-maven-plugin.git\"\n jkube.io/scm-devcon-url: \"scm:git:git://github.com/jkubeio/kubernetes-maven-plugin.git\"\n jkube.io/scm-tag: \"HEAD\"\n jkube.io/scm-url: \"git://github.com/jkubeio/kubernetes-maven-plugin.git\"\n# ...</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-maven-issue-mgmt-enricher\">jkube-maven-issue-mgmt</h5>\n<div class=\"paragraph\">\n<p>This enricher adds additional <a href=\"https://maven.apache.org/pom.html#Issue_Management\">Issue Management</a> related metadata to\nall objects supporting annotations.\nThese metadata will be added only if the <a href=\"https://maven.apache.org/pom.html#Issue_Management\">Issue Management</a>\ninformation is available in the <code>pom.xml</code> of the Maven project.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following annotations will be added to the objects that support these annotations,</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 37. Maven Issue Tracker Enrichers Annotation Mapping</caption>\n<colgroup>\n<col style=\"width: 28.5714%;\">\n<col style=\"width: 28.5714%;\">\n<col style=\"width: 42.8572%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Maven Issue Tracker Info</th>\n<th class=\"tableblock halign-left valign-top\">Annotation</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">issueManagement/system</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/issue-system</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Issue Management system like Bugzilla, JIRA, GitHub etc.,</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">issueManagement/url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/issue-tracker-url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Issue Management url e.g. GitHub Issues Url</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Lets say you have a maven pom.xml with the following issue management information,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><issueManagement>\n <system>GitHub</system>\n <url>https://github.com/reactiverse/vertx-maven-plugin/issues/</url>\n</issueManagement></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This information will be enriched as annotations in the generated manifest like,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\"># ...\n kind: Service\n metadata:\n annotations:\n jkube.io/issue-system: \"GitHub\"\n jkube.io/issue-tracker-url: \"https://github.com/reactiverse/vertx-maven-plugin/issues/\"\n# ...</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-revision-history-enricher\">jkube-revision-history</h5>\n<div class=\"paragraph\">\n<p>This enricher adds <code>spec.revisionHistoryLimit</code> property to deployment spec of Kubernetes/OpenShift resources.\nA deployment’s revision history is stored in the replica sets, that specifies the number of old ReplicaSets to retain in order to allow rollback.\nFor more information read <a href=\"https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit\">Kubernetes documentation</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following configuration parameters can be used to influence the behaviour of this enricher:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 38. Default revision history enricher</caption>\n<colgroup>\n<col style=\"width: 20%;\">\n<col style=\"width: 40%;\">\n<col style=\"width: 40%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>limit</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of revision histories to retain.</p>\n<p class=\"tableblock\"> Defaults to <code>2</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-revision-history.limit</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Just as any other enricher you can specify required properties with in the enricher’s configuration as below,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><!-- ... -->\n<enricher>\n <config>\n <jkube-revision-history>\n <limit>8</limit>\n </jkube-revision-history>\n </config>\n</enricher>\n<!-- ... --></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This information will be enriched as spec property in the generated manifest like,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\"># ...\nkind: Deployment\nspec:\n revisionHistoryLimit: 8\n# ...</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-triggers-annotation\">jkube-triggers-annotation</h5>\n<div class=\"paragraph\">\n<p>This enricher adds ImageStreamTag change triggers on Kubernetes resources that support the <code>image.openshift.io/triggers</code> annotation, such as StatefulSets, ReplicaSets and DaemonSets.</p>\n</div>\n<div class=\"paragraph\">\n<p>The trigger is added to all containers that apply, but can be restricted to a limited set of containers using the following configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><!-- ... -->\n<enricher>\n <config>\n <jkube-triggers-annotation>\n <containers>container-name-1,c2</containers>\n </jkube-triggers-annotation>\n </config>\n</enricher>\n<!-- ... --></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-secret-file\">jkube-secret-file</h5>\n<div class=\"paragraph\">\n<p>This enricher adds Secret defined as file content from an annotation.</p>\n</div>\n<div class=\"paragraph\">\n<p>If you are defining a custom <code>Secret</code> file, you can use an annotation to define a file name as key and its content as the value:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">metadata:\n name: ${project.artifactId}\n annotations:\n maven.jkube.io/secret/application.properties: src/test/resources/test-application.properties</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This creates a <code>Secret</code> data with the key <code>application.properties</code> (part defined after <code>secret</code>) and value content of\n<code>src/test/resources/test-application.properties</code> file (base64 encoded).</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-serviceaccount\">jkube-serviceaccount</h5>\n\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"enrichers-specific\">8.1.2. Specific Enrichers</h4>\n<div class=\"paragraph\">\n<p>Specific enrichers provide resource manifest enhancement for a certain tech stack that they detect.</p>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-karaf\">jkube-healthcheck-karaf</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with Apache Karaf. This requires that\n<code>jkube.karaf-checks</code> has been enabled in the Karaf startup features.</p>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8181</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>failureThreshold = <code>3</code></p>\n</li>\n<li>\n<p>successThreshold = <code>1</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>and use paths <code>/readiness-check</code> for readiness check and <code>/health-check</code> for liveness check.</p>\n</div>\n<div class=\"paragraph\">\n<p>These options cannot be configured.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-spring-boot\">jkube-healthcheck-spring-boot</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with Spring Boot. This requires the following dependency\nhas been enabled in Spring Boot</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><dependency>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-starter-actuator</artifactId>\n</dependency></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will try to discover the settings from the <code>application.properties</code> / <code>application.yaml</code> Spring Boot configuration file.</p>\n</div>\n<div class=\"paragraph\">\n<p>The port number is read from the <code>management.port</code> option, and will use the default value of <code>8080</code>\nThe scheme will use HTTPS if <code>server.ssl.key-store</code> option is in use, and fallback to use <code>HTTP</code> otherwise.</p>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>readinessProbeInitialDelaySeconds</code> : <code>10</code></p>\n</li>\n<li>\n<p><code>readinessProbePeriodSeconds</code> : <em><kubernetes-default></em></p>\n</li>\n<li>\n<p><code>livenessProbeInitialDelaySeconds</code> : <code>180</code></p>\n</li>\n<li>\n<p><code>livenessProbePeriodSeconds</code> : <em><kubernetes-default></em></p>\n</li>\n<li>\n<p><code>timeoutSeconds</code> : <em><kubernetes-default></em></p>\n</li>\n<li>\n<p><code>failureThreshold</code>: <code>3</code></p>\n</li>\n<li>\n<p><code>successThreshold</code>: <code>1</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>kubernetes-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-spring-boot>\n <timeoutSeconds>5</timeoutSeconds>\n <readinessProbeInitialDelaySeconds>30</readinessProbeInitialDelaySeconds>\n <failureThreshold>3</failureThreshold>\n <successThreshold>1</successThreshold>\n </jkube-healthcheck-spring-boot>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-thorntail-v2\">jkube-healthcheck-thorntail-v2</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with Thorntail v2. This requires the following fraction\nhas been enabled in Thorntail</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><dependency>\n <groupId>io.thorntail</groupId>\n <artifactId>microprofile-health</artifactId>\n</dependency></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8080</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>path = <code>/health</code></p>\n</li>\n<li>\n<p>failureThreshold = <code>3</code></p>\n</li>\n<li>\n<p>successThreshold = <code>1</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>kubernetes-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-thorntail>\n <port>4444</port>\n <scheme>HTTPS</scheme>\n <path>health/myapp</path>\n <failureThreshold>3</failureThreshold>\n <successThreshold>1</successThreshold>\n </jkube-healthcheck-thorntail>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-vertx\">jkube-healthcheck-vertx</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with Eclipse Vert.x applications.\nThe readiness probe lets Kubernetes detect when the application is ready, while the liveness probe allows Kubernetes to\nverify that the application is still alive.</p>\n</div>\n<div class=\"paragraph\">\n<p>This enricher allows configuring the readiness and liveness probes. The following probe types are supported:\n<code>http</code> (emit HTTP requests), <code>tcp</code> (open a socket), <code>exec</code> (execute a command).</p>\n</div>\n<div class=\"paragraph\">\n<p>By default, this enricher uses the same configuration for liveness and readiness probes. But specific configurations can\nbe provided too. The configurations can be overridden using project’s properties.</p>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_using_the_jkube_healthcheck_vertx_enricher\">Using the jkube-healthcheck-vertx enricher</h6>\n<div class=\"paragraph\">\n<p>The enricher is automatically executed if your project uses the <code>vertx-maven-plugin</code> or depends on <code>io.vertx:vertx-core</code>.\nHowever, by default, no health check will be added to your deployment unless configured explicitly.</p>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_minimal_configuration\">Minimal configuration</h6>\n<div class=\"paragraph\">\n<p>The minimal configuration to add health checks is the following:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-vertx>\n <path>/health</path>\n </jkube-healthcheck-vertx>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>It configures the readiness and liveness health checks using HTTP requests on the port <code>8080</code> (default port) and on the\npath <code>/health</code>. The defaults are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8080</code> (for HTTP)</p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>path = <em>none</em> (disabled)</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>the previous configuration can also be given use project’s properties:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <vertx.health.path>/health</vertx.health.path>\n</properties></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_configuring_differently_the_readiness_and_liveness_health_checks\">Configuring differently the readiness and liveness health checks</h6>\n<div class=\"paragraph\">\n<p>You can provide two different configuration for the readiness and liveness checks:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-vertx>\n <readiness>\n <path>/ready</path>\n </readiness>\n <liveness>\n <path>/health</path>\n </liveness>\n </jkube-healthcheck-vertx>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>You can also use the <code>readiness</code> and <code>liveness</code> chunks in user properties:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <vertx.health.readiness.path>/ready</vertx.health.readiness.path>\n <vertx.health.liveness.path>/ready</vertx.health.liveness.path>\n</properties></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Shared (generic) configuration can be set outside of the specific configuration. For instance, to use the port 8081:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-vertx>\n <port>8081</port>\n <readiness>\n <path>/ready</path>\n </readiness>\n <liveness>\n <path>/health</path>\n </liveness>\n </jkube-healthcheck-vertx>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Or:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <vertx.health.port>8081</vertx.health.port>\n <vertx.health.readiness.path>/ready</vertx.health.readiness.path>\n <vertx.health.liveness.path>/ready</vertx.health.liveness.path>\n</properties></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_configuration_structure\">Configuration Structure</h6>\n<div class=\"paragraph\">\n<p>The configuration is structured as follows</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><config>\n <jkube-healthcheck-vertx>\n <!-- Generic configuration, applied to both liveness and readiness -->\n <path>/both</path>\n <liveness>\n <!-- Specific configuration for the liveness probe -->\n <port-name>ping</port-name>\n </liveness>\n <readiness>\n <!-- Specific configuration for the readiness probe -->\n <port-name>ready</port-name>\n </readiness>\n </jkube-healthcheck-vertx>\n</config></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The same structure is used in project’s properties:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <!-- Generic configuration given as vertx.health.$attribute -->\n <vertx.health.path>/both</vertx.health.path>\n <!-- Specific liveness configuration given as vertx.health.liveness.$attribute -->\n <vertx.health.liveness.port-name>ping</vertx.health.liveness.port-name>\n <!-- Specific readiness configuration given as vertx.health.readiness.$attribute -->\n <vertx.health.readiness.port-name>ready</vertx.health.readiness.port-name>\n</properties></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p><strong>Important</strong>: Project’s plugin configuration override the project’s properties.\nThe overriding rules are:\n<em>specific configuration</em> > <em>specific properties</em> > <em>generic configuration</em> > <em>generic properties</em>.</p>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_probe_configuration\">Probe configuration</h6>\n<div class=\"paragraph\">\n<p>You can configure the different aspects of the probes. These attributes can be configured for both the readiness and\nliveness probes or be specific to one.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 39. Vert.x HealthCheck Enricher probe configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 62.5%;\">\n<col style=\"width: 25%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>type</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The probe type among <code>http</code> (default), <code>tcp</code> and <code>exec</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>http</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.type</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.type</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>initial-delay</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of seconds after the container has started before probes are initiated.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.initial-delay</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.initial-delay</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>period</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">How often (in seconds) to perform the probe.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.period</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.period</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>timeout</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of seconds after which the probe times out.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.timeout</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.timeout</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>success-threshold</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Minimum consecutive successes for the probe to be considered successful after having failed.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.success-threshold</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.success-threshold</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>failure-threshold</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Minimum consecutive failures for the probe to be considered failed after having succeeded.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.failure-threshold</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.failure-threshold</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>More details about probes are available on <a href=\"https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/\" class=\"bare\">https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/</a>.</p>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_http_specific_probe_configuration\">HTTP specific probe configuration</h6>\n<div class=\"paragraph\">\n<p>When using HTTP <code>GET</code> requests to determine readiness or liveness, several aspects can be configured. HTTP probes are used by default. To be more specific set the <code>type</code> attribute to <code>http</code>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 40. Vert.x HealthCheck Enricher HTTP probe configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 62.5%;\">\n<col style=\"width: 25%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>scheme</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Scheme to use for connecting to the host.</p>\n<p class=\"tableblock\"> Defaults to <code>HTTP</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.scheme</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.scheme</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>path</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to access on the HTTP server. An empty path disable the check.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.path</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.path</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>headers</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Custom headers to set in the request. HTTP allows repeated headers. It cannot be configured using project’s properties.\n An example is available below.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.headers</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.headers</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>port</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port number to access the container. A 0 or negative number disables the check.</p>\n<p class=\"tableblock\"> Defaults to <code>8080</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.port</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.port</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>port-name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Name of the port to access on the container. If neither the <code>port</code> nor the <code>port-name</code> is set, the check is disabled.\n If both are set the configuration is considered invalid.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.port-name</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.port-name</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Here is an example of HTTP probe configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><config>\n <jkube-healthcheck-vertx>\n <initialDelay>3</initialDelay>\n <period>3</period>\n <liveness>\n <port>8081</port>\n <path>/ping</path>\n <scheme>HTTPS</scheme>\n <headers>\n <X-Custom-Header>Awesome</X-Custom-Header>\n </headers>\n </liveness>\n <readiness>\n <!-- disable the readiness probe -->\n <port>-1</port>\n </readiness>\n </jkube-healthcheck-vertx>\n</config></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_tcp_specific_probe_configuration\">TCP specific probe configuration</h6>\n<div class=\"paragraph\">\n<p>You can also configure the probes to just open a socket on a specific port. The <code>type</code> attribute must be set to <code>tcp</code>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 41. Vert.x HealthCheck Enricher TCP probe configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 62.5%;\">\n<col style=\"width: 25%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>port</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port number to access the container. A 0 or negative number disables the check.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.port</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.port</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>port-name</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Name of the port to access on the container. If neither the <code>port</code> nor the <code>port-name</code> is set, the check is disabled.\n If both are set the configuration is considered invalid.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.port-name</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.port-name</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>For example:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><config>\n <jkube-healthcheck-vertx>\n <initialDelay>3</initialDelay>\n <period>3</period>\n <liveness>\n <type>tcp</type>\n <port>8081</port>\n </liveness>\n <readiness>\n <!-- use HTTP Get probe -->\n <path>/ping</path>\n <port>8080</port>\n </readiness>\n </jkube-healthcheck-vertx>\n</config></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_exec_probe_configuration\">Exec probe configuration</h6>\n<div class=\"paragraph\">\n<p>You can also configure the probes to execute a command. If the command succeeds, it returns 0, and Kubernetes consider the pod to be alive and healthy. If the command returns a non-zero value, Kubernetes kills the pod and restarts it. To use a command, you must set the <code>type</code> attribute to <code>exec</code>:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><config>\n <jkube-healthcheck-vertx>\n <initialDelay>3</initialDelay>\n <period>3</period>\n <liveness>\n <type>exec</type>\n <command>\n <cmd>cat</cmd>\n <cmd>/tmp/healthy</cmd>\n </command>\n </liveness>\n <readiness>\n <-- use HTTP Get probe -->\n <path>/ping</path>\n <port>8080</port>\n </readiness>\n </jkube-healthcheck-vertx>\n</config></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>As you can see in the snippet above the command is passed using the <code>command</code> attribute. This attribute cannot be\nconfigured using project’s properties. An empty command disables the check.</p>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_disabling_health_checks\">Disabling health checks</h6>\n<div class=\"paragraph\">\n<p>You can disable the checks by setting:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>the <code>port</code> to 0 or to a negative number for <code>http</code> and <code>tcp</code> probes</p>\n</li>\n<li>\n<p>the <code>command</code> to an empty list for <code>exec</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>In the first case, you can use project’s properties to disable them:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><!-- Disables <code>tcp</code> and <code>http</code> probes -->\n<vertx.health.port>-1</vertx.health.port></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>For <code>http</code> probes, an empty or not set <code>path</code> also disable the probe.</p>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-webapp\">jkube-healthcheck-webapp</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with WebApp. This requires that you have <code>maven-war-plugin</code> set.</p>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8080</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>path = ``</p>\n</li>\n<li>\n<p>initialReadinessDelay = 10</p>\n</li>\n<li>\n<p>initialLivenessDelay = 180</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>If <code>path</code> attribute is not set (default value) then this enricher is disabled.</p>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>kubernetes-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-webapp>\n <path>/</path>\n </jkube-healthcheck-webapp>\n </config>\n </enricher>\n </configuration>\n <!-- ... -->\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-wildfly-swarm\">jkube-healthcheck-wildfly-swarm</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with WildFly Swarm. This requires the following fraction\nhas been enabled in WildFly Swarm</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><dependency>\n <groupId>org.wildfly.swarm</groupId>\n <artifactId>microprofile-health</artifactId>\n</dependency></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8080</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>path = <code>/health</code></p>\n</li>\n<li>\n<p>failureThreshold = <code>3</code></p>\n</li>\n<li>\n<p>successThreshold = <code>1</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>kubernetes-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-wildfly-swarm>\n <port>4444</port>\n <scheme>HTTPS</scheme>\n <path>health/myapp</path>\n <failureThreshold>3</failureThreshold>\n <successThreshold>1</successThreshold>\n </jkube-healthcheck-wildfly-swarm>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-wildfly-jar\">jkube-healthcheck-wildfly-jar</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes to WildFly JAR applications. Probes depend on the WildFly <em>microprofile-health</em> subsystem\n<em>/health/ready</em> and <em>/health/live</em> endpoints.\nWhen the WildFly Bootable JAR Maven plugin is configured with the <em><cloud></em> configuration item, <em>microprofile_health</em> subsystem\nis enforced in the bootable JAR server configuration.</p>\n</div>\n<div class=\"paragraph\">\n<p>This enricher looks for the <em><cloud></em> configuration item presence in the bootable JAR Maven plugin in order to add health check probes.\nIf <em><cloud></em> item has not been defined, you can still enforce the generation of readiness and liveness probes by setting <em>enforceProbes=true</em>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>9990</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>readinessPath = <code>/health/ready</code></p>\n</li>\n<li>\n<p>livenessPath = <code>/health/live</code></p>\n</li>\n<li>\n<p>livenessInitialDelay = <code>60</code></p>\n</li>\n<li>\n<p>readinessIntialDelay = <code>10</code></p>\n</li>\n<li>\n<p>failureThreshold = <code>3</code></p>\n</li>\n<li>\n<p>successThreshold = <code>1</code></p>\n</li>\n<li>\n<p>enforceProbes = 'false'</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Setting the <code>port</code> to 0 or to a negative number disables liveness and readiness probes.</p>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>kubernetes-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-wildfly-jar>\n <port>4444</port>\n <scheme>HTTPS</scheme>\n <livenessPath>/myapp/live</livenessPath>\n <failureThreshold>3</failureThreshold>\n <successThreshold>1</successThreshold>\n </jkube-healthcheck-wildfly-jar>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_enricher_api\">8.2. Enricher API</h3>\n<div class=\"paragraph\">\n<p><em>How to write your own enrichers and install them.</em></p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"profiles\">9. Profiles</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Profiles can be used to combine a set of enrichers and generators and to give this combination a referable name.</p>\n</div>\n<div class=\"paragraph\">\n<p>Profiles are defined in YAML. The following example shows a simple profiles which uses only the\n<a href=\"#generator-spring-boot\">Spring Boot generator</a> and some enrichers adding for adding default resources:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Profile Definition</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">- name: my-spring-boot-apps <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n generator: <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n includes:\n - spring-boot\n enricher: <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n includes: <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n # Default Deployment object\n - jkube-controller\n # Add a default service\n - jkube-service\n excludes: <i class=\"conum\" data-value=\"5\"></i><b>(5)</b>\n - jkube-icon\n config: <i class=\"conum\" data-value=\"6\"></i><b>(6)</b>\n jkube-service:\n # Expose service as NodePort\n type: NodePort\n order: 10 <i class=\"conum\" data-value=\"7\"></i><b>(7)</b>\n- name: another-profile\n# ....</code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Profile’s name</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td><a href=\"#generators\">Generators</a> to use</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td><a href=\"#enrichers\">Enrichers</a> to use</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>List of enricher to <strong>include</strong> in that given order</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"5\"></i><b>5</b></td>\n<td>List of enricher to <strong>exclude</strong></td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"6\"></i><b>6</b></td>\n<td>Configuration for services an enrichers</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"7\"></i><b>7</b></td>\n<td>An order which influences the way how profiles with the same name are merged</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>Each <code>profiles.yml</code> has a list of profiles which are defined with these elements:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 42. Profile elements</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Profile name. This plugin comes with a set of <a href=\"#profiles-predefined\">predefined profiles</a>. Those profiles can be\n extended by defining a custom profile with the same name of the profile to extend.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>generator</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of generator definitions. See <a href=\"#generator-enricher-definition\">below</a> for the format of these definitions.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>enricher</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of enrichers definitions. See <a href=\"#generator-enricher-definition\">below</a> for the format of these definitions.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>order</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The order of the profile which is used when profiles of the same name are merged.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"sect2\">\n<h3 id=\"generator-enricher-definition\">9.1. Generator and Enricher definitions</h3>\n<div class=\"paragraph\">\n<p>The definition of generators and enrichers in the profile follows the same format:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 43. Generator and Enericher definition</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>includes</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of generators or enrichers to include. The order in the list determines the order in which the processors are applied.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>excludes</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of generators or enrichers. These have precedences over <em>includes</em> and will exclude a processor even when referenced in an <em>includes</em> sections</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>config</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Configuration for generators or enrichers. This is a map where the keys are the name of the processor to configure and the value is again a map with configuration keys and values specific to the processor. See the documentation of the respective generator or enricher for the available configuration keys.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"profiles-lookup-order\">9.2. Lookup order</h3>\n<div class=\"paragraph\">\n<p>Profiles can be defined externally either directly as a build resource in <code>src/main/jkube/profiles.yml</code> or provided as part of a plugin’s dependency where it is supposed to be included as <code>META-INF/jkube/profiles.yml</code>. Multiple profiles can be include in these <code>profiles.yml</code> descriptors as a list:</p>\n</div>\n<div class=\"paragraph\">\n<p>If a profile is <a href=\"#profiles-using\">used</a> then it is looked up from various places in the following order:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>From the compile and plugin classpath from <code>META-INF/jkube/profiles-default.yml</code>. These files are reserved for profiles defined by this plugin</p>\n</li>\n<li>\n<p>From the compile and plugin classpath from <code>META-INF/jkube/profiles.yml</code>. Use this location for defining your custom profiles which you want to include via dependencies.</p>\n</li>\n<li>\n<p>From the project in <code>src/main/jkube/profiles.yml</code>. The directory can be tuned with the plugin option <code>resourceDir</code> (property: <code>jkube.resourceDir</code>)</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>When multiple profiles of the same name are found, then these profiles are merged. If profile have an order number, then the <em>higher</em> order takes precedences when merging profiles.</p>\n</div>\n<div class=\"paragraph\">\n<p>For <em>includes</em> of the same processors, the processor is moved to the earliest position. E.g consider the following two profiles with the name <code>my-profile</code></p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Profile A</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">name: my-profile\nenricher:\n includes: [ e1, e2 ]</code></pre>\n</div>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Profile B</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">name: my-profile\nenricher:\n includes: [ e3, e1 ]\norder: 10</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>then when merged results in the following profile (when no order is given, it defaults to 0):</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Profile merged</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">name: my-profile\nenricher:\n includes: [ e1, e2, e3 ]\norder: 10</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Profile with the same order number are merged according to the lookup order described above, where the latter profile is supposed to have a higher order.</p>\n</div>\n<div class=\"paragraph\">\n<p>The configuration for enrichers and generators are merged, too, where higher order profiles override configuration values with the same key of lower order profile configuration.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"profiles-using\">9.3. Using Profiles</h3>\n<div class=\"paragraph\">\n<p>Profiles can be selected by defining them in the plugin configuration, by giving a system property or by using\n<a href=\"#profiles-resource-fragments\">special directories</a> in the directory holding the resource fragments.</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Profile used in plugin configuration</div>\n<p>Here is an example how the profile can be used in a plugin configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <configuration>\n <profile>my-spring-boot-apps</profile> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <!-- ... -->\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Name which select the profile from the <code>profiles.yml</code></td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Profile as system property</div>\n<p>Alternatively a profile can be also specified on the command line when calling Maven:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn -Djkube.profile=my-spring-boot-apps k8s:build k8s:deploy</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If a configuration for enrichers and generators are provided as part of the plugin’s <code><configuration></code> then this takes precedence over any profile specified.</p>\n</div>\n<div id=\"profiles-resource-fragments\" class=\"paragraph\">\n<div class=\"title\">Profiles for resource fragments</div>\n<p>Profiles are also very useful when used together with resource fragments in <code>src/main/jkube</code>. By default the resource objects defined here are enriched with the configured profile (if any). A different profile can be selected easily by using a sub directory within <code>src/main/jkube</code>. The name of each sub directory is interpreted as a profile name and all resource definition files found in this sub directory are enhanced with the enhancers defined in this profile.</p>\n</div>\n<div class=\"paragraph\">\n<p>For example, consider the following directory layout:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>src/main/k8s:\n app-rc.yml\n app-svc.yml\n raw/ -->\n couchbase-rc.yml\n couchbase-svc.yml</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Here, the resource descriptors <code>app-rc.yml</code> and <code>app-svc.yml</code> are enhanced with the enrichers defined in the main configuration. The files two files <code>couchbase-rc.yml</code> and <code>couchbase-svc.yml</code> in the sub directory <code>raw/</code> instead are enriched with the profile <strong>raw</strong>. This is a predefined profile which includes no enricher at all, so the couchbase resource objects are not enriched and taken over literally. This is an easy way how you can fine tune enrichment for different object set.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"profiles-predefined\">9.4. Predefined Profiles</h3>\n<div class=\"paragraph\">\n<p>This plugin comes with a list of the following predefined profiles:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 44. Predefined Profiles</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Profile</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>default</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The default profile which is active if no profile is specified. It consists of a curated set of generator and enrichers. See <a href=\"#profiles-default\">below</a> for the current definition.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>minimal</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">This profile contains no generators and only enrichers for adding default objects (controller and services). No other enrichment is included.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>explicit</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Like default but without adding default objects like controllers and services.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>aggregate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Includes no generators and only the <a href=\"#jkube-dependency\">jkube-dependency</a> enricher for picking up and combining resources from the compile time dependencies.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>internal-microservice</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Do not expose a port for the service to generate. Otherwise the same as the <em>default</em> profile.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>osio</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Includes everything in the <em>default</em> profile, plus additional enrichers and generators relevant only to <a href=\"https://openshift.io\">OpenShift.io</a>.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"profiles-extended\">9.5. Extending Profiles</h3>\n<div class=\"paragraph\">\n<p>A profile can also extend another profile to avoid repetition e.g of generators if the profile is only about including certain enrichers. For example, for a profile like:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">- name: minimal\n extends: default\n enricher:\n includes:\n - jkube-name\n - jkube-controller\n - jkube-service\n - jkube-image\n - jkube-project-label\n - jkube-debug\n - jkube-namespace\n - jkube-metadata\n - jkube-controller-from-configuration\n - jkube-openshift-deploymentconfig\n - jkube-openshift-project\n - jkube-openshift-service-expose\n - jkube-openshift-route</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>one then would not need to repeat all generators as they are inherited from the <code>default</code> profile.</p>\n</div>\n<div id=\"profiles-default\" class=\"listingblock\">\n<div class=\"title\">Default Profile</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\"># Default profile which is always activated\n- name: default\n enricher:\n # The order given in \"includes\" is the order in which enrichers are called\n includes:\n - jkube-metadata\n - jkube-name\n - jkube-controller\n - jkube-controller-from-configuration\n - jkube-service\n - jkube-namespace\n - jkube-image\n - jkube-portname\n - jkube-project-label\n - jkube-dependency\n - jkube-pod-annotations\n - jkube-git\n - jkube-maven-scm\n - jkube-serviceaccount\n - jkube-maven-issue-mgmt\n # TODO: Documents and verify enrichers below\n - jkube-debug\n - jkube-remove-build-annotations\n - jkube-volume-permission\n - jkube-configmap-file\n - jkube-secret-file\n\n # Route exposure\n - jkube-openshift-service-expose\n - jkube-openshift-route\n - jkube-openshift-deploymentconfig\n - jkube-openshift-project\n\n # Ingress\n - jkube-ingress\n\n # -----------------------------------------\n # TODO: Document and verify enrichers below\n # Health checks\n - jkube-healthcheck-quarkus\n - jkube-healthcheck-spring-boot\n - jkube-healthcheck-wildfly-swarm\n - jkube-healthcheck-thorntail-v2\n - jkube-healthcheck-wildfly-jar\n - jkube-healthcheck-karaf\n - jkube-healthcheck-vertx\n - jkube-healthcheck-docker\n - jkube-healthcheck-webapp\n - jkube-prometheus\n # Dependencies shouldn't be enriched anymore, therefore it's last in the list\n - jkube-dependency\n - jkube-revision-history\n - jkube-docker-registry-secret\n - jkube-triggers-annotation\n - jkube-openshift-imageChangeTrigger\n\n generator:\n # The order given in \"includes\" is the order in which generators are called\n includes:\n - quarkus\n - spring-boot\n - wildfly-swarm\n - thorntail-v2\n - wildfly-jar\n - openliberty\n - karaf\n - vertx\n - java-exec\n - webapp\n watcher:\n includes:\n - spring-boot\n - docker-image</code></pre>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"access-configuration\">10. Access configuration</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_docker_access\">10.1. Docker Access</h3>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nThis section is work-in-progress and not yet finished\n</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>For Kubernetes builds the kubernetes-maven-plugin uses the Docker remote API so the URL of your Docker Daemon must be specified. The URL can be specified by the dockerHost or machine configuration, or by the <code>DOCKER_HOST</code> environment variable. If not given</p>\n</div>\n<div class=\"paragraph\">\n<p>The Docker remote API supports communication via SSL and\nauthentication with certificates. The path to the certificates can\nbe specified by the certPath or machine configuration, or by the\n<code>DOCKER_CERT_PATH</code> environment variable.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_openshift_and_kubernetes_access\">10.2. OpenShift and Kubernetes Access</h3>\n<div class=\"paragraph\">\n<p>Plugin reads your <code>kubeconfig</code> file to read your Kubernetes/OpenShift configuration. By default, <code>kubeconfig</code> file is assumed to be either\nin <code>~/.kube/config</code> or using the environment variable <code>KUBECONFIG</code>.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"registry\">11. Registry handling</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Docker uses registries to store images. The registry is typically\nspecified as part of the name. I.e. if the first part (everything\nbefore the first <code>/</code>) contains a dot (<code>.</code>) or colon (<code>:</code>) this part is\ninterpreted as an address (with an optionally port) of a remote\nregistry. This registry (or the default <code>docker.io</code> if no\nregistry is given) is used during push and pull operations. This\nplugin follows the same semantics, so if an image name is specified\nwith a registry part, this registry is contacted. Authentication is\nexplained in the next <a href=\"#authentication\">section</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>There are some situations however where you want to have more\nflexibility for specifying a remote registry. This might be because\nyou do not want to hard code a registry into <code>pom.xml</code> but\nprovide it from the outside with an environment variable or a system\nproperty.</p>\n</div>\n<div class=\"paragraph\">\n<p>This plugin supports various ways of specifying a registry:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If the image name contains a registry part, this registry is used\nunconditionally and can not be overwritten from the outside.</p>\n</li>\n<li>\n<p>If an image name doesn’t contain a registry, then by default the\ndefault Docker registry <code>docker.io</code> is used for push and pull\noperations. But this can be overwritten through various means:</p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If the <code><image></code> configuration contains a <code><registry></code> subelement\nthis registry is used.</p>\n</li>\n<li>\n<p>Otherwise, a global configuration element <code><registry></code> is\nevaluated which can be also provided as system property via\n<code>-Djkube.docker.registry</code>.</p>\n</li>\n<li>\n<p>Finally an environment variable <code>DOCKER_REGISTRY</code> is looked up for\ndetecting a registry.</p>\n</li>\n</ul>\n</div>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>This registry is used for pulling (i.e. for autopull the base image\nwhen doing a <code>k8s:build</code>) and pushing with <code>k8s:push</code>. However,\nwhen these two goals are combined on the command line like in <code>mvn\n-Djkube.docker.registry=myregistry:5000 package k8s:build k8s:push</code>\nthe same registry is used for both operation. For a more fine grained\ncontrol, separate registries for <em>pull</em> and <em>push</em> can be specified.</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>In the plugin’s configuration with the parameters <code><pullRegistry></code> and\n<code><pushRegistry></code>, respectively.</p>\n</li>\n<li>\n<p>With the system properties <code>jkube.docker.pull.registry</code> and\n<code>jkube.docker.push.registry</code>, respectively.</p>\n</li>\n</ul>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <registry>docker.jolokia.org:443</registry>\n <images>\n <image>\n <!-- Without an explicit registry ... -->\n <name>jolokia/jolokia-java</name>\n <!-- ... hence use this registry -->\n <registry>docker.ro14nd.de</registry>\n <!-- ... -->\n </image>\n <image>\n <name>postgresql</name>\n <!-- No registry in the name, hence use the globally\n configured docker.jolokia.org:443 as registry -->\n <!-- ... -->\n </image>\n <image>\n <!-- Explicitly specified always wins -->\n <name>docker.example.com:5000/another/server</name>\n </image>\n </images>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>There is some special behaviour when using an externally provided\nregistry like described above:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>When <em>pulling</em>, the image pulled will be also tagged with a repository\nname <strong>without</strong> registry. The reasoning behind this is that this\nimage then can be referenced also by the configuration when the\nregistry is not specified anymore explicitly.</p>\n</li>\n<li>\n<p>When <em>pushing</em> a local image, temporarily a tag including the\nregistry is added and removed after the push. This is required\nbecause Docker can only push registry-named images.</p>\n</li>\n</ul>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"authentication\">12. Authentication</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>When pulling (via the <code>autoPull</code> mode of <code>k8s:start</code>) or pushing image, it\nmight be necessary to authenticate against a Docker registry.</p>\n</div>\n<div class=\"paragraph\">\n<p>There are five different locations searched for credentials. In order, these are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Providing system properties <code>jkube.docker.username</code> and <code>jkube.docker.password</code> from the outside.</p>\n</li>\n<li>\n<p>Using a <code><authConfig></code> section in the plugin configuration with <code><username></code> and <code><password></code> elements.</p>\n</li>\n<li>\n<p>Using OpenShift configuration in <code>~/.config/kube</code></p>\n</li>\n<li>\n<p>Using a <code><server></code> configuration in <code>~/.m2/settings.xml</code></p>\n</li>\n<li>\n<p>Login into a registry with <code>docker login</code> (credentials in a credential helper or in <code>~/.docker/config.json</code>)</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Using the username and password directly in the <code>pom.xml</code> is not\nrecommended since this is widely visible. This is the easiest and\ntransparent way, though. Using an <code><authConfig></code> is straight forward:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <configuration>\n <image>consol/tomcat-7.0</image>\n <!-- ... -->\n <authConfig>\n <username>jolokia</username>\n <password>s!cr!t</password>\n </authConfig>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The system property provided credentials are a good compromise when\nusing CI servers like Jenkins. You simply provide the credentials from\nthe outside:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn -Djkube.docker.username=jolokia -Djkube.docker.password=s!cr!t k8s:push</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The most <em>mavenish</em> way is to add a server to the Maven settings file <code>~/.m2/settings.xml</code>:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><servers>\n <server>\n <id>docker.io</id>\n <username>jolokia</username>\n <password>s!cr!t</password>\n </server>\n <!-- ... -->\n</servers></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The server id must specify the registry to push to/pull from, which by\ndefault is central index <code>docker.io</code> (or <code>index.docker.io</code> / <code>registry.hub.docker.com</code> as fallbacks).\nHere you should add your docker.io account for your repositories. If you have multiple accounts\nfor the same registry, the second user can be specified as part of the ID. In the example above, if you\nhave a second account 'jkubeio' then use an <code><id>docker.org.eclipse.jkubeio</id></code> for this second entry. I.e. add the\nusername with a slash to the id name. The default without username is only taken if no server entry with\na username appended id is chosen.</p>\n</div>\n<div class=\"paragraph\">\n<p>The most <em>secure</em> way is to rely on docker’s credential store or credential helper and read confidential information\nfrom an external credentials store, such as the native keychain of the operating system. Follow the instruction on\n<a href=\"https://docs.docker.com/engine/reference/commandline/login/#credentials-store\">the docker login documentation</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>As a final fallback, this plugin consults <code>$DOCKER_CONFIG/config.json</code> if <code>DOCKER_CONFIG</code> is set, or <code>~/.docker/config.json</code> if not, and reads credentials stored directly within this\nfile. This unsafe behavior happened when connecting to a registry with the command <code>docker login</code> from the command line\nwith older versions of docker (pre 1.13.0) or when docker is not configured to use a\n<a href=\"https://docs.docker.com/engine/reference/commandline/login/#credentials-store\">credential store</a>.</p>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_pull_vs_push_authentication\">12.1. Pull vs. Push Authentication</h3>\n<div class=\"paragraph\">\n<p>The credentials lookup described above is valid for both push and\npull operations. In order to narrow things down, credentials can be\nprovided for pull or push operations alone:</p>\n</div>\n<div class=\"paragraph\">\n<p>In an <code><authConfig></code> section a sub-section <code><pull></code> and/or <code><push></code>\ncan be added. In the example below the credentials provider are only\nused for image push operations:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <configuration>\n <image>consol/tomcat-7.0</image>\n <!-- ... -->\n <authConfig>\n <push>\n <username>jolokia</username>\n <password>s!cr!t</password>\n </push>\n </authConfig>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>When the credentials are given on the command line as system\nproperties, then the properties <code>jkube.docker.pull.username</code> /\n<code>jkube.docker.pull.password</code> and <code>jkube.docker.push.username</code> /\n<code>jkube.docker.push.password</code> are used for pull and push operations,\nrespectively (when given). Either way, the standard lookup algorithm\nas described in the previous section is used as fallback.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_openshift_authentication\">12.2. OpenShift Authentication</h3>\n<div class=\"paragraph\">\n<p>When working with the default registry in OpenShift, the credentials\nto authenticate are the OpenShift username and access token. So, a\ntypical interaction with the OpenShift registry from the outside is:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>oc login\n...\nmvn -Djkube.docker.registry=docker-registry.domain.com:80/default/myimage \\\n -Djkube.docker.username=$(oc whoami) \\\n -Djkube.docker.password=$(oc whoami -t)</pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>(note, that the image’s username part (\"default\" here\") must\ncorrespond to an OpenShift project with the same name to which you\ncurrently connected account has access).</p>\n</div>\n<div class=\"paragraph\">\n<p>This can be simplified by using the system property\n<code>docker.useOpenShiftAuth</code> in which case the plugin does the\nlookup. The equivalent to the example above is</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>oc login\n...\nmvn -Ddocker.registry=docker-registry.domain.com:80/default/myimage \\\n -Ddocker.useOpenShiftAuth</pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Alternatively the configuration option <code><useOpenShiftAuth></code> can be\nadded to the <code><authConfig></code> section.</p>\n</div>\n<div class=\"paragraph\">\n<p>For dedicated <em>pull</em> and <em>push</em> configuration the system properties\n<code>jkube.docker.pull.useOpenShiftAuth</code> and <code>jkube.docker.push.useOpenShiftAuth</code> are\navailable as well as the configuration option <code><useOpenShiftAuth></code> in\nan <code><pull></code> or <code><push></code> section within the <code><authConfig></code>\nconfiguration.</p>\n</div>\n<div class=\"paragraph\">\n<p>If <code>useOpenShiftAuth</code> is enabled then the OpenShift Konfiguration will be looked up in <code>$KUBECONFIG</code> or, if this environment variable is not set, in <code>~/.kube/config</code>.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"password-encryption\">12.3. Password encryption</h3>\n<div class=\"paragraph\">\n<p>Regardless of which mode you choose you can encrypt password as described\nin the\n<a href=\"http://maven.apache.org/guides/mini/guide-encryption.html\">Maven documentation</a>. Assuming\nthat you have setup a <em>master password</em> in\n<code>~/.m2/security-settings.xml</code> you can create easily encrypt\npasswords:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-bash\" data-lang=\"bash\">$ mvn --encrypt-password\nPassword:\n{QJ6wvuEfacMHklqsmrtrn1/ClOLqLm8hB7yUL23KOKo=}</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This password then can be used in <code>authConfig</code>, <code>docker.password</code>\nand/or the <code><server></code> setting configuration. However, putting an\nencrypted password into <code>authConfig</code> in the <code>pom.xml</code> doesn’t make\nmuch sense, since this password is encrypted with an individual master\npassword.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"extended-authentication\">12.4. Extended Authentication</h3>\n<div class=\"paragraph\">\n<p>Some docker registries require additional steps to authenticate.\n<a href=\"https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_GetStarted.html\">Amazon ECR</a> requires using an IAM access key to obtain temporary docker login credentials.\nThe <code>kubernetes-maven-plugin:push</code> and <code>kubernetes-maven-plugin:pull</code> goals automatically execute this exchange for any registry of the form\n<em><awsAccountId></em> <strong>.dkr.ecr.</strong> <em><awsRegion></em> <strong>.amazonaws.com</strong>, unless the <code>skipExtendedAuth</code> configuration\n(<code>jkube.docker.skip.extendedAuth</code> property) is set true.</p>\n</div>\n<div class=\"paragraph\">\n<p>Note that for an ECR repository with URI <code>123456789012.dkr.ecr.eu-west-1.amazonaws.com/example/image</code> the d-m-p’s <code>jkube.docker.registry</code> should be set to <code>123456789012.dkr.ecr.eu-west-1.amazonaws.com</code> and <code>example/image</code> is the <code><name></code> of the image.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can use any IAM access key with the necessary permissions in any of the locations mentioned above except <code>~/.docker/config.json</code>.\nUse the IAM <strong>Access key ID</strong> as the username and the <strong>Secret access key</strong> as the password.\nIn case you’re using temporary security credentials provided by the AWS Security Token Service (AWS STS), you have to provide the <strong>security token</strong> as well.\nTo do so, either specify the <code>docker.authToken</code> system property or provide an <code><auth></code> element alongside username & password in the <code>authConfig</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>In case you are running on an EC2 instance that has an appropriate IAM role assigned\n(e.g. a role that grants the AWS built-in policy <em>AmazonEC2ContainerRegistryPowerUser</em>)\nauthentication information doesn’t need to be provided at all. Instead the instance\nmeta-data service is queried for temporary access credentials supplied by the\nassigned role.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"volume-configuration\">13. Volume Configuration</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>kubernetes-maven-plugin supports volume configuration in XML format in pom.xml. These are the volume types which are supported:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 45. Supported Volume Types</caption>\n<colgroup>\n<col style=\"width: 4.3478%;\">\n<col style=\"width: 95.6522%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Volume Type</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">hostPath</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts a file or directory from the host node’s filesystem into your pod</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">emptyDir</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Containers in the Pod can all read and write the same files in the emptyDir volume, though that volume can be mounted at the same or different paths in each Container. When a Pod is removed from a node for any reason, the data in the emptyDir is deleted forever.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">gitRepo</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">It mounts an empty directory and clones a git repository into it for your Pod to use.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">secret</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">It is used to pass sensitive information, such as passwords, to Pods.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">nfsPath</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows an existing NFS(Network File System) share to be mounted into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">gcePdName</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts a Google Compute Engine(GCE) into your Pod. You must create PD using <code>gcloud</code> or GCE API or UI before you can use it.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">glusterFsPath</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows a Glusterfs (an open source networked filesystem) volume to be mounted into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">persistentVolumeClaim</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Used to mount a PersistentVolume into a Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">awsElasticBlockStore</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts an Amazon Web Services(AWS) EBS Volume into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">azureDisk</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts a Microsoft Azure Data Disk into a Pod</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">azureFile</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts a Microsoft Azure File Volume(SMB 2.1 and 3.0 into a Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">cephfs</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows an existing CephFS volume to be mounted into your Pod. You must have your own Ceph server running with the share exported before you can use it.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">fc</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows existing fibre channel volume to be mounted in a Pod. You must configure FC SAN Zoning to allocate and mask those LUNs (volumes) to the target WWNs beforehand so that Kubernetes hosts can access them.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">flocker</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Flocker is an open source clustered Container data volume manager. A <code>flocker</code> volume allows a Flocker dataset to be mounted into a Pod. You must have your own Flocker installation running before you can use it.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">iscsi</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows an existing ISCSI(SCSI over IP) volume to be mounted into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">portworxVolume</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A portworxVolume is an elastic block storage layer that runs hyperconverged with Kubernetes.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">quobyte</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows existing <code>Quobyte</code> volume to be mounted into your Pod. You must have your own Quobyte setup running the volumes created.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">rbd</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows a Rados Block Device volume to be mounted into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scaleIO</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ScaleIO is a software-based storage platform that can use existing hardware to create clusters of scalable shared block networked storage. The scaleIO volume plugin allows deployed Pods to access existing ScaleIO volumes.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">storageOS</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A storageos volume allows an existing StorageOS volume to be mounted into your Pod. You must run the StorageOS container on each node that wants to access StorageOS volumes</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">vsphereVolume</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Used to mount a vSphere VMDK volume into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">downwardAPI</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A downwardAPI volume is used to make downward API data available to applications. It mounts a directory and writes the requested data in plain text files.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"integrations\">14. Integrations</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"integrations.dekorate\">14.1. Dekorate</h3>\n<div class=\"paragraph\">\n<p><strong>kubernetes-maven-plugin</strong> provides a Zero Configuration approach to delegate deployment manifests\ngeneration to <a href=\"https://github.com/dekorateio/dekorate\">Dekorate</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Just by adding a dependency to Dekorate library in the <code>pom.xml</code> file, all manifest\ngeneration will be delegated to Dekorate.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"> <dependencies>\n <!-- ... -->\n <dependency>\n <groupId>io.dekorate</groupId>\n <artifactId>option-annotations</artifactId>\n <version>${dekorate.version}</version>\n </dependency>\n <dependency>\n <groupId>io.dekorate</groupId>\n <artifactId>openshift-annotations</artifactId>\n <version>${dekorate.version}</version>\n </dependency>\n <dependency>\n <groupId>io.dekorate</groupId>\n <artifactId>kubernetes-annotations</artifactId>\n <version>${dekorate.version}</version>\n </dependency>\n <dependency>\n <groupId>io.dekorate</groupId>\n <artifactId>dekorate-spring-boot</artifactId>\n <version>${dekorate.version}</version>\n </dependency>\n </dependencies></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>A full example of the integration can be found in the directory\n<a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/spring-boot-dekorate\">quickstarts/maven/spring-boot-dekorate</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>An <strong>experimental</strong> feature is also provided to merge resources generated both by <strong>kubernetes-maven-plugin</strong>\nand Dekorate. You can activate this feature by using the following flag <code>-Djkube.mergeWithDekorate</code>\nin the command-line, or setting it up as a property (<code><jkube.mergeWithDekorate>true</jkube.mergeWithDekorate></code>).</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_jib_java_image_builder\">14.2. JIB (Java Image Builder)</h3>\n<div class=\"paragraph\">\n<p><strong>kubernetes-maven-plugin</strong> also provides user an option to build container images without having access to any docker daemon.\nYou just need to set <code>jkube.build.strategy</code> property to <code>jib</code>. It will delegate the build process to\n<a href=\"https://github.com/GoogleContainerTools/jib\">JIB</a>. It creates a tarball inside your target directory which can be loaded\ninto any docker daemon afterwards. You may also push the image to your specified registry using push goal with feature flag enabled.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can find more details at <a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/spring-boot-with-jib\">Spring Boot JIB Quickstart</a>.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"faq\">15. FAQ</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_general_questions\">15.1. General questions</h3>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_define_an_environment_variable\">15.1.1. How do I define an environment variable?</h4>\n<div class=\"paragraph\">\n<p>The easiest way is to add a <code>src/main/jkube/deployment.yml</code> file to your project containing something like:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n template:\n spec:\n containers:\n -env:\n - name: FOO\n value: bar</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The above will generate an environment variable <code>$FOO</code> of value <code>bar</code></p>\n</div>\n<div class=\"paragraph\">\n<p>For a full list of the environments used in java base images, <a href=\"https://hub.docker.com/r/jkube.java-jboss-openjdk8-jdk\">see this list</a></p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_define_a_system_property\">15.1.2. How do I define a system property?</h4>\n<div class=\"paragraph\">\n<p>The simplest way is to add system properties to the <code>JAVA_OPTIONS</code> environment variable.</p>\n</div>\n<div class=\"paragraph\">\n<p>For a full list of the environments used in java base images, <a href=\"https://hub.docker.com/r/jkube.java-jboss-openjdk8-jdk\">see this list</a></p>\n</div>\n<div class=\"paragraph\">\n<p>e.g. add a <code>src/main/jkube/deployment.yml</code> file to your project containing something like:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n template:\n spec:\n containers:\n - env:\n - name: JAVA_OPTIONS\n value: \"-Dfoo=bar -Dxyz=abc\"</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The above will define the system properties <code>foo=bar</code> and <code>xyz=abc</code></p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_mount_a_config_file_from_a_configmap\">15.1.3. How do I mount a config file from a ConfigMap?</h4>\n<div class=\"paragraph\">\n<p>First you need to create your <code>ConfigMap</code> resource via a file <code>src/main/jkube/configmap.yml</code></p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">data:\n application.properties: |\n # spring application properties file\n welcome = Hello from Kubernetes ConfigMap!!!\n dummy = some value</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then mount the entry in the <code>ConfigMap</code> into your <code>Deployment</code> via a file <code>src/main/jkube/deployment.yml</code></p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">metadata:\n annotations:\n configmap.jkube.io/update-on-change: ${project.artifactId}\nspec:\n replicas: 1\n template:\n spec:\n volumes:\n - name: config\n configMap:\n name: ${project.artifactId}\n items:\n - key: application.properties\n path: application.properties\n containers:\n - volumeMounts:\n - name: config\n mountPath: /deployments/config</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Here is <a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/external-resources\">an example quickstart doing this</a></p>\n</div>\n<div class=\"paragraph\">\n<p>Note that the annotation <code>configmap.jkube.io/update-on-change</code> is optional; its used if your application is not capable\nof watching for changes in the <code>/deployments/config/application.properties</code> file. In this case if you are also running\nthe <a href=\"https://github.com/fabric8io/configmapcontroller\">configmapcontroller</a> then this will cause a rolling upgrade of your\napplication to use the new <code>ConfigMap</code> contents as you change it.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_use_a_persistent_volume\">15.1.4. How do I use a Persistent Volume?</h4>\n<div class=\"paragraph\">\n<p>First you need to create your <code>PersistentVolumeClaim</code> resource via a file <code>src/main/jkube/foo-pvc.yml</code> where <code>foo</code> is the name of the <code>PersistentVolumeClaim</code>. It might be your app requires multiple vpersistent volumes so you will need multiple <code>PersistentVolumeClaim</code> resources.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 100Mi</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then to mount the <code>PersistentVolumeClaim</code> into your <code>Deployment</code> create a file <code>src/main/jkube/deployment.yml</code></p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n template:\n spec:\n volumes:\n - name: foo\n persistentVolumeClaim:\n claimName: foo\n containers:\n - volumeMounts:\n - mountPath: /whatnot\n name: foo</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Where the above defines the <code>PersistentVolumeClaim</code> called <code>foo</code> which is then mounted into the container at <code>/whatnot</code></p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_generate_ingress_for_my_generated_service\">15.1.5. How do I generate Ingress for my generated Service?</h4>\n<div class=\"paragraph\">\n<p><code>Ingress</code> generation is supported by Eclipse JKube for <code>Service</code> objects of type <code>LoadBalancer</code>. In order to generate <code>Ingress</code> you need to enable <code>jkube.createExternalUrls</code> property to <code>true</code> and <code>jkube.domain</code> property to desired host suffix, it would be appended to your service name for host value. You can also also provide a host for it in XML config like this:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n\n <configuration>\n <resources>\n <routeDomain>org.eclipse.jkube</routeDomain>\n </resources>\n\n <enricher>\n <config>\n <jkube-service>\n <type>LoadBalancer</type>\n </jkube-service>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>You can find an example in our <a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/spring-boot\">spring-boot</a> quickstart in <code>kubernetes-with-ingress</code> profile.</p>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"appendix\">16. Appendix</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_kindfilename_type_mapping\">16.1. Kind/Filename Type Mapping</h3>\n<table id=\"appendix-kind-mapping\" class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 50%;\">\n<col style=\"width: 50%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Kind</th>\n<th class=\"tableblock halign-left valign-top\">Filename Type</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">BuildConfig</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>bc</code>, <code>buildconfig</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ClusterRole</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>cr</code>, <code>crole</code>, <code>clusterrole</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ConfigMap</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>cm</code>, <code>configmap</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ClusterRoleBinding</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>crb</code>, <code>clusterrb</code>, <code>clusterrolebinding</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">CronJob</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>cj</code>, <code>cronjob</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">CustomResourceDefinition</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>crd</code>, <code>customerresourcedefinition</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">DaemonSet</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>ds</code>, <code>daemonset</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Deployment</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>deployment</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">DeploymentConfig</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>dc</code>, <code>deploymentconfig</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ImageStream</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>is</code>, <code>imagestream</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ImageStreamTag</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>istag</code>, <code>imagestreamtag</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Ingress</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>ingress</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Job</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>job</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">LimitRange</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>lr</code>, <code>limitrange</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Namespace</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>ns</code>, <code>namespace</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OAuthClient</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>oauthclient</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">PolicyBinding</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pb</code>, <code>policybinding</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">PersistentVolume</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pv</code>, <code>persistentvolume</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">PersistentVolumeClaim</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pvc</code>, <code>persistemtvolumeclaim</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Project</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>project</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ProjectRequest</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pr</code>, <code>projectrequest</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ReplicaSet</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rs</code>, <code>replicaset</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ReplicationController</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rc</code>, <code>replicationcontroller</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ResourceQuota</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rq</code>, <code>resourcequota</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Role</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>role</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">RoleBinding</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rb</code>, <code>rolebinding</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">RoleBindingRestriction</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rbr</code>, <code>rolebindingrestriction</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Route</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>route</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Secret</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>secret</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Service</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>svc</code>, <code>service</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ServiceAccount</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>sa</code>, <code>serviceaccount</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">StatefulSet</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>statefulset</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Template</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>template</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Pod</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pd</code>, <code>pod</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_custom_kindfilename_mapping\">16.2. Custom Kind/Filename Mapping</h3>\n<div class=\"paragraph\">\n<p>You can add your custom <code>Kind/Filename</code> mappings.\nTo do it you have two approaches:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Setting an environment variable or system property called <code>jkube.mapping</code> pointing out to a <code>.properties</code> files with pairs <code><kind>⇒filename1>, <filename2></code>\nBy default if no environment variable nor system property is set, scan for a file located at classpath <code>/META-INF/jkube.kind-filename-type-mapping-default.properties</code>.</p>\n</li>\n<li>\n<p>By embedding in MOJO configuration the mapping:</p>\n</li>\n</ul>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <configuration>\n <mappings>\n <mapping>\n <kind>Var</kind>\n <filenameTypes>foo, bar</filenameTypes>\n </mapping>\n </mappings>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n</div>\n</div>","document":{"title":"org.eclipse.jkube/kubernetes-maven-plugin","subtitle":""}}},"pageContext":{"id":"081d2529-9b9a-5041-ae97-dcfc63ad4610","langKey":"en"}}}
\ No newline at end of file
+{"componentChunkName":"component---src-templates-doc-jsx","path":"/docs/kubernetes-maven-plugin","result":{"data":{"asciidocCopy":{"html":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>© 2020 The original authors.</p>\n</div>\n<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\" class=\"title\">kubernetes-maven-plugin</div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#introduction\">1. Introduction</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#building-images\">1.1. Building Images</a></li>\n<li><a href=\"#resource-descriptors\">1.2. Kubernetes Resources</a></li>\n<li><a href=\"#_configuration\">1.3. Configuration</a></li>\n<li><a href=\"#_examples\">1.4. Examples</a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#zero-config\">1.4.1. Zero-Config</a></li>\n<li><a href=\"#_xml_configuration\">1.4.2. XML Configuration</a></li>\n<li><a href=\"#_resource_fragments\">1.4.3. Resource Fragments</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a href=\"#compatibility-with-Kubernetes\">2. Compatibility with Kubernetes</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#kubernetes-compatibility\">2.1. Kubernetes Compatibility</a></li>\n</ul>\n</li>\n<li><a href=\"#installation\">3. Installation</a></li>\n<li><a href=\"#goals\">4. Goals Overview</a></li>\n<li><a href=\"#goals-overview-build\">5. Build Goals</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#jkube:resource\">5.1. <strong>k8s:resource</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#resource-labels-annotations\">5.1.1. Labels and Annotations</a></li>\n<li><a href=\"#resource-secrets\">5.1.2. Secrets</a></li>\n<li><a href=\"#resource-validation\">5.1.3. Resource Validation</a></li>\n<li><a href=\"#Supported-Properties-Resource\">5.1.4. Supported Properties for Resource goal</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:build\">5.2. <strong>k8s:build</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#build-kubernetes\">5.2.1. Kubernetes Build</a></li>\n<li><a href=\"#build-goal-configuration\">5.2.2. Configuration (XML)</a></li>\n<li><a href=\"#_kubernetes_access_configuration\">5.2.3. Kubernetes Access Configuration</a></li>\n<li><a href=\"#_image_configuration\">5.2.4. Image Configuration</a></li>\n<li><a href=\"#build-configuration\">5.2.5. Build Configuration</a></li>\n<li><a href=\"#build-assembly\">5.2.6. Assembly</a></li>\n<li><a href=\"#misc-env\">5.2.7. Environment and Labels</a></li>\n<li><a href=\"#misc-startup\">5.2.8. Startup Arguments</a></li>\n<li><a href=\"#build-buildargs\">5.2.9. Build Args</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:push\">5.3. <strong>k8s:push</strong></a></li>\n<li><a href=\"#jkube:apply\">5.4. <strong>k8s:apply</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#Supported-Properties-Apply\">5.4.1. Supported Properties For Apply goal</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:helm\">5.5. <strong>k8s:helm</strong></a></li>\n</ul>\n</li>\n<li><a href=\"#goals-overview-develop\">6. Development Goals</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#jkube:deploy\">6.1. <strong>k8s:deploy</strong></a></li>\n<li><a href=\"#jkube:undeploy\">6.2. <strong>k8s:undeploy</strong></a></li>\n<li><a href=\"#jkube:log\">6.3. <strong>k8s:log</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#Supported-Properties-Log\">6.3.1. Supported Properties for Log goal</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:debug\">6.4. <strong>k8s:debug</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#_speeding_up_debugging\">6.4.1. Speeding up debugging</a></li>\n<li><a href=\"#_debugging_with_suspension\">6.4.2. Debugging with suspension</a></li>\n<li><a href=\"#Supported-Properties-Debug\">6.4.3. Supported Properties For Debug Goal</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:watch\">6.5. <strong>k8s:watch</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#watcher-spring-boot\">6.5.1. Spring Boot</a></li>\n<li><a href=\"#watcher-docker-image\">6.5.2. Docker Image</a></li>\n<li><a href=\"#Supported-Properties-Watch\">6.5.3. Supported Properties for Watch goal</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a href=\"#generators\">7. Generators</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#generators-default\">7.1. Default Generators</a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#generator-java-exec\">7.1.1. Java Applications</a></li>\n<li><a href=\"#generator-spring-boot\">7.1.2. Spring Boot</a></li>\n<li><a href=\"#generator-wildfly-swarm\">7.1.3. Wildfly Swarm</a></li>\n<li><a href=\"#generator-thorntail-v2\">7.1.4. Thorntail v2</a></li>\n<li><a href=\"#generator-vertx\">7.1.5. Vert.x</a></li>\n<li><a href=\"#generator-karaf\">7.1.6. Karaf</a></li>\n<li><a href=\"#generator-webapp\">7.1.7. Web Applications</a></li>\n<li><a href=\"#generator-quarkus\">7.1.8. Quarkus</a></li>\n<li><a href=\"#generator-openliberty\">7.1.9. Open Liberty</a></li>\n<li><a href=\"#generator-wildfly-jar\">7.1.10. Wildfly JAR Generator</a></li>\n</ul>\n</li>\n<li><a href=\"#generators-api\">7.2. Generator API</a></li>\n</ul>\n</li>\n<li><a href=\"#enrichers\">8. Enrichers</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#enrichers-default\">8.1. Default Enrichers</a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#enrichers-generic\">8.1.1. Generic Enrichers</a></li>\n<li><a href=\"#enrichers-specific\">8.1.2. Specific Enrichers</a></li>\n</ul>\n</li>\n<li><a href=\"#_enricher_api\">8.2. Enricher API</a></li>\n</ul>\n</li>\n<li><a href=\"#profiles\">9. Profiles</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#generator-enricher-definition\">9.1. Generator and Enricher definitions</a></li>\n<li><a href=\"#profiles-lookup-order\">9.2. Lookup order</a></li>\n<li><a href=\"#profiles-using\">9.3. Using Profiles</a></li>\n<li><a href=\"#profiles-predefined\">9.4. Predefined Profiles</a></li>\n<li><a href=\"#profiles-extended\">9.5. Extending Profiles</a></li>\n</ul>\n</li>\n<li><a href=\"#access-configuration\">10. Access configuration</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_docker_access\">10.1. Docker Access</a></li>\n<li><a href=\"#_openshift_and_kubernetes_access\">10.2. OpenShift and Kubernetes Access</a></li>\n</ul>\n</li>\n<li><a href=\"#registry\">11. Registry handling</a></li>\n<li><a href=\"#authentication\">12. Authentication</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_pull_vs_push_authentication\">12.1. Pull vs. Push Authentication</a></li>\n<li><a href=\"#_openshift_authentication\">12.2. OpenShift Authentication</a></li>\n<li><a href=\"#password-encryption\">12.3. Password encryption</a></li>\n<li><a href=\"#extended-authentication\">12.4. Extended Authentication</a></li>\n</ul>\n</li>\n<li><a href=\"#volume-configuration\">13. Volume Configuration</a></li>\n<li><a href=\"#integrations\">14. Integrations</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#integrations.dekorate\">14.1. Dekorate</a></li>\n<li><a href=\"#_jib_java_image_builder\">14.2. JIB (Java Image Builder)</a></li>\n</ul>\n</li>\n<li><a href=\"#faq\">15. FAQ</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_general_questions\">15.1. General questions</a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#_how_do_i_define_an_environment_variable\">15.1.1. How do I define an environment variable?</a></li>\n<li><a href=\"#_how_do_i_define_a_system_property\">15.1.2. How do I define a system property?</a></li>\n<li><a href=\"#_how_do_i_mount_a_config_file_from_a_configmap\">15.1.3. How do I mount a config file from a ConfigMap?</a></li>\n<li><a href=\"#_how_do_i_use_a_persistent_volume\">15.1.4. How do I use a Persistent Volume?</a></li>\n<li><a href=\"#_how_do_i_generate_ingress_for_my_generated_service\">15.1.5. How do I generate Ingress for my generated Service?</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a href=\"#appendix\">16. Appendix</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_kindfilename_type_mapping\">16.1. Kind/Filename Type Mapping</a></li>\n<li><a href=\"#_custom_kindfilename_mapping\">16.2. Custom Kind/Filename Mapping</a></li>\n</ul>\n</li>\n</ul>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"introduction\">1. Introduction</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>The <strong>kubernetes-maven-plugin</strong> brings your Java applications on to\n<a href=\"http://kubernetes.io/\">Kubernetes</a>.\nIt provides a tight integration into <a href=\"http://maven.apache.org\">Maven</a> and benefits from the build configuration already provided.\nThis plugin focus on two tasks: <em>Building Docker images</em> and <em>creating Kubernetes resource descriptors</em>.\nIt can be configured very flexibly and supports multiple configuration models for creating: A <em>Zero-Config</em> setup allows for a quick ramp-up with some opinionated defaults.\nFor more advanced requirements, an <em>XML configuration</em> provides additional configuration options which can be added to the <code>pom.xml</code>.\nFor the full power, in order to tune all facets of the creation, external <em>resource fragments</em> and <em>Dockerfiles</em> can be used.</p>\n</div>\n<div class=\"sect2\">\n<h3 id=\"building-images\">1.1. Building Images</h3>\n<div class=\"paragraph\">\n<p>The <a href=\"#jkube:build\"><strong>k8s:build</strong></a> goal is for creating Docker images containing the actual application. These then can be deployed later on Kubernetes or OpenShift.\nIt is easy to include build artifacts and their dependencies into these images.\nThis plugin uses the assembly descriptor format similar to the one used in\n<a href=\"http://maven.apache.org/plugins/maven-assembly-plugin/\">maven-assembly-plugin</a> to specify the content which will be added\nto the image.\nThat images can then be pushed to public or private Docker registries with <a href=\"#jkube:push\"><strong>k8s:push</strong></a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Depending on the operational mode, for building the actual image either a Docker daemon is used directly or an <a href=\"https://docs.openshift.com/enterprise/3.0/architecture/core_concepts/builds_and_image_streams.html#docker-build\">OpenShift Docker Build</a> is performed.</p>\n</div>\n<div class=\"paragraph\">\n<p>A special <a href=\"#jkube:watch\"><strong>k8s:watch</strong></a> goal allows for reacting to code changes to automatically recreate images or copy new artifacts into running containers.</p>\n</div>\n<div class=\"paragraph\">\n<p>These image related features are inherited from the <a href=\"https://github.com/fabric8io/docker-maven-plugin\">jkubeio/docker-maven-plugin</a> which is part of this plugin.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"resource-descriptors\">1.2. Kubernetes Resources</h3>\n<div class=\"paragraph\">\n<p>Kubernetes resource descriptors can be created or generated from <a href=\"#jkube:resource\"><strong>k8s:resource</strong></a>.\nThese files are packaged within the Maven artifacts and can be deployed to a running orchestration platform with <a href=\"#jkube:apply\"><strong>k8s:apply</strong></a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Typically you only specify a small part of the real resource descriptors which will be enriched by this plugin with various extra information taken from the <code>pom.xml</code>.\nThis drastically reduces boilerplate code for common scenarios.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_configuration\">1.3. Configuration</h3>\n<div class=\"paragraph\">\n<p>As mentioned already there are three levels of configuration:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><strong>Zero-Config</strong> mode makes some very opinionated decisions based on what is present in the pom.xml like what base image to use or which ports to expose.\nThis is great for starting up things and for keeping quickstart applications small and tidy.</p>\n</li>\n<li>\n<p><strong>XML plugin configuration</strong> mode is similar to what <a href=\"https://dmp.fabric8.io/#example\">docker-maven-plugin</a> provides.\nThis allows for type-safe configuration with IDE support, but only a subset of possible resource descriptor features is provided.</p>\n</li>\n<li>\n<p><strong>Kubernetes & OpenShift resource fragments</strong> are user provided YAML files that can be <em>enriched</em> by the plugin. This allows expert users to use a plain configuration file with all their capabilities, but also to add project specific build information and avoid boilerplate code.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The following table gives an overview of the different models</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 1. Configuration Models</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 50%;\">\n<col style=\"width: 37.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Model</th>\n<th class=\"tableblock halign-left valign-top\">Docker Images</th>\n<th class=\"tableblock halign-left valign-top\">Resource Descriptors</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Zero-Config</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generators\">Generators</a> are used to create Docker image configurations. Generators can detect certain aspects of\n the build (e.g. whether Spring Boot is used) and then choose some opinionated defaults like the base image, which\n ports to expose and the startup command. They can be configured, but offer only a few options.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default <a href=\"#enrichers\">Enrichers</a> will create a default <em>Service</em> and <em>Deployment</em> (<em>DeploymentConfig</em> for OpenShift)\n when no other resource objects are provided. Depending on the image they can detect which port to expose in the\n service. As with Generators, Enrichers support a limited set of configuration options.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>XML configuration</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">kubernetes-maven-plugin inherits the XML based configuration for building images from the\n <a href=\"https://dmp.fabric8.io/#docker:build\">docker-maven-plugin</a> and provides the same functionality. It supports an\n <a href=\"http://maven.apache.org/components/plugins/maven-assembly-plugin/assembly.html\">assembly descriptor</a> for specifying the\n content of the Docker image.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A subset of possible resource objects can be configured with a dedicated XML syntax. With a decent IDE you get\n autocompletion on most objects and inline documentation for the available configuration elements. The provided\n configuration can be still enhanced by Enhancers which is useful for adding e.g. labels and annotations containing\n build or other information.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Resource Fragments</strong> and <strong>Dockerfiles</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Similarly to the docker-maven-plugin, kubernetes-maven-plugin supports <a href=\"#external-dockerfile\">external Dockerfiles</a> too, which are\n referenced from the plugin configuration.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Resource descriptors can be provided as external YAML files which will build a base skeleton for the applicable resource.</p>\n<p class=\"tableblock\"> The \"skeleton\" is then post-processed by <a href=\"#enrichers\">Enrichers</a> which will complete the skeleton by adding the fields\n each enricher is responsible of (labels, annotations, port information, etc.). Maven properties within these files\n are resolved to their values.</p>\n<p class=\"tableblock\"> With this model you can use every Kubernetes / OpenShift resource objects with all their flexibility, but still get the benefit\n of adding build information.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_examples\">1.4. Examples</h3>\n<div class=\"paragraph\">\n<p>Let’s have a look at some code. The following examples will demonstrate all three configurations variants:</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"zero-config\">1.4.1. Zero-Config</h4>\n<div class=\"paragraph\">\n<p>This minimal but full working example <code>pom.xml</code> shows how a simple spring boot application can be dockerized and\nprepared for Kubernetes. The full example can be found in directory\n<a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/zero-config\">quickstarts/maven/zero-config</a>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><project>\n <modelVersion>4.0.0</modelVersion>\n\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>jkube-maven-sample-zero-config</artifactId>\n <version>1.0.0-rc-1</version>\n <packaging>jar</packaging>\n\n <parent>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-starter-parent</artifactId> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <version>1.5.5.RELEASE</version>\n </parent>\n\n <dependencies>\n <dependency>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-starter-web</artifactId> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n </dependency>\n </dependencies>\n\n <build>\n <plugins>\n <plugin>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-maven-plugin</artifactId> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n </plugin>\n <plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n <version>1.0.0-rc-1</version>\n </plugin>\n </plugins>\n </build>\n</project></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>This minimalistic spring boot application uses the spring-boot parent POM for setting up dependencies and plugins</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>The Spring Boot web starter dependency enables a simple embedded Tomcat for serving Spring MVC apps</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td>The <code>spring-boot-maven-plugin</code> is responsible for repackaging the application into a fat jar, including all dependencies and the embedded Tomcat</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>The <code>kubernetes-maven-plugin</code> enables the automatic generation of a Docker image and Kubernetes / OpenShift descriptors including this Spring application.</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>This setup make some opinionated decisions for you:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>As base image <a href=\"https://quay.io/repository/jkube/jkube-java-binary-s2i\">jkube/jkube-java-binary-s2i</a>\nis chosen which enables <a href=\"https://www.jolokia.org\">Jolokia</a> and <a href=\"https://github.com/prometheus/jmx_exporter\">jmx_exporter</a>.\nIt also comes with a sophisticated <a href=\"https://github.com/jboss-openshift/cct_module/tree/master/jboss/container/java/run/bash\">startup script</a>.</p>\n</li>\n<li>\n<p>It will create a Kubernetes <a href=\"http://kubernetes.io/docs/user-guide/deployments/\">Deployment</a> and a\n<a href=\"http://kubernetes.io/docs/user-guide/services/\">Service</a> as resource objects</p>\n</li>\n<li>\n<p>It exports port 8080 as the application service port (and 8778 and 9779 for Jolokia and jmx_exporter access, respectively)</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>These choices can be influenced by configuration options as described in <a href=\"#generator-spring-boot\">Spring Boot Generator</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>To start the Docker image build, you simply run</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-bash\" data-lang=\"bash\">mvn package k8s:build</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This will create the Docker image against a running Docker daemon (which must be accessible either via Unix Socket or\nwith the URL set in <code>DOCKER_HOST</code>). Alternatively, when connected to an OpenShift cluster (or using the <code>openshift</code>\n<a href=\"#build-mode\">mode</a> explicitly), then a Docker build will be performed on OpenShift which at the end creates an\n<a href=\"https://docs.openshift.com/enterprise/3.1/architecture/core_concepts/builds_and_image_streams.html\">ImageStream</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>To deploy the resources to the cluster call</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-bash\" data-lang=\"bash\">mvn k8s:resource k8s:deploy</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>By default a <em>Service</em> and a <em>Deployment</em> object pointing to the created Docker image is created. When running in OpenShift mode, a <em>Service</em> and <em>DeploymentConfig</em> which refers the <em>ImageStream</em> created with <code>k8s:build</code> will be installed.</p>\n</div>\n<div class=\"paragraph\">\n<p>Of course you can bind all those jkube.goals to execution phases as well, so that they are called along with standard lifecycle goals like <code>install</code>. For example, to bind the building of the Kubernetes resource files and the Docker images, add the following goals to the execution of the kubernetes-maven-plugin:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for lifecycle bindings</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n\n <!-- ... -->\n\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If you’d also like to automatically deploy to Kubernetes each time you do a <code>mvn install</code> you can add the <code>apply</code> goal:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for lifecycle bindings with automatic deploys for mvn install</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n\n <!-- ... -->\n\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n <goal>apply</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_xml_configuration\">1.4.2. XML Configuration</h4>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nXML based configuration is only partially implemented and is not recommended for use right now.\n</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>Although the Zero-config mode and its generators can be tweaked with options up to a certain degree, many cases require more flexibility. For such instances, an XML-based plugin configuration can be used, in a way similar to the\n<a href=\"https://dmp.fabric8.io/#configuration\">XML configuration</a> used by <code>docker-maven-plugin</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The plugin configuration can be roughly divided into the following sections:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Global configuration options are responsible for tuning the behaviour of plugin goals</p>\n</li>\n<li>\n<p><code><images></code> defines which Docker <a href=\"#image-configuration\">images</a> are used and configured. This section is similar to the\n<a href=\"https://dmp.fabric8.io//#image-configuration\">image configuration</a> of the <code>docker-maven-plugin</code>, except that <code><run></code>\nand <code><external></code> sub-elements are ignored)</p>\n</li>\n<li>\n<p><code><resource></code> defines the resource descriptors for deploying on an OpenShift or Kuberneres cluster.</p>\n</li>\n<li>\n<p><code><generator></code> configures <a href=\"#generators\">generators</a> which are responsible for creating images. Generators are used as an alternative to a dedicated <code><images></code> section.</p>\n</li>\n<li>\n<p><code><enricher></code> configures various aspects of <a href=\"#enrichers\">enrichers</a> for creating or enhancing resource descriptors.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>A working example can be found in the\n<a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/xml-config\">quickstarts/maven/xml-config</a> directory.\nAn extract of the plugin configuration is shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for an XML configuration</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <namespace>test-ns</namespace>\n <images> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <image>\n <name>xml-config-demo:1.0.0</name>\n <!-- \"alias\" is used to correlate to the containers in the pod spec -->\n <alias>camel-app</alias>\n <build>\n <from>fabric8/java-centos-openjdk8-jre</from>\n <assembly>\n <inline>\n <baseDirectory>/deployments</baseDirectory>\n </inline>\n </assembly>\n <env>\n <JAVA_LIB_DIR>/deployments</JAVA_LIB_DIR>\n <JAVA_MAIN_CLASS>org.apache.camel.cdi.Main</JAVA_MAIN_CLASS>\n </env>\n </build>\n </image>\n </images>\n\n <resources> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n <labels> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n <all>\n <group>quickstarts</group>\n </all>\n </labels>\n\n <replicas>2</replicas> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n <controllerName>${project.artifactId}</controllerName> <i class=\"conum\" data-value=\"5\"></i><b>(5)</b>\n\n <services> <i class=\"conum\" data-value=\"6\"></i><b>(6)</b>\n <service>\n <name>camel-service</name>\n <headless>true</headless>\n </service>\n </services>\n\n <serviceAccounts>\n <serviceAccount>\n <name>build-robot</name>\n </serviceAccount>\n </serviceAccounts>\n </resources>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Standard docker-maven-plugin configuration for building one single Docker image</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>Kubernetes / OpenShift resources to create</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td>Labels which should be applied globally to all resource objects</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>Number of replicas desired</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"5\"></i><b>5</b></td>\n<td>Name of controller created by plugin</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"6\"></i><b>6</b></td>\n<td>One or more <a href=\"http://kubernetes.io/docs/user-guide/services/\">Service</a> definitions.</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>The XML resource configuration is based on plain Kubernetes resource objects. When targeting OpenShift, Kubernetes resource descriptors will be automatically converted to their OpenShift counterparts, e.g. a Kubernetes <a href=\"http://kubernetes.io/docs/user-guide/deployments/\">Deployment</a> will be converted to an OpenShift <a href=\"https://docs.openshift.org/latest/architecture/core_concepts/deployments.html#deployments-and-deployment-configurations\">DeploymentConfig</a>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_resource_fragments\">1.4.3. Resource Fragments</h4>\n<div class=\"paragraph\">\n<p>The third configuration option is to use an external configuration in form of YAML resource descriptors which are located in the <code>src/main/jkube</code> directory. Each resource gets its own file, which contains a skeleton of a resource descriptor. The plugin will pick up the resource, enrich it and then combine all to a single <code>kubernetes.yml</code> and <code>openshift.yml</code> file. Within these descriptor files you are can freely use any Kubernetes feature.</p>\n</div>\n<div class=\"paragraph\">\n<p>Note: In order to support simultaneously both OpenShift and Kubernetes, there is currently no way to specify OpenShift-only features this way, though this might change in future releases.</p>\n</div>\n<div class=\"paragraph\">\n<p>Let’s have a look at an example from\n<a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/external-resources\">quickstarts/maven/external-resources</a>.\nThis is a plain Spring Boot application, whose images are auto generated like in the <a href=\"#zero-config\">Zero-Config</a> case.\nThe resource fragments are in <code>src/main/jkube</code>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example fragment \"deployment.yml\"</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n replicas: 1\n template:\n spec:\n volumes:\n - name: config\n gitRepo:\n repository: 'https://github.com/jstrachan/sample-springboot-config.git'\n revision: 667ee4db6bc842b127825351e5c9bae5a4fb2147\n directory: .\n containers:\n - volumeMounts:\n - name: config\n mountPath: /app/config\n env:\n - name: KUBERNETES_NAMESPACE\n valueFrom:\n fieldRef:\n apiVersion: v1\n fieldPath: metadata.namespace\n serviceAccount: ribbon</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>As you can see, there is no <code>metadata</code> section as would be expected for Kubernetes resources because it will be automatically added by the <code>kubernetes-maven-plugin</code>. The object’s <code>Kind</code>, if not given, is automatically derived from the\nfilename. In this case, the <code>kubernetes-maven-plugin</code> will create a <code>Deployment</code> because the file is called <code>deployment.yml</code>. Similar mappings between file names and resource type exist for each supported resource kind, the\ncomplete list of which (along with associated abbreviations) can be found in the <a href=\"#appendix-kind-mapping\">Appendix</a>.</p>\n</div>\n<div class=\"admonitionblock note\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-note\" title=\"Note\"></i>\n</td>\n<td class=\"content\">\nNow that sidecar containers are supported in this plugin(if <code>jkube.sidecar</code> is enabled), be careful whenever you’re supplying container name in the resource fragment. If container specified in resource fragment doesn’t have a name or it’s name is equal to default fmp generated application’s container name; it would not be treated as sidecar and it would be merged into main container. However, You can override plugin’s default name for main container via <code>jkube.generator.alias</code> property.\n</td>\n</tr>\n</table>\n</div>\n<hr>\n<div class=\"paragraph\">\n<p>Additionally, if you name your fragment using a name prefix followed by a dash and the mapped file name, the plugin will automatically use that name for your resource. So, for example, if you name your deployment fragment\n<code>myapp-deployment.yml</code>, the plugin will name your resource <code>myapp</code>. In the absence of such provided name for your resource, a name will be automatically derived from your project’s metadata (in particular, its <code>artifactId</code> as specified in your POM).</p>\n</div>\n<div class=\"paragraph\">\n<p>No image is also referenced in this example because the plugin also fills in the image details based on the configured image you are building with (either from a generator or from a dedicated image plugin configuration, as seen before).</p>\n</div>\n<div class=\"admonitionblock note\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-note\" title=\"Note\"></i>\n</td>\n<td class=\"content\">\nFor building images there is also an alternative mode using external Dockerfiles, in addition to the XML based configuration. Refer to <a href=\"#build-overview\">k8s:build</a> for details.\n</td>\n</tr>\n</table>\n</div>\n<hr>\n<div class=\"paragraph\">\n<p>Enrichment of resource fragments can be fine-tuned by using profile sub-directories. For more details see <a href=\"#profiles\">Profiles</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Now that we have seen some examples of the various ways how this plugin can be used, the following sections will describe the plugin goals and extension points in detail.</p>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"compatibility-with-Kubernetes\">2. Compatibility with Kubernetes</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"kubernetes-compatibility\">2.1. Kubernetes Compatibility</h3>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 2. Kubernetes Compatibility</caption>\n<colgroup>\n<col style=\"width: 20%;\">\n<col style=\"width: 20%;\">\n<col style=\"width: 20%;\">\n<col style=\"width: 20%;\">\n<col style=\"width: 20%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">KMP</th>\n<th class=\"tableblock halign-left valign-top\">Kubernetes 1.18</th>\n<th class=\"tableblock halign-left valign-top\">Kubernetes 1.17</th>\n<th class=\"tableblock halign-left valign-top\">Kubernetes 1.14</th>\n<th class=\"tableblock halign-left valign-top\">Kubernetes 1.12</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">KMP 1.0.0-rc-1</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">KMP 1.0.0-alpha-4</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">KMP 1.0.0-alpha-3</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">x</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">KMP 1.0.0-alpha-2</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">x</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">KMP 1.0.0-alpha-1</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">x</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">KMP 0.2.0</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">x</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">KMP 0.1.1</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">x</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">x</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">KMP 0.1.0</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">x</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">x</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"installation\">3. Installation</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This plugin is available from Maven central and can be connected to\npre- and post-integration phase as seen below. The configuration and\navailable goals are described below.</p>\n</div>\n<div class=\"paragraph\">\n<p>By default, Maven will only search for plugins in the <code>org.apache.maven.plugins</code> and <code>org.codehaus.mojo</code> packages. In order to resolve the provider for the JKube plugin goals, you need to edit <code>~/.m2/settings.xml</code> and add the <code>org.eclipse.jkube</code> namespace so the <code><pluginGroups></code> configuration.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><settings>\n ...\n\n <pluginGroups>\n <pluginGroup>org.eclipse.jkube</pluginGroup>\n </pluginGroups>\n\n ...\n</settings></code></pre>\n</div>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n\n <configuration>\n ....\n <images>\n <!-- A single's image configuration -->\n <image>\n ...\n <build>\n ....\n </build>\n </image>\n ....\n </images>\n </configuration>\n\n <!-- Connect k8s:resource, k8s:build and k8s:helm to lifecycle phases -->\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n <goal>helm</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"goals\">4. Goals Overview</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This plugin supports a rich set for providing a smooth Java developer experience. These goals can be categorized in multiple groups:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"#goals-build\">Build goals</a> are all about creating and managing Kubernetes build artifacts like Docker images or S2I builds.</p>\n</li>\n<li>\n<p><a href=\"#goals-develop\">Development goals</a> target help not only in deploying resource descriptors to the development cluster but also to manage the lifecycle of the development cluster as well.</p>\n</li>\n</ul>\n</div>\n<table id=\"goals-build\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 3. Build Goals</caption>\n<colgroup>\n<col style=\"width: 25%;\">\n<col style=\"width: 75%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Goal</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:build\"><strong>k8s:build</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Build images</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:push\"><strong>k8s:push</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Push images to a registry</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:resource\"><strong>k8s:resource</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Create Kubernetes or OpenShift resource descriptors</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:apply\"><strong>k8s:apply</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Apply resources to a running cluster</p></td>\n</tr>\n</tbody>\n</table>\n<table id=\"goals-develop\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 4. Development Goals</caption>\n<colgroup>\n<col style=\"width: 25%;\">\n<col style=\"width: 75%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Goal</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:deploy\"><strong>k8s:deploy</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Deploy resources descriptors to a cluster after creating them and building the app. Same as <a href=\"#jkube:run\">[jkube:run]</a> except that it runs in the background.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:undeploy\"><strong>k8s:undeploy</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Undeploy and remove resources descriptors from a cluster.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:watch\"><strong>k8s:watch</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Watch for file changes and perform rebuilds and redeployments</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:log\"><strong>k8s:log</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Show the logs of the running application</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:debug\"><strong>k8s:debug</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Enable remote debugging</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Depending on whether the OpenShift or Kubernetes operational mode is used, the workflow and the performed actions differs :</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 5. Workflows</caption>\n<colgroup>\n<col style=\"width: 11.1111%;\">\n<col style=\"width: 44.4444%;\">\n<col style=\"width: 44.4445%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Use Case</th>\n<th class=\"tableblock halign-left valign-top\">Kubernetes</th>\n<th class=\"tableblock halign-left valign-top\">OpenShift</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Build</p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p><code>k8s:build</code> <code>k8s:push</code></p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Creates an image against an exposed Docker daemon (with a <code>docker.tar</code>)</p>\n</li>\n<li>\n<p>Pushes the image to a registry which is then referenced from the configuration</p>\n</li>\n</ul>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p><code>k8s:build</code></p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Creates or uses a <code>BuildConfig</code></p>\n</li>\n<li>\n<p>Creates or uses an <code>ImageStream</code> which can be referenced by the deployment descriptors in a <code>DeploymenConfig</code></p>\n</li>\n<li>\n<p>Starts an OpenShift build with a <code>docker.tar</code> as input</p>\n</li>\n</ul>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Deploy</p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p><code>k8s:deploy</code></p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Applies a Kubernetes resource descriptor to cluster</p>\n</li>\n</ul>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p><code>k8s:deploy</code></p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Applies an OpenShift resource descriptor to a cluster</p>\n</li>\n</ul>\n</div></div></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"goals-overview-build\">5. Build Goals</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"jkube:resource\">5.1. <strong>k8s:resource</strong></h3>\n<div class=\"paragraph\">\n<p>This goal generates Kubernetes resources based on your project. It can either be opinionated defaults or\nbased on the configuration provided in XML config or resource fragments in <code>src/main/jkube</code>.\nGenerated resources are in <code>target/classes/META-INF/jkube/kubernetes</code> directory.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"resource-labels-annotations\">5.1.1. Labels and Annotations</h4>\n<div class=\"paragraph\">\n<p>Labels and annotations can be easily added to any resource object. This is best explained by an example.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for label and annotations</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <!-- ... -->\n <configuration>\n <!-- ... -->\n <resources>\n <labels> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <all> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <property> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n <name>organisation</name>\n <value>unesco</value>\n </property>\n </all>\n <service> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n <property>\n <name>database</name>\n <value>mysql</value>\n </property>\n <property>\n <name>persistent</name>\n <value>true</value>\n </property>\n </service>\n <replicaSet> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n <!-- ... -->\n </replicaSet>\n <pod> <i class=\"conum\" data-value=\"5\"></i><b>(5)</b>\n <!-- ... -->\n </pod>\n <deployment> <i class=\"conum\" data-value=\"6\"></i><b>(6)</b>\n <!-- ... -->\n </deployment>\n </labels>\n\n <annotations> <i class=\"conum\" data-value=\"7\"></i><b>(7)</b>\n <!-- ... -->\n </annotations>\n <remotes> <i class=\"conum\" data-value=\"8\"></i><b>(8)</b>\n <remote>https://gist.githubusercontent.com/lordofthejars/ac2823cec7831697d09444bbaa76cd50/raw/e4b43f1b6494766dfc635b5959af7730c1a58a93/deployment.yaml</remote>\n </remotes>\n </resource>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td><code><labels></code> section with <code><resources></code> contains labels which should be applied to objects of various kinds</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>Within <code><all></code> labels which should be applied to <strong>every</strong> object can be specified</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td><code><service></code> labels are used to label services</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td><code><replicaSet></code> labels are for replica set and replication controller</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"5\"></i><b>5</b></td>\n<td><code><pod></code> holds labels for pod specifications in replication controller, replica sets and deployments</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"6\"></i><b>6</b></td>\n<td><code><deployment></code> is for labels on deployments (kubernetes) and deployment configs (openshift)</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"7\"></i><b>7</b></td>\n<td>The subelements are also available for specifying annotations.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"8\"></i><b>8</b></td>\n<td><code><remotes></code> you can set location of fragments as <code>URL</code>.</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>Labels and annotations can be specified in free form as a map. In this map, the element name is the name of the label or annotation respectively, whereas the content is the value to set.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following subelements are possible for <code><labels></code> and <code><annotations></code> :</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 6. Label and annotation configuration</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>all</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">All entries specified in the <code><all></code> sections are applied to all resource objects created.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>deployment</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels and annotations applied to <code>Deployment</code> (for Kubernetes).</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pod</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels and annotations applied pod specification as used in <code>ReplicationController</code>, <code>ReplicaSets</code>, <code>Deployments</code> and <code>DeploymentConfigs</code> objects.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>replicaSet</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels and annotations applied to <code>ReplicaSet</code> and <code>ReplicationController</code> objects.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>service</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels and annotations applied to <code>Service</code> objects.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"resource-secrets\">5.1.2. Secrets</h4>\n<div class=\"paragraph\">\n<p>Once you’ve configured some docker registry credentials into <code>~/.m2/setting.xml</code>, as explained in the\n<a href=\"#authentication\">Authentication</a> section, you can create Kubernetes secrets from a server declaration.</p>\n</div>\n<div class=\"paragraph\">\n<p><strong>XML configuration</strong></p>\n</div>\n<div class=\"paragraph\">\n<p>You can create a secret using xml configuration in the <code>pom.xml</code> file. It should contain the following fields:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">key</th>\n<th class=\"tableblock halign-left valign-top\">required</th>\n<th class=\"tableblock halign-left valign-top\">description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>dockerServerId</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>true</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">the server id which is configured in\n<code>~/.m2/setting.xml</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>true</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">this will be used as name of the kubernetes secret resource</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>namespace</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>false</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">the secret resource will be applied to the specific\nnamespace, if provided</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>This is best explained by an example.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for XML configuration</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <jkube.docker.registry>docker.io</docker.registry>\n</properties></code></pre>\n</div>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <resources>\n <secrets>\n <secret>\n <dockerServerId>${docker.registry}</dockerServerId>\n <name>mydockerkey</name>\n </secret>\n </secrets>\n </resources>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p><strong>Yaml fragment with annotation</strong></p>\n</div>\n<div class=\"paragraph\">\n<p>You can create a secret using a yaml fragment. You can reference the docker server id with an annotation\n<code>maven.jkube.io/dockerServerId</code>. The yaml fragment file should be put under\nthe <code>src/main/jkube/</code> folder.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">apiVersion: v1\nkind: Secret\nmetadata:\n name: mydockerkey\n namespace: default\n annotations:\n maven.jkube.io/dockerServerId: ${docker.registry}\ntype: kubernetes.io/dockercfg</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"resource-validation\">5.1.3. Resource Validation</h4>\n<div class=\"paragraph\">\n<p>Resource goal also validates the generated resource descriptors using API specification of <a href=\"https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json\">Kubernetes</a>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 7. Validation Configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipResourceValidation</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If value is set to <code>true</code> then resource validation is skipped. This may be useful if resource validation is failing\n for some reason but you still want to continue the deployment.</p>\n<p class=\"tableblock\"> Default is <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skipResourceValidation</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>failOnValidationError</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If value is set to <code>true</code> then any validation error will block the plugin execution. A warning will be printed\n otherwise.</p>\n<p class=\"tableblock\"> Default is <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.failOnValidationError</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Resource\">5.1.4. Supported Properties for Resource goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 8. Options available with resource goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>profile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Profile to use. A profile contains the enrichers and generators to use as well as their configuration. Profiles are\n looked up in the classpath and can be provided as yaml files.</p>\n<p class=\"tableblock\"> Defaults to <code>default</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.profile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>sidecar</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Whether to enable sidecar behavior or not. By default pod specs are merged into main application container.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.sidecar</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipHealthCheck</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Whether to skip health checks addition in generated resources or not.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skipHealthCheck</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>workDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The JKube working directory. Defaults to <code>${project.build.directory}/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.workDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>environment</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Environment name where resources are placed. For example, if you set this property to dev and resourceDir is the\n default one, plugin will look at <code>src/main/jkube/dev</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>null</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.environment</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>useProjectClassPath</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we use the project’s compile time classpath to scan for additional enrichers/generators.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.useProjectClassPath</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>resourceDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Folder where to find project specific files.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/src/main/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.resourceDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>targetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The generated Kubernetes manifests target direcotry.</p>\n<p class=\"tableblock\"> Defaults to <code>${project.build.outputDirectory}/META-INF/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.targetDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>resourceType</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The artifact type for attaching the generated resource file to the project. Can be either 'json' or 'yaml'.</p>\n<p class=\"tableblock\"> Defaults to <code>yaml</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.resourceType</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>mergeWithDekorate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">When resource generation is delegated to Dekorate, should JKube resources be merged with Dekorate generated ones.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.mergeWithDekorate</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipResource</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Skip resource generation.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.resource</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>createExternalUrls</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we create external Ingress for any LoadBalancer Services which don’t already have them.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.createExternalUrls</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>domain</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Domain added to the Service ID when creating Kubernetes Ingresses or OpenShift routes.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.domain</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:build\">5.2. <strong>k8s:build</strong></h3>\n<div class=\"paragraph\">\n<p>This goal is for building Docker images.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-kubernetes\">5.2.1. Kubernetes Build</h4>\n<div class=\"paragraph\">\n<p>If the mode is set to <code>kubernetes</code> then a normal Docker build is performed by default. The connection configuration to\naccess the Docker daemon is described in <a href=\"#access-configuration\">Access Configuration</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>In order to make the generated images available to the Kubernetes cluster the generated images need to be pushed to a\nregistry with the goal <a href=\"#jkube:push\"><strong>k8s:push</strong></a>. This is not necessary for single node clusters, though as there is no need to\ndistribute images.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-goal-configuration\">5.2.2. Configuration (XML)</h4>\n<div class=\"paragraph\">\n<p>The following sections describe the usual configuration, which is similar to the build configuration used in the\n <a href=\"https://dmp.fabric8.io\">docker-maven-plugin</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>In addition a more automatic way for creating predefined build configuration can be performed with so called <a href=\"#generators\">Generators</a>. Generators are very flexible and can be easily created. These are described in an extra <a href=\"#generators\">section</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Global configuration parameters specify overall behavior common for all images to build. Some of the configuration options are shared with other goals.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 9. Global configuration</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4285%;\">\n<col style=\"width: 14.2858%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>buildStrategy</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Defines what build strategy to choose while building container image.\nPossible values are <code>docker</code> and <code>jib</code> out of which <code>docker</code> is default.</p>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.strategy</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>apiVersion</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Use this variable if you are using an older version of docker not compatible with the current default use to\n communicate with the server.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.apiVersion</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>authConfig</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Authentication information when pulling from or pushing to Docker registry. There is a dedicated section\n <a href=\"#authentication\">Authentication</a> for how to do security.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>autoPull</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Decide how to pull missing base images or images to start:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>on</code> : Automatic download any missing images (default)</p>\n</li>\n<li>\n<p><code>off</code> : Automatic pulling is switched off</p>\n</li>\n<li>\n<p><code>always</code> : Pull images always even when they already exist locally</p>\n</li>\n<li>\n<p><code>once</code> : For multi-module builds images are only checked once and pulled for the whole build.</p>\n</li>\n</ul>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.autoPull</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>buildRecreate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>If the effective <a href=\"#build-mode\">mode</a> is <code>openshift</code> then this option decides how the OpenShift resource objects\n associated with the build should be treated when they already exist:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>buildConfig</code> or <code>bc</code> : Only the BuildConfig is recreated</p>\n</li>\n<li>\n<p><code>imageStream</code> or <code>is</code> : Only the ImageStream is recreated</p>\n</li>\n<li>\n<p><code>all</code> : Both, BuildConfig and ImageStream are recreated</p>\n</li>\n<li>\n<p><code>none</code> : Neither BuildConfig nor ImageStream is recreated</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The default is <code>none</code>. If you provide the property without value then <code>all</code> is assumed, so everything gets recreated.</p>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.recreate</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>forcePull</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Applicable only for OpenShift, S2I build strategy.</p>\n<p class=\"tableblock\">While creating a BuildConfig, By default, if the builder image specified in the\nbuild configuration is available locally on the node, that image will be used.</p>\n<p class=\"tableblock\">Using forcePull will override the local image and refresh it from the registry the image stream points to.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.forcePull</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>imagePullPolicy</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specific pull policy for the base image. This overwrites any global pull policy.\nSee the global configuration option <a href=\"#image-pull-policy\">imagePullPolicy</a> for the possible values and the default.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.imagePullPolicy</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>certPath</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to SSL certificate when SSL is used for communicating with the Docker daemon. These certificates are normally\n stored in <code>~/.docker/</code>. With this configuration the path can be set explicitly. If not set, the fallback is first\n taken from the environment variable <code>DOCKER_CERT_PATH</code> and then as last resort <code>~/.docker/</code>. The keys in this are\n expected with it standard names <code>ca.pem</code>, <code>cert.pem</code> and <code>key.pem</code>.\n Please refer to the <a href=\"https://docs.docker.com/articles/https\">Docker documentation</a> for more information about SSL\n security with Docker.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.certPath</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>dockerHost</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>The URL of the Docker Daemon. If this configuration option is not given, then the optional <code><machine></code> configuration\nsection is consulted. The scheme of the URL can be either given directly as <code>http</code> or <code>https</code>\ndepending on whether plain HTTP communication is enabled or SSL should\nbe used. Alternatively the scheme could be <code>tcp</code> in which case the\nprotocol is determined via the IANA assigned port: 2375 for <code>http</code>\nand 2376 for <code>https</code>. Finally, Unix sockets are supported by using\nthe scheme <code>unix</code> together with the filesystem path to the unix socket.</p>\n</div>\n<div class=\"paragraph\">\n<p>The discovery sequence used by the docker-maven-plugin to determine\nthe URL is:</p>\n</div>\n<div class=\"olist arabic\">\n<ol class=\"arabic\">\n<li>\n<p>Value of <strong>dockerHost</strong> (<code>jkube.docker.host</code>)</p>\n</li>\n<li>\n<p>The Docker host associated with the docker-machine named in <code><machine></code>, i.e. the <code>DOCKER_HOST</code> from <code>docker-machine env</code>. See <a href=\"#docker-machine\">below</a> for more information about Docker machine support.</p>\n</li>\n<li>\n<p>The value of the environment variable <code>DOCKER_HOST</code>.</p>\n</li>\n<li>\n<p><code>unix:///var/run/docker.sock</code> if it is a readable socket.</p>\n</li>\n</ol>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.host</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>filter</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">In order to temporarily restrict the operation of plugin goals this configuration option can be used.\n Typically this will be set via the system property <code>jkube.image.filter</code> when Maven is called. The value can be a single\n image name (either its alias or full name) or it can be a comma separated list with multiple image names. Any name\n which doesn’t refer an image in the configuration will be ignored.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.image.filter</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>machine</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Docker machine configuration. See <a href=\"#docker-machine\">Docker Machine</a> for possible values.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>maxConnections</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of parallel connections are allowed to be opened to the Docker Host. For parsing log output, a connection needs\n to be kept open (as well for the wait features), so don’t put that number to low. Default is 100 which should be\n suitable for most of the cases.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.maxConnections</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>access</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Group of configuration parameters to connect to Kubernetes/OpenShift cluster.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>outputDirectory</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default output directory to be used by this plugin.\n The default value is <code>target/docker</code> and is only used for the goal <code>k8s:build</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.target.dir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>portPropertyFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Global property file into which the mapped properties should be written to. The format of this file and its purpose\n are also described in <a href=\"#start-port-mapping\">Port Mapping</a>.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>profile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Profile to which contains enricher and generators configuration. See <a href=\"#profiles\">Profiles</a> for details.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.profile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>registry</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specify globally a registry to use for pulling and pushing images. See <a href=\"#registry\">Registry handling</a> for details.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.registry</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>resourceDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory where jkube.resources are stored. This is also the directory where a custom profile is looked up. Default\n is <code>src/main/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.resourceDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>environment</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Environment name where resources are placed. For example, if you set this property to dev and resourceDir is the\n default one, JKube will look at src/main/jkube/dev. If not set then root <code>resourceDir</code> directory is used.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.environment</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skip</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">With this parameter the execution of this plugin can be skipped completely.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipBuild</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set not images will be build (which implies also <em>skip.tag</em>) with <code>k8s:build</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.build</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipBuildPom</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set the build step will be skipped for modules of type <code>pom</code>. If not set, then by default projects of type <code>pom</code>\n will be skipped if there are no image configurations contained.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.build.pom</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipTag</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to <code>true</code> this plugin won’t add any tags to images that have been built with <code>k8s:build</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.tag</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipMachine</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Skip using docker machine in any case</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.skip.machine</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>sourceDirectory</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default directory that contains the assembly descriptor(s) used by the plugin. The default value is <code>src/main/docker</code>.\n This option is only relevant for the <code>k8s:build</code> goal.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.source.dir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>verbose</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Boolean attribute for switching on verbose output like the build steps when doing a Docker build. Default is <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.verbose</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logDate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The date format to use when logging messages from Docker. Default is <code>DEFAULT</code> (<code>HH:mm:ss.SSS</code>)</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.logDate</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logStdout</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Log to stdout regardless if log files are configured or not. Default is <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.logStdout</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_kubernetes_access_configuration\">5.2.3. Kubernetes Access Configuration</h4>\n<div class=\"paragraph\">\n<p>You can configure parameters to define how plugin is going to connect to Kubernetes cluster instead of relying on default parameters.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <access>\n <username></username>\n <password></password>\n <masterUrl></masterUrl>\n <apiVersion></apiVersion>\n </access>\n</configuration></code></pre>\n</div>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4285%;\">\n<col style=\"width: 14.2858%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>username</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Username on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.username</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>password</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Password on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.password</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>namespace</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Namespace on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.namespace</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>masterUrl</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Master URL on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.masterUrl</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>apiVersion</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Api version on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.apiVersion</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>caCertFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">CaCert File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.caCertFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>caCertData</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">CaCert Data on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.caCertData</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientCertFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Cert File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientCertFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientCertData</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Cert Data on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientCertData</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientKeyFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Key File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientKeyFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientKeyData</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Key Data on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientKeyData</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientKeyAlgo</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Key Algorithm on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientKeyAlgo</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientKeyPassphrase</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Key Passphrase on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientKeyPassphrase</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>trustStoreFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Trust Store File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.trustStoreFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>trustStorePassphrase</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Trust Store Passphrase on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.trustStorePassphrase</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keyStoreFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Key Store File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.keyStoreFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keyStorePassphrase</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Key Store Passphrase on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.keyStorePassphrase</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_image_configuration\">5.2.4. Image Configuration</h4>\n<div class=\"paragraph\">\n<p>The configuration how images should be created a defined in a dedicated <code><images></code> sections. These are specified for\neach image within the <code><images></code> element of the configuration with one <code><image></code> element per image to use.</p>\n</div>\n<div class=\"paragraph\">\n<p>The <code><image></code> element can contain the following sub elements:</p>\n</div>\n<table id=\"config-image\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 10. Image Configuration</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Each <code><image></code> configuration has a mandatory, unique docker\nrepository <em>name</em>. This can include registry and tag parts, but also placeholder parameters. See below for a detailed explanation.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>alias</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Shortcut name for an image which can be used for\nidentifying the image within this configuration. This is used when\nlinking images together or for specifying it with the global <strong>image</strong> configuration element.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#registry\"><strong>registry</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Registry to use for this image. If the <code>name</code> already contains a registry this takes precedence. See <a href=\"#registry\">Registry handling</a> for more details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#config-image-build\"><strong>build</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Element which contains all the configuration aspects when doing a <a href=\"#jkube:build\"><strong>k8s:build</strong></a>. This element can be omitted if the image is only pulled from a registry e.g. as support for integration tests like database images.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#config-image-run\"><strong>run</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Element which describe how containers should be\ncreated and run when <a href=\"#jkube:start\">[jkube:start]</a> is called. If this image is only used a <em>data container</em> (i.e. is supposed only to be mounted as a volume) for exporting artifacts via volumes this section can be missing.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#external-configuration\"><strong>external</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specification of external configuration as an alternative to this XML based configuration with <code><run></code> and <code><build></code>. It contains a <code><type></code> element specifying the handler for getting the configuration. See <a href=\"#external-configuration\">External configuration</a> for details.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>The <code><build></code> section is mandatory and is explained in <a href=\"#build-configuration\">below</a>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for <image></div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n ....\n <images>\n <image> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <name>%g/docker-demo:0.1</name> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n <alias>service</alias> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n <build>....</build> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n </image>\n <image>\n ....\n </image>\n </images>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>One or more <code><image>`</code> definitions</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>The Docker image name used when creating the image.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td>An alias which can be used in other parts of the plugin to reference to this image. This alias must be unique.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>A <code><build></code> section as described in <a href=\"#buid-configuration\">Build Configuration</a></td>\n</tr>\n</table>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-configuration\">5.2.5. Build Configuration</h4>\n<div id=\"build-overview\" class=\"paragraph\">\n<p>There are two different modes how images can be built:</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Inline plugin configuration</div>\n<p>With an inline plugin configuration all information required to build the image is contained in the plugin configuration. By default its the standard XML based configuration for the plugin but can be switched to a property based configuration syntax as described in the section <a href=\"#external-configuration\">External configuration</a>. The XML configuration syntax is recommended because of its more structured and typed nature.</p>\n</div>\n<div class=\"paragraph\">\n<p>When using this mode, the Dockerfile is created on the fly with all instructions extracted from the configuration given.</p>\n</div>\n<div id=\"external-dockerfile\" class=\"paragraph\">\n<div class=\"title\">External Dockerfile or Docker archive</div>\n<p>Alternatively an external Dockerfile template or Docker archive can be used. This mode is switched on by using one of these three configuration options within</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><strong>contextDir</strong> specifies docker build context if an external dockerfile is located outside of Docker build context. If not specified, Dockerfile’s parent directory is used as build context.</p>\n</li>\n<li>\n<p><strong>dockerFile</strong> specifies a specific Dockerfile path. The Docker build context directory is set to <code>contextDir</code> if given. If not the directory by default is the directory in which the Dockerfile is stored.</p>\n</li>\n<li>\n<p><strong>dockerArchive</strong> specifies a previously saved image archive to load directly. If a <code>dockerArchive</code> is provided, no <code>dockerFile</code> must be given.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>All paths can be either absolute or relative paths. A relative path is looked up in <code>${project.basedir}/src/main/docker</code> by default. You can make it easily an absolute path by using <code>${project.basedir}</code> in your configuration.</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Adding assemblies in Dockerfile mode</div>\n<p>You can also use an assembly if specified in an <a href=\"#build-assembly\">assembly configuration</a>.\nHowever, you need to add the files on your own in the Dockerfile with an <code>ADD</code> or <code>COPY</code> command.\nThe files of the assembly are stored in a build context relative directory <code>maven/</code> but can be changed by changing the assembly name with the option <code><name></code> in the assembly configuration.</p>\n</div>\n<div class=\"paragraph\">\n<p>E.g. the files can be added with</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-dockerfile\" data-lang=\"dockerfile\">COPY maven/ /my/target/directory</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>so that the assembly files will end up in <code>/my/target/directory</code> within the container.</p>\n</div>\n<div class=\"paragraph\">\n<p>If this directory contains a <code>.maven-dockerignore</code> (or alternatively, a <code>.maven-dockerexclude</code> file), then it is used for excluding files for the build. Each line in this file is treated as a <a href=\"http://ant.apache.org/manual/Types/fileset.html\">FileSet exclude pattern</a> as used by the <a href=\"http://maven.apache.org/plugins/maven-assembly-plugin\">maven-assembly-plugin</a>. It is similar to <code>.dockerignore</code> when using Docker but has a slightly different syntax (hence the different name).\n<a href=\"#ex-build-dockerexclude\">Example <code>.maven-dockerexclude</code> or <code>.maven-dockerignore</code></a> is an example which excludes all compiled Java classes.</p>\n</div>\n<div id=\"ex-build-dockerexclude\" class=\"exampleblock\">\n<div class=\"title\">Example 1. Example <code>.maven-dockerexclude</code> or <code>.maven-dockerignore</code></div>\n<div class=\"content\">\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>target/classes/** <i class=\"conum\" data-value=\"1\"></i><b>(1)</b></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Exclude all compiled classes</td>\n</tr>\n</table>\n</div>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If this directory contains a <code>.maven-dockerinclude</code> file, then it is used for including only those files for the build. Each line in this file is also treated as a <a href=\"http://ant.apache.org/manual/Types/fileset.html\">FileSet exclude pattern</a> as used by the <a href=\"http://maven.apache.org/plugins/maven-assembly-plugin\">maven-assembly-plugin</a>. <a href=\"#ex-build-dockerinclude\">Example <code>.maven-dockerinclude</code></a> shows how to include only jar file that have build to the Docker build context.</p>\n</div>\n<div id=\"ex-build-dockerinclude\" class=\"exampleblock\">\n<div class=\"title\">Example 2. Example <code>.maven-dockerinclude</code></div>\n<div class=\"content\">\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>target/*.jar <i class=\"conum\" data-value=\"1\"></i><b>(1)</b></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Only add jar file to you Docker build context.</td>\n</tr>\n</table>\n</div>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Except for the <a href=\"#build-assembly\">assembly configuration</a> all other configuration options are ignored for now.</p>\n</div>\n<div id=\"simple-dockerfile-build\" class=\"paragraph\">\n<div class=\"title\">Simple Dockerfile build</div>\n<p>When only a single image should be built with a Dockerfile no XML configuration is needed at all.\nAll what need to be done is to place a <code>Dockerfile</code> into the top-level module directory, alongside to <code>pom.xml</code>.\nYou can still configure <a href=\"#global-configuration\">global aspects</a> in the plugin configuration, but as soon as you add an <code><image></code> in the XML configuration, you need to configure also the build explicitly.</p>\n</div>\n<div class=\"paragraph\">\n<p>The image name is by default set from the Maven coordinates (<code>%g/%a:%l</code>, see <a href=\"#image-name\">Image Name </a> for an explanation of the params which are essentially the Maven GAV)\nThis name can be set with the property <code>jkube.image.name</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>If you want to add some <code><run></code> configuration to this image for starting it with <code>kubernetes-maven-plugin:run</code> then you can add an image configuration but without a <code><build></code> section in which case the Dockerfile will be picked up, too. This works only for a single image, though.</p>\n</div>\n<div id=\"build-filtering\" class=\"paragraph\">\n<div class=\"title\">Filtering</div>\n<p>kubernetes-maven-plugin filters given Dockerfile with Maven properties, much like the <code>maven-resource-plugin</code> does. Filtering is enabled by default and can be switched off with a build config <code><filter>false</filter></code>. Properties which we want to replace are specified with the <code>${..}</code> syntax.\nReplacement includes Maven project properties such as <code>${project.artifactId}</code>, properties set in the build, command-line properties, and system properties. Unresolved properties remain untouched.</p>\n</div>\n<div class=\"paragraph\">\n<p>This partial replacement means that you can easily mix it with Docker build arguments and environment variable reference, but you need to be careful.\nIf you want to be more explicit about the property delimiter to clearly separate Docker properties and Maven properties you can redefine the delimiter.\nIn general, the <code>filter</code> option can be specified the same way as delimiters in the resource plugin.\nIn particular, if this configuration contains a * then the parts left, and right of the asterisks are used as delimiters.</p>\n</div>\n<div class=\"paragraph\">\n<p>For example, the default <code><filter>${*}</filter></code> parse Maven properties in the format that we know.\nIf you specify a single character for <code><filter></code> then this delimiter is taken for both, the start and the end.\nE.g a <code><filter>@</filter></code> triggers on parameters in the format <code>@…​@</code>, much like in the <code>maven-invoker-plugin</code>.\nUse something like this if you want to clearly separate from Docker builds args.\nThis form of property replacement works for Dockerfile only.\nFor replacing other data in other files targeted for the Docker image, please use the <code>maven-resource-plugin</code> or an <a href=\"#build-assembly\">assembly configuration</a> with filtering to make them available in the docker build context.</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Example</div>\n<p>The following example replaces all properties in the format <code>@property@</code> within the Dockerfile.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <configuration>\n <images>\n <image>\n <name>user/demo</name>\n <build>\n <filter>@</filter>\n </build>\n </image>\n </images>\n </configuration>\n ...\n</plugin></code></pre>\n</div>\n</div>\n<div id=\"build-plugin\" class=\"paragraph\">\n<div class=\"title\">Build Plugins</div>\n<p>This plugin supports so call <strong>dmp-plugins</strong> which are used during the build phase.\ndmp-plugins are enabled by just declaring a dependency in the plugin declaration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n\n <dependencies>\n <dependency>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>run-java-sh</artifactId>\n <version>1.2.2</version>\n </dependency>\n </dependencies>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>org.eclipse.jkube.runsh.RunShLoader</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>During a build with <code>kubernetes-maven-plugin:build</code>, those classes are loaded and certain fixed method are called.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following methods are supported:</p>\n</div>\n<table id=\"build-plugin-methods\" class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Method</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>addExtraFiles</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A <em>static</em> method called by dmp with a single <code>File</code> argument. This will point to a directory <code>docker-extra</code> which can be referenced easily by a Dockerfile or an assembly. A dmp plugin typically will create an own subdirectory to avoid a clash with other dmp-plugins.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>If a configured plugin does not provide method of this name and signature, then it will be simply ignored.\nAlso, no interface needs to be implemented to keep the coupling low.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following official dmp-plugins are known and supported:</p>\n</div>\n<table id=\"build-plugins-official\" class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4286%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Name</th>\n<th class=\"tableblock halign-left valign-top\">G,A</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"https://github.com/fabric8io-images/run-java-sh\">run-java.sh</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.io</code>, <code>run-java</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">General purpose startup script fo running Java applications. The dmp plugin creates a\n <code>target/docker-extra/run-java/run-java.sh</code> which can be included in a Dockerfile (see the example above).\n See the <a href=\"https://github.com/fabric8io-images/run-java-sh\">run-java.sh Documentation</a> for more details.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Check out <code>samples/run-java</code> for a fully working example.</p>\n</div>\n<div class=\"paragraph\">\n<p>All build relevant configuration is contained in the <code><build></code> section\nof an image configuration. The following configuration options are supported:</p>\n</div>\n<table id=\"config-image-build\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 11. Build configuration (<a href=\"#config-image\"><image> </a>)</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#config-image-build-assembly\"><strong>assembly</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specifies the assembly configuration as described in <a href=\"#build-assembly\">Build Assembly</a></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#build-buildargs\"><strong>args</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Map specifying the value of <a href=\"https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables-build-arg\">Docker build args</a>\nwhich should be used when building the image with an external Dockerfile which uses build arguments. The key-value syntax is the same as when defining Maven properties (or <code>labels</code> or <code>env</code>).\nThis argument is ignored when no external Dockerfile is used. Build args can also be specified as properties as\ndescribed in <a href=\"#build-buildargs\">Build Args</a></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>buildOptions</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Map specifying the build options to provide to the docker daemon when building the image. These options map to the ones listed as query parameters in the\n<a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#build-image-from-a-dockerfile\">Docker Remote API</a> and are restricted to simple options\n(e.g.: memory, shmsize). If you use the respective configuration options for build options natively supported by the build configuration (i.e. <code>noCache</code>, <code>cleanup=remove</code> for buildoption <code>forcerm=1</code> and <code>args</code> for build args) then these will override any corresponding options given here. The key-value syntax is the same as when defining environment variables or labels as described in <a href=\"#misc-env\">Setting Environment Variables and Labels</a>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>cleanup</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Cleanup dangling (untagged) images after each build (including any containers created from them). Default is <code>try</code> which tries to remove the old image, but doesn’t fail the build if this is not possible because e.g. the image is still used by a running container. Use <code>remove</code> if you want to fail the build and <code>none</code> if no cleanup is requested.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a id=\"context-dir\"></a><strong>contextDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to a directory used for the build’s context. You can specify the <code>Dockerfile</code> to use with <strong>dockerFile</strong>, which by default is the Dockerfile found in the <code>contextDir</code>. The Dockerfile can be also located outside of the <code>contextDir</code>, if provided with an absolute file path. See <a href=\"#external-dockerfile\">External Dockerfile</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#misc-startup\"><strong>cmd</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A command to execute by default (i.e. if no command is provided when a container for this image is started). See <a href=\"#misc-startup\">Startup Arguments</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>compression</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The compression mode how the build archive is transmitted to the docker daemon (<code>k8s:build</code>) and how docker build archives are attached to this build as sources (<code>k8s:source</code>). The value can be <code>none</code> (default), <code>gzip</code> or <code>bzip2</code>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>dockerFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to a <code>Dockerfile</code> which also triggers <em>Dockerfile mode</em>. See <a href=\"#external-dockerfile\">External Dockerfile</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>dockerArchive</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to a saved image archive which is then imported. See <a href=\"#external-dockerfile\">Docker archive</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#misc-startup\"><strong>entryPoint</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">An entrypoint allows you to configure a container that will run as an executable. See <a href=\"#misc-startup\">Startup Arguments</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#misc-env\"><strong>env</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The environments as described in <a href=\"#misc-env\">Setting Environment Variables and Labels</a>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>filter</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Enable and set the delimiters for property replacements. By default properties in the format <code>${..}</code> are replaced with Maven properties. You can switch off property replacement by setting this property to <code>false</code>. When using a single char like <code>@</code> then this is used as a delimiter (e.g <code>@…​@</code>). See <a href=\"#build-filtering\">Filtering</a> for more details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a id=\"build-config-from\"></a><strong>from</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The base image which should be used for this image. If not given this default to <code>busybox:latest</code> and is suitable for a pure data image.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a id=\"build-config-from-ext\"></a><strong>fromExt</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Extended definition for a base image. This field holds a map of defined in <code><key>value</key></code> format. The known keys are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code><name></code> : Name of the base image</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>A provided <code><from></code> takes precedence over the name given here. This tag is useful for extensions of this plugin.</p>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#build-healthcheck\"><strong>healthCheck</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Definition of a health check as described in <a href=\"#build-healthcheck\">Healthcheck</a></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>imagePullPolicy</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specific pull policy for the base image. This overwrites any global pull policy.\n See the global configuration option <a href=\"#image-pull-policy\">imagePullPolicy</a> for the possible values and the default.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>loadNamePattern</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Scan the images in the archive specified in <code>dockerArchive</code> and match the associated repository and tag information against this pattern. When a matching repository and tag is found, create a tag linking the <code>name</code> for this image to the repository and tag that matched the pattern.</p>\n</div>\n<div class=\"paragraph\">\n<p>The wildcards are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>?</code> matches a single character</p>\n</li>\n<li>\n<p><code>*</code> matches within one component, where components are separated by slashes, or the final colon that separates the repository from the tag</p>\n</li>\n<li>\n<p><code>**</code> matches multiple components, stopping at the final colon</p>\n</li>\n<li>\n<p><code>**/</code> matches multiple components, but must stop at a slash, or the final colon</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>When matching multiple components, <code>**/</code> is likely to be more useful than <code>**</code>. The pattern <code>**image-name:*</code> will match <code>my-group/my-image-name:some-tag</code>, whereas <code>**/image-name:*</code> will not, because the wildcard has to stop at a slash. Note that <code>**/image-name:*</code> will also match 'image-name:some-tag', since the <code>**/</code> wildcard can be empty.</p>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#misc-env\"><strong>labels</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels as described in <a href=\"#misc-env\">Setting Environment Variables and Labels</a>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>maintainer</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The author (<code>MAINTAINER</code>) field for the generated image</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>noCache</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Don’t use Docker’s build cache. This can be overwritten by setting a system property <code>docker.noCache</code> when running Maven.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>cacheFrom</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A list of <code><image></code> elements specifying image names to use as cache sources.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>optimise</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">if set to true then it will compress all the <code>runCmds</code> into a single <code>RUN</code> directive so that only one image layer is created.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>ports</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The exposed ports which is a list of <code><port></code> elements, one for each port to expose. Whitespace is trimmed from each element and empty elements are ignored. The format can be either pure numerical (\"8080\") or with the protocol attached (\"8080/tcp\").</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>shell</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Shell to be used for the <strong>runCmds</strong>. It contains <strong>arg</strong> elements which are defining the executable and its params.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>runCmds</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Commands to be run during the build process. It contains <strong>run</strong> elements which are passed to the shell. Whitespace is trimmed from each element and empty elements are ignored. The run commands are inserted right after the assembly and after <strong>workdir</strong> into the Dockerfile. This tag is not to be confused with the <code><run></code> section for this image which specifies the runtime behaviour when starting containers.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skip</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">if set to true disables building of the image. This config option is best used together with a maven property</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipTag</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to <code>true</code> this plugin won’t add any tags to images.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tags</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of additional <code>tag</code> elements with which an image is to be tagged after the build. Whitespace is trimmed from each element and empty elements are ignored.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>user</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">User to which the Dockerfile should switch to the end (corresponds to the <code>USER</code> Dockerfile directive).</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>volumes</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of <code>volume</code> elements to create a container volume. Whitespace is trimmed from each element and empty elements are ignored.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>workdir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory to change to when starting the container.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>From this configuration this Plugin creates an in-memory Dockerfile,\ncopies over the assembled files and calls the Docker daemon via its\nremote API.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><build>\n <from>java:8u40</from>\n <maintainer>john.doe@example.com</maintainer>\n <tags>\n <tag>latest</tag>\n <tag>${project.version}</tag>\n </tags>\n <ports>\n <port>8080</port>\n </ports>\n <volumes>\n <volume>/path/to/expose</volume>\n </volumes>\n <buildOptions>\n <shmsize>2147483648</shmsize>\n </buildOptions>\n\n <shell>\n <exec>\n <arg>/bin/sh</arg>\n <arg>-c</arg>\n </exec>\n </shell>\n <runCmds>\n <run>groupadd -r appUser</run>\n <run>useradd -r -g appUser appUser</run>\n </runCmds>\n\n <entryPoint>\n <!-- exec form for ENTRYPOINT -->\n <exec>\n <arg>java</arg>\n <arg>-jar</arg>\n <arg>/opt/demo/server.jar</arg>\n </exec>\n </entryPoint>\n\n <assembly>\n <mode>dir</mode>\n <targetDir>/opt/demo</targetDir>\n <descriptor>assembly.xml</descriptor>\n </assembly>\n</build></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>In order to see the individual build steps you can switch on <code>verbose</code> mode either by setting the property\n<code>jkube.docker.verbose</code> or by using <code><verbose>true</verbose></code> in the <a href=\"#global-configuration\">Global configuration</a></p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-assembly\">5.2.6. Assembly</h4>\n<div class=\"paragraph\">\n<p>The <code><assembly></code> element within <code><build></code> element has an XML structure and defines how build artifacts and other files\ncan be added to the Docker image.</p>\n</div>\n<table id=\"config-image-build-assembly\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 12. Assembly Configuration (<a href=\"#config-image\"><image> </a> : <a href=\"#config-image-build\"><build> </a>)</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Assembly name, which is <code>maven</code> by default. This name is used for the archives and directories created during the build.\n This directory holds the files specified by the assembly. If an <a href=\"#external-dockerfile\">external Dockerfile</a> is used then\n this name is also the relative directory which contains the assembly files.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>targetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory under which the files and artifacts contained in the assembly will be copied within the container.\n The default value for this is <code>/<assembly name></code>, so <code>/maven</code> if <strong>name</strong> is not set to a different value.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#build-assembly-inline\"><strong>inline</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Inlined assembly descriptor as described in <a href=\"#build-assembly-inline\">Assembly - Inline</a> below.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>exportTargetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specification whether the <code>targetDir</code> should be exported as a volume. This value is <code>true</code> by default except in the\n case the <code>targetDir</code> is set to the container root (<code>/</code>). It is also <code>false</code> by default when a base image is used with\n <code>from</code> since exporting makes no sense in this case and will waste disk space unnecessarily.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>excludeFinalOutputArtifact</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">By default, the project’s final artifact will be included in the assembly, set this flag to true in case the\n artifact should be excluded from the assembly.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>mode</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Mode how the how the assembled files should be collected:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>dir</code> : Files are simply copied (default),</p>\n</li>\n<li>\n<p><code>tar</code> : Transfer via tar archive</p>\n</li>\n<li>\n<p><code>tgz</code> : Transfer via compressed tar archive</p>\n</li>\n<li>\n<p><code>zip</code> : Transfer via ZIP archive</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The archive formats have the advantage that file permission can be preserved better (since the copying is independent\nfrom the underlying files systems), but might triggers internal bugs from the Maven assembler (as it has been reported\nin <a href=\"https://github.com/fabric8io/docker-maven-plugin/issues/171\">#171</a>)</p>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>permissions</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Permission of the files to add:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>ignore</code> to use the permission as found on files regardless on any\nassembly configuration</p>\n</li>\n<li>\n<p><code>keep</code> to respect the assembly provided permissions</p>\n</li>\n<li>\n<p><code>exec</code> for setting the executable bit on all files (required for Windows when using an assembly mode <code>dir</code>)</p>\n</li>\n<li>\n<p><code>auto</code> to let the plugin select <code>exec</code> on Windows and <code>keep</code> on others.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p><code>keep</code> is the default value.</p>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tarLongFileMode</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Sets the TarArchiver behaviour on file paths with more than 100 characters length. Valid values are: \"warn\"(default), \"fail\", \"truncate\", \"gnu\", \"posix\", \"posix_warn\" or \"omit\"</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>user</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>User and/or group under which the files should be added. The user must already exist in the base image.</p>\n</div>\n<div class=\"paragraph\">\n<p>It has the general format <code>user[:group[:run-user]]</code>. The user and group can be given either as numeric user- and group-id or as names. The group id is optional.</p>\n</div>\n<div class=\"paragraph\">\n<p>If a third part is given, then the build changes to user <code>root</code> before changing the ownerships, changes the ownerships and then change to user <code>run-user</code> which is then used for the final command to execute. This feature might be needed, if the base image already changed the user (e.g. to 'jboss') so that a <code>chown</code> from root to this user would fail.</p>\n</div>\n<div class=\"paragraph\">\n<p>For example, the image <code>jboss/wildfly</code> use a \"jboss\" user under which all commands are executed. Adding files in Docker always happens under the UID root. These files can only be changed to \"jboss\" is the <code>chown</code> command is executed as root. For the following commands to be run again as \"jboss\" (like the final <code>standalone.sh</code>), the plugin switches back to user <code>jboss</code> (this is this \"run-user\") after changing the file ownership. For this example a specification of\n<code>jboss:jboss:jboss</code> would be required.</p>\n</div></div></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>In the event you do not need to include any artifacts with the image, you may safely omit this element from the configuration.</p>\n</div>\n<div class=\"sect4\">\n<h5 id=\"build-assembly-inline\">Assembly - Inline</h5>\n<div class=\"paragraph\">\n<p>Inlined assembly description with a format very similar to\n<a href=\"https://maven.apache.org/plugins/maven-assembly-plugin/assembly.html\">Maven Assembly Plugin</a>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 13. Assembly - Inline (<a href=\"#config-image\"><image> </a> : <a href=\"#config-image-build\"><build> </a> : <a href=\"#config-image-build-assembly\"><assembly> </a>)</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>id</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Unique ID for the assembly.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>files</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>List of files for the assembly.</p>\n</div>\n<div class=\"paragraph\">\n<p>Each file has the following fields:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>source</code>: Absolute or relative path from the project’s directory of the file to be included in the assembly.</p>\n</li>\n<li>\n<p><code>outputDirectory</code>: Output directory relative to the root of the root directory of the assembly.</p>\n</li>\n<li>\n<p><code>destName</code>: Destination filename in the outputDirectory.</p>\n</li>\n<li>\n<p><code>fileMode</code>: Similar to a UNIX permission, sets the file mode of the file included.</p>\n</li>\n</ul>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>fileSets</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>List of filesets for the Assembly.</p>\n</div>\n<div class=\"paragraph\">\n<p>Each fileset has the following fields:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>directory</code>: Absolute or relative location from the project’s directory.</p>\n</li>\n<li>\n<p><code>outputDirectory</code>: Output directory relative to the root of the root directory of the assembly fileSet.</p>\n</li>\n<li>\n<p><code>includes</code>: A set of files and directories to include.</p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If none is present, then everything is included.</p>\n</li>\n<li>\n<p>Files can be referenced by using their complete path name.</p>\n</li>\n<li>\n<p>Wildcards are also supported, patterns will be matched using\n<a href=\"https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/file/FileSystem.html#getPathMatcher(java.lang.String)\">\nFileSystem#getPathMatcher</a> <code>glob</code> syntax.</p>\n</li>\n</ul>\n</div>\n</li>\n<li>\n<p><code>excludes</code>: A set of files and directory to exclude.</p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If none is present, then there are no exclusions.</p>\n</li>\n</ul>\n</div>\n</li>\n<li>\n<p><code>fileMode</code>: Similar to a UNIX permission, sets the file mode of the files included.</p>\n</li>\n<li>\n<p><code>directoryMode</code>: Similar to a UNIX permission, sets the directory mode of the directories included.</p>\n</li>\n</ul>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>baseDirectory</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Base directory from which to resolve the Assembly files and filesets.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"misc-env\">5.2.7. Environment and Labels</h4>\n<div class=\"paragraph\">\n<p>When creating a container one or more environment variables can be set via configuration with the <code>env</code> parameter</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><env>\n <JAVA_HOME>/opt/jdk8</JAVA_HOME>\n <CATALINA_OPTS>-Djava.security.egd=file:/dev/./urandom</CATALINA_OPTS>\n</env></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If you put this configuration into profiles you can easily create various test variants with a single image (e.g. by switching the JDK or whatever).</p>\n</div>\n<div class=\"paragraph\">\n<p>It is also possible to set the environment variables from the outside of the plugin’s configuration with the parameter <code>envPropertyFile</code>. If given, this property file is used to set the environment variables where the keys and values specify the environment variable. Environment variables specified in this file override any environment variables specified in the configuration.</p>\n</div>\n<div class=\"paragraph\">\n<p>Labels can be set inline the same way as environment variables:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><labels>\n <com.example.label-with-value>foo</com.example.label-with-value>\n <version>${project.version}</version>\n <artifactId>${project.artifactId}</artifactId>\n</labels></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"misc-startup\">5.2.8. Startup Arguments</h4>\n<div class=\"paragraph\">\n<p>Using <code>entryPoint</code> and <code>cmd</code> it is possible to specify the <a href=\"https://docs.docker.com/reference/builder/#entrypoint\">entry point</a>\nor <a href=\"https://docs.docker.com/reference/builder/#cmd\">cmd</a> for a container.</p>\n</div>\n<div class=\"paragraph\">\n<p>The difference is, that an <code>entrypoint</code> is the command that always be executed, with the <code>cmd</code> as argument. If no <code>entryPoint</code> is provided, it defaults to <code>/bin/sh -c</code> so any <code>cmd</code> given is executed with a shell. The arguments given to <code>docker run</code> are always given as arguments to the\n<code>entrypoint</code>, overriding any given <code>cmd</code> option. On the other hand if no extra arguments are given to <code>docker run</code> the default <code>cmd</code> is used as argument to <code>entrypoint</code>.</p>\n</div>\n<div class=\"sidebarblock\">\n<div class=\"content\">\n<div class=\"paragraph\">\n<p>See this <a href=\"http://stackoverflow.com/questions/21553353/what-is-the-difference-between-cmd-and-entrypoint-in-a-dockerfile\">stackoverflow question</a> for a detailed explanation.</p>\n</div>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>An entry point or command can be specified in two alternative formats:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 14. Entrypoint and Command Configuration</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Mode</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>shell</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Shell form in which the whole line is given to <code>shell -c</code> for interpretation.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>exec</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of arguments (with inner <code><args></code>) arguments which will be given to the <code>exec</code> call directly without any shell interpretation.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Either shell or params should be specified.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><entryPoint>\n <!-- shell form -->\n <shell>java -jar $HOME/server.jar</shell>\n</entryPoint></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>or</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><entryPoint>\n <!-- exec form -->\n <exec>\n <arg>java</arg>\n <arg>-jar</arg>\n <arg>/opt/demo/server.jar</arg>\n </exec>\n</entryPoint></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This can be formulated also more dense with:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><!-- shell form -->\n<entryPoint>java -jar $HOME/server.jar</entryPoint></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>or</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><entryPoint>\n <!-- exec form -->\n <arg>java</arg>\n <arg>-jar</arg>\n <arg>/opt/demo/server.jar</arg>\n</entryPoint></code></pre>\n</div>\n</div>\n<div class=\"dlist\">\n<dl>\n<dt class=\"hdlist1\">INFO</dt>\n<dd>\n<p>Startup arguments are not used in S2I builds</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-buildargs\">5.2.9. Build Args</h4>\n<div id=\"property-buildargs\" class=\"paragraph\">\n<p>As described in section <a href=\"#build-configuration\">Configuration</a> for external Dockerfiles <a href=\"https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables-build-arg\">Docker build arg</a> can be used. In addition to the\nconfiguration within the plugin configuration you can also use properties to specify them:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Set a system property when running Maven, eg.: <code>-Ddocker.buildArg.http_proxy=http://proxy:8001</code>. This is especially\nuseful when using predefined Docker arguments for setting proxies transparently.</p>\n</li>\n<li>\n<p>Set a project property within the <code>pom.xml</code>, eg.:</p>\n</li>\n</ul>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><docker.buildArg.myBuildArg>myValue</docker.buildArg.myBuildArg></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Please note that the system property setting will always override the project property. Also note that for all\nproperties which are not Docker <a href=\"https://docs.docker.com/engine/reference/builder/#arg\">predefined</a> properties, the\nexternal Dockerfile must contain an <code>ARGS</code> instruction.</p>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:push\">5.3. <strong>k8s:push</strong></h3>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nSection needs review and rearrangements\n</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>This goal uploads images to the registry which have a <code><build></code> configuration section. The images to push can be restricted with\nthe global option <code>filter</code> (see <a href=\"#global-configuration\">Global Configuration</a> for details). The registry to push is by\ndefault <code>docker.io</code> but can be specified as part of the images’s <code>name</code> the Docker way.\nE.g. <code>docker.test.org:5000/data:1.5</code> will push the image <code>data</code> with tag <code>1.5</code> to the registry <code>docker.test.org</code> at port\n<code>5000</code>. Registry credentials (i.e. username and password) can be specified in multiple ways as described in section <a href=\"#authentication\">Authentication</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>By default a progress meter is printed out on the console, which is omitted when using Maven in batch mode (option <code>-B</code>).\nA very simplified progress meter is provided when using no color output (i.e. with <code>-Djkube.useColor=false</code>).</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 15. Push options</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4285%;\">\n<col style=\"width: 14.2858%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipPush</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to <code>true</code> the plugin won’t push any images that have been built.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.push</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipTag</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to <code>true</code> this plugin won’t push any tags</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.tag</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pushRegistry</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The registry to use when pushing the image. See <a href=\"#registry\">Registry Handling</a> for\nmore details.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.push.registry</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>retries</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">How often should a push be retried before giving up. This useful for flaky registries which tend to return 500 error codes from time to time. The default is 0 which means no retry at all.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.push.retries</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:apply\">5.4. <strong>k8s:apply</strong></h3>\n<div class=\"paragraph\">\n<p>This goal applies the resources created with <a href=\"#jkube:resource\"><strong>k8s:resource</strong></a> to a connected Kubernetes cluster. It’s similar to <a href=\"#jkube:deploy\"><strong>k8s:deploy</strong></a> but does not the full deployment cycle of creating the resource, creating the application image and sending the resource descriptors to the clusters. This goal can be easily bound to <code><executions></code> within the plugin’s configuration and binds by default to the <code>install</code> lifecycle phase.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:apply</code></pre>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Apply\">5.4.1. Supported Properties For Apply goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 16. Other options available with apply goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>recreate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we update resources by deleting them first and then creating them again.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.recreate</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>kubernetesManifest</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The generated kubernetes YAML file.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/target/classes/META-INF/jkube/kubernetes.yml</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.kubernetesManifest</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>create</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we create new resources.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.create</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>rolling</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we use rolling updates to apply changes.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.rolling</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>failOnNoKubernetesJson</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we fail if there is no Kubernetes JSON.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.failOnNoKubernetesJson</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>servicesOnly</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">In services only mode we only process services so that those can be recursively created/updated first before\n creating/updating any pods and replication controllers.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.servicesOnly</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>ignoreServices</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Do we want to ignore services. This is particularly useful when in recreate mode to let you easily recreate all the\n ReplicationControllers and Pods but leave any service definitions alone to avoid changing the portalIP addresses and\n breaking existing pods using the service.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.ignoreServices</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>processTemplatesLocally</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Process templates locally in Java so that we can apply OpenShift templates on any Kubernetes environment.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.processTemplatesLocally</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>deletePods</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we delete all the pods if we update a Replication Controller.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.deletePods</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>ignoreRunningOAuthClients</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Do we want to ignore OAuthClients which are already running?. OAuthClients are shared across namespaces so we should\n not try to update or create/delete global oauth clients.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.ignoreRunningOAuthClients</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>jsonLogDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The folder we should store any temporary json files or results.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/target/jkube/applyJson</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.jsonLogDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>waitSeconds</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">How many seconds to wait for a URL to be generated for a service.</p>\n<p class=\"tableblock\"> Defaults to <code>5</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.serviceUrl.waitSeconds</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>resourceDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Folder where to find project specific files.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/src/main/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.resourceDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>environment</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Environment name where resources are placed. For example, if you set this property to dev and resourceDir is the\n default one, jkube will look at <code>src/main/jkube/dev</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>null</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.environment</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipApply</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Skip applying the resources.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.apply</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:helm\">5.5. <strong>k8s:helm</strong></h3>\n<div class=\"paragraph\">\n<p>This goal is for creating\n<a href=\"https://helm.sh/docs/topics/charts\">Helm charts</a>\nfor your Maven project so that you can install, update or delete your app in Kubernetes\nusing <a href=\"https://github.com/helm/helm\">Helm</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>For creating a Helm chart you simply call <code>k8s:helm</code> goal on the command line:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:resource k8s:helm</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The <code>k8s:resource</code> goal is required to create the resource descriptors which are included in the Helm chart.\nIf you have already built the resource then you can omit this goal.</p>\n</div>\n<div class=\"paragraph\">\n<p>The configuration is defined in a <code><helm></code> section within the plugin’s configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example Helm configuration</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <configuration>\n <helm>\n <chart>Jenkins</chart>\n <keywords>ci,cd,server</keywords>\n </helm>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This configuration section knows the following sub-elements in order to configure your Helm chart.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 17. Helm configuration</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4285%;\">\n<col style=\"width: 14.2858%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>chart</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart name, which is <code>${project.artifactId}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.chart</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>version</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart SemVer version, which is <code>${project.version}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.version</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>description</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart single-sentence description, which is <code>${project.description}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.description</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>home</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart URL for this project’s home page, which is <code>${project.url}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.home</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>sources</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart list of URLs to source code for this project, defaults to the list of <code>${project.scm.url}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>maintainers</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart list of maintainers (name+email), defaults to the list of\n `${project.developers.name}:${project.developers.name}`if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>icon</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart URL to an SVG or PNG image to be used as an icon, default is extracted from the kubernetes manifest\n (<code>kubernetes.yml</code>) <code>jkube.io/iconUrl</code> annotation if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.icon</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keywords</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Comma separated list of keywords to add to the chart.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>engine</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The template engine to use.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>additionalFiles</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The list of additional files to be included in the Chart archive. Any file named <code>README</code> or <code>LICENSE</code> will <strong>always</strong>\n be included by default.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>type</strong> / <strong>types</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Platform for which to generate the chart. By default this is <code>kubernetes</code>, but can be also <code>openshift</code> for using\n OpenShift specific resources in the chart. You can also add both values as a comma separated list.</p>\n<p class=\"tableblock\"> <em>Please note that there is no OpenShift support yet for charts, so this is experimental.</em></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.type</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>sourceDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where to find the resource descriptors generated with <code>k8s:resource</code>.\n By default this is <code>${basedir}/target/classes/META-INF/jkube., which is also the output directory used by `k8s:resource</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.sourceDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>outputDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where to create the Helm chart, which is <code>${basedir}/target/jkube/helm</code> by default for Kubernetes\n and <code>${basedir}/target/jkube/helmshift</code> for OpenShift.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.outputDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tarballOutputDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where to create the the Helm chart archive, which is <code>${basedir}/target</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.tarballOutputDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>chartExtension</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Helm chart file extension (<code>tgz</code>, <code>tar.bz</code>, <code>tar.bzip2</code>, <code>tar.bz2</code>), default value is <code>tar.gz</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.chartExtension</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>In a next step you can install this via the <a href=\"https://github.com/helm/helm/releases\">helm command line tool</a> as follows:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">helm install nameForChartInRepository target/jkube/helm/${chartName}/kubernetes</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>or</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>helm install target/jkube/helm/${chartName}/kubernetes --generate-name</pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>To add the <code>helm</code> goal to your project so that it is automatically executed just add the <code>helm</code> goal to the <code>executions</code>\nsection of the <code>kubernetes-maven-plugin</code> section of your <code>pom.xml</code>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Add helm goal</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n\n <!-- ... -->\n\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n <goal>deploy</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>In addition this goal will also create a tar-archive below <code>${basedir}/target</code> which contains the chart with its template.\nThis tar is added as an artifact with classifier <code>helm</code> to the build (<code>helmshift</code> for the OpenShift mode).</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"goals-overview-develop\">6. Development Goals</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"jkube:deploy\">6.1. <strong>k8s:deploy</strong></h3>\n<div class=\"paragraph\">\n<p>This is the main goal for building your docker image, generating the kubernetes resources and deploying them into the cluster (insofar your pom.xml is set up correct; keep reading :)).</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:deploy</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This goal is designed to run <a href=\"#jkube:build\"><strong>k8s:build</strong></a> and <a href=\"#jkube:resource\"><strong>k8s:resource</strong></a> before the deploy <strong>if</strong> you have the goals bound in your pom.xml:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n\n <!-- Connect k8s:resource, k8s:build and k8s:helm to lifecycle phases -->\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n <goal>helm</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Effectively this builds your project then invokes these goals:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"#jkube:build\"><strong>k8s:build</strong></a></p>\n</li>\n<li>\n<p><a href=\"#jkube:apply\"><strong>k8s:apply</strong></a></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>By default the behaviour of resource goal is it generates <code>route.yml</code> for a service if you have not done any configuration changes. Sometimes there may be case when you want to generate route.yml but do not want to create route resource on OpenShift Cluster. This can be achieved by the following configuration.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for not generating route resource on your cluster</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <configuration>\n <enricher>\n <excludes>\n <exclude>jkube-expose</exclude>\n </excludes>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:undeploy\">6.2. <strong>k8s:undeploy</strong></h3>\n<div class=\"paragraph\">\n<p>This goal is for deleting the kubernetes resources that you deployed via the <a href=\"#jkube:apply\"><strong>k8s:apply</strong></a> or <a href=\"#jkube:deploy\"><strong>k8s:deploy</strong></a> goals</p>\n</div>\n<div class=\"paragraph\">\n<p>It iterates through all the resources generated by the <a href=\"#jkube:resource\"><strong>k8s:resource</strong></a> goal and deletes them from your current kubernetes cluster.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:undeploy</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:log\">6.3. <strong>k8s:log</strong></h3>\n<div class=\"paragraph\">\n<p>This goal tails the log of the app that you deployed via the <a href=\"#jkube:deploy\"><strong>k8s:deploy</strong></a> goal</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:log</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>You can then terminate the output by hitting <code>Ctrl+C</code></p>\n</div>\n<div class=\"paragraph\">\n<p>If you wish to get the log of the app and then terminate immediately then try:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:log -Djkube.log.follow=false</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This lets you pipe the output into grep or some other tool</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:log -Djkube.log.follow=false | grep Exception</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If your app is running in multiple pods you can configure the pod name to log via the <code>jkube.log.pod</code> property, otherwise it defaults to the latest pod:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:log -Djkube.log.pod=foo</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If your pod has multiple containers you can configure the container name to log via the <code>jkube.log.container</code> property, otherwise it defaults to the first container:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:log -Djkube.log.container=foo</code></pre>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Log\">6.3.1. Supported Properties for Log goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 18. Options available with log goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logFollow</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Get follow logs for your application inside Kubernetes.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.log.follow</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logContainer</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Get logs of some specific container inside your application Deployment.</p>\n<p class=\"tableblock\"> Defaults to <code>null</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.log.container</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logPod</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Get logs of some specific pod inside your application Deployment.</p>\n<p class=\"tableblock\"> Defaults to <code>null</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.log.pod</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:debug\">6.4. <strong>k8s:debug</strong></h3>\n<div class=\"paragraph\">\n<p>This goal enables debugging in your Java app and then port forwards from localhost to the latest running pod of your app so that you can easily debug your app from your Java IDE.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:debug</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then follow the on screen instructions.</p>\n</div>\n<div class=\"paragraph\">\n<p>The default debug port is <code>5005</code>. If you wish to change the local port to use for debugging then pass in the <code>jkube.debug.port</code> parameter:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:debug -Djkube.debug.port=8000</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then in your IDE you start a Remote debug execution using this remote port using localhost and you should be able to set breakpoints and step through your code.</p>\n</div>\n<div class=\"paragraph\">\n<p>This lets you debug your apps while they are running inside a Kubernetes cluster - for example if you wish to debug a REST endpoint while another pod is invoking it.</p>\n</div>\n<div class=\"paragraph\">\n<p>Debug is enabled via the <code>JAVA_ENABLE_DEBUG</code> environment variable being set to <code>true</code>. This environment variable is used for all the standard Java docker images used by Spring Boot, flat classpath and executable JAR projects and Wildfly Swarm. If you use your own custom docker base image you may wish to also respect this environment variable too to enable debugging.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_speeding_up_debugging\">6.4.1. Speeding up debugging</h4>\n<div class=\"paragraph\">\n<p>By default the <code>k8s:debug</code> goal has to edit your Deployment to enable debugging then wait for a pod to start. It might be in development you frequently want to debug things and want to speed things up a bit.</p>\n</div>\n<div class=\"paragraph\">\n<p>If so you can enable debug mode for each build via the <code>jkube.debug.enabled</code> property.</p>\n</div>\n<div class=\"paragraph\">\n<p>e.g. you can pass this property on the command line:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:deploy -Djkube.debug.enabled=true</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Or you can add something like this to your <code>~/.m2/settings.xml</code> file so that you enable debug mode for all maven builds on your laptop by using a profile :</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><?xml version=\"1.0\"?>\n<settings>\n <profiles>\n <profile>\n <id>enable-debug</id>\n <activation>\n <activeByDefault>true</activeByDefault>\n </activation>\n <properties>\n <jkube.debug.enabled>true</jkube.debug.enabled>\n </properties>\n </profile>\n </profiles>\n</settings></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then whenever you type the <code>k8s:debug</code> goal there is no need for the maven goal to edit the <code>Deployment</code> and wait for a pod to restart; we can immediately start debugging when you type:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:debug</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_debugging_with_suspension\">6.4.2. Debugging with suspension</h4>\n<div class=\"paragraph\">\n<p>The <code>k8s:debug</code> goal allows to attach a remote debugger to a running container, but the application is free to execute when the debugger is not attached.\nIn some cases, you may want to have complete control on the execution, e.g. to investigate the application behavior at startup. This can be done using the <code>jkube.debug.suspend</code> flag:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:debug -Djkube.debug.suspend</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The suspend flag will set the <code>JAVA_DEBUG_SUSPEND</code> environment variable to <code>true</code> and <code>JAVA_DEBUG_SESSION</code> to a random number in your deployment.\nWhen the <code>JAVA_DEBUG_SUSPEND</code> environment variable is set, standard docker images will use <code>suspend=y</code> in the JVM startup options for debugging.</p>\n</div>\n<div class=\"paragraph\">\n<p>The <code>JAVA_DEBUG_SESSION</code> environment variable is always set to a random number (each time you run the debug goal with the suspend flag) in order to tell Kubernetes to restart the pod.\nThe remote application will start only after a remote debugger is attached. You can use the remote debugging feature of your IDE to connect (on <code>localhost</code>, port <code>5005</code> by default).</p>\n</div>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nThe <code>jkube.debug.suspend</code> flag will disable readiness probes in the Kubernetes deployment in order to start port-forwarding during the early phases of application startup\n</td>\n</tr>\n</table>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Debug\">6.4.3. Supported Properties For Debug Goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 19. Options available with debug goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>debugPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default port available for debugging your application inside Kubernetes.</p>\n<p class=\"tableblock\"> Defaults to <code>5005</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.debug.port</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>debugSuspend</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Disables readiness probes in Kubernetes Deployment in order to start port forwarding during early phases of\n application startup.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.debug.suspend</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:watch\">6.5. <strong>k8s:watch</strong></h3>\n<div class=\"paragraph\">\n<p>This goal is used to monitor the project workspace for changes and automatically trigger a redeploy of the application\nrunning on Kubernetes.</p>\n</div>\n<div class=\"paragraph\">\n<p>In order to use k8s:watch for spring-boot, you need to make sure that <code>devtools</code> is included in the repacked\narchive, as shown in the following listing:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-maven-plugin</artifactId>\n <configuration>\n <excludeDevtools>false</excludeDevtools>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then you need to set a <code>spring.devtools.remote.secret</code> in application.properties, as shown in the following example:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>spring.devtools.remote.secret=mysecret</pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Before entering the watch mode, this goal must generate the docker image and the Kubernetes resources\n(optionally including some development libraries/configuration),\nand deploy the app on Kubernetes. Lifecycle bindings should be configured as follows to allow\nthe generation of such resources.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Lifecycle bindings for k8s:watch</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n\n <!-- ... -->\n\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>For any application having <code>resource</code> and <code>build</code> goals bound to the lifecycle, the following\ncommand can be used to run the watch task.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-bash\" data-lang=\"bash\">mvn k8s:watch</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This plugin supports different watcher providers, enabled automatically if the project satisfies certain conditions.</p>\n</div>\n<div class=\"paragraph\">\n<p>Watcher providers can also be configured manually. The <a href=\"#generator-example\">Generator example</a> is a good blueprint, simply replace <code><generator></code> with <code><watcher></code>. The configuration is structurally identical.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"watcher-spring-boot\">6.5.1. Spring Boot</h4>\n<div class=\"paragraph\">\n<p>This watcher is enabled by default for all Spring Boot projects. It performs the following actions:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>deploys your application with Spring Boot DevTools enabled</p>\n</li>\n<li>\n<p>tails the log of the latest running pod for your application</p>\n</li>\n<li>\n<p>watches the local development build of your Spring Boot based application and then triggers a reload of the application when there are changes</p>\n</li>\n</ul>\n</div>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nSpring devtools automatically ignores projects named <code>spring-boot</code>, <code>spring-boot-devtools</code>,\n <code>spring-boot-autoconfigure</code>, <code>spring-boot-actuator</code>, <code>and spring-boot-starter</code>\n</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>You can try it on any spring boot application via:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn k8s:watch</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Once the goal starts up the spring boot RemoteSpringApplication it will watch for local development changes.</p>\n</div>\n<div class=\"paragraph\">\n<p>e.g. if you edit the java code of your app and then build it via something like this:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn package</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>You should see your app reload on the fly in the shell running the <a href=\"#jkube:watch\"><strong>k8s:watch</strong></a> goal!</p>\n</div>\n<div class=\"paragraph\">\n<p>There is also support for LiveReload as well.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"watcher-docker-image\">6.5.2. Docker Image</h4>\n<div class=\"paragraph\">\n<p>This is a generic watcher that can be used in Kubernetes mode only. Once activated, it listens for changes in the project workspace\n in order to trigger a redeploy of the application.</p>\n</div>\n<div class=\"paragraph\">\n<p>The watcher can be activated e.g. by running this command in another shell:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn package</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The watcher will detect that the binary artifact has changed and will first rebuild the docker image,\nthen start a redeploy of the Kubernetes pod.</p>\n</div>\n<div class=\"paragraph\">\n<p>It uses the watch feature of the <a href=\"https://dmp.fabric8.io/#docker:watch\">docker-maven-plugin</a> under the hood.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Watch\">6.5.3. Supported Properties for Watch goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 20. Options available with watch goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>kubernetesManifest</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The generated kubernetes YAML file.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/target/classes/META-INF/jkube/kubernetes.yml</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.kubernetesManifest</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>watchMode</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>How to watch for image changes.</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>copy</code>: Copy watched artifacts into container</p>\n</li>\n<li>\n<p><code>build</code>: Build only images</p>\n</li>\n<li>\n<p><code>run</code>: Run images</p>\n</li>\n<li>\n<p><code>both</code>: Build and run images</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Defaults to <code>both</code>.</p>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.watch.mode</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>watchInterval</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Watch interval in milliseconds.</p>\n<p class=\"tableblock\"> Defaults to <code>5000</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.watch.interval</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"generators\">7. Generators</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>The usual way to define Docker images is with the plugin configuration as explained in <a href=\"#jkube:build\"><strong>k8s:build</strong></a>. This can either be done completely within the <code>pom.xml</code> or by referring to an external Dockerfile. Since kubernetes-maven-plugin includes <a href=\"https://github.com/jkubeio/docker-maven-plugin\">docker-maven-plugin</a> the way by which images are built is identical.</p>\n</div>\n<div class=\"paragraph\">\n<p>However, this plugin provides an additional route for defining image configurations. This is done by so called <em>Generators</em>. A generator is a Java component providing an auto-detection mechanism for certain build types like a Spring Boot build or a plain Java build. As soon as a <em>Generator</em> detects that it is applicable it will be called with the list of images configured in the <code>pom.xml</code>. Typically a generator only creates dynamically a new image configuration if this list is empty. But a generator is free to also add new images to an existing list or even change the current image list.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can easily create your own generator as explained in <a href=\"#generators-api\">Generator API</a>. This section will focus on existing generators and how you can configure them.</p>\n</div>\n<div class=\"paragraph\">\n<p>The included <em>Generators</em> are enabled by default, but you can easily disable them or only select a certain set of generators. Each generator has a <em>name</em>, which is unique for a generator.</p>\n</div>\n<div class=\"paragraph\">\n<p>The generator configuration is embedded in a <code><generator></code> configuration section:</p>\n</div>\n<div id=\"generator-example\" class=\"listingblock\">\n<div class=\"title\">Example for a generator configuration</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n ....\n <configuration>\n ....\n <generator> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <includes> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n <include>spring-boot</include>\n </includes>\n <config> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n <spring-boot> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n <alias>ping</alias>\n </spring-boot>\n </config>\n </generator>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Start of generators' configuration.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>Generators can be included and excluded. Includes have precedence, and the generators are called in the given order.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td>Configuration for individual generators.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>The config is a map of supported config values. Each section is embedded in a tag named after the generator.</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>The following sub-elements are supported:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 21. Generator configuration</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><includes></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Contains one ore more <code><include></code> elements with generator names which should be included. If given only this list of generators are included in this given order. The order is important because by default only the first matching generator kicks in. The generators from every active profile are included, too. However the generators listed here are moved to the front of the list, so that they are called first. Use the profile <code>raw</code> if you want to explicitly set the complete list of generators.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><excludes></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Holds one or more <code><exclude></code> elements with generator names to exclude. If set then all detected generators are used except the ones mentioned in this section.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><config></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Configuration for all generators. Each generator support a specific set of configuration values as described in the documentation. The subelements of this section are generator names to configure. E.g. for generator <code>spring-boot</code>, the sub-element is called <code><spring-boot></code>. This element then holds the specific generator configuration like <code><name></code> for specifying the final image name. See above for an example. Configuration coming from profiles are merged into this config, but not overriding the configuration specified here.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Beside specifying generator configuration in the plugin’s configuration it can be set directly with properties, too:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example generator property config</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn -Djkube.generator.java-exec.webPort=8082</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The general scheme is a prefix <code>jkube.generator.</code> followed by the unique generator name and then the generator specific key.</p>\n</div>\n<div class=\"paragraph\">\n<p>In addition to the provided default <em>Generators</em> described in the next section <a href=\"#generators-default\">Default Generators</a>, custom generators can be easily added. There are two ways to include generators:</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Plugin dependency</div>\n<p>You can declare the generator holding jars as dependency to this plugin as shown in this example</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <artifactId>kubernetes-maven-plugin</artifactId>\n ....\n <dependencies>\n <dependency>\n <groupId>io.acme</groupId>\n <artifactId>mygenerator</artifactId>\n <version>1.0</version>\n </dependency>\n </dependencies>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Compile time dependency</div>\n<p>Alternatively and if your application code comes with a custom generator you can set the global configuration option <code>useProjectClasspath</code> (property: <code>jkube.useProjectClasspath</code>) to true. In this case also the project artifact and its dependencies are looked up for <em>Generators</em>. See <a href=\"#generators-api\">Generator API</a> for details how to write your own generators.</p>\n</div>\n<div class=\"sect2\">\n<h3 id=\"generators-default\">7.1. Default Generators</h3>\n<div class=\"paragraph\">\n<p>All default generators examine the build information for certain aspects and generate a Docker build configuration on the fly. They can be configured to a certain degree, where the configuration is generator specific.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 22. Default Generators</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 66.6668%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Generator</th>\n<th class=\"tableblock halign-left valign-top\">Name</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-java-exec\">Java Applications</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>java-exec</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generic generator for flat classpath and fat-jar Java applications</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-spring-boot\">Spring Boot</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>spring-boot</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Spring Boot specific generator</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-wildfly-swarm\">Wildfly Swarm</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>wildfly-swarm</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Wildfly Swarm apps</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-thorntail-v2\">Thorntail v2</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>thorntail-v2</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Thorntail v2 apps</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-vertx\">Vert.x</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Vert.x applications</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-karaf\">Karaf</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>karaf</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Karaf based apps</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-webapp\">Web applications</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>webapps</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for WAR based applications supporting Tomcat, Jetty and Wildfly base images</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-quarkus\">Quarkus</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>Quarkus</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Quarkus based applications</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-openliberty\">Open Liberty</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>openliberty</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Open Liberty applications</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-wildfly-jar\">WildFly Bootable JAR</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>wildfly-jar</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for WildFly Bootable JAR applications</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>There are some configuration options which are shared by all generators:</p>\n</div>\n<table id=\"generator-options-common\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 23. Common generator options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>add</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">When set to <code>true</code>, then the generator <em>adds</em> to an existing image configuration. By default this is disabled, so\n that a generator only kicks in when there are no other image configurations in the build, which are either configured\n directly for a <code>k8s:build</code> or already added by a generator which has been run previously.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.add</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>alias</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">An alias name for referencing this image in various other parts of the configuration. This is also used in the log\n output. The default alias name is the name of the generator.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.alias</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>from</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">This is the base image from where to start when creating the images. By default the generators make an opinionated\n decision for the base image which are described in the respective generator section.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.from</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>fromMode</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Whe using OpenShift S2I builds the base image can be either a plain docker image (mode: <code>jib</code>) or a reference to an\n <a href=\"https://docs.openshift.com/container-platform/3.3/architecture/core_concepts/builds_and_image_streams.html\"> ImageStreamTag</a>\n (mode: <code>istag</code>). In the case of an ImageStreamTag, <code>from</code> has to be specified in the form <code>namespace/image-stream:tag</code>.\n The mode takes only effect when running in OpenShift mode.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.fromMode</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Docker image name used when doing Docker builds. For OpenShift S2I builds its the name of the image stream. This\n can be a pattern as descibed in <a href=\"#image-name-placeholders\">Name Placeholders</a>. The default is <code>%g/%a:%l</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.name</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>registry</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A optional Docker registry used when doing Docker builds. It has no effect for OpenShift S2I builds.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.registry</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>When used as properties they can be directly referenced with the property names above.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-java-exec\">7.1.1. Java Applications</h4>\n<div class=\"paragraph\">\n<p>One of the most generic <em>Generators</em> is the <code>java-exec</code> generator.\nIt is responsible for starting up arbitrary Java application.\nIt knows how to deal with fat-jar applications where the application and all dependencies are included within a single jar and the <code>MANIFEST.MF</code> within the jar references a main class.\nBut also flat classpath applications, where the dependencies are separate jar files and a main class is given.</p>\n</div>\n<div class=\"paragraph\">\n<p>If no main class is explicitly configured, the plugin first attempts to locate a fat jar.\nIf the Maven build creates a JAR file with a <code>META-INF/MANIFEST.MF</code> containing a <code>Main-Class</code> entry, then this is considered to be the fat jar to use.\nIf there are more than one of such files then the largest one is used.</p>\n</div>\n<div class=\"paragraph\">\n<p>If a main class is configured (see below) then the image configuration will contain the application jar plus all dependency jars.\nIf no main class is configured as well as no fat jar being detected, then this <em>Generator</em> tries to detect a single main class by searching for <code>public static void main(String args[])</code> among the application classes. If exactly one class is found this is considered to be the main class. If no or more than one is found the <em>Generator</em> finally does nothing.</p>\n</div>\n<div class=\"paragraph\">\n<p>It will use the following base image by default, but as explained <a href=\"#generator-options-common\">above</a> and can be changed with the <code>from</code> configuration.</p>\n</div>\n<table id=\"generator-java-exec-from\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 24. Java Base Images</caption>\n<colgroup>\n<col style=\"width: 7.6923%;\">\n<col style=\"width: 30.7692%;\">\n<col style=\"width: 30.7692%;\">\n<col style=\"width: 30.7693%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"></th>\n<th class=\"tableblock halign-left valign-top\">Docker Build</th>\n<th class=\"tableblock halign-left valign-top\">S2I Build</th>\n<th class=\"tableblock halign-left valign-top\">ImageStream</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Community</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-java-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-java-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube-java</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>These images always refer to the latest tag.</p>\n</div>\n<div class=\"paragraph\">\n<p>When a <code>fromMode</code> of <code>istag</code> is used to specify an <code>ImageStreamTag</code> and when no <code>from</code> is given, then as default the\n<code>ImageStreamTag</code> <code>jkube-java</code> in the namespace <code>openshift</code> is chosen.\nBy default, <code>fromMode = \"docker\"</code> which use the a plain Docker image reference for the S2I builder image.</p>\n</div>\n<div class=\"paragraph\">\n<p>Beside the common configuration parameters described in the table <a href=\"#generator-options-common\">common generator options</a>\nthe following additional configuration options are recognized:</p>\n</div>\n<table id=\"generator-java-exec-options\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 25. Java Application configuration options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>targetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory within the generated image where to put the detected artefacts into. Change this only if the base image is\n changed, too.</p>\n<p class=\"tableblock\"> Defaults to <code>/deployments</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.targetDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>jolokiaPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port of the Jolokia agent exposed by the base image. Set this to 0 if you don’t want to expose the Jolokia port.</p>\n<p class=\"tableblock\"> Defaults to <code>8778</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.jolokiaPort</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>mainClass</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Main class to call. If not given first a check is performed to detect a fat-jar (see above). Next a class is looked up\n by scanning <code>target/classes</code> for a single class with a main method. If no such class is found or if more than one is\n found, then this generator does nothing.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.mainClass</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>prometheusPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port of the Prometheus jmx_exporter exposed by the base image. Set this to 0 if you don’t want to expose the Prometheus\n port.</p>\n<p class=\"tableblock\"> Defaults to <code>9779</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.prometheusPort</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>webPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port to expose as service, which is supposed to be the port of a web application. Set this to 0 if you don’t want to\n expose a port.</p>\n<p class=\"tableblock\"> Defaults to <code>8080</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.webPort</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>The exposed ports are typically later on use by <a href=\"#enrichers\">Enrichers</a> to create default Kubernetes or OpenShift services.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can add additional files to the target image within <code>baseDir</code> by placing files into <code>src/main/jkube-includes</code>.\nThese will be added with mode <code>0644</code>, while everything in <code>src/main/jkube-includes/bin</code> will be added with <code>0755</code>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-spring-boot\">7.1.2. Spring Boot</h4>\n<div class=\"paragraph\">\n<p>This generator is called <code>spring-boot</code> and gets activated when it finds a <code>spring-boot-maven-plugin</code> in the pom.xml.</p>\n</div>\n<div class=\"paragraph\">\n<p>This generator is based on the <a href=\"#generator-java-exec\">Java Application</a> Generator and inherits all of its configuration values. The generated container port is read from the <code>server.port</code> property <code>application.properties</code>, defaulting to <code>8080</code> if it is not found. It also uses the same default images as the <a href=\"#generator-java-exec-from\">java-exec Generator</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Beside the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\">java-exec options</a> the following additional configuration is recognized:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 26. Spring-Boot configuration options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>color</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set, force the use of color in the Spring Boot console output.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.spring-boot.color</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>The generator adds Kubernetes liveness and readiness probes pointing to either the management or server port as read from the <code>application.properties</code>.\nIf the <code>management.port</code> (for Spring Boot 1) or <code>management.server.port</code> (for Spring Boot 2) and <code>management.ssl.key-store</code> (for Spring Boot 1) or <code>management.server.ssl.key-store</code> (for Spring Boot 2) properties are set in <code>application.properties</code> otherwise or <code>server.ssl.key-store</code> property is set in <code>application.properties</code> then the probes are automatically set to use <code>https</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The generator works differently when called together with <code>k8s:watch</code>.\nIn that case it enables support for <a href=\"http://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html\">Spring Boot Developer Tools</a> which allows for hot reloading of the Spring Boot app.\nIn particular, the following steps are performed:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If a secret token is not provided within the Spring Boot application configuration <code>application.properties</code> or <code>application.yml</code> with the key <code>spring.devtools.remote.secret</code> then a custom secret token is created and added to <code>application.properties</code></p>\n</li>\n<li>\n<p>Add <code>spring-boot-devtools.jar</code> as <code>BOOT-INF/lib/spring-devtools.jar</code> to the spring-boot fat jar.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Since during <code>k8s:watch</code> the application itself within the <code>target/</code> directory is modified for allowing easy reloading you must ensure that you do a <code>mvn clean</code> before building an artifact which should be put into production.\nSince the released version are typically generated with a CI system which does a clean build anyway this should be only a theoretical problem.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-wildfly-swarm\">7.1.3. Wildfly Swarm</h4>\n<div class=\"paragraph\">\n<p>The WildFly Swarm generator detects a WildFly Swarm build and disables the Prometheus Java agent because of this <a href=\"https://issues.jboss.org/browse/THORN-1859\">issue</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Otherwise this generator is identical to the <a href=\"#generator-java-exec\">java-exec generator</a>.\nIt supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-thorntail-v2\">7.1.4. Thorntail v2</h4>\n<div class=\"paragraph\">\n<p>The Thorntail v2 generator detects a Thorntail v2 build and disables the Prometheus Java agent because of this <a href=\"https://issues.jboss.org/browse/THORN-1859\">issue</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Otherwise this generator is identical to the <a href=\"#generator-java-exec\">java-exec generator</a>. It supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-vertx\">7.1.5. Vert.x</h4>\n<div class=\"paragraph\">\n<p>The Vert.x generator detects an application using Eclipse Vert.x. It generates the metadata to start the application as a fat jar.</p>\n</div>\n<div class=\"paragraph\">\n<p>Currently, this generator is enabled if:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>you are using the Vert.x Maven Plugin (<a href=\"https://github.com/reactiverse/vertx-maven-plugin\" class=\"bare\">https://github.com/reactiverse/vertx-maven-plugin</a>)</p>\n</li>\n<li>\n<p>you are depending on <code>io.vertx:vertx-core</code> and uses the Maven Shader plugin</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Otherwise this generator is identical to the <a href=\"#generator-java-exec\">java-exec generator</a>. It supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The generator automatically:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>enable metrics and JMX publishing of the metrics when <code>io.vertx:vertx-dropwizard-metrics</code> is in the project’s classpath / dependencies.</p>\n</li>\n<li>\n<p>enable clustering when a Vert.x cluster manager is available in the project’s classpath / dependencies. this is done by appending <code>-cluster</code> to the command line.</p>\n</li>\n<li>\n<p>Force IPv4 stack when <code>vertx-infinispan</code> is used.</p>\n</li>\n<li>\n<p>Disable the async DNS resolver to fallback to the regular JVM DNS resolver.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>You can pass application parameter by setting the <code>JAVA_ARGS</code> env variable. You can pass system properties either using the same variable or using <code>JAVA_OPTIONS</code>. For instance, create <code>src/main/jkube/deployment.yml</code> with the following content to configure <code>JAVA_ARGS</code>:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n template:\n spec:\n containers:\n - env:\n - name: JAVA_ARGS\n value: \"-Dfoo=bar -cluster -instances=2\"</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-karaf\">7.1.6. Karaf</h4>\n<div class=\"paragraph\">\n<p>This generator named <code>karaf</code> kicks in when the build uses a <code>karaf-maven-plugin</code>. By default the following base images are used:</p>\n</div>\n<table id=\"generator-karaf-from\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 27. Karaf Base Images</caption>\n<colgroup>\n<col style=\"width: 7.6923%;\">\n<col style=\"width: 30.7692%;\">\n<col style=\"width: 30.7692%;\">\n<col style=\"width: 30.7693%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"></th>\n<th class=\"tableblock halign-left valign-top\">Docker Build</th>\n<th class=\"tableblock halign-left valign-top\">S2I Build</th>\n<th class=\"tableblock halign-left valign-top\">ImageStream</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Community</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-karaf-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-karaf-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube-karaf</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>When a <code>fromMode</code> of <code>istag</code> is used to specify an <code>ImageStreamTag</code> and when no <code>from</code> is given, then as default the\n<code>ImageStreamTag</code> <code>jkube-karaf</code> in the namespace <code>openshift</code> is chosen.</p>\n</div>\n<div class=\"paragraph\">\n<p>In addition to the <a href=\"#generator-options-common\">common generator options</a> this generator can be configured with the following options:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 28. Karaf configuration options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>baseDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory within the generated image where to put the detected artifacts into. Change this only if the base image is\n changed, too.</p>\n<p class=\"tableblock\"> Defaults to <code>/deployments</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.karaf.baseDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>webPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port to expose as service, which is supposed to be the port of a web application. Set this to 0 if you don’t want to\nexpose a port.</p>\n<p class=\"tableblock\"> Defaults to <code>8080</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.karaf.webPort</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-webapp\">7.1.7. Web Applications</h4>\n<div class=\"paragraph\">\n<p>The <code>webapp</code> generator tries to detect WAR builds and selects a base servlet container image based on the configuration found in the <code>pom.xml</code>:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>A <strong>Tomcat</strong> base image is selected when a <code>tomcat6-maven-plugin</code> or <code>tomcat7-maven-plugin</code> is present or when a <code>META-INF/context.xml</code> could be found in the classes directory.</p>\n</li>\n<li>\n<p>A <strong>Jetty</strong> base image is selected when a <code>jetty-maven-plugin</code> is present or one of the files <code>WEB-INF/jetty-web.xml</code> or <code>WEB-INF/jetty-logging.properties</code> is found.</p>\n</li>\n<li>\n<p>A <strong>Wildfly</strong> base image is chosen for a given <code>jboss-as-maven-plugin</code> or <code>wildfly-maven-plugin</code> or when a Wildfly specific deployment descriptor like <code>jboss-web.xml</code> is found.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The base images chosen are:</p>\n</div>\n<table id=\"generator-webapp-from\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 29. Webapp Base Images</caption>\n<colgroup>\n<col style=\"width: 11.1111%;\">\n<col style=\"width: 44.4444%;\">\n<col style=\"width: 44.4445%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"></th>\n<th class=\"tableblock halign-left valign-top\">Docker Build</th>\n<th class=\"tableblock halign-left valign-top\">S2I Build</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Tomcat</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-tomcat9-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-tomcat9-binary-s2i</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Jetty</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-jetty9-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-jetty9-binary-s2i</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Wildfly</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jboss/wildfly</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"https://github.com/wildfly/wildfly-s2i\"><code>quay.io/wildfly/wildfly-centos7</code></a></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>In addition to the <a href=\"#generator-options-common\">common generator options</a> this generator can be configured with the following options:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 30. Webapp configuration options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>server</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Fix server to use in the base image. Can be either <strong>tomcat</strong>, <strong>jetty</strong> or <strong>wildfly</strong>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.server</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>targetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where to put the war file into the target image. By default its selected by the base image chosen but can be\n overwritten with this option.</p>\n<p class=\"tableblock\"> Defaults to <code>/deployments</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.targetDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>user</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">User and/or group under which the files should be added. The syntax of this options is descriped in\n <a href=\"#config-image-build-assembly-user\">Assembly Configuration</a>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.user</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>path</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Context path with which the application can be reached by default.</p>\n<p class=\"tableblock\"> Defaults to <code>/</code> (root context).</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.path</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>cmd</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Command to use to start the container. By default the base images startup command is used.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.cmd</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>ports</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Comma separated list of ports to expose in the image and which eventually are translated later to Kubernetes services.\n The ports depend on the base image and are selected automatically. But they can be overridden here.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.ports</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-quarkus\">7.1.8. Quarkus</h4>\n<div class=\"paragraph\">\n<p>The <code>Quarkus</code> generator tried to detect quarkus based projects looking at project <code>pom.xml</code>:</p>\n</div>\n<div class=\"paragraph\">\n<p>The base images chosen are:</p>\n</div>\n<table id=\"generator-quarkus-from\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 31. Webapp Base Images</caption>\n<colgroup>\n<col style=\"width: 11.1111%;\">\n<col style=\"width: 44.4444%;\">\n<col style=\"width: 44.4445%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"></th>\n<th class=\"tableblock halign-left valign-top\">Docker Build</th>\n<th class=\"tableblock halign-left valign-top\">S2I Build</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Native</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>registry.access.redhat.com/ubi8/ubi-minimal:8.1</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">---</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Normal Build</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>openjdk:11</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">---</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"admonitionblock important\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-important\" title=\"Important\"></i>\n</td>\n<td class=\"content\">\n<div class=\"paragraph\">\n<p>S2I builds are currently not yet supported for the Quarkus generator.</p>\n</div>\n</td>\n</tr>\n</table>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-openliberty\">7.1.9. Open Liberty</h4>\n<div class=\"paragraph\">\n<p>The Open Liberty generator runs when the Open Liberty plugin is enabled in the maven build.</p>\n</div>\n<div class=\"paragraph\">\n<p>The generator is similar to the <a href=\"#generator-java-exec\">java-exec generator</a>. It supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>For Open Liberty, the default value of webPort is 9080.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-wildfly-jar\">7.1.10. Wildfly JAR Generator</h4>\n<div class=\"paragraph\">\n<p>The Wildfly JAR generator detects a WildFly Bootable JAR build and disables the Jolokia and Prometheus Java agent TO BE REVISITED WHEN WE HAVE A SOLUTION.</p>\n</div>\n<div class=\"paragraph\">\n<p>Otherwise this generator is identical to the <a href=\"#generator-java-exec\">java-exec generator</a>. It supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"generators-api\">7.2. Generator API</h3>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nThe API is still a bit in flux and will be documented later. Please refer to the\n <a href=\"https://github.com/eclipse/jkube/blob/master/jkube-kit/generator/api/src/main/java/org/eclipse/jkube/generator/api/Generator.java\">Generator</a>\n Interface in the meantime.\n</td>\n</tr>\n</table>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"enrichers\">8. Enrichers</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Enriching is the complementary concept to <a href=\"#generators\">Generators</a>. Whereas Generators are used to create and customize Docker images, Enrichers are use to create and customize Kubernetes resource objects.</p>\n</div>\n<div class=\"paragraph\">\n<p>There are a lot of similarities to Generators:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Each Enricher has a unique name.</p>\n</li>\n<li>\n<p>Enrichers are looked up automatically from the plugin dependencies and there is a set of default enrichers delivered with this plugin.</p>\n</li>\n<li>\n<p>Enrichers are configured the same ways as generators</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The <a href=\"#generator-example\">Generator example</a> is a good blueprint, simply replace <code><generator></code> with <code><enricher></code>. The configuration is structural identical:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 32. Enricher configuration</caption>\n<colgroup>\n<col style=\"width: 25%;\">\n<col style=\"width: 75%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><includes></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Contains one ore more <code><include></code> elements with enricher names which should be included. If given, only this list of enrichers are included in this order. The enrichers from every active profile are included, too. However the enrichers listed here are moved to the front of the list, so that they are called first. Use the profile <code>raw</code> if you want to explicitly set the complete list of enrichers.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><excludes></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Holds one or more <code><exclude></code> elements with enricher names to exclude. This means all the detected enrichers are used except the ones mentioned in this section.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><config></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Configuration for all enrichers. Each enricher supports a specific set of configuration values as described in its documentation. The subelements of this section are enricher names. E.g. for enricher <code>jkube-service</code>, the sub-element is called <code><jkube-service></code>. This element then holds the specific enricher configuration like <code><name></code> for the service name. Configuration coming from profiles are merged into this config, but not overriding the configuration specified here.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>This plugin comes with a set of default enrichers. In addition custom enrichers can be easily added by providing implementation of the <a href=\"#enricher-api\">Enricher API</a> and adding these as a dependency to the build.</p>\n</div>\n<div class=\"sect2\">\n<h3 id=\"enrichers-default\">8.1. Default Enrichers</h3>\n<div class=\"paragraph\">\n<p>kubernetes-maven-plugin comes with a set of enrichers which are enabled by default. There are two categories of default enrichers:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"#enrichers-generic\"><strong>Generic Enrichers</strong></a> are used to add default resource object when they are missing or add common\nmetadata extracted from the given build information.</p>\n</li>\n<li>\n<p><a href=\"#enrichers-specific\"><strong>Specific Enrichers</strong></a> are enrichers which are focused on a certain tech stack that they detect.</p>\n</li>\n</ul>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 33. Default Enrichers Overview</caption>\n<colgroup>\n<col style=\"width: 22.2222%;\">\n<col style=\"width: 77.7778%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Enricher</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-configmap-file\">jkube-configmap-file</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add ConfigMap elements defined as XML or as annotation.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-controller\">jkube-controller</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Create default controller (replication controller, replica set or deployment <a href=\"https://kubernetes.io/docs/concepts/workloads/controllers/\">Kubernetes doc</a>) if missing.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-dependency\">jkube-dependency</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Examine build dependencies for <code>kubernetes.yml</code> and add the objects found therein.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-git\">jkube-git</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Check local <code>.git</code> directory and add build information as annotations.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-image\">jkube-image</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add the image name into a <code>PodSpec</code> of replication controller, replication sets and deployments, if missing.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-maven-issue-mgmt-enricher\">jkube-maven-issue-mgmt</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Maven Issue Management information as annotations to the kubernetes/openshift resources</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-maven-scm-enricher\">jkube-maven-scm-enricher</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Maven SCM information as annotations to the kubernetes/openshift resources</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-name\">jkube-name</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add a default name to every object which misses a name.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-pod-annotation\">jkube-pod-annotation</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Copy over annotations from a <code>Deployment</code> to a <code>Pod</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-portname\">jkube-portname</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add a default portname for commonly known service.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-project-label\">jkube-project-label</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Maven coordinates as labels to all objects.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-prometheus\">jkube-prometheus</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Prometheus annotations.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-revision-history-enricher\">jkube-revision-history</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add revision history limit (<a href=\"https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit\">Kubernetes doc</a>) as a deployment spec property to the Kubernetes/OpenShift resources.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-secret-file\">jkube-secret-file</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Secret elements defined as annotation.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-service\">jkube-service</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Create a default service if missing and extract ports from the Docker image configuration.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-serviceaccount\">jkube-serviceaccount</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add a ServiceAccount defined as XML or mentioned in resource fragment.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-triggers-annotation\">jkube-triggers-annotation</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add ImageStreamTag change triggers on Kubernetes resources such as StatefulSets, ReplicaSets and DaemonSets using the <code>image.openshift.io/triggers</code> annotation.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"sect3\">\n<h4 id=\"enrichers-generic\">8.1.1. Generic Enrichers</h4>\n<div class=\"paragraph\">\n<p>Default generic enrichers are used for adding missing resources or adding metadata to given resource objects.\nThe following default enhancers are available out of the box.</p>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-configmap-file\">jkube-configmap-file</h5>\n<div class=\"paragraph\">\n<p>This enricher adds ConfigMap defined as <code>resources</code> in plugin configuration and/or resolves file content from an annotation.</p>\n</div>\n<div class=\"paragraph\">\n<p>As XML you can define:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">pom.xml</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <resources>\n <configMap>\n <name>myconfigmap</name>\n <entries>\n <entry>\n <name>A</name>\n <value>B</value>\n </entry>\n </entries>\n </configMap>\n </resources>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This creates a ConfigMap data with key <code>A</code> and value <code>B</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can also use <code>file</code> tag to refer to the content of a file.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <resources>\n <configMap>\n <name>configmap-test</name>\n <entries>\n <entry>\n <file>src/test/resources/test-application.properties</file>\n </entry>\n </entries>\n </configMap>\n </resources>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This creates a ConfigMap with key <code>test-application.properties</code> and value the content of the <code>src/test/resources/test-application.properties</code> file.\nIf you set <code>name</code> tag then this is used as key instead of the filename.</p>\n</div>\n<div class=\"paragraph\">\n<p>If you are defining a custom <code>ConfigMap</code> file, you can use an annotation to define a file name as key and its content as the value:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">metadata:\n name: ${project.artifactId}\n annotations:\n maven.jkube.io/cm/application.properties: src/test/resources/test-application.properties</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This creates a <code>ConfigMap</code> data with key <code>application.properties</code> (part defined after <code>cm</code>) and value the content of <code>src/test/resources/test-application.properties</code> file.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-controller\">jkube-controller</h5>\n<div class=\"paragraph\">\n<p>This enricher is used to ensure that a controller is present.\nThis can be either directly configured with fragments or with the XML configuration.\nAn explicit configuration always takes precedence over auto detection.\nSee <a href=\"https://kubernetes.io/docs/concepts/workloads/controllers/\">Kubernetes doc</a> for more information on types of controllers.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following configuration parameters can be used to influence the behaviour of this enricher:</p>\n</div>\n<table id=\"enricher-jkube-controller\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 34. Default controller enricher</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Name of the Controller. Kubernetes Controller names must start with a letter. If the maven artifactId starts with a\n digit, <code>s</code> will be prefixed.</p>\n<p class=\"tableblock\"> Defaults to <code>${project.artifactId}</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-controller.name</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pullPolicy</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Image pull policy to use for the container. One of: <em>IfNotPresent</em>, <em>Always</em>.</p>\n<p class=\"tableblock\"> Defaults to <code>IfNotPresent</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-controller.pullPolicy</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>type</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Type of Controller to create. One of: <em>ReplicationController</em>, <em>ReplicaSet</em>, <em>Deployment</em>, <em>DeploymentConfig</em>,\n <em>StatefulSet</em>, <em>DaemonSet</em>, <em>Job</em>.</p>\n<p class=\"tableblock\"> Defaults to <code>Deployment</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-controller.type</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>replicaCount</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of replicas for the container.</p>\n<p class=\"tableblock\"> Defaults to <code>1</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-controller.replicaCount</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-service\">jkube-service</h5>\n<div class=\"paragraph\">\n<p>This enricher is used to ensure that a service is present.\nThis can be either directly configured with fragments or with the XML configuration, but it can be also automatically inferred by looking at the ports exposed by an image configuration.\nAn explicit configuration always takes precedence over auto detection. For enriching an existing service this enricher actually works only on a configured service which matches with the configured (or inferred) service name.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following configuration parameters can be used to influence the behaviour of this enricher:</p>\n</div>\n<table id=\"enricher-jkube-service\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 35. Default service enricher</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Service name to enrich by default. If not given here or configured elsewhere, the artifactId is used.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.name</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>headless</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Whether a headless service without a port should be configured. A headless service has the <code>ClusterIP</code> set to <code>None</code>\n and will be only used if no ports are exposed by the image configuration or by the configuration <code>port</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.headless</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>expose</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to true, a label <code>expose</code> with value <code>true</code> is added which can be picked up by the jkube.\n <a href=\"https://github.com/jenkins-x/exposecontroller\">expose-controller</a> to expose the service to the outside by various means.\n See the documentation of expose-controller for more details.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.expose</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>type</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Kubernetes / OpenShift service type to set like <em>LoadBalancer</em>, <em>NodePort</em> or <em>ClusterIP</em>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.type</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>port</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The service port to use. By default the same port as the ports exposed in the image configuration is used, but can be\n changed with this parameter. See <a href=\"#jkube-service-ports\">below</a> for a detailed description of the format which can be\n put into this variable.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.port</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>multiPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Set this to <code>true</code> if you want all ports to be exposed from an image configuration. Otherwise only the first port is\n used as a service port.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.multiPort</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>protocol</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default protocol to use for the services. Must be <code>tcp</code> or <code>udp</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>tcp</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.protocol</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>normalizePort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Normalize the port numbering of the service to common and conventional port numbers.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.normalizePort</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Following is the Port mapping that comes in effect, when normalizePort option is set true.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 50%;\">\n<col style=\"width: 50%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Original Port</th>\n<th class=\"tableblock halign-left valign-top\">Normalized Port</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8080</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">80</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8081</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">80</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8181</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">80</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8180</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">80</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8443</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">443</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">443</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">443</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>You specify the properties like for any enricher within the enrichers configuration like in</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <!-- ... -->\n <enricher>\n <config>\n <jkube-service>\n <name>my-service</name>\n <type>NodePort</type>\n <multiPort>true</multiPort>\n </jkube-service>\n </config>\n </enricher>\n</configuration></code></pre>\n</div>\n</div>\n<div id=\"jkube-service-ports\" class=\"paragraph\">\n<div class=\"title\">Port specification</div>\n<p>With the option <code>port</code> you can influence the mapping how ports are mapped from the pod to the service.\nBy default and if this option is not given the ports exposed are dictated by the ports exposed from the Docker images contained in the pods.\nRemember, each image configured can be part of the pod.\nHowever you can expose also completely different ports as the images meta data declare.</p>\n</div>\n<div class=\"paragraph\">\n<p>The property <code>port</code> can contain a comma separated list of mappings of the following format:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-text\" data-lang=\"text\"><servicePort1>:<targetPort1>/<protocol>,<servicePort2>:<targetPort2>/<protocol>,....</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>where the <code>targetPort</code> and <code><protocol></code> specification is optional. These ports are overlayed over the ports exposed by the images, in the given order.</p>\n</div>\n<div class=\"paragraph\">\n<p>This is best explained by some examples.</p>\n</div>\n<div class=\"paragraph\">\n<p>For example if you have a pod which exposes a Microservice on port 8080 and you want to expose it as a service on port 80 (so that it can be accessed with <code><a href=\"http://myservice\" class=\"bare\">http://myservice</a></code>) you can simply use the following enricher configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <enricher>\n <config>\n <jkube-service>\n <name>myservice</name>\n <port>80:8080</port> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n </jkube-service>\n </config>\n </enricher>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>80 is the service port, 8080 the port opened in from the pod’s images</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>If your pod <em>exposes</em> their ports (which e.g. all generator do), then you can even omit the 8080 here (i.e. <code><port>80</port></code>).\nIn this case the <em>first</em> port exposed will be mapped to port 80, all other exposed ports will be omitted.</p>\n</div>\n<div class=\"paragraph\">\n<p>By default an automatically generated service only exposes the first port, even when more ports are exposed.\nWhen you want to map multiple ports you need to set the config option <code><multiPort>true</multiPort></code>.\nIn this case you can also provide multiple mappings as a comma separated list in the <code><port></code> specification where each element of the list are the mapping for the first, second, …​ port.</p>\n</div>\n<div class=\"paragraph\">\n<p>A more (and bit artificially constructed) specification could be <code><port>80,9779:9779/udp,443</port></code>.\nAssuming that the image exposes ports <code>8080</code> and <code>8778</code> (either directly or via <a href=\"#generators\">generators</a>) and we have switched on multiport mode, then the following service port mappings will be performed for the automatically generated service:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Pod port 8080 is mapped to service port 80.</p>\n</li>\n<li>\n<p>Pod port 9779 is mapped to service port 9779 with protocol UDP. Note how this second entry overrides the pod exposed port 8778.</p>\n</li>\n<li>\n<p>Pod port 443 is mapped to service port 443.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>This example shows also the mapping rules:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Port specification in <code>port</code> always override the port metadata of the contained Docker images (i.e. the ports exposed)</p>\n</li>\n<li>\n<p>You can always provide a complete mapping with <code>port</code> on your own</p>\n</li>\n<li>\n<p>The ports exposed by the images serve as <em>default values</em> which are used if not specified by this configuration option.</p>\n</li>\n<li>\n<p>You can map ports which are <em>not</em> exposed by the images by specifying them as target ports.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Multiple ports are <strong>only</strong> mapped when <em>multiPort</em> mode is enabled (which is switched off by default). If <em>multiPort</em> mode is disabled, only the first port from the list of mapped ports calculated as above is taken.</p>\n</div>\n<div class=\"paragraph\">\n<p>When you set <code>legacyPortMapping</code> to true than ports 8080 to 9090 are mapped to port 80 automatically if not explicitly mapped via <code><em>port</em></code>. I.e. when an image exposes port 8080 with a legacy mapping this mapped to a service port 80, not 8080. You <em>should not</em> switch this on for any good reason. In fact it might be that this option can vanish anytime.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-image\">jkube-image</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-name\">jkube-name</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-portname\">jkube-portname</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-pod-annotation\">jkube-pod-annotation</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-project-label\">jkube-project-label</h5>\n<div class=\"paragraph\">\n<p>Enricher that adds standard labels and selectors to generated resources (e.g. <code>app</code>, <code>group</code>, <code>provider</code>, <code>version</code>).</p>\n</div>\n<div class=\"paragraph\">\n<p>The <code>jkube-project-label</code> enricher supports the following configuration options:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Option</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>useProjectLabel</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Enable this flag to turn on the generation of the old <code>project</code> label in Kubernetes resources. The <code>project</code> label has\nbeen replaced by the <code>app</code> label in newer versions of the plugin.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-project-label.useProjectLabel</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>The project labels which are already specified in the input fragments are not overridden by the enricher.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-git\">jkube-git</h5>\n<div class=\"paragraph\">\n<p>Enricher that adds info from .git directory as annotations.</p>\n</div>\n<div class=\"paragraph\">\n<p>The git branch & latest commit on the branch are annotated as <code>jkube.io/git-branch</code> & <code>jkube.io/git-commit</code>.\n<code>jkube.io/git-url</code> is annotated as the URL of your configured remote.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Option</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>gitRemote</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Configures the git remote name, whose URL you want to annotate as 'git-url'.</p>\n<p class=\"tableblock\"> Defaults to <code>origin</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-git.gitRemote</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-dependency\">jkube-dependency</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-volume-permission\">jkube-volume-permission</h5>\n<div class=\"paragraph\">\n<p>Enricher which fixes the permission of persistent volume mount with the help of an init container.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-openshift-autotls\">jkube-openshift-autotls</h5>\n<div class=\"paragraph\">\n<p>Enricher which adds appropriate annotations and volumes to enable OpenShift’s automatic\n<a href=\"https://docs.openshift.org/latest/dev_guide/secrets.html#service-serving-certificate-secrets\">Service Serving Certificate Secrets</a>.\nThis enricher adds an init container to convert the service serving certificates from PEM (the format that OpenShift generates them in) to\na JKS-format Java keystore ready for consumption in Java services.</p>\n</div>\n<div class=\"paragraph\">\n<p>This enricher is disabled by default. In order to use it, you must configure the kubernetes-maven-plugin to use this enricher:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <includes>\n <include>jkube-openshift-autotls</include>\n </includes>\n <config>\n <jkube-openshift-autotls>\n <!-- ... -->\n </jkube-openshift-autotls>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The auto-TLS enricher supports the following configuration options:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tlsSecretName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the secret to be used to store the generated service serving certs.</p>\n<p class=\"tableblock\"> Defaults to <code><project.artifactId>-tls</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.tlsSecretName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tlsSecretVolumeMountPoint</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where the service serving secret should be mounted to in the pod.</p>\n<p class=\"tableblock\"> Defaults to <code>/var/run/secrets/jkube.io/tls-pem</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.tlsSecretName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tlsSecretVolumeName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the secret volume.</p>\n<p class=\"tableblock\"> Defaults to <code>tls-pem</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.tlsSecretVolumeName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>jksVolumeMountPoint</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where the generated keystore volume should be mounted to in the pod.</p>\n<p class=\"tableblock\"> Defaults to <code>/var/run/secrets/jkube.io/tls-jks</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.the</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>jksVolumeName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the keystore volume.</p>\n<p class=\"tableblock\"> Defaults to <code>tls-jks</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.jksVolumeName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pemToJKSInitContainerImage</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the image used as an init container to convert PEM certificate/key to Java keystore.</p>\n<p class=\"tableblock\"> Defaults to <code>jimmidyson/pemtokeystore:v0.1.0</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.pemToJKSInitContainerImage</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pemToJKSInitContainerName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">the name of the init container to convert PEM certificate/key to Java keystore.</p>\n<p class=\"tableblock\"> Defaults to <code>tls-jks-converter</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.pemToJKSInitContainerName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keystoreFileName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the generated keystore file.</p>\n<p class=\"tableblock\"> Defaults to <code>keystore.jks</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.keystoreFileName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keystorePassword</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The password to use for the generated keystore.</p>\n<p class=\"tableblock\"> Defaults to <code>changeit</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.keystorePassword</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keystoreCertAlias</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The alias in the keystore used for the imported service serving certificate.</p>\n<p class=\"tableblock\"> Defaults to <code>server</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.keystoreCertAlias</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-prometheus\">jkube-prometheus</h5>\n<div class=\"paragraph\">\n<p>This enricher adds Prometheus annotation like:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">apiVersion: v1\nkind: List\nitems:\n- apiVersion: v1\n kind: Service\n metadata:\n annotations:\n prometheus.io/scrape: \"true\"\n prometheus.io/port: 9779</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>By default the enricher inspects the images' BuildConfiguration and add the annotations if the port 9779 is listed.\nYou can force the plugin to add annotations by setting enricher’s config <code><code>prometheusPort</code></code></p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-maven-scm-enricher\">jkube-maven-scm-enricher</h5>\n<div class=\"paragraph\">\n<p>This enricher adds additional <a href=\"https://maven.apache.org/pom.html#SCM\">SCM</a> related metadata to all objects supporting annotations.\nThese metadata will be added only if <a href=\"https://maven.apache.org/pom.html#SCM\">SCM</a> information is present in the maven <code>pom.xml</code> of the project.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following annotations will be added to the objects that supports annotations,</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 36. Maven SCM Enrichers Annotation Mapping</caption>\n<colgroup>\n<col style=\"width: 28.5714%;\">\n<col style=\"width: 28.5714%;\">\n<col style=\"width: 42.8572%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Maven SCM Info</th>\n<th class=\"tableblock halign-left valign-top\">Annotation</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scm/connection</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/scm-con-url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The SCM connection that will be used to connect to the project’s SCM</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scm/developerConnection</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/scm-devcon-url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The SCM Developer Connection that will be used to connect to the project’s developer SCM</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scm/tag</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/scm-tag</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The SCM tag that will be used to checkout the sources, like HEAD dev-branch etc.,</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scm/url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/scm-url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The SCM web url that can be used to browse the SCM over web browser</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Lets say you have a maven pom.xml with the following scm information,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><scm>\n <connection>scm:git:git://github.com/jkubeio/kubernetes-maven-plugin.git</connection>\n <developerConnection>scm:git:git://github.com/jkubeio/kubernetes-maven-plugin.git</developerConnection>\n <url>git://github.com/jkubeio/kubernetes-maven-plugin.git</url>\n</scm></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This information will be enriched as annotations in the generated manifest like,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\"># ...\n kind: Service\n metadata:\n annotations\n jkube.io/scm-con-url: \"scm:git:git://github.com/jkubeio/kubernetes-maven-plugin.git\"\n jkube.io/scm-devcon-url: \"scm:git:git://github.com/jkubeio/kubernetes-maven-plugin.git\"\n jkube.io/scm-tag: \"HEAD\"\n jkube.io/scm-url: \"git://github.com/jkubeio/kubernetes-maven-plugin.git\"\n# ...</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-maven-issue-mgmt-enricher\">jkube-maven-issue-mgmt</h5>\n<div class=\"paragraph\">\n<p>This enricher adds additional <a href=\"https://maven.apache.org/pom.html#Issue_Management\">Issue Management</a> related metadata to\nall objects supporting annotations.\nThese metadata will be added only if the <a href=\"https://maven.apache.org/pom.html#Issue_Management\">Issue Management</a>\ninformation is available in the <code>pom.xml</code> of the Maven project.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following annotations will be added to the objects that support these annotations,</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 37. Maven Issue Tracker Enrichers Annotation Mapping</caption>\n<colgroup>\n<col style=\"width: 28.5714%;\">\n<col style=\"width: 28.5714%;\">\n<col style=\"width: 42.8572%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Maven Issue Tracker Info</th>\n<th class=\"tableblock halign-left valign-top\">Annotation</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">issueManagement/system</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/issue-system</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Issue Management system like Bugzilla, JIRA, GitHub etc.,</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">issueManagement/url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/issue-tracker-url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Issue Management url e.g. GitHub Issues Url</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Lets say you have a maven pom.xml with the following issue management information,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><issueManagement>\n <system>GitHub</system>\n <url>https://github.com/reactiverse/vertx-maven-plugin/issues/</url>\n</issueManagement></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This information will be enriched as annotations in the generated manifest like,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\"># ...\n kind: Service\n metadata:\n annotations:\n jkube.io/issue-system: \"GitHub\"\n jkube.io/issue-tracker-url: \"https://github.com/reactiverse/vertx-maven-plugin/issues/\"\n# ...</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-revision-history-enricher\">jkube-revision-history</h5>\n<div class=\"paragraph\">\n<p>This enricher adds <code>spec.revisionHistoryLimit</code> property to deployment spec of Kubernetes/OpenShift resources.\nA deployment’s revision history is stored in the replica sets, that specifies the number of old ReplicaSets to retain in order to allow rollback.\nFor more information read <a href=\"https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit\">Kubernetes documentation</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following configuration parameters can be used to influence the behaviour of this enricher:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 38. Default revision history enricher</caption>\n<colgroup>\n<col style=\"width: 20%;\">\n<col style=\"width: 40%;\">\n<col style=\"width: 40%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>limit</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of revision histories to retain.</p>\n<p class=\"tableblock\"> Defaults to <code>2</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-revision-history.limit</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Just as any other enricher you can specify required properties with in the enricher’s configuration as below,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><!-- ... -->\n<enricher>\n <config>\n <jkube-revision-history>\n <limit>8</limit>\n </jkube-revision-history>\n </config>\n</enricher>\n<!-- ... --></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This information will be enriched as spec property in the generated manifest like,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\"># ...\nkind: Deployment\nspec:\n revisionHistoryLimit: 8\n# ...</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-triggers-annotation\">jkube-triggers-annotation</h5>\n<div class=\"paragraph\">\n<p>This enricher adds ImageStreamTag change triggers on Kubernetes resources that support the <code>image.openshift.io/triggers</code> annotation, such as StatefulSets, ReplicaSets and DaemonSets.</p>\n</div>\n<div class=\"paragraph\">\n<p>The trigger is added to all containers that apply, but can be restricted to a limited set of containers using the following configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><!-- ... -->\n<enricher>\n <config>\n <jkube-triggers-annotation>\n <containers>container-name-1,c2</containers>\n </jkube-triggers-annotation>\n </config>\n</enricher>\n<!-- ... --></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-secret-file\">jkube-secret-file</h5>\n<div class=\"paragraph\">\n<p>This enricher adds Secret defined as file content from an annotation.</p>\n</div>\n<div class=\"paragraph\">\n<p>If you are defining a custom <code>Secret</code> file, you can use an annotation to define a file name as key and its content as the value:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">metadata:\n name: ${project.artifactId}\n annotations:\n maven.jkube.io/secret/application.properties: src/test/resources/test-application.properties</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This creates a <code>Secret</code> data with the key <code>application.properties</code> (part defined after <code>secret</code>) and value content of\n<code>src/test/resources/test-application.properties</code> file (base64 encoded).</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-serviceaccount\">jkube-serviceaccount</h5>\n\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"enrichers-specific\">8.1.2. Specific Enrichers</h4>\n<div class=\"paragraph\">\n<p>Specific enrichers provide resource manifest enhancement for a certain tech stack that they detect.</p>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-karaf\">jkube-healthcheck-karaf</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with Apache Karaf. This requires that\n<code>jkube.karaf-checks</code> has been enabled in the Karaf startup features.</p>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8181</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>failureThreshold = <code>3</code></p>\n</li>\n<li>\n<p>successThreshold = <code>1</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>and use paths <code>/readiness-check</code> for readiness check and <code>/health-check</code> for liveness check.</p>\n</div>\n<div class=\"paragraph\">\n<p>These options cannot be configured.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-spring-boot\">jkube-healthcheck-spring-boot</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with Spring Boot. This requires the following dependency\nhas been enabled in Spring Boot</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><dependency>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-starter-actuator</artifactId>\n</dependency></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will try to discover the settings from the <code>application.properties</code> / <code>application.yaml</code> Spring Boot configuration file.</p>\n</div>\n<div class=\"paragraph\">\n<p>The port number is read from the <code>management.port</code> option, and will use the default value of <code>8080</code>\nThe scheme will use HTTPS if <code>server.ssl.key-store</code> option is in use, and fallback to use <code>HTTP</code> otherwise.</p>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>readinessProbeInitialDelaySeconds</code> : <code>10</code></p>\n</li>\n<li>\n<p><code>readinessProbePeriodSeconds</code> : <em><kubernetes-default></em></p>\n</li>\n<li>\n<p><code>livenessProbeInitialDelaySeconds</code> : <code>180</code></p>\n</li>\n<li>\n<p><code>livenessProbePeriodSeconds</code> : <em><kubernetes-default></em></p>\n</li>\n<li>\n<p><code>timeoutSeconds</code> : <em><kubernetes-default></em></p>\n</li>\n<li>\n<p><code>failureThreshold</code>: <code>3</code></p>\n</li>\n<li>\n<p><code>successThreshold</code>: <code>1</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>kubernetes-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-spring-boot>\n <timeoutSeconds>5</timeoutSeconds>\n <readinessProbeInitialDelaySeconds>30</readinessProbeInitialDelaySeconds>\n <failureThreshold>3</failureThreshold>\n <successThreshold>1</successThreshold>\n </jkube-healthcheck-spring-boot>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-thorntail-v2\">jkube-healthcheck-thorntail-v2</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with Thorntail v2. This requires the following fraction\nhas been enabled in Thorntail</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><dependency>\n <groupId>io.thorntail</groupId>\n <artifactId>microprofile-health</artifactId>\n</dependency></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8080</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>path = <code>/health</code></p>\n</li>\n<li>\n<p>failureThreshold = <code>3</code></p>\n</li>\n<li>\n<p>successThreshold = <code>1</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>kubernetes-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-thorntail>\n <port>4444</port>\n <scheme>HTTPS</scheme>\n <path>health/myapp</path>\n <failureThreshold>3</failureThreshold>\n <successThreshold>1</successThreshold>\n </jkube-healthcheck-thorntail>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-vertx\">jkube-healthcheck-vertx</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with Eclipse Vert.x applications.\nThe readiness probe lets Kubernetes detect when the application is ready, while the liveness probe allows Kubernetes to\nverify that the application is still alive.</p>\n</div>\n<div class=\"paragraph\">\n<p>This enricher allows configuring the readiness and liveness probes. The following probe types are supported:\n<code>http</code> (emit HTTP requests), <code>tcp</code> (open a socket), <code>exec</code> (execute a command).</p>\n</div>\n<div class=\"paragraph\">\n<p>By default, this enricher uses the same configuration for liveness and readiness probes. But specific configurations can\nbe provided too. The configurations can be overridden using project’s properties.</p>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_using_the_jkube_healthcheck_vertx_enricher\">Using the jkube-healthcheck-vertx enricher</h6>\n<div class=\"paragraph\">\n<p>The enricher is automatically executed if your project uses the <code>vertx-maven-plugin</code> or depends on <code>io.vertx:vertx-core</code>.\nHowever, by default, no health check will be added to your deployment unless configured explicitly.</p>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_minimal_configuration\">Minimal configuration</h6>\n<div class=\"paragraph\">\n<p>The minimal configuration to add health checks is the following:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-vertx>\n <path>/health</path>\n </jkube-healthcheck-vertx>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>It configures the readiness and liveness health checks using HTTP requests on the port <code>8080</code> (default port) and on the\npath <code>/health</code>. The defaults are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8080</code> (for HTTP)</p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>path = <em>none</em> (disabled)</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>the previous configuration can also be given use project’s properties:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <vertx.health.path>/health</vertx.health.path>\n</properties></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_configuring_differently_the_readiness_and_liveness_health_checks\">Configuring differently the readiness and liveness health checks</h6>\n<div class=\"paragraph\">\n<p>You can provide two different configuration for the readiness and liveness checks:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-vertx>\n <readiness>\n <path>/ready</path>\n </readiness>\n <liveness>\n <path>/health</path>\n </liveness>\n </jkube-healthcheck-vertx>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>You can also use the <code>readiness</code> and <code>liveness</code> chunks in user properties:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <vertx.health.readiness.path>/ready</vertx.health.readiness.path>\n <vertx.health.liveness.path>/ready</vertx.health.liveness.path>\n</properties></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Shared (generic) configuration can be set outside of the specific configuration. For instance, to use the port 8081:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-vertx>\n <port>8081</port>\n <readiness>\n <path>/ready</path>\n </readiness>\n <liveness>\n <path>/health</path>\n </liveness>\n </jkube-healthcheck-vertx>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Or:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <vertx.health.port>8081</vertx.health.port>\n <vertx.health.readiness.path>/ready</vertx.health.readiness.path>\n <vertx.health.liveness.path>/ready</vertx.health.liveness.path>\n</properties></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_configuration_structure\">Configuration Structure</h6>\n<div class=\"paragraph\">\n<p>The configuration is structured as follows</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><config>\n <jkube-healthcheck-vertx>\n <!-- Generic configuration, applied to both liveness and readiness -->\n <path>/both</path>\n <liveness>\n <!-- Specific configuration for the liveness probe -->\n <port-name>ping</port-name>\n </liveness>\n <readiness>\n <!-- Specific configuration for the readiness probe -->\n <port-name>ready</port-name>\n </readiness>\n </jkube-healthcheck-vertx>\n</config></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The same structure is used in project’s properties:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <!-- Generic configuration given as vertx.health.$attribute -->\n <vertx.health.path>/both</vertx.health.path>\n <!-- Specific liveness configuration given as vertx.health.liveness.$attribute -->\n <vertx.health.liveness.port-name>ping</vertx.health.liveness.port-name>\n <!-- Specific readiness configuration given as vertx.health.readiness.$attribute -->\n <vertx.health.readiness.port-name>ready</vertx.health.readiness.port-name>\n</properties></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p><strong>Important</strong>: Project’s plugin configuration override the project’s properties.\nThe overriding rules are:\n<em>specific configuration</em> > <em>specific properties</em> > <em>generic configuration</em> > <em>generic properties</em>.</p>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_probe_configuration\">Probe configuration</h6>\n<div class=\"paragraph\">\n<p>You can configure the different aspects of the probes. These attributes can be configured for both the readiness and\nliveness probes or be specific to one.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 39. Vert.x HealthCheck Enricher probe configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 62.5%;\">\n<col style=\"width: 25%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>type</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The probe type among <code>http</code> (default), <code>tcp</code> and <code>exec</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>http</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.type</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.type</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>initial-delay</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of seconds after the container has started before probes are initiated.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.initial-delay</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.initial-delay</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>period</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">How often (in seconds) to perform the probe.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.period</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.period</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>timeout</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of seconds after which the probe times out.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.timeout</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.timeout</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>success-threshold</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Minimum consecutive successes for the probe to be considered successful after having failed.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.success-threshold</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.success-threshold</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>failure-threshold</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Minimum consecutive failures for the probe to be considered failed after having succeeded.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.failure-threshold</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.failure-threshold</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>More details about probes are available on <a href=\"https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/\" class=\"bare\">https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/</a>.</p>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_http_specific_probe_configuration\">HTTP specific probe configuration</h6>\n<div class=\"paragraph\">\n<p>When using HTTP <code>GET</code> requests to determine readiness or liveness, several aspects can be configured. HTTP probes are used by default. To be more specific set the <code>type</code> attribute to <code>http</code>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 40. Vert.x HealthCheck Enricher HTTP probe configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 62.5%;\">\n<col style=\"width: 25%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>scheme</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Scheme to use for connecting to the host.</p>\n<p class=\"tableblock\"> Defaults to <code>HTTP</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.scheme</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.scheme</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>path</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to access on the HTTP server. An empty path disable the check.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.path</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.path</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>headers</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Custom headers to set in the request. HTTP allows repeated headers. It cannot be configured using project’s properties.\n An example is available below.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.headers</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.headers</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>port</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port number to access the container. A 0 or negative number disables the check.</p>\n<p class=\"tableblock\"> Defaults to <code>8080</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.port</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.port</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>port-name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Name of the port to access on the container. If neither the <code>port</code> nor the <code>port-name</code> is set, the check is disabled.\n If both are set the configuration is considered invalid.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.port-name</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.port-name</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Here is an example of HTTP probe configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><config>\n <jkube-healthcheck-vertx>\n <initialDelay>3</initialDelay>\n <period>3</period>\n <liveness>\n <port>8081</port>\n <path>/ping</path>\n <scheme>HTTPS</scheme>\n <headers>\n <X-Custom-Header>Awesome</X-Custom-Header>\n </headers>\n </liveness>\n <readiness>\n <!-- disable the readiness probe -->\n <port>-1</port>\n </readiness>\n </jkube-healthcheck-vertx>\n</config></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_tcp_specific_probe_configuration\">TCP specific probe configuration</h6>\n<div class=\"paragraph\">\n<p>You can also configure the probes to just open a socket on a specific port. The <code>type</code> attribute must be set to <code>tcp</code>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 41. Vert.x HealthCheck Enricher TCP probe configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 62.5%;\">\n<col style=\"width: 25%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>port</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port number to access the container. A 0 or negative number disables the check.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.port</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.port</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>port-name</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Name of the port to access on the container. If neither the <code>port</code> nor the <code>port-name</code> is set, the check is disabled.\n If both are set the configuration is considered invalid.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.port-name</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.port-name</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>For example:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><config>\n <jkube-healthcheck-vertx>\n <initialDelay>3</initialDelay>\n <period>3</period>\n <liveness>\n <type>tcp</type>\n <port>8081</port>\n </liveness>\n <readiness>\n <!-- use HTTP Get probe -->\n <path>/ping</path>\n <port>8080</port>\n </readiness>\n </jkube-healthcheck-vertx>\n</config></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_exec_probe_configuration\">Exec probe configuration</h6>\n<div class=\"paragraph\">\n<p>You can also configure the probes to execute a command. If the command succeeds, it returns 0, and Kubernetes consider the pod to be alive and healthy. If the command returns a non-zero value, Kubernetes kills the pod and restarts it. To use a command, you must set the <code>type</code> attribute to <code>exec</code>:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><config>\n <jkube-healthcheck-vertx>\n <initialDelay>3</initialDelay>\n <period>3</period>\n <liveness>\n <type>exec</type>\n <command>\n <cmd>cat</cmd>\n <cmd>/tmp/healthy</cmd>\n </command>\n </liveness>\n <readiness>\n <-- use HTTP Get probe -->\n <path>/ping</path>\n <port>8080</port>\n </readiness>\n </jkube-healthcheck-vertx>\n</config></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>As you can see in the snippet above the command is passed using the <code>command</code> attribute. This attribute cannot be\nconfigured using project’s properties. An empty command disables the check.</p>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_disabling_health_checks\">Disabling health checks</h6>\n<div class=\"paragraph\">\n<p>You can disable the checks by setting:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>the <code>port</code> to 0 or to a negative number for <code>http</code> and <code>tcp</code> probes</p>\n</li>\n<li>\n<p>the <code>command</code> to an empty list for <code>exec</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>In the first case, you can use project’s properties to disable them:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><!-- Disables <code>tcp</code> and <code>http</code> probes -->\n<vertx.health.port>-1</vertx.health.port></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>For <code>http</code> probes, an empty or not set <code>path</code> also disable the probe.</p>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-webapp\">jkube-healthcheck-webapp</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with WebApp. This requires that you have <code>maven-war-plugin</code> set.</p>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8080</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>path = ``</p>\n</li>\n<li>\n<p>initialReadinessDelay = 10</p>\n</li>\n<li>\n<p>initialLivenessDelay = 180</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>If <code>path</code> attribute is not set (default value) then this enricher is disabled.</p>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>kubernetes-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-webapp>\n <path>/</path>\n </jkube-healthcheck-webapp>\n </config>\n </enricher>\n </configuration>\n <!-- ... -->\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-wildfly-swarm\">jkube-healthcheck-wildfly-swarm</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with WildFly Swarm. This requires the following fraction\nhas been enabled in WildFly Swarm</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><dependency>\n <groupId>org.wildfly.swarm</groupId>\n <artifactId>microprofile-health</artifactId>\n</dependency></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8080</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>path = <code>/health</code></p>\n</li>\n<li>\n<p>failureThreshold = <code>3</code></p>\n</li>\n<li>\n<p>successThreshold = <code>1</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>kubernetes-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-wildfly-swarm>\n <port>4444</port>\n <scheme>HTTPS</scheme>\n <path>health/myapp</path>\n <failureThreshold>3</failureThreshold>\n <successThreshold>1</successThreshold>\n </jkube-healthcheck-wildfly-swarm>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-wildfly-jar\">jkube-healthcheck-wildfly-jar</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes to WildFly JAR applications. Probes depend on the WildFly <em>microprofile-health</em> subsystem\n<em>/health/ready</em> and <em>/health/live</em> endpoints.\nWhen the WildFly Bootable JAR Maven plugin is configured with the <em><cloud></em> configuration item, <em>microprofile_health</em> subsystem\nis enforced in the bootable JAR server configuration.</p>\n</div>\n<div class=\"paragraph\">\n<p>This enricher looks for the <em><cloud></em> configuration item presence in the bootable JAR Maven plugin in order to add health check probes.\nIf <em><cloud></em> item has not been defined, you can still enforce the generation of readiness and liveness probes by setting <em>enforceProbes=true</em>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>9990</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>readinessPath = <code>/health/ready</code></p>\n</li>\n<li>\n<p>livenessPath = <code>/health/live</code></p>\n</li>\n<li>\n<p>livenessInitialDelay = <code>60</code></p>\n</li>\n<li>\n<p>readinessIntialDelay = <code>10</code></p>\n</li>\n<li>\n<p>failureThreshold = <code>3</code></p>\n</li>\n<li>\n<p>successThreshold = <code>1</code></p>\n</li>\n<li>\n<p>enforceProbes = 'false'</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Setting the <code>port</code> to 0 or to a negative number disables liveness and readiness probes.</p>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>kubernetes-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-wildfly-jar>\n <port>4444</port>\n <scheme>HTTPS</scheme>\n <livenessPath>/myapp/live</livenessPath>\n <failureThreshold>3</failureThreshold>\n <successThreshold>1</successThreshold>\n </jkube-healthcheck-wildfly-jar>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_enricher_api\">8.2. Enricher API</h3>\n<div class=\"paragraph\">\n<p><em>How to write your own enrichers and install them.</em></p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"profiles\">9. Profiles</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Profiles can be used to combine a set of enrichers and generators and to give this combination a referable name.</p>\n</div>\n<div class=\"paragraph\">\n<p>Profiles are defined in YAML. The following example shows a simple profiles which uses only the\n<a href=\"#generator-spring-boot\">Spring Boot generator</a> and some enrichers adding for adding default resources:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Profile Definition</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">- name: my-spring-boot-apps <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n generator: <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n includes:\n - spring-boot\n enricher: <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n includes: <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n # Default Deployment object\n - jkube-controller\n # Add a default service\n - jkube-service\n excludes: <i class=\"conum\" data-value=\"5\"></i><b>(5)</b>\n - jkube-icon\n config: <i class=\"conum\" data-value=\"6\"></i><b>(6)</b>\n jkube-service:\n # Expose service as NodePort\n type: NodePort\n order: 10 <i class=\"conum\" data-value=\"7\"></i><b>(7)</b>\n- name: another-profile\n# ....</code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Profile’s name</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td><a href=\"#generators\">Generators</a> to use</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td><a href=\"#enrichers\">Enrichers</a> to use</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>List of enricher to <strong>include</strong> in that given order</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"5\"></i><b>5</b></td>\n<td>List of enricher to <strong>exclude</strong></td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"6\"></i><b>6</b></td>\n<td>Configuration for services an enrichers</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"7\"></i><b>7</b></td>\n<td>An order which influences the way how profiles with the same name are merged</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>Each <code>profiles.yml</code> has a list of profiles which are defined with these elements:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 42. Profile elements</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Profile name. This plugin comes with a set of <a href=\"#profiles-predefined\">predefined profiles</a>. Those profiles can be\n extended by defining a custom profile with the same name of the profile to extend.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>generator</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of generator definitions. See <a href=\"#generator-enricher-definition\">below</a> for the format of these definitions.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>enricher</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of enrichers definitions. See <a href=\"#generator-enricher-definition\">below</a> for the format of these definitions.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>order</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The order of the profile which is used when profiles of the same name are merged.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"sect2\">\n<h3 id=\"generator-enricher-definition\">9.1. Generator and Enricher definitions</h3>\n<div class=\"paragraph\">\n<p>The definition of generators and enrichers in the profile follows the same format:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 43. Generator and Enericher definition</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>includes</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of generators or enrichers to include. The order in the list determines the order in which the processors are applied.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>excludes</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of generators or enrichers. These have precedences over <em>includes</em> and will exclude a processor even when referenced in an <em>includes</em> sections</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>config</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Configuration for generators or enrichers. This is a map where the keys are the name of the processor to configure and the value is again a map with configuration keys and values specific to the processor. See the documentation of the respective generator or enricher for the available configuration keys.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"profiles-lookup-order\">9.2. Lookup order</h3>\n<div class=\"paragraph\">\n<p>Profiles can be defined externally either directly as a build resource in <code>src/main/jkube/profiles.yml</code> or provided as part of a plugin’s dependency where it is supposed to be included as <code>META-INF/jkube/profiles.yml</code>. Multiple profiles can be include in these <code>profiles.yml</code> descriptors as a list:</p>\n</div>\n<div class=\"paragraph\">\n<p>If a profile is <a href=\"#profiles-using\">used</a> then it is looked up from various places in the following order:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>From the compile and plugin classpath from <code>META-INF/jkube/profiles-default.yml</code>. These files are reserved for profiles defined by this plugin</p>\n</li>\n<li>\n<p>From the compile and plugin classpath from <code>META-INF/jkube/profiles.yml</code>. Use this location for defining your custom profiles which you want to include via dependencies.</p>\n</li>\n<li>\n<p>From the project in <code>src/main/jkube/profiles.yml</code>. The directory can be tuned with the plugin option <code>resourceDir</code> (property: <code>jkube.resourceDir</code>)</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>When multiple profiles of the same name are found, then these profiles are merged. If profile have an order number, then the <em>higher</em> order takes precedences when merging profiles.</p>\n</div>\n<div class=\"paragraph\">\n<p>For <em>includes</em> of the same processors, the processor is moved to the earliest position. E.g consider the following two profiles with the name <code>my-profile</code></p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Profile A</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">name: my-profile\nenricher:\n includes: [ e1, e2 ]</code></pre>\n</div>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Profile B</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">name: my-profile\nenricher:\n includes: [ e3, e1 ]\norder: 10</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>then when merged results in the following profile (when no order is given, it defaults to 0):</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Profile merged</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">name: my-profile\nenricher:\n includes: [ e1, e2, e3 ]\norder: 10</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Profile with the same order number are merged according to the lookup order described above, where the latter profile is supposed to have a higher order.</p>\n</div>\n<div class=\"paragraph\">\n<p>The configuration for enrichers and generators are merged, too, where higher order profiles override configuration values with the same key of lower order profile configuration.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"profiles-using\">9.3. Using Profiles</h3>\n<div class=\"paragraph\">\n<p>Profiles can be selected by defining them in the plugin configuration, by giving a system property or by using\n<a href=\"#profiles-resource-fragments\">special directories</a> in the directory holding the resource fragments.</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Profile used in plugin configuration</div>\n<p>Here is an example how the profile can be used in a plugin configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <configuration>\n <profile>my-spring-boot-apps</profile> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <!-- ... -->\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Name which select the profile from the <code>profiles.yml</code></td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Profile as system property</div>\n<p>Alternatively a profile can be also specified on the command line when calling Maven:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn -Djkube.profile=my-spring-boot-apps k8s:build k8s:deploy</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If a configuration for enrichers and generators are provided as part of the plugin’s <code><configuration></code> then this takes precedence over any profile specified.</p>\n</div>\n<div id=\"profiles-resource-fragments\" class=\"paragraph\">\n<div class=\"title\">Profiles for resource fragments</div>\n<p>Profiles are also very useful when used together with resource fragments in <code>src/main/jkube</code>. By default the resource objects defined here are enriched with the configured profile (if any). A different profile can be selected easily by using a sub directory within <code>src/main/jkube</code>. The name of each sub directory is interpreted as a profile name and all resource definition files found in this sub directory are enhanced with the enhancers defined in this profile.</p>\n</div>\n<div class=\"paragraph\">\n<p>For example, consider the following directory layout:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>src/main/k8s:\n app-rc.yml\n app-svc.yml\n raw/ -->\n couchbase-rc.yml\n couchbase-svc.yml</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Here, the resource descriptors <code>app-rc.yml</code> and <code>app-svc.yml</code> are enhanced with the enrichers defined in the main configuration. The files two files <code>couchbase-rc.yml</code> and <code>couchbase-svc.yml</code> in the sub directory <code>raw/</code> instead are enriched with the profile <strong>raw</strong>. This is a predefined profile which includes no enricher at all, so the couchbase resource objects are not enriched and taken over literally. This is an easy way how you can fine tune enrichment for different object set.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"profiles-predefined\">9.4. Predefined Profiles</h3>\n<div class=\"paragraph\">\n<p>This plugin comes with a list of the following predefined profiles:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 44. Predefined Profiles</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Profile</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>default</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The default profile which is active if no profile is specified. It consists of a curated set of generator and enrichers. See <a href=\"#profiles-default\">below</a> for the current definition.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>minimal</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">This profile contains no generators and only enrichers for adding default objects (controller and services). No other enrichment is included.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>explicit</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Like default but without adding default objects like controllers and services.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>aggregate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Includes no generators and only the <a href=\"#jkube-dependency\">jkube-dependency</a> enricher for picking up and combining resources from the compile time dependencies.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>internal-microservice</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Do not expose a port for the service to generate. Otherwise the same as the <em>default</em> profile.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>osio</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Includes everything in the <em>default</em> profile, plus additional enrichers and generators relevant only to <a href=\"https://openshift.io\">OpenShift.io</a>.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"profiles-extended\">9.5. Extending Profiles</h3>\n<div class=\"paragraph\">\n<p>A profile can also extend another profile to avoid repetition e.g of generators if the profile is only about including certain enrichers. For example, for a profile like:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">- name: minimal\n extends: default\n enricher:\n includes:\n - jkube-name\n - jkube-controller\n - jkube-service\n - jkube-image\n - jkube-project-label\n - jkube-debug\n - jkube-namespace\n - jkube-metadata\n - jkube-controller-from-configuration\n - jkube-openshift-deploymentconfig\n - jkube-openshift-project\n - jkube-openshift-service-expose\n - jkube-openshift-route</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>one then would not need to repeat all generators as they are inherited from the <code>default</code> profile.</p>\n</div>\n<div id=\"profiles-default\" class=\"listingblock\">\n<div class=\"title\">Default Profile</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\"># Default profile which is always activated\n- name: default\n enricher:\n # The order given in \"includes\" is the order in which enrichers are called\n includes:\n - jkube-metadata\n - jkube-name\n - jkube-controller\n - jkube-controller-from-configuration\n - jkube-service\n - jkube-namespace\n - jkube-image\n - jkube-portname\n - jkube-project-label\n - jkube-dependency\n - jkube-pod-annotations\n - jkube-git\n - jkube-maven-scm\n - jkube-serviceaccount\n - jkube-maven-issue-mgmt\n # TODO: Documents and verify enrichers below\n - jkube-debug\n - jkube-remove-build-annotations\n - jkube-volume-permission\n - jkube-configmap-file\n - jkube-secret-file\n\n # Route exposure\n - jkube-openshift-service-expose\n - jkube-openshift-route\n - jkube-openshift-deploymentconfig\n - jkube-openshift-project\n\n # Ingress\n - jkube-ingress\n\n # -----------------------------------------\n # TODO: Document and verify enrichers below\n # Health checks\n - jkube-healthcheck-quarkus\n - jkube-healthcheck-spring-boot\n - jkube-healthcheck-wildfly-swarm\n - jkube-healthcheck-thorntail-v2\n - jkube-healthcheck-wildfly-jar\n - jkube-healthcheck-karaf\n - jkube-healthcheck-vertx\n - jkube-healthcheck-docker\n - jkube-healthcheck-webapp\n - jkube-prometheus\n # Dependencies shouldn't be enriched anymore, therefore it's last in the list\n - jkube-dependency\n - jkube-revision-history\n - jkube-docker-registry-secret\n - jkube-triggers-annotation\n - jkube-openshift-imageChangeTrigger\n\n generator:\n # The order given in \"includes\" is the order in which generators are called\n includes:\n - quarkus\n - spring-boot\n - wildfly-swarm\n - thorntail-v2\n - wildfly-jar\n - openliberty\n - karaf\n - vertx\n - java-exec\n - webapp\n watcher:\n includes:\n - spring-boot\n - docker-image</code></pre>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"access-configuration\">10. Access configuration</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_docker_access\">10.1. Docker Access</h3>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nThis section is work-in-progress and not yet finished\n</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>For Kubernetes builds the kubernetes-maven-plugin uses the Docker remote API so the URL of your Docker Daemon must be specified. The URL can be specified by the dockerHost or machine configuration, or by the <code>DOCKER_HOST</code> environment variable. If not given</p>\n</div>\n<div class=\"paragraph\">\n<p>The Docker remote API supports communication via SSL and\nauthentication with certificates. The path to the certificates can\nbe specified by the certPath or machine configuration, or by the\n<code>DOCKER_CERT_PATH</code> environment variable.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_openshift_and_kubernetes_access\">10.2. OpenShift and Kubernetes Access</h3>\n<div class=\"paragraph\">\n<p>Plugin reads your <code>kubeconfig</code> file to read your Kubernetes/OpenShift configuration. By default, <code>kubeconfig</code> file is assumed to be either\nin <code>~/.kube/config</code> or using the environment variable <code>KUBECONFIG</code>.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"registry\">11. Registry handling</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Docker uses registries to store images. The registry is typically\nspecified as part of the name. I.e. if the first part (everything\nbefore the first <code>/</code>) contains a dot (<code>.</code>) or colon (<code>:</code>) this part is\ninterpreted as an address (with an optionally port) of a remote\nregistry. This registry (or the default <code>docker.io</code> if no\nregistry is given) is used during push and pull operations. This\nplugin follows the same semantics, so if an image name is specified\nwith a registry part, this registry is contacted. Authentication is\nexplained in the next <a href=\"#authentication\">section</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>There are some situations however where you want to have more\nflexibility for specifying a remote registry. This might be because\nyou do not want to hard code a registry into <code>pom.xml</code> but\nprovide it from the outside with an environment variable or a system\nproperty.</p>\n</div>\n<div class=\"paragraph\">\n<p>This plugin supports various ways of specifying a registry:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If the image name contains a registry part, this registry is used\nunconditionally and can not be overwritten from the outside.</p>\n</li>\n<li>\n<p>If an image name doesn’t contain a registry, then by default the\ndefault Docker registry <code>docker.io</code> is used for push and pull\noperations. But this can be overwritten through various means:</p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If the <code><image></code> configuration contains a <code><registry></code> subelement\nthis registry is used.</p>\n</li>\n<li>\n<p>Otherwise, a global configuration element <code><registry></code> is\nevaluated which can be also provided as system property via\n<code>-Djkube.docker.registry</code>.</p>\n</li>\n<li>\n<p>Finally an environment variable <code>DOCKER_REGISTRY</code> is looked up for\ndetecting a registry.</p>\n</li>\n</ul>\n</div>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>This registry is used for pulling (i.e. for autopull the base image\nwhen doing a <code>k8s:build</code>) and pushing with <code>k8s:push</code>. However,\nwhen these two goals are combined on the command line like in <code>mvn\n-Djkube.docker.registry=myregistry:5000 package k8s:build k8s:push</code>\nthe same registry is used for both operation. For a more fine grained\ncontrol, separate registries for <em>pull</em> and <em>push</em> can be specified.</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>In the plugin’s configuration with the parameters <code><pullRegistry></code> and\n<code><pushRegistry></code>, respectively.</p>\n</li>\n<li>\n<p>With the system properties <code>jkube.docker.pull.registry</code> and\n<code>jkube.docker.push.registry</code>, respectively.</p>\n</li>\n</ul>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <registry>docker.jolokia.org:443</registry>\n <images>\n <image>\n <!-- Without an explicit registry ... -->\n <name>jolokia/jolokia-java</name>\n <!-- ... hence use this registry -->\n <registry>docker.ro14nd.de</registry>\n <!-- ... -->\n </image>\n <image>\n <name>postgresql</name>\n <!-- No registry in the name, hence use the globally\n configured docker.jolokia.org:443 as registry -->\n <!-- ... -->\n </image>\n <image>\n <!-- Explicitly specified always wins -->\n <name>docker.example.com:5000/another/server</name>\n </image>\n </images>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>There is some special behaviour when using an externally provided\nregistry like described above:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>When <em>pulling</em>, the image pulled will be also tagged with a repository\nname <strong>without</strong> registry. The reasoning behind this is that this\nimage then can be referenced also by the configuration when the\nregistry is not specified anymore explicitly.</p>\n</li>\n<li>\n<p>When <em>pushing</em> a local image, temporarily a tag including the\nregistry is added and removed after the push. This is required\nbecause Docker can only push registry-named images.</p>\n</li>\n</ul>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"authentication\">12. Authentication</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>When pulling (via the <code>autoPull</code> mode of <code>k8s:start</code>) or pushing image, it\nmight be necessary to authenticate against a Docker registry.</p>\n</div>\n<div class=\"paragraph\">\n<p>There are five different locations searched for credentials. In order, these are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Providing system properties <code>jkube.docker.username</code> and <code>jkube.docker.password</code> from the outside.</p>\n</li>\n<li>\n<p>Using a <code><authConfig></code> section in the plugin configuration with <code><username></code> and <code><password></code> elements.</p>\n</li>\n<li>\n<p>Using OpenShift configuration in <code>~/.config/kube</code></p>\n</li>\n<li>\n<p>Using a <code><server></code> configuration in <code>~/.m2/settings.xml</code></p>\n</li>\n<li>\n<p>Login into a registry with <code>docker login</code> (credentials in a credential helper or in <code>~/.docker/config.json</code>)</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Using the username and password directly in the <code>pom.xml</code> is not\nrecommended since this is widely visible. This is the easiest and\ntransparent way, though. Using an <code><authConfig></code> is straight forward:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <configuration>\n <image>consol/tomcat-7.0</image>\n <!-- ... -->\n <authConfig>\n <username>jolokia</username>\n <password>s!cr!t</password>\n </authConfig>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The system property provided credentials are a good compromise when\nusing CI servers like Jenkins. You simply provide the credentials from\nthe outside:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn -Djkube.docker.username=jolokia -Djkube.docker.password=s!cr!t k8s:push</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The most <em>mavenish</em> way is to add a server to the Maven settings file <code>~/.m2/settings.xml</code>:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><servers>\n <server>\n <id>docker.io</id>\n <username>jolokia</username>\n <password>s!cr!t</password>\n </server>\n <!-- ... -->\n</servers></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The server id must specify the registry to push to/pull from, which by\ndefault is central index <code>docker.io</code> (or <code>index.docker.io</code> / <code>registry.hub.docker.com</code> as fallbacks).\nHere you should add your docker.io account for your repositories. If you have multiple accounts\nfor the same registry, the second user can be specified as part of the ID. In the example above, if you\nhave a second account 'jkubeio' then use an <code><id>docker.org.eclipse.jkubeio</id></code> for this second entry. I.e. add the\nusername with a slash to the id name. The default without username is only taken if no server entry with\na username appended id is chosen.</p>\n</div>\n<div class=\"paragraph\">\n<p>The most <em>secure</em> way is to rely on docker’s credential store or credential helper and read confidential information\nfrom an external credentials store, such as the native keychain of the operating system. Follow the instruction on\n<a href=\"https://docs.docker.com/engine/reference/commandline/login/#credentials-store\">the docker login documentation</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>As a final fallback, this plugin consults <code>$DOCKER_CONFIG/config.json</code> if <code>DOCKER_CONFIG</code> is set, or <code>~/.docker/config.json</code> if not, and reads credentials stored directly within this\nfile. This unsafe behavior happened when connecting to a registry with the command <code>docker login</code> from the command line\nwith older versions of docker (pre 1.13.0) or when docker is not configured to use a\n<a href=\"https://docs.docker.com/engine/reference/commandline/login/#credentials-store\">credential store</a>.</p>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_pull_vs_push_authentication\">12.1. Pull vs. Push Authentication</h3>\n<div class=\"paragraph\">\n<p>The credentials lookup described above is valid for both push and\npull operations. In order to narrow things down, credentials can be\nprovided for pull or push operations alone:</p>\n</div>\n<div class=\"paragraph\">\n<p>In an <code><authConfig></code> section a sub-section <code><pull></code> and/or <code><push></code>\ncan be added. In the example below the credentials provider are only\nused for image push operations:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <configuration>\n <image>consol/tomcat-7.0</image>\n <!-- ... -->\n <authConfig>\n <push>\n <username>jolokia</username>\n <password>s!cr!t</password>\n </push>\n </authConfig>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>When the credentials are given on the command line as system\nproperties, then the properties <code>jkube.docker.pull.username</code> /\n<code>jkube.docker.pull.password</code> and <code>jkube.docker.push.username</code> /\n<code>jkube.docker.push.password</code> are used for pull and push operations,\nrespectively (when given). Either way, the standard lookup algorithm\nas described in the previous section is used as fallback.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_openshift_authentication\">12.2. OpenShift Authentication</h3>\n<div class=\"paragraph\">\n<p>When working with the default registry in OpenShift, the credentials\nto authenticate are the OpenShift username and access token. So, a\ntypical interaction with the OpenShift registry from the outside is:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>oc login\n...\nmvn -Djkube.docker.registry=docker-registry.domain.com:80/default/myimage \\\n -Djkube.docker.username=$(oc whoami) \\\n -Djkube.docker.password=$(oc whoami -t)</pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>(note, that the image’s username part (\"default\" here\") must\ncorrespond to an OpenShift project with the same name to which you\ncurrently connected account has access).</p>\n</div>\n<div class=\"paragraph\">\n<p>This can be simplified by using the system property\n<code>docker.useOpenShiftAuth</code> in which case the plugin does the\nlookup. The equivalent to the example above is</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>oc login\n...\nmvn -Ddocker.registry=docker-registry.domain.com:80/default/myimage \\\n -Ddocker.useOpenShiftAuth</pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Alternatively the configuration option <code><useOpenShiftAuth></code> can be\nadded to the <code><authConfig></code> section.</p>\n</div>\n<div class=\"paragraph\">\n<p>For dedicated <em>pull</em> and <em>push</em> configuration the system properties\n<code>jkube.docker.pull.useOpenShiftAuth</code> and <code>jkube.docker.push.useOpenShiftAuth</code> are\navailable as well as the configuration option <code><useOpenShiftAuth></code> in\nan <code><pull></code> or <code><push></code> section within the <code><authConfig></code>\nconfiguration.</p>\n</div>\n<div class=\"paragraph\">\n<p>If <code>useOpenShiftAuth</code> is enabled then the OpenShift Konfiguration will be looked up in <code>$KUBECONFIG</code> or, if this environment variable is not set, in <code>~/.kube/config</code>.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"password-encryption\">12.3. Password encryption</h3>\n<div class=\"paragraph\">\n<p>Regardless of which mode you choose you can encrypt password as described\nin the\n<a href=\"http://maven.apache.org/guides/mini/guide-encryption.html\">Maven documentation</a>. Assuming\nthat you have setup a <em>master password</em> in\n<code>~/.m2/security-settings.xml</code> you can create easily encrypt\npasswords:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-bash\" data-lang=\"bash\">$ mvn --encrypt-password\nPassword:\n{QJ6wvuEfacMHklqsmrtrn1/ClOLqLm8hB7yUL23KOKo=}</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This password then can be used in <code>authConfig</code>, <code>docker.password</code>\nand/or the <code><server></code> setting configuration. However, putting an\nencrypted password into <code>authConfig</code> in the <code>pom.xml</code> doesn’t make\nmuch sense, since this password is encrypted with an individual master\npassword.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"extended-authentication\">12.4. Extended Authentication</h3>\n<div class=\"paragraph\">\n<p>Some docker registries require additional steps to authenticate.\n<a href=\"https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_GetStarted.html\">Amazon ECR</a> requires using an IAM access key to obtain temporary docker login credentials.\nThe <code>kubernetes-maven-plugin:push</code> and <code>kubernetes-maven-plugin:pull</code> goals automatically execute this exchange for any registry of the form\n<em><awsAccountId></em> <strong>.dkr.ecr.</strong> <em><awsRegion></em> <strong>.amazonaws.com</strong>, unless the <code>skipExtendedAuth</code> configuration\n(<code>jkube.docker.skip.extendedAuth</code> property) is set true.</p>\n</div>\n<div class=\"paragraph\">\n<p>Note that for an ECR repository with URI <code>123456789012.dkr.ecr.eu-west-1.amazonaws.com/example/image</code> the d-m-p’s <code>jkube.docker.registry</code> should be set to <code>123456789012.dkr.ecr.eu-west-1.amazonaws.com</code> and <code>example/image</code> is the <code><name></code> of the image.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can use any IAM access key with the necessary permissions in any of the locations mentioned above except <code>~/.docker/config.json</code>.\nUse the IAM <strong>Access key ID</strong> as the username and the <strong>Secret access key</strong> as the password.\nIn case you’re using temporary security credentials provided by the AWS Security Token Service (AWS STS), you have to provide the <strong>security token</strong> as well.\nTo do so, either specify the <code>docker.authToken</code> system property or provide an <code><auth></code> element alongside username & password in the <code>authConfig</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>In case you are running on an EC2 instance that has an appropriate IAM role assigned\n(e.g. a role that grants the AWS built-in policy <em>AmazonEC2ContainerRegistryPowerUser</em>)\nauthentication information doesn’t need to be provided at all. Instead the instance\nmeta-data service is queried for temporary access credentials supplied by the\nassigned role.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"volume-configuration\">13. Volume Configuration</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>kubernetes-maven-plugin supports volume configuration in XML format in pom.xml. These are the volume types which are supported:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 45. Supported Volume Types</caption>\n<colgroup>\n<col style=\"width: 4.3478%;\">\n<col style=\"width: 95.6522%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Volume Type</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">hostPath</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts a file or directory from the host node’s filesystem into your pod</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">emptyDir</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Containers in the Pod can all read and write the same files in the emptyDir volume, though that volume can be mounted at the same or different paths in each Container. When a Pod is removed from a node for any reason, the data in the emptyDir is deleted forever.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">gitRepo</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">It mounts an empty directory and clones a git repository into it for your Pod to use.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">secret</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">It is used to pass sensitive information, such as passwords, to Pods.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">nfsPath</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows an existing NFS(Network File System) share to be mounted into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">gcePdName</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts a Google Compute Engine(GCE) into your Pod. You must create PD using <code>gcloud</code> or GCE API or UI before you can use it.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">glusterFsPath</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows a Glusterfs (an open source networked filesystem) volume to be mounted into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">persistentVolumeClaim</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Used to mount a PersistentVolume into a Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">awsElasticBlockStore</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts an Amazon Web Services(AWS) EBS Volume into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">azureDisk</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts a Microsoft Azure Data Disk into a Pod</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">azureFile</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts a Microsoft Azure File Volume(SMB 2.1 and 3.0 into a Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">cephfs</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows an existing CephFS volume to be mounted into your Pod. You must have your own Ceph server running with the share exported before you can use it.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">fc</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows existing fibre channel volume to be mounted in a Pod. You must configure FC SAN Zoning to allocate and mask those LUNs (volumes) to the target WWNs beforehand so that Kubernetes hosts can access them.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">flocker</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Flocker is an open source clustered Container data volume manager. A <code>flocker</code> volume allows a Flocker dataset to be mounted into a Pod. You must have your own Flocker installation running before you can use it.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">iscsi</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows an existing ISCSI(SCSI over IP) volume to be mounted into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">portworxVolume</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A portworxVolume is an elastic block storage layer that runs hyperconverged with Kubernetes.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">quobyte</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows existing <code>Quobyte</code> volume to be mounted into your Pod. You must have your own Quobyte setup running the volumes created.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">rbd</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows a Rados Block Device volume to be mounted into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scaleIO</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ScaleIO is a software-based storage platform that can use existing hardware to create clusters of scalable shared block networked storage. The scaleIO volume plugin allows deployed Pods to access existing ScaleIO volumes.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">storageOS</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A storageos volume allows an existing StorageOS volume to be mounted into your Pod. You must run the StorageOS container on each node that wants to access StorageOS volumes</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">vsphereVolume</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Used to mount a vSphere VMDK volume into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">downwardAPI</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A downwardAPI volume is used to make downward API data available to applications. It mounts a directory and writes the requested data in plain text files.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"integrations\">14. Integrations</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"integrations.dekorate\">14.1. Dekorate</h3>\n<div class=\"paragraph\">\n<p><strong>kubernetes-maven-plugin</strong> provides a Zero Configuration approach to delegate deployment manifests\ngeneration to <a href=\"https://github.com/dekorateio/dekorate\">Dekorate</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Just by adding a dependency to Dekorate library in the <code>pom.xml</code> file, all manifest\ngeneration will be delegated to Dekorate.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"> <dependencies>\n <!-- ... -->\n <dependency>\n <groupId>io.dekorate</groupId>\n <artifactId>option-annotations</artifactId>\n <version>${dekorate.version}</version>\n </dependency>\n <dependency>\n <groupId>io.dekorate</groupId>\n <artifactId>openshift-annotations</artifactId>\n <version>${dekorate.version}</version>\n </dependency>\n <dependency>\n <groupId>io.dekorate</groupId>\n <artifactId>kubernetes-annotations</artifactId>\n <version>${dekorate.version}</version>\n </dependency>\n <dependency>\n <groupId>io.dekorate</groupId>\n <artifactId>dekorate-spring-boot</artifactId>\n <version>${dekorate.version}</version>\n </dependency>\n </dependencies></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>A full example of the integration can be found in the directory\n<a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/spring-boot-dekorate\">quickstarts/maven/spring-boot-dekorate</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>An <strong>experimental</strong> feature is also provided to merge resources generated both by <strong>kubernetes-maven-plugin</strong>\nand Dekorate. You can activate this feature by using the following flag <code>-Djkube.mergeWithDekorate</code>\nin the command-line, or setting it up as a property (<code><jkube.mergeWithDekorate>true</jkube.mergeWithDekorate></code>).</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_jib_java_image_builder\">14.2. JIB (Java Image Builder)</h3>\n<div class=\"paragraph\">\n<p><strong>kubernetes-maven-plugin</strong> also provides user an option to build container images without having access to any docker daemon.\nYou just need to set <code>jkube.build.strategy</code> property to <code>jib</code>. It will delegate the build process to\n<a href=\"https://github.com/GoogleContainerTools/jib\">JIB</a>. It creates a tarball inside your target directory which can be loaded\ninto any docker daemon afterwards. You may also push the image to your specified registry using push goal with feature flag enabled.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can find more details at <a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/spring-boot-with-jib\">Spring Boot JIB Quickstart</a>.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"faq\">15. FAQ</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_general_questions\">15.1. General questions</h3>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_define_an_environment_variable\">15.1.1. How do I define an environment variable?</h4>\n<div class=\"paragraph\">\n<p>The easiest way is to add a <code>src/main/jkube/deployment.yml</code> file to your project containing something like:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n template:\n spec:\n containers:\n -env:\n - name: FOO\n value: bar</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The above will generate an environment variable <code>$FOO</code> of value <code>bar</code></p>\n</div>\n<div class=\"paragraph\">\n<p>For a full list of the environments used in java base images, <a href=\"https://hub.docker.com/r/jkube.java-jboss-openjdk8-jdk\">see this list</a></p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_define_a_system_property\">15.1.2. How do I define a system property?</h4>\n<div class=\"paragraph\">\n<p>The simplest way is to add system properties to the <code>JAVA_OPTIONS</code> environment variable.</p>\n</div>\n<div class=\"paragraph\">\n<p>For a full list of the environments used in java base images, <a href=\"https://hub.docker.com/r/jkube.java-jboss-openjdk8-jdk\">see this list</a></p>\n</div>\n<div class=\"paragraph\">\n<p>e.g. add a <code>src/main/jkube/deployment.yml</code> file to your project containing something like:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n template:\n spec:\n containers:\n - env:\n - name: JAVA_OPTIONS\n value: \"-Dfoo=bar -Dxyz=abc\"</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The above will define the system properties <code>foo=bar</code> and <code>xyz=abc</code></p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_mount_a_config_file_from_a_configmap\">15.1.3. How do I mount a config file from a ConfigMap?</h4>\n<div class=\"paragraph\">\n<p>First you need to create your <code>ConfigMap</code> resource via a file <code>src/main/jkube/configmap.yml</code></p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">data:\n application.properties: |\n # spring application properties file\n welcome = Hello from Kubernetes ConfigMap!!!\n dummy = some value</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then mount the entry in the <code>ConfigMap</code> into your <code>Deployment</code> via a file <code>src/main/jkube/deployment.yml</code></p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">metadata:\n annotations:\n configmap.jkube.io/update-on-change: ${project.artifactId}\nspec:\n replicas: 1\n template:\n spec:\n volumes:\n - name: config\n configMap:\n name: ${project.artifactId}\n items:\n - key: application.properties\n path: application.properties\n containers:\n - volumeMounts:\n - name: config\n mountPath: /deployments/config</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Here is <a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/external-resources\">an example quickstart doing this</a></p>\n</div>\n<div class=\"paragraph\">\n<p>Note that the annotation <code>configmap.jkube.io/update-on-change</code> is optional; its used if your application is not capable\nof watching for changes in the <code>/deployments/config/application.properties</code> file. In this case if you are also running\nthe <a href=\"https://github.com/fabric8io/configmapcontroller\">configmapcontroller</a> then this will cause a rolling upgrade of your\napplication to use the new <code>ConfigMap</code> contents as you change it.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_use_a_persistent_volume\">15.1.4. How do I use a Persistent Volume?</h4>\n<div class=\"paragraph\">\n<p>First you need to create your <code>PersistentVolumeClaim</code> resource via a file <code>src/main/jkube/foo-pvc.yml</code> where <code>foo</code> is the name of the <code>PersistentVolumeClaim</code>. It might be your app requires multiple vpersistent volumes so you will need multiple <code>PersistentVolumeClaim</code> resources.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 100Mi</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then to mount the <code>PersistentVolumeClaim</code> into your <code>Deployment</code> create a file <code>src/main/jkube/deployment.yml</code></p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n template:\n spec:\n volumes:\n - name: foo\n persistentVolumeClaim:\n claimName: foo\n containers:\n - volumeMounts:\n - mountPath: /whatnot\n name: foo</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Where the above defines the <code>PersistentVolumeClaim</code> called <code>foo</code> which is then mounted into the container at <code>/whatnot</code></p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_generate_ingress_for_my_generated_service\">15.1.5. How do I generate Ingress for my generated Service?</h4>\n<div class=\"paragraph\">\n<p><code>Ingress</code> generation is supported by Eclipse JKube for <code>Service</code> objects of type <code>LoadBalancer</code>. In order to generate <code>Ingress</code> you need to enable <code>jkube.createExternalUrls</code> property to <code>true</code> and <code>jkube.domain</code> property to desired host suffix, it would be appended to your service name for host value. You can also also provide a host for it in XML config like this:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n\n <configuration>\n <resources>\n <routeDomain>org.eclipse.jkube</routeDomain>\n </resources>\n\n <enricher>\n <config>\n <jkube-service>\n <type>LoadBalancer</type>\n </jkube-service>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>You can find an example in our <a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/spring-boot\">spring-boot</a> quickstart in <code>kubernetes-with-ingress</code> profile.</p>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"appendix\">16. Appendix</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_kindfilename_type_mapping\">16.1. Kind/Filename Type Mapping</h3>\n<table id=\"appendix-kind-mapping\" class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 50%;\">\n<col style=\"width: 50%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Kind</th>\n<th class=\"tableblock halign-left valign-top\">Filename Type</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">BuildConfig</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>bc</code>, <code>buildconfig</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ClusterRole</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>cr</code>, <code>crole</code>, <code>clusterrole</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ConfigMap</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>cm</code>, <code>configmap</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ClusterRoleBinding</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>crb</code>, <code>clusterrb</code>, <code>clusterrolebinding</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">CronJob</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>cj</code>, <code>cronjob</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">CustomResourceDefinition</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>crd</code>, <code>customerresourcedefinition</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">DaemonSet</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>ds</code>, <code>daemonset</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Deployment</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>deployment</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">DeploymentConfig</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>dc</code>, <code>deploymentconfig</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ImageStream</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>is</code>, <code>imagestream</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ImageStreamTag</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>istag</code>, <code>imagestreamtag</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Ingress</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>ingress</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Job</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>job</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">LimitRange</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>lr</code>, <code>limitrange</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Namespace</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>ns</code>, <code>namespace</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OAuthClient</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>oauthclient</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">PolicyBinding</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pb</code>, <code>policybinding</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">PersistentVolume</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pv</code>, <code>persistentvolume</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">PersistentVolumeClaim</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pvc</code>, <code>persistemtvolumeclaim</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Project</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>project</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ProjectRequest</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pr</code>, <code>projectrequest</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ReplicaSet</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rs</code>, <code>replicaset</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ReplicationController</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rc</code>, <code>replicationcontroller</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ResourceQuota</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rq</code>, <code>resourcequota</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Role</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>role</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">RoleBinding</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rb</code>, <code>rolebinding</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">RoleBindingRestriction</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rbr</code>, <code>rolebindingrestriction</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Route</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>route</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Secret</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>secret</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Service</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>svc</code>, <code>service</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ServiceAccount</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>sa</code>, <code>serviceaccount</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">StatefulSet</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>statefulset</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Template</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>template</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Pod</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pd</code>, <code>pod</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_custom_kindfilename_mapping\">16.2. Custom Kind/Filename Mapping</h3>\n<div class=\"paragraph\">\n<p>You can add your custom <code>Kind/Filename</code> mappings.\nTo do it you have two approaches:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Setting an environment variable or system property called <code>jkube.mapping</code> pointing out to a <code>.properties</code> files with pairs <code><kind>⇒filename1>, <filename2></code>\nBy default if no environment variable nor system property is set, scan for a file located at classpath <code>/META-INF/jkube.kind-filename-type-mapping-default.properties</code>.</p>\n</li>\n<li>\n<p>By embedding in MOJO configuration the mapping:</p>\n</li>\n</ul>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>kubernetes-maven-plugin</artifactId>\n <configuration>\n <mappings>\n <mapping>\n <kind>Var</kind>\n <filenameTypes>foo, bar</filenameTypes>\n </mapping>\n </mappings>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n</div>\n</div>","document":{"title":"org.eclipse.jkube/kubernetes-maven-plugin","subtitle":""}}},"pageContext":{"id":"081d2529-9b9a-5041-ae97-dcfc63ad4610","langKey":"en"}},"staticQueryHashes":[]}
\ No newline at end of file
diff --git a/page-data/docs/migration-guide/page-data.json b/page-data/docs/migration-guide/page-data.json
index cb23124..42d36a9 100644
--- a/page-data/docs/migration-guide/page-data.json
+++ b/page-data/docs/migration-guide/page-data.json
@@ -1 +1 @@
-{"componentChunkName":"component---src-templates-main-jsx","path":"/docs/migration-guide/","result":{"data":{"markdownRemark":{"html":"<div class=\"hero\">\n<div class=\"hero-content\">\n<h1 id=\"documentation\"><a href=\"#documentation\" aria-label=\"documentation permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Documentation</h1>\n</div>\n</div>\n<h2 id=\"migration-guide-for-projects-using-fabric8-maven-plugin-to-eclipse-jkube\"><a href=\"#migration-guide-for-projects-using-fabric8-maven-plugin-to-eclipse-jkube\" aria-label=\"migration guide for projects using fabric8 maven plugin to eclipse jkube permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Migration Guide for projects using Fabric8 Maven Plugin to Eclipse JKube</h2>\n<p>For any project currently using <a href=\"https://github.com/fabric8io/fabric8-maven-plugin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Fabric8 Maven Plugin (FMP)</a>,\nmigrating to Eclipse JKube is as simple as running a Maven command.</p>\n<p>FMP used to handle both Kubernetes and OpenShift clusters but Eclipse JKube has separate plugins for these two different\nenvironments.</p>\n<h3 id=\"projects-targeting-kubernetes-clusters\"><a href=\"#projects-targeting-kubernetes-clusters\" aria-label=\"projects targeting kubernetes clusters permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Projects targeting Kubernetes Clusters</h3>\n<p>Run the following command in you project's root directory:</p>\n<div class=\"gatsby-highlight\" data-language=\"shellscript\"><pre class=\"language-shellscript\"><code class=\"language-shellscript\">mvn org.eclipse.jkube:kubernetes-maven-plugin:migrate</code></pre></div>\n<p>Maven coordinates in your <code class=\"language-text\">pom.xml</code> will change from <code class=\"language-text\">io.fabric8:fabric8-maven-plugin</code> to\n<code class=\"language-text\">org.eclipse.jkube:kubernetes-maven-plugin</code> for every <code class=\"language-text\"><plugin></code> entry.</p>\n<h3 id=\"projects-targeting-openshift-clusters\"><a href=\"#projects-targeting-openshift-clusters\" aria-label=\"projects targeting openshift clusters permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Projects targeting OpenShift Clusters</h3>\n<p>Run the following command in you project's root directory:</p>\n<div class=\"gatsby-highlight\" data-language=\"shellscript\"><pre class=\"language-shellscript\"><code class=\"language-shellscript\">mvn org.eclipse.jkube:openshift-maven-plugin:migrate</code></pre></div>\n<p>Maven coordinates in your <code class=\"language-text\">pom.xml</code> will change from <code class=\"language-text\">io.fabric8:fabric8-maven-plugin</code> to\n<code class=\"language-text\">org.eclipse.jkube:openshift-maven-plugin</code> for every <code class=\"language-text\"><plugin></code> entry.</p>\n<h3 id=\"xml-configuration-and-maven-properties\"><a href=\"#xml-configuration-and-maven-properties\" aria-label=\"xml configuration and maven properties permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>XML configuration and Maven properties</h3>\n<p>FMP specific Maven properties <code class=\"language-text\"><fabric8.*</code> will be automatically renamed to Eclipse JKube analogous\nproperties <code class=\"language-text\"><jkube.*</code>.</p>\n<p>Mojo XML configuration element tag names will also be automatically renamed to the Eclipse JKube\nequivalent.</p>\n<h3 id=\"resource-fragments\"><a href=\"#resource-fragments\" aria-label=\"resource fragments permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Resource Fragments</h3>\n<p>If you want to customize Kubernetes manifests added by FMP by means other than XML configuration,\nyou usually add your resources to <code class=\"language-text\">src/main/fabric8</code> directory and FMP picks these up during enrichment\nprocess and merges them along with the default generated resources.</p>\n<p>Eclipse JKube's <code class=\"language-text\">migrate</code> Maven goal will also take care of renaming your project's <code class=\"language-text\">src/main/fabric8</code>\nfragment directory to <code class=\"language-text\">src/main/jkube</code></p>\n<h3 id=\"image-configuration-for-docker-builds\"><a href=\"#image-configuration-for-docker-builds\" aria-label=\"image configuration for docker builds permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Image Configuration for Docker builds</h3>\n<p>Projects relying on FMP's <code class=\"language-text\">ImageConfiguration</code> model for building docker images don't need any change in\nEclipse JKube's XML configuration.</p>\n<p>For example, let's consider this simple project's plugin configuration:</p>\n<h5 id=\"fabric8-maven-plugin-image-configuration\"><a href=\"#fabric8-maven-plugin-image-configuration\" aria-label=\"fabric8 maven plugin image configuration permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Fabric8 Maven Plugin Image Configuration</h5>\n<div class=\"gatsby-highlight\" data-language=\"xml\"><pre class=\"language-xml\"><code class=\"language-xml\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>plugin</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>groupId</span><span class=\"token punctuation\">></span></span>io.fabric8<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>groupId</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>artifactId</span><span class=\"token punctuation\">></span></span>fabric8-maven-plugin<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>artifactId</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>configuration</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>images</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>image</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>name</span><span class=\"token punctuation\">></span></span>%g/helloworld-java:%l<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>name</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>alias</span><span class=\"token punctuation\">></span></span>hello-world<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>alias</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>build</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>from</span><span class=\"token punctuation\">></span></span>openjdk:latest<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>from</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>assembly</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>descriptorRef</span><span class=\"token punctuation\">></span></span>artifact<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>descriptorRef</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>assembly</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>cmd</span><span class=\"token punctuation\">></span></span>java -jar maven/${project.name}-${project.version}.jar<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>cmd</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>build</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>run</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>wait</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>log</span><span class=\"token punctuation\">></span></span>Hello World!<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>log</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>wait</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>run</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>image</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>images</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>configuration</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>plugin</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<h5 id=\"eclipse-jkube-image-configuration\"><a href=\"#eclipse-jkube-image-configuration\" aria-label=\"eclipse jkube image configuration permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Eclipse JKube Image Configuration</h5>\n<div class=\"gatsby-highlight\" data-language=\"xml\"><pre class=\"language-xml\"><code class=\"language-xml\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>plugin</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>groupId</span><span class=\"token punctuation\">></span></span>org.eclipse.jkube<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>groupId</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>artifactId</span><span class=\"token punctuation\">></span></span>kubernetes-maven-plugin<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>artifactId</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>configuration</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>images</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>image</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>name</span><span class=\"token punctuation\">></span></span>%g/helloworld-java:%l<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>name</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>alias</span><span class=\"token punctuation\">></span></span>hello-world<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>alias</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>build</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>from</span><span class=\"token punctuation\">></span></span>openjdk:latest<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>from</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>assembly</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>descriptorRef</span><span class=\"token punctuation\">></span></span>artifact<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>descriptorRef</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>assembly</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>cmd</span><span class=\"token punctuation\">></span></span>java -jar maven/${project.name}-${project.version}.jar<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>cmd</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>build</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>run</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>wait</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>log</span><span class=\"token punctuation\">></span></span>Hello World!<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>log</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>wait</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>run</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>image</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>images</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>configuration</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>plugin</span><span class=\"token punctuation\">></span></span></code></pre></div>","frontmatter":{"date":"February 24, 2020","path":"/docs/migration-guide","title":"Eclipse JKube Migration Guide","description":"Eclipse JKube migration guide from Fabric8 Maven Plugin (FMP)"}}},"pageContext":{"langKey":"en","slug":"/docs/migration-guide/"}}}
\ No newline at end of file
+{"componentChunkName":"component---src-templates-main-jsx","path":"/docs/migration-guide/","result":{"data":{"markdownRemark":{"html":"<div class=\"hero\">\n<div class=\"hero-content\">\n<h1 id=\"documentation\" style=\"position:relative;\"><a href=\"#documentation\" aria-label=\"documentation permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Documentation</h1>\n</div>\n</div>\n<h2 id=\"migration-guide-for-projects-using-fabric8-maven-plugin-to-eclipse-jkube\" style=\"position:relative;\"><a href=\"#migration-guide-for-projects-using-fabric8-maven-plugin-to-eclipse-jkube\" aria-label=\"migration guide for projects using fabric8 maven plugin to eclipse jkube permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Migration Guide for projects using Fabric8 Maven Plugin to Eclipse JKube</h2>\n<p>For any project currently using <a href=\"https://github.com/fabric8io/fabric8-maven-plugin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Fabric8 Maven Plugin (FMP)</a>,\nmigrating to Eclipse JKube is as simple as running a Maven command.</p>\n<p>FMP used to handle both Kubernetes and OpenShift clusters but Eclipse JKube has separate plugins for these two different\nenvironments.</p>\n<h3 id=\"projects-targeting-kubernetes-clusters\" style=\"position:relative;\"><a href=\"#projects-targeting-kubernetes-clusters\" aria-label=\"projects targeting kubernetes clusters permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Projects targeting Kubernetes Clusters</h3>\n<p>Run the following command in you project's root directory:</p>\n<div class=\"gatsby-highlight\" data-language=\"shellscript\"><pre class=\"language-shellscript\"><code class=\"language-shellscript\">mvn org.eclipse.jkube:kubernetes-maven-plugin:migrate</code></pre></div>\n<p>Maven coordinates in your <code class=\"language-text\">pom.xml</code> will change from <code class=\"language-text\">io.fabric8:fabric8-maven-plugin</code> to\n<code class=\"language-text\">org.eclipse.jkube:kubernetes-maven-plugin</code> for every <code class=\"language-text\"><plugin></code> entry.</p>\n<h3 id=\"projects-targeting-openshift-clusters\" style=\"position:relative;\"><a href=\"#projects-targeting-openshift-clusters\" aria-label=\"projects targeting openshift clusters permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Projects targeting OpenShift Clusters</h3>\n<p>Run the following command in you project's root directory:</p>\n<div class=\"gatsby-highlight\" data-language=\"shellscript\"><pre class=\"language-shellscript\"><code class=\"language-shellscript\">mvn org.eclipse.jkube:openshift-maven-plugin:migrate</code></pre></div>\n<p>Maven coordinates in your <code class=\"language-text\">pom.xml</code> will change from <code class=\"language-text\">io.fabric8:fabric8-maven-plugin</code> to\n<code class=\"language-text\">org.eclipse.jkube:openshift-maven-plugin</code> for every <code class=\"language-text\"><plugin></code> entry.</p>\n<h3 id=\"xml-configuration-and-maven-properties\" style=\"position:relative;\"><a href=\"#xml-configuration-and-maven-properties\" aria-label=\"xml configuration and maven properties permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>XML configuration and Maven properties</h3>\n<p>FMP specific Maven properties <code class=\"language-text\"><fabric8.*</code> will be automatically renamed to Eclipse JKube analogous\nproperties <code class=\"language-text\"><jkube.*</code>.</p>\n<p>Mojo XML configuration element tag names will also be automatically renamed to the Eclipse JKube\nequivalent.</p>\n<h3 id=\"resource-fragments\" style=\"position:relative;\"><a href=\"#resource-fragments\" aria-label=\"resource fragments permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Resource Fragments</h3>\n<p>If you want to customize Kubernetes manifests added by FMP by means other than XML configuration,\nyou usually add your resources to <code class=\"language-text\">src/main/fabric8</code> directory and FMP picks these up during enrichment\nprocess and merges them along with the default generated resources.</p>\n<p>Eclipse JKube's <code class=\"language-text\">migrate</code> Maven goal will also take care of renaming your project's <code class=\"language-text\">src/main/fabric8</code>\nfragment directory to <code class=\"language-text\">src/main/jkube</code></p>\n<h3 id=\"image-configuration-for-docker-builds\" style=\"position:relative;\"><a href=\"#image-configuration-for-docker-builds\" aria-label=\"image configuration for docker builds permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Image Configuration for Docker builds</h3>\n<p>Projects relying on FMP's <code class=\"language-text\">ImageConfiguration</code> model for building docker images don't need any change in\nEclipse JKube's XML configuration.</p>\n<p>For example, let's consider this simple project's plugin configuration:</p>\n<h5 id=\"fabric8-maven-plugin-image-configuration\" style=\"position:relative;\"><a href=\"#fabric8-maven-plugin-image-configuration\" aria-label=\"fabric8 maven plugin image configuration permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Fabric8 Maven Plugin Image Configuration</h5>\n<div class=\"gatsby-highlight\" data-language=\"xml\"><pre class=\"language-xml\"><code class=\"language-xml\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>plugin</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>groupId</span><span class=\"token punctuation\">></span></span>io.fabric8<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>groupId</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>artifactId</span><span class=\"token punctuation\">></span></span>fabric8-maven-plugin<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>artifactId</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>configuration</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>images</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>image</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>name</span><span class=\"token punctuation\">></span></span>%g/helloworld-java:%l<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>name</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>alias</span><span class=\"token punctuation\">></span></span>hello-world<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>alias</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>build</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>from</span><span class=\"token punctuation\">></span></span>openjdk:latest<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>from</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>assembly</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>descriptorRef</span><span class=\"token punctuation\">></span></span>artifact<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>descriptorRef</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>assembly</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>cmd</span><span class=\"token punctuation\">></span></span>java -jar maven/${project.name}-${project.version}.jar<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>cmd</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>build</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>run</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>wait</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>log</span><span class=\"token punctuation\">></span></span>Hello World!<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>log</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>wait</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>run</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>image</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>images</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>configuration</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>plugin</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<h5 id=\"eclipse-jkube-image-configuration\" style=\"position:relative;\"><a href=\"#eclipse-jkube-image-configuration\" aria-label=\"eclipse jkube image configuration permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Eclipse JKube Image Configuration</h5>\n<div class=\"gatsby-highlight\" data-language=\"xml\"><pre class=\"language-xml\"><code class=\"language-xml\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>plugin</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>groupId</span><span class=\"token punctuation\">></span></span>org.eclipse.jkube<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>groupId</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>artifactId</span><span class=\"token punctuation\">></span></span>kubernetes-maven-plugin<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>artifactId</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>configuration</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>images</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>image</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>name</span><span class=\"token punctuation\">></span></span>%g/helloworld-java:%l<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>name</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>alias</span><span class=\"token punctuation\">></span></span>hello-world<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>alias</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>build</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>from</span><span class=\"token punctuation\">></span></span>openjdk:latest<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>from</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>assembly</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>descriptorRef</span><span class=\"token punctuation\">></span></span>artifact<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>descriptorRef</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>assembly</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>cmd</span><span class=\"token punctuation\">></span></span>java -jar maven/${project.name}-${project.version}.jar<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>cmd</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>build</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>run</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>wait</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>log</span><span class=\"token punctuation\">></span></span>Hello World!<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>log</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>wait</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>run</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>image</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>images</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>configuration</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>plugin</span><span class=\"token punctuation\">></span></span></code></pre></div>","frontmatter":{"date":"February 24, 2020","path":"/docs/migration-guide","title":"Eclipse JKube Migration Guide","description":"Eclipse JKube migration guide from Fabric8 Maven Plugin (FMP)"}}},"pageContext":{"langKey":"en","slug":"/docs/migration-guide/"}},"staticQueryHashes":[]}
\ No newline at end of file
diff --git a/page-data/docs/openshift-maven-plugin/page-data.json b/page-data/docs/openshift-maven-plugin/page-data.json
index 133b6c1..4eba11b 100644
--- a/page-data/docs/openshift-maven-plugin/page-data.json
+++ b/page-data/docs/openshift-maven-plugin/page-data.json
@@ -1 +1 @@
-{"componentChunkName":"component---src-templates-doc-jsx","path":"/docs/openshift-maven-plugin","result":{"data":{"asciidocCopy":{"html":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>© 2020 The original authors.</p>\n</div>\n<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\" class=\"title\">openshift-maven-plugin</div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#introduction\">1. Introduction</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#building-images\">1.1. Building Images</a></li>\n<li><a href=\"#resource-descriptors\">1.2. Kubernetes Resources</a></li>\n<li><a href=\"#_configuration\">1.3. Configuration</a></li>\n<li><a href=\"#_examples\">1.4. Examples</a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#zero-config\">1.4.1. Zero-Config</a></li>\n<li><a href=\"#_xml_configuration\">1.4.2. XML Configuration</a></li>\n<li><a href=\"#_resource_fragments\">1.4.3. Resource Fragments</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a href=\"#compatibility-with-OpenShift\">2. Compatibility with OpenShift</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#openshift-compatibility\">2.1. OpenShift Compatibility</a></li>\n</ul>\n</li>\n<li><a href=\"#installation\">3. Installation</a></li>\n<li><a href=\"#goals\">4. Goals Overview</a></li>\n<li><a href=\"#goals-overview-build\">5. Build Goals</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#jkube:resource\">5.1. <strong>oc:resource</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#resource-labels-annotations\">5.1.1. Labels and Annotations</a></li>\n<li><a href=\"#resource-secrets\">5.1.2. Secrets</a></li>\n<li><a href=\"#resource-validation\">5.1.3. Resource Validation</a></li>\n<li><a href=\"#resource-route-generation\">5.1.4. Route Generation</a></li>\n<li><a href=\"#Supported-Properties-Resource\">5.1.5. Supported Properties for Resource goal</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:build\">5.2. <strong>oc:build</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#build-kubernetes\">5.2.1. Kubernetes Build</a></li>\n<li><a href=\"#build-openshift\">5.2.2. OpenShift Build</a></li>\n<li><a href=\"#build-goal-configuration\">5.2.3. Configuration (XML)</a></li>\n<li><a href=\"#_kubernetes_access_configuration\">5.2.4. Kubernetes Access Configuration</a></li>\n<li><a href=\"#_image_configuration\">5.2.5. Image Configuration</a></li>\n<li><a href=\"#build-configuration\">5.2.6. Build Configuration</a></li>\n<li><a href=\"#build-assembly\">5.2.7. Assembly</a></li>\n<li><a href=\"#misc-env\">5.2.8. Environment and Labels</a></li>\n<li><a href=\"#misc-startup\">5.2.9. Startup Arguments</a></li>\n<li><a href=\"#build-buildargs\">5.2.10. Build Args</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:push\">5.3. <strong>oc:push</strong></a></li>\n<li><a href=\"#jkube:apply\">5.4. <strong>oc:apply</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#Supported-Properties-Apply\">5.4.1. Supported Properties For Apply goal</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:helm\">5.5. <strong>oc:helm</strong></a></li>\n</ul>\n</li>\n<li><a href=\"#goals-overview-develop\">6. Development Goals</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#jkube:deploy\">6.1. <strong>oc:deploy</strong></a></li>\n<li><a href=\"#jkube:undeploy\">6.2. <strong>oc:undeploy</strong></a></li>\n<li><a href=\"#jkube:log\">6.3. <strong>oc:log</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#Supported-Properties-Log\">6.3.1. Supported Properties for Log goal</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:debug\">6.4. <strong>oc:debug</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#_speeding_up_debugging\">6.4.1. Speeding up debugging</a></li>\n<li><a href=\"#_debugging_with_suspension\">6.4.2. Debugging with suspension</a></li>\n<li><a href=\"#Supported-Properties-Debug\">6.4.3. Supported Properties For Debug Goal</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:watch\">6.5. <strong>oc:watch</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#watcher-spring-boot\">6.5.1. Spring Boot</a></li>\n<li><a href=\"#watcher-docker-image\">6.5.2. Docker Image</a></li>\n<li><a href=\"#Supported-Properties-Watch\">6.5.3. Supported Properties for Watch goal</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a href=\"#generators\">7. Generators</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#generators-default\">7.1. Default Generators</a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#generator-java-exec\">7.1.1. Java Applications</a></li>\n<li><a href=\"#generator-spring-boot\">7.1.2. Spring Boot</a></li>\n<li><a href=\"#generator-wildfly-swarm\">7.1.3. Wildfly Swarm</a></li>\n<li><a href=\"#generator-thorntail-v2\">7.1.4. Thorntail v2</a></li>\n<li><a href=\"#generator-vertx\">7.1.5. Vert.x</a></li>\n<li><a href=\"#generator-karaf\">7.1.6. Karaf</a></li>\n<li><a href=\"#generator-webapp\">7.1.7. Web Applications</a></li>\n<li><a href=\"#generator-quarkus\">7.1.8. Quarkus</a></li>\n<li><a href=\"#generator-openliberty\">7.1.9. Open Liberty</a></li>\n<li><a href=\"#generator-wildfly-jar\">7.1.10. Wildfly JAR Generator</a></li>\n</ul>\n</li>\n<li><a href=\"#generators-api\">7.2. Generator API</a></li>\n</ul>\n</li>\n<li><a href=\"#enrichers\">8. Enrichers</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#enrichers-default\">8.1. Default Enrichers</a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#enrichers-generic\">8.1.1. Generic Enrichers</a></li>\n<li><a href=\"#enrichers-specific\">8.1.2. Specific Enrichers</a></li>\n</ul>\n</li>\n<li><a href=\"#_enricher_api\">8.2. Enricher API</a></li>\n</ul>\n</li>\n<li><a href=\"#profiles\">9. Profiles</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#generator-enricher-definition\">9.1. Generator and Enricher definitions</a></li>\n<li><a href=\"#profiles-lookup-order\">9.2. Lookup order</a></li>\n<li><a href=\"#profiles-using\">9.3. Using Profiles</a></li>\n<li><a href=\"#profiles-predefined\">9.4. Predefined Profiles</a></li>\n<li><a href=\"#profiles-extended\">9.5. Extending Profiles</a></li>\n</ul>\n</li>\n<li><a href=\"#access-configuration\">10. Access configuration</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_docker_access\">10.1. Docker Access</a></li>\n<li><a href=\"#_openshift_and_kubernetes_access\">10.2. OpenShift and Kubernetes Access</a></li>\n</ul>\n</li>\n<li><a href=\"#registry\">11. Registry handling</a></li>\n<li><a href=\"#authentication\">12. Authentication</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_pull_vs_push_authentication\">12.1. Pull vs. Push Authentication</a></li>\n<li><a href=\"#_openshift_authentication\">12.2. OpenShift Authentication</a></li>\n<li><a href=\"#password-encryption\">12.3. Password encryption</a></li>\n<li><a href=\"#extended-authentication\">12.4. Extended Authentication</a></li>\n</ul>\n</li>\n<li><a href=\"#volume-configuration\">13. Volume Configuration</a></li>\n<li><a href=\"#integrations\">14. Integrations</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#integrations.dekorate\">14.1. Dekorate</a></li>\n<li><a href=\"#_jib_java_image_builder\">14.2. JIB (Java Image Builder)</a></li>\n</ul>\n</li>\n<li><a href=\"#faq\">15. FAQ</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_general_questions\">15.1. General questions</a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#_how_do_i_define_an_environment_variable\">15.1.1. How do I define an environment variable?</a></li>\n<li><a href=\"#_how_do_i_define_a_system_property\">15.1.2. How do I define a system property?</a></li>\n<li><a href=\"#_how_do_i_mount_a_config_file_from_a_configmap\">15.1.3. How do I mount a config file from a ConfigMap?</a></li>\n<li><a href=\"#_how_do_i_use_a_persistent_volume\">15.1.4. How do I use a Persistent Volume?</a></li>\n<li><a href=\"#_how_do_i_generate_ingress_for_my_generated_service\">15.1.5. How do I generate Ingress for my generated Service?</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a href=\"#appendix\">16. Appendix</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_kindfilename_type_mapping\">16.1. Kind/Filename Type Mapping</a></li>\n<li><a href=\"#_custom_kindfilename_mapping\">16.2. Custom Kind/Filename Mapping</a></li>\n</ul>\n</li>\n</ul>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"introduction\">1. Introduction</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>The <strong>openshift-maven-plugin</strong> brings your Java applications on to\n<a href=\"https://www.openshift.com/\">OpenShift</a>.\nIt provides a tight integration into <a href=\"http://maven.apache.org\">Maven</a> and benefits from the build configuration already provided.\nThis plugin focus on two tasks: <em>Building Docker images</em> and <em>creating Kubernetes resource descriptors</em>.\nIt can be configured very flexibly and supports multiple configuration models for creating: A <em>Zero-Config</em> setup allows for a quick ramp-up with some opinionated defaults.\nFor more advanced requirements, an <em>XML configuration</em> provides additional configuration options which can be added to the <code>pom.xml</code>.\nFor the full power, in order to tune all facets of the creation, external <em>resource fragments</em> and <em>Dockerfiles</em> can be used.</p>\n</div>\n<div class=\"sect2\">\n<h3 id=\"building-images\">1.1. Building Images</h3>\n<div class=\"paragraph\">\n<p>The <a href=\"#jkube:build\"><strong>oc:build</strong></a> goal is for creating Docker images containing the actual application. These then can be deployed later on Kubernetes or OpenShift.\nIt is easy to include build artifacts and their dependencies into these images.\nThis plugin uses the assembly descriptor format similar to the one used in\n<a href=\"http://maven.apache.org/plugins/maven-assembly-plugin/\">maven-assembly-plugin</a> to specify the content which will be added\nto the image.\nThat images can then be pushed to public or private Docker registries with <a href=\"#jkube:push\"><strong>oc:push</strong></a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Depending on the operational mode, for building the actual image either a Docker daemon is used directly or an <a href=\"https://docs.openshift.com/enterprise/3.0/architecture/core_concepts/builds_and_image_streams.html#docker-build\">OpenShift Docker Build</a> is performed.</p>\n</div>\n<div class=\"paragraph\">\n<p>A special <a href=\"#jkube:watch\"><strong>oc:watch</strong></a> goal allows for reacting to code changes to automatically recreate images or copy new artifacts into running containers.</p>\n</div>\n<div class=\"paragraph\">\n<p>These image related features are inherited from the <a href=\"https://github.com/fabric8io/docker-maven-plugin\">jkubeio/docker-maven-plugin</a> which is part of this plugin.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"resource-descriptors\">1.2. Kubernetes Resources</h3>\n<div class=\"paragraph\">\n<p>Kubernetes resource descriptors can be created or generated from <a href=\"#jkube:resource\"><strong>oc:resource</strong></a>.\nThese files are packaged within the Maven artifacts and can be deployed to a running orchestration platform with <a href=\"#jkube:apply\"><strong>oc:apply</strong></a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Typically you only specify a small part of the real resource descriptors which will be enriched by this plugin with various extra information taken from the <code>pom.xml</code>.\nThis drastically reduces boilerplate code for common scenarios.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_configuration\">1.3. Configuration</h3>\n<div class=\"paragraph\">\n<p>As mentioned already there are three levels of configuration:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><strong>Zero-Config</strong> mode makes some very opinionated decisions based on what is present in the pom.xml like what base image to use or which ports to expose.\nThis is great for starting up things and for keeping quickstart applications small and tidy.</p>\n</li>\n<li>\n<p><strong>XML plugin configuration</strong> mode is similar to what <a href=\"https://dmp.fabric8.io/#example\">docker-maven-plugin</a> provides.\nThis allows for type-safe configuration with IDE support, but only a subset of possible resource descriptor features is provided.</p>\n</li>\n<li>\n<p><strong>Kubernetes & OpenShift resource fragments</strong> are user provided YAML files that can be <em>enriched</em> by the plugin. This allows expert users to use a plain configuration file with all their capabilities, but also to add project specific build information and avoid boilerplate code.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The following table gives an overview of the different models</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 1. Configuration Models</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 50%;\">\n<col style=\"width: 37.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Model</th>\n<th class=\"tableblock halign-left valign-top\">Docker Images</th>\n<th class=\"tableblock halign-left valign-top\">Resource Descriptors</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Zero-Config</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generators\">Generators</a> are used to create Docker image configurations. Generators can detect certain aspects of\n the build (e.g. whether Spring Boot is used) and then choose some opinionated defaults like the base image, which\n ports to expose and the startup command. They can be configured, but offer only a few options.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default <a href=\"#enrichers\">Enrichers</a> will create a default <em>Service</em> and <em>Deployment</em> (<em>DeploymentConfig</em> for OpenShift)\n when no other resource objects are provided. Depending on the image they can detect which port to expose in the\n service. As with Generators, Enrichers support a limited set of configuration options.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>XML configuration</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">openshift-maven-plugin inherits the XML based configuration for building images from the\n <a href=\"https://dmp.fabric8.io/#docker:build\">docker-maven-plugin</a> and provides the same functionality. It supports an\n <a href=\"http://maven.apache.org/components/plugins/maven-assembly-plugin/assembly.html\">assembly descriptor</a> for specifying the\n content of the Docker image.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A subset of possible resource objects can be configured with a dedicated XML syntax. With a decent IDE you get\n autocompletion on most objects and inline documentation for the available configuration elements. The provided\n configuration can be still enhanced by Enhancers which is useful for adding e.g. labels and annotations containing\n build or other information.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Resource Fragments</strong> and <strong>Dockerfiles</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Similarly to the docker-maven-plugin, openshift-maven-plugin supports <a href=\"#external-dockerfile\">external Dockerfiles</a> too, which are\n referenced from the plugin configuration.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Resource descriptors can be provided as external YAML files which will build a base skeleton for the applicable resource.</p>\n<p class=\"tableblock\"> The \"skeleton\" is then post-processed by <a href=\"#enrichers\">Enrichers</a> which will complete the skeleton by adding the fields\n each enricher is responsible of (labels, annotations, port information, etc.). Maven properties within these files\n are resolved to their values.</p>\n<p class=\"tableblock\"> With this model you can use every Kubernetes / OpenShift resource objects with all their flexibility, but still get the benefit\n of adding build information.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_examples\">1.4. Examples</h3>\n<div class=\"paragraph\">\n<p>Let’s have a look at some code. The following examples will demonstrate all three configurations variants:</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"zero-config\">1.4.1. Zero-Config</h4>\n<div class=\"paragraph\">\n<p>This minimal but full working example <code>pom.xml</code> shows how a simple spring boot application can be dockerized and\nprepared for Kubernetes. The full example can be found in directory\n<a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/zero-config\">quickstarts/maven/zero-config</a>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><project>\n <modelVersion>4.0.0</modelVersion>\n\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>jkube-maven-sample-zero-config</artifactId>\n <version>1.0.0-rc-1</version>\n <packaging>jar</packaging>\n\n <parent>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-starter-parent</artifactId> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <version>1.5.5.RELEASE</version>\n </parent>\n\n <dependencies>\n <dependency>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-starter-web</artifactId> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n </dependency>\n </dependencies>\n\n <build>\n <plugins>\n <plugin>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-maven-plugin</artifactId> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n </plugin>\n <plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n <version>1.0.0-rc-1</version>\n </plugin>\n </plugins>\n </build>\n</project></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>This minimalistic spring boot application uses the spring-boot parent POM for setting up dependencies and plugins</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>The Spring Boot web starter dependency enables a simple embedded Tomcat for serving Spring MVC apps</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td>The <code>spring-boot-maven-plugin</code> is responsible for repackaging the application into a fat jar, including all dependencies and the embedded Tomcat</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>The <code>openshift-maven-plugin</code> enables the automatic generation of a Docker image and Kubernetes / OpenShift descriptors including this Spring application.</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>This setup make some opinionated decisions for you:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>As base image <a href=\"https://quay.io/repository/jkube/jkube-java-binary-s2i\">jkube/jkube-java-binary-s2i</a>\nis chosen which enables <a href=\"https://www.jolokia.org\">Jolokia</a> and <a href=\"https://github.com/prometheus/jmx_exporter\">jmx_exporter</a>.\nIt also comes with a sophisticated <a href=\"https://github.com/jboss-openshift/cct_module/tree/master/jboss/container/java/run/bash\">startup script</a>.</p>\n</li>\n<li>\n<p>It will create a Kubernetes <a href=\"http://kubernetes.io/docs/user-guide/deployments/\">Deployment</a> and a\n<a href=\"http://kubernetes.io/docs/user-guide/services/\">Service</a> as resource objects</p>\n</li>\n<li>\n<p>It exports port 8080 as the application service port (and 8778 and 9779 for Jolokia and jmx_exporter access, respectively)</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>These choices can be influenced by configuration options as described in <a href=\"#generator-spring-boot\">Spring Boot Generator</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>To start the Docker image build, you simply run</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-bash\" data-lang=\"bash\">mvn package oc:build</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This will create the Docker image against a running Docker daemon (which must be accessible either via Unix Socket or\nwith the URL set in <code>DOCKER_HOST</code>). Alternatively, when connected to an OpenShift cluster (or using the <code>openshift</code>\n<a href=\"#build-mode\">mode</a> explicitly), then a Docker build will be performed on OpenShift which at the end creates an\n<a href=\"https://docs.openshift.com/enterprise/3.1/architecture/core_concepts/builds_and_image_streams.html\">ImageStream</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>To deploy the resources to the cluster call</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-bash\" data-lang=\"bash\">mvn oc:resource oc:deploy</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>By default a <em>Service</em> and a <em>Deployment</em> object pointing to the created Docker image is created. When running in OpenShift mode, a <em>Service</em> and <em>DeploymentConfig</em> which refers the <em>ImageStream</em> created with <code>oc:build</code> will be installed.</p>\n</div>\n<div class=\"paragraph\">\n<p>Of course you can bind all those jkube.goals to execution phases as well, so that they are called along with standard lifecycle goals like <code>install</code>. For example, to bind the building of the Kubernetes resource files and the Docker images, add the following goals to the execution of the openshift-maven-plugin:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for lifecycle bindings</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n\n <!-- ... -->\n\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If you’d also like to automatically deploy to Kubernetes each time you do a <code>mvn install</code> you can add the <code>apply</code> goal:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for lifecycle bindings with automatic deploys for mvn install</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n\n <!-- ... -->\n\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n <goal>apply</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_xml_configuration\">1.4.2. XML Configuration</h4>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nXML based configuration is only partially implemented and is not recommended for use right now.\n</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>Although the Zero-config mode and its generators can be tweaked with options up to a certain degree, many cases require more flexibility. For such instances, an XML-based plugin configuration can be used, in a way similar to the\n<a href=\"https://dmp.fabric8.io/#configuration\">XML configuration</a> used by <code>docker-maven-plugin</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The plugin configuration can be roughly divided into the following sections:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Global configuration options are responsible for tuning the behaviour of plugin goals</p>\n</li>\n<li>\n<p><code><images></code> defines which Docker <a href=\"#image-configuration\">images</a> are used and configured. This section is similar to the\n<a href=\"https://dmp.fabric8.io//#image-configuration\">image configuration</a> of the <code>docker-maven-plugin</code>, except that <code><run></code>\nand <code><external></code> sub-elements are ignored)</p>\n</li>\n<li>\n<p><code><resource></code> defines the resource descriptors for deploying on an OpenShift or Kuberneres cluster.</p>\n</li>\n<li>\n<p><code><generator></code> configures <a href=\"#generators\">generators</a> which are responsible for creating images. Generators are used as an alternative to a dedicated <code><images></code> section.</p>\n</li>\n<li>\n<p><code><enricher></code> configures various aspects of <a href=\"#enrichers\">enrichers</a> for creating or enhancing resource descriptors.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>A working example can be found in the\n<a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/xml-config\">quickstarts/maven/xml-config</a> directory.\nAn extract of the plugin configuration is shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for an XML configuration</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <namespace>test-ns</namespace>\n <images> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <image>\n <name>xml-config-demo:1.0.0</name>\n <!-- \"alias\" is used to correlate to the containers in the pod spec -->\n <alias>camel-app</alias>\n <build>\n <from>fabric8/java-centos-openjdk8-jre</from>\n <assembly>\n <inline>\n <baseDirectory>/deployments</baseDirectory>\n </inline>\n </assembly>\n <env>\n <JAVA_LIB_DIR>/deployments</JAVA_LIB_DIR>\n <JAVA_MAIN_CLASS>org.apache.camel.cdi.Main</JAVA_MAIN_CLASS>\n </env>\n </build>\n </image>\n </images>\n\n <resources> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n <labels> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n <all>\n <group>quickstarts</group>\n </all>\n </labels>\n\n <replicas>2</replicas> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n <controllerName>${project.artifactId}</controllerName> <i class=\"conum\" data-value=\"5\"></i><b>(5)</b>\n\n <services> <i class=\"conum\" data-value=\"6\"></i><b>(6)</b>\n <service>\n <name>camel-service</name>\n <headless>true</headless>\n </service>\n </services>\n\n <serviceAccounts>\n <serviceAccount>\n <name>build-robot</name>\n </serviceAccount>\n </serviceAccounts>\n </resources>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Standard docker-maven-plugin configuration for building one single Docker image</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>Kubernetes / OpenShift resources to create</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td>Labels which should be applied globally to all resource objects</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>Number of replicas desired</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"5\"></i><b>5</b></td>\n<td>Name of controller created by plugin</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"6\"></i><b>6</b></td>\n<td>One or more <a href=\"http://kubernetes.io/docs/user-guide/services/\">Service</a> definitions.</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>The XML resource configuration is based on plain Kubernetes resource objects. When targeting OpenShift, Kubernetes resource descriptors will be automatically converted to their OpenShift counterparts, e.g. a Kubernetes <a href=\"http://kubernetes.io/docs/user-guide/deployments/\">Deployment</a> will be converted to an OpenShift <a href=\"https://docs.openshift.org/latest/architecture/core_concepts/deployments.html#deployments-and-deployment-configurations\">DeploymentConfig</a>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_resource_fragments\">1.4.3. Resource Fragments</h4>\n<div class=\"paragraph\">\n<p>The third configuration option is to use an external configuration in form of YAML resource descriptors which are located in the <code>src/main/jkube</code> directory. Each resource gets its own file, which contains a skeleton of a resource descriptor. The plugin will pick up the resource, enrich it and then combine all to a single <code>kubernetes.yml</code> and <code>openshift.yml</code> file. Within these descriptor files you are can freely use any Kubernetes feature.</p>\n</div>\n<div class=\"paragraph\">\n<p>Note: In order to support simultaneously both OpenShift and Kubernetes, there is currently no way to specify OpenShift-only features this way, though this might change in future releases.</p>\n</div>\n<div class=\"paragraph\">\n<p>Let’s have a look at an example from\n<a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/external-resources\">quickstarts/maven/external-resources</a>.\nThis is a plain Spring Boot application, whose images are auto generated like in the <a href=\"#zero-config\">Zero-Config</a> case.\nThe resource fragments are in <code>src/main/jkube</code>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example fragment \"deployment.yml\"</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n replicas: 1\n template:\n spec:\n volumes:\n - name: config\n gitRepo:\n repository: 'https://github.com/jstrachan/sample-springboot-config.git'\n revision: 667ee4db6bc842b127825351e5c9bae5a4fb2147\n directory: .\n containers:\n - volumeMounts:\n - name: config\n mountPath: /app/config\n env:\n - name: KUBERNETES_NAMESPACE\n valueFrom:\n fieldRef:\n apiVersion: v1\n fieldPath: metadata.namespace\n serviceAccount: ribbon</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>As you can see, there is no <code>metadata</code> section as would be expected for Kubernetes resources because it will be automatically added by the <code>openshift-maven-plugin</code>. The object’s <code>Kind</code>, if not given, is automatically derived from the\nfilename. In this case, the <code>openshift-maven-plugin</code> will create a <code>Deployment</code> because the file is called <code>deployment.yml</code>. Similar mappings between file names and resource type exist for each supported resource kind, the\ncomplete list of which (along with associated abbreviations) can be found in the <a href=\"#appendix-kind-mapping\">Appendix</a>.</p>\n</div>\n<div class=\"admonitionblock note\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-note\" title=\"Note\"></i>\n</td>\n<td class=\"content\">\nNow that sidecar containers are supported in this plugin(if <code>jkube.sidecar</code> is enabled), be careful whenever you’re supplying container name in the resource fragment. If container specified in resource fragment doesn’t have a name or it’s name is equal to default fmp generated application’s container name; it would not be treated as sidecar and it would be merged into main container. However, You can override plugin’s default name for main container via <code>jkube.generator.alias</code> property.\n</td>\n</tr>\n</table>\n</div>\n<hr>\n<div class=\"paragraph\">\n<p>Additionally, if you name your fragment using a name prefix followed by a dash and the mapped file name, the plugin will automatically use that name for your resource. So, for example, if you name your deployment fragment\n<code>myapp-deployment.yml</code>, the plugin will name your resource <code>myapp</code>. In the absence of such provided name for your resource, a name will be automatically derived from your project’s metadata (in particular, its <code>artifactId</code> as specified in your POM).</p>\n</div>\n<div class=\"paragraph\">\n<p>No image is also referenced in this example because the plugin also fills in the image details based on the configured image you are building with (either from a generator or from a dedicated image plugin configuration, as seen before).</p>\n</div>\n<div class=\"admonitionblock note\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-note\" title=\"Note\"></i>\n</td>\n<td class=\"content\">\nFor building images there is also an alternative mode using external Dockerfiles, in addition to the XML based configuration. Refer to <a href=\"#build-overview\">oc:build</a> for details.\n</td>\n</tr>\n</table>\n</div>\n<hr>\n<div class=\"paragraph\">\n<p>Enrichment of resource fragments can be fine-tuned by using profile sub-directories. For more details see <a href=\"#profiles\">Profiles</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Now that we have seen some examples of the various ways how this plugin can be used, the following sections will describe the plugin goals and extension points in detail.</p>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"compatibility-with-OpenShift\">2. Compatibility with OpenShift</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"openshift-compatibility\">2.1. OpenShift Compatibility</h3>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 2. OpenShift Compatibility</caption>\n<colgroup>\n<col style=\"width: 25%;\">\n<col style=\"width: 25%;\">\n<col style=\"width: 25%;\">\n<col style=\"width: 25%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">OMP</th>\n<th class=\"tableblock halign-left valign-top\">OpenShift 4.4</th>\n<th class=\"tableblock halign-left valign-top\">OpenShift 4.2</th>\n<th class=\"tableblock halign-left valign-top\">OpenShift 3.11</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OMP 1.0.0-rc-1</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OMP 1.0.0-alpha-4</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OMP 1.0.0-alpha-3</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OMP 1.0.0-alpha-2</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OMP 1.0.0-alpha-1</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OMP 0.2.0</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OMP 0.1.1</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OMP 0.1.0</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"installation\">3. Installation</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This plugin is available from Maven central and can be connected to\npre- and post-integration phase as seen below. The configuration and\navailable goals are described below.</p>\n</div>\n<div class=\"paragraph\">\n<p>By default, Maven will only search for plugins in the <code>org.apache.maven.plugins</code> and <code>org.codehaus.mojo</code> packages. In order to resolve the provider for the JKube plugin goals, you need to edit <code>~/.m2/settings.xml</code> and add the <code>org.eclipse.jkube</code> namespace so the <code><pluginGroups></code> configuration.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><settings>\n ...\n\n <pluginGroups>\n <pluginGroup>org.eclipse.jkube</pluginGroup>\n </pluginGroups>\n\n ...\n</settings></code></pre>\n</div>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n\n <configuration>\n ....\n <images>\n <!-- A single's image configuration -->\n <image>\n ...\n <build>\n ....\n </build>\n </image>\n ....\n </images>\n </configuration>\n\n <!-- Connect oc:resource, oc:build and oc:helm to lifecycle phases -->\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n <goal>helm</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"goals\">4. Goals Overview</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This plugin supports a rich set for providing a smooth Java developer experience. These goals can be categorized in multiple groups:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"#goals-build\">Build goals</a> are all about creating and managing Kubernetes build artifacts like Docker images or S2I builds.</p>\n</li>\n<li>\n<p><a href=\"#goals-develop\">Development goals</a> target help not only in deploying resource descriptors to the development cluster but also to manage the lifecycle of the development cluster as well.</p>\n</li>\n</ul>\n</div>\n<table id=\"goals-build\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 3. Build Goals</caption>\n<colgroup>\n<col style=\"width: 25%;\">\n<col style=\"width: 75%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Goal</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:build\"><strong>oc:build</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Build images</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:push\"><strong>oc:push</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Push images to a registry</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:resource\"><strong>oc:resource</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Create Kubernetes or OpenShift resource descriptors</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:apply\"><strong>oc:apply</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Apply resources to a running cluster</p></td>\n</tr>\n</tbody>\n</table>\n<table id=\"goals-develop\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 4. Development Goals</caption>\n<colgroup>\n<col style=\"width: 25%;\">\n<col style=\"width: 75%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Goal</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:deploy\"><strong>oc:deploy</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Deploy resources descriptors to a cluster after creating them and building the app. Same as <a href=\"#jkube:run\">[jkube:run]</a> except that it runs in the background.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:undeploy\"><strong>oc:undeploy</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Undeploy and remove resources descriptors from a cluster.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:watch\"><strong>oc:watch</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Watch for file changes and perform rebuilds and redeployments</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:log\"><strong>oc:log</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Show the logs of the running application</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:debug\"><strong>oc:debug</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Enable remote debugging</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Depending on whether the OpenShift or Kubernetes operational mode is used, the workflow and the performed actions differs :</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 5. Workflows</caption>\n<colgroup>\n<col style=\"width: 11.1111%;\">\n<col style=\"width: 44.4444%;\">\n<col style=\"width: 44.4445%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Use Case</th>\n<th class=\"tableblock halign-left valign-top\">Kubernetes</th>\n<th class=\"tableblock halign-left valign-top\">OpenShift</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Build</p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p><code>oc:build</code> <code>oc:push</code></p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Creates an image against an exposed Docker daemon (with a <code>docker.tar</code>)</p>\n</li>\n<li>\n<p>Pushes the image to a registry which is then referenced from the configuration</p>\n</li>\n</ul>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p><code>oc:build</code></p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Creates or uses a <code>BuildConfig</code></p>\n</li>\n<li>\n<p>Creates or uses an <code>ImageStream</code> which can be referenced by the deployment descriptors in a <code>DeploymenConfig</code></p>\n</li>\n<li>\n<p>Starts an OpenShift build with a <code>docker.tar</code> as input</p>\n</li>\n</ul>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Deploy</p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p><code>oc:deploy</code></p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Applies a Kubernetes resource descriptor to cluster</p>\n</li>\n</ul>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p><code>oc:deploy</code></p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Applies an OpenShift resource descriptor to a cluster</p>\n</li>\n</ul>\n</div></div></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"goals-overview-build\">5. Build Goals</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"jkube:resource\">5.1. <strong>oc:resource</strong></h3>\n<div class=\"paragraph\">\n<p>This goal generates Kubernetes resources based on your project. It can either be opinionated defaults or\nbased on the configuration provided in XML config or resource fragments in <code>src/main/jkube</code>.\nGenerated resources are in <code>target/classes/META-INF/jkube/openshift</code> directory.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"resource-labels-annotations\">5.1.1. Labels and Annotations</h4>\n<div class=\"paragraph\">\n<p>Labels and annotations can be easily added to any resource object. This is best explained by an example.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for label and annotations</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <!-- ... -->\n <configuration>\n <!-- ... -->\n <resources>\n <labels> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <all> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <property> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n <name>organisation</name>\n <value>unesco</value>\n </property>\n </all>\n <service> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n <property>\n <name>database</name>\n <value>mysql</value>\n </property>\n <property>\n <name>persistent</name>\n <value>true</value>\n </property>\n </service>\n <replicaSet> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n <!-- ... -->\n </replicaSet>\n <pod> <i class=\"conum\" data-value=\"5\"></i><b>(5)</b>\n <!-- ... -->\n </pod>\n <deployment> <i class=\"conum\" data-value=\"6\"></i><b>(6)</b>\n <!-- ... -->\n </deployment>\n </labels>\n\n <annotations> <i class=\"conum\" data-value=\"7\"></i><b>(7)</b>\n <!-- ... -->\n </annotations>\n <remotes> <i class=\"conum\" data-value=\"8\"></i><b>(8)</b>\n <remote>https://gist.githubusercontent.com/lordofthejars/ac2823cec7831697d09444bbaa76cd50/raw/e4b43f1b6494766dfc635b5959af7730c1a58a93/deployment.yaml</remote>\n </remotes>\n </resource>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td><code><labels></code> section with <code><resources></code> contains labels which should be applied to objects of various kinds</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>Within <code><all></code> labels which should be applied to <strong>every</strong> object can be specified</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td><code><service></code> labels are used to label services</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td><code><replicaSet></code> labels are for replica set and replication controller</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"5\"></i><b>5</b></td>\n<td><code><pod></code> holds labels for pod specifications in replication controller, replica sets and deployments</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"6\"></i><b>6</b></td>\n<td><code><deployment></code> is for labels on deployments (kubernetes) and deployment configs (openshift)</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"7\"></i><b>7</b></td>\n<td>The subelements are also available for specifying annotations.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"8\"></i><b>8</b></td>\n<td><code><remotes></code> you can set location of fragments as <code>URL</code>.</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>Labels and annotations can be specified in free form as a map. In this map, the element name is the name of the label or annotation respectively, whereas the content is the value to set.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following subelements are possible for <code><labels></code> and <code><annotations></code> :</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 6. Label and annotation configuration</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>all</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">All entries specified in the <code><all></code> sections are applied to all resource objects created.\n This also implies build object like image stream and build configs which are created implicitly for an <a href=\"#build-openshift\">Kubernetes build</a>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>deployment</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels and annotations applied to <code>Deployment</code> (for Kubernetes).\n And <code>DeploymentConfig</code> (for OpenShift) objects.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pod</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels and annotations applied pod specification as used in <code>ReplicationController</code>, <code>ReplicaSets</code>, <code>Deployments</code> and <code>DeploymentConfigs</code> objects.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>replicaSet</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels and annotations applied to <code>ReplicaSet</code> and <code>ReplicationController</code> objects.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>service</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels and annotations applied to <code>Service</code> objects.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"resource-secrets\">5.1.2. Secrets</h4>\n<div class=\"paragraph\">\n<p>Once you’ve configured some docker registry credentials into <code>~/.m2/setting.xml</code>, as explained in the\n<a href=\"#authentication\">Authentication</a> section, you can create Kubernetes secrets from a server declaration.</p>\n</div>\n<div class=\"paragraph\">\n<p><strong>XML configuration</strong></p>\n</div>\n<div class=\"paragraph\">\n<p>You can create a secret using xml configuration in the <code>pom.xml</code> file. It should contain the following fields:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">key</th>\n<th class=\"tableblock halign-left valign-top\">required</th>\n<th class=\"tableblock halign-left valign-top\">description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>dockerServerId</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>true</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">the server id which is configured in\n<code>~/.m2/setting.xml</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>true</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">this will be used as name of the kubernetes secret resource</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>namespace</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>false</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">the secret resource will be applied to the specific\nnamespace, if provided</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>This is best explained by an example.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for XML configuration</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <jkube.docker.registry>docker.io</docker.registry>\n</properties></code></pre>\n</div>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <resources>\n <secrets>\n <secret>\n <dockerServerId>${docker.registry}</dockerServerId>\n <name>mydockerkey</name>\n </secret>\n </secrets>\n </resources>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p><strong>Yaml fragment with annotation</strong></p>\n</div>\n<div class=\"paragraph\">\n<p>You can create a secret using a yaml fragment. You can reference the docker server id with an annotation\n<code>maven.jkube.io/dockerServerId</code>. The yaml fragment file should be put under\nthe <code>src/main/jkube/</code> folder.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">apiVersion: v1\nkind: Secret\nmetadata:\n name: mydockerkey\n namespace: default\n annotations:\n maven.jkube.io/dockerServerId: ${docker.registry}\ntype: kubernetes.io/dockercfg</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"resource-validation\">5.1.3. Resource Validation</h4>\n<div class=\"paragraph\">\n<p>Resource goal also validates the generated resource descriptors using API specification of <a href=\"https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json\">Kubernetes</a>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 7. Validation Configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipResourceValidation</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If value is set to <code>true</code> then resource validation is skipped. This may be useful if resource validation is failing\n for some reason but you still want to continue the deployment.</p>\n<p class=\"tableblock\"> Default is <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skipResourceValidation</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>failOnValidationError</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If value is set to <code>true</code> then any validation error will block the plugin execution. A warning will be printed\n otherwise.</p>\n<p class=\"tableblock\"> Default is <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.failOnValidationError</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"resource-route-generation\">5.1.4. Route Generation</h4>\n<div class=\"paragraph\">\n<p>When the <code>oc:resource</code> goal is run, an Kubernetes\n<a href=\"https://docs.openshift.org/latest/architecture/networking/routes.html\">Route</a> descriptor (<code>route.yml</code>) will also be\ngenerated along the service if an Kubernetes cluster is targeted.\nIf you do not want to generate a Route descriptor, you can set the <code>jkube.openshift.generateRoute</code> property to <code>false</code>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 8. Route Generation Configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>generateRoute</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If value is set to <code>false</code> then no Route descriptor will be generated.\n By default it is set to <code>true</code>, which will create a <code>route.yml</code> descriptor and also add Route resource to <code>openshift.yml</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.openshift.generateRoute</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-openshift-route.generateRoute</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>If you do not want to generate a Route descriptor, you can also specify so in the plugin configuration in your POM as seen below.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for not generating route resource by configuring it in <code>pom.xml</code></div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <configuration>\n <enricher>\n <config>\n <jkube-openshift-route>\n <generateRoute>false</generateRoute>\n </jkube-openshift-route>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If you are using resource fragments, then also you can configure it in your Service resource fragment (e.g. <code>service.yml</code>).\nYou need to add an <code>expose</code> label to the <code>metadata</code> section of your service and set it to <code>false</code>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for not generating route resource by configuring it in resource fragments</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">metadata:\n annotations:\n api.service.kubernetes.io/path: /hello\n labels:\n expose: \"false\"\nspec:\n type: LoadBalancer</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Resource\">5.1.5. Supported Properties for Resource goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 9. Options available with resource goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>enableAutomaticTrigger</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If the value is set to <code>false</code> then automatic deployments would be disabled.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.openshift.enableAutomaticTrigger</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>deployTimeoutSeconds</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The OpenShift deploy timeout in seconds.</p>\n<p class=\"tableblock\"> Defaults to <code>3600</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.openshift.deployTimeoutSeconds</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>imageChangeTrigger</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add ImageChange triggers to DeploymentConfigs when on openshift.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.openshift.imageChangeTrigger</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>trimImageInContainerSpec</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to true it would set the container image reference to \"\", this is done to handle weird behavior of OpenShift\n 3.7 in which subsequent rollouts lead to ImagePullErr.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.openshift.trimImageInContainerSpec</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>enrichAllWithImageChangeTrigger</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Adds ImageChangeTriggers with respect to all containers specified inside DeploymentConfig.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.openshift.enrichAllWithImageChangeTrigger</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>profile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Profile to use. A profile contains the enrichers and generators to use as well as their configuration. Profiles are\n looked up in the classpath and can be provided as yaml files.</p>\n<p class=\"tableblock\"> Defaults to <code>default</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.profile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>sidecar</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Whether to enable sidecar behavior or not. By default pod specs are merged into main application container.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.sidecar</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipHealthCheck</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Whether to skip health checks addition in generated resources or not.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skipHealthCheck</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>workDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The JKube working directory. Defaults to <code>${project.build.directory}/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.workDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>environment</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Environment name where resources are placed. For example, if you set this property to dev and resourceDir is the\n default one, plugin will look at <code>src/main/jkube/dev</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>null</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.environment</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>useProjectClassPath</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we use the project’s compile time classpath to scan for additional enrichers/generators.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.useProjectClassPath</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>resourceDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Folder where to find project specific files.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/src/main/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.resourceDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>targetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The generated Kubernetes manifests target direcotry.</p>\n<p class=\"tableblock\"> Defaults to <code>${project.build.outputDirectory}/META-INF/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.targetDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>resourceType</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The artifact type for attaching the generated resource file to the project. Can be either 'json' or 'yaml'.</p>\n<p class=\"tableblock\"> Defaults to <code>yaml</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.resourceType</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>mergeWithDekorate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">When resource generation is delegated to Dekorate, should JKube resources be merged with Dekorate generated ones.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.mergeWithDekorate</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipResource</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Skip resource generation.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.resource</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>createExternalUrls</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we create external Ingress for any LoadBalancer Services which don’t already have them.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.createExternalUrls</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>domain</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Domain added to the Service ID when creating Kubernetes Ingresses or OpenShift routes.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.domain</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:build\">5.2. <strong>oc:build</strong></h3>\n<div class=\"paragraph\">\n<p>This goal is for building Docker images.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-kubernetes\">5.2.1. Kubernetes Build</h4>\n<div class=\"paragraph\">\n<p>If the mode is set to <code>kubernetes</code> then a normal Docker build is performed by default. The connection configuration to\naccess the Docker daemon is described in <a href=\"#access-configuration\">Access Configuration</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>In order to make the generated images available to the Kubernetes cluster the generated images need to be pushed to a\nregistry with the goal <a href=\"#jkube:push\"><strong>oc:push</strong></a>. This is not necessary for single node clusters, though as there is no need to\ndistribute images.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-openshift\">5.2.2. OpenShift Build</h4>\n<div class=\"paragraph\">\n<p>For the <code>openshift</code> mode, OpenShift specific\n<a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/builds_and_image_streams.html\">builds</a> will be\nperformed. These are so called\n<a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/builds_and_image_streams.html\">Binary Source</a>\nbuilds (\"binary builds\" in short), where the data specified with the <a href=\"#build-configuration\">build configuration</a> is\nsent directly to OpenShift as a binary archive.</p>\n</div>\n<div class=\"paragraph\">\n<p>There are two kind of binary builds supported by this plugin, which can be selected with the <code>buildStrategy</code> configuration option (<code>jkube.build.strategy</code> property)</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 10. Build Strategies</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"><code>buildStrategy</code></th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The <a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/builds_and_image_streams.html#source-build\">Source-to-Image</a> (S2I) build strategy uses so called builder images for creating new application images from binary build data. The builder image to use is taken from the base image configuration specified with <a href=\"#build-config-from\">from</a> in the image build configuration. See below for a list of builder images which can be used with this plugin.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>docker</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A <a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/builds_and_image_streams.html#docker-build\">Docker Build</a> is similar to a normal Docker build except that it is done by the OpenShift cluster and not by a Docker daemon. In addition this build pushes the generated image to the OpenShift internal registry so that it is accessbile in the whole cluster.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Both build strategies update an\n<a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/builds_and_image_streams.html#image-streams\">Image Stream</a>\nafter the image creation.</p>\n</div>\n<div class=\"paragraph\">\n<p>The <a href=\"https://docs.openshift.com/enterprise/latest/dev_guide/builds.html#defining-a-buildconfig\">Build Config</a> and\n<a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/builds_and_image_streams.html#image-streams\">Image streams</a>\ncan be managed by this plugin. If they do not exist, they will be automatically created by <code>oc:build</code>.\nIf they do already exist, they are reused, except when the <code>buildRecreate</code> configuration option\n(property <code>jkube.build.recreate</code>) is set to a value as described in <a href=\"#build-goal-configuration\">Configuration</a>.\nAlso if the provided build strategy is different than the one defined in the existing build configuration, the Build\nConfig is edited to reflect the new type (which in turn removes all build associated with the previous build).</p>\n</div>\n<div class=\"paragraph\">\n<p>This image stream created can then be directly referenced from\n<a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/deployments.html#deployments-and-deployment-configurations\">Deployment Configuration</a>\nobjects created by <a href=\"#jkube:resource\"><strong>oc:resource</strong></a>.\nBy default, image streams are created with a local lookup policy, so that they can be used also by other resources such\nas Deployments or StatefulSets.\nThis behavior can be turned off by setting the <code>jkube.s2i.imageStreamLookupPolicyLocal</code> property to <code>false</code> when building\nthe project.</p>\n</div>\n<div class=\"paragraph\">\n<p>In order to be able to create these OpenShift resource objects access to an OpenShift installation is required.\nThe access parameters are described in <a href=\"#access-configuration\">Access Configuration</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Regardless of which build mode is used, the images are configured in the same way.</p>\n</div>\n<div class=\"paragraph\">\n<p>The configuration consists of two parts:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>a global section which defines the overall behaviour of this plugin</p>\n</li>\n<li>\n<p>and an <code><images></code> section which defines how the images should be build</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Many of the options below are relevant for the <a href=\"#build-kubernetes\">Kubernetes Workflow</a> or the <a href=\"#build-openshift\">OpenShift Workflow</a> with Docker builds as they influence how the Docker image is build.</p>\n</div>\n<div class=\"paragraph\">\n<p>For an S2I binary build, on the other hand, the most relevant section is the <a href=\"#build-assembly\">Assembly</a> one because the build depends on which buider/base image is used and how it interprets the content of the uploaded <code>docker.tar</code>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-goal-configuration\">5.2.3. Configuration (XML)</h4>\n<div class=\"paragraph\">\n<p>The following sections describe the usual configuration, which is similar to the build configuration used in the\n <a href=\"https://dmp.fabric8.io\">docker-maven-plugin</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>In addition a more automatic way for creating predefined build configuration can be performed with so called <a href=\"#generators\">Generators</a>. Generators are very flexible and can be easily created. These are described in an extra <a href=\"#generators\">section</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Global configuration parameters specify overall behavior common for all images to build. Some of the configuration options are shared with other goals.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 11. Global configuration</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4285%;\">\n<col style=\"width: 14.2858%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>buildStrategy</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Defines what build strategy to choose while building container image.\nPossible values are <code>docker</code> and <code>jib</code> out of which <code>docker</code> is default.</p>\n</div>\n<div class=\"paragraph\">\n<p>If the effective <a href=\"#build-mode\">mode</a> is <code>openshift</code> an additional <code>s2i</code> option is available\nand selected by default.</p>\n</div>\n<div class=\"paragraph\">\n<p>Available strategies for OpenShift are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>s2i</code> for a <a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/builds_and_image_streams.html#source-build\">Source-to-Image build</a> with a binary source</p>\n</li>\n<li>\n<p><code>docker</code> for a <a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/builds_and_image_streams.html#docker-build\">Docker build</a> with a binary source</p>\n</li>\n</ul>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.strategy</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>apiVersion</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Use this variable if you are using an older version of docker not compatible with the current default use to\n communicate with the server.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.apiVersion</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>authConfig</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Authentication information when pulling from or pushing to Docker registry. There is a dedicated section\n <a href=\"#authentication\">Authentication</a> for how to do security.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>autoPull</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Decide how to pull missing base images or images to start:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>on</code> : Automatic download any missing images (default)</p>\n</li>\n<li>\n<p><code>off</code> : Automatic pulling is switched off</p>\n</li>\n<li>\n<p><code>always</code> : Pull images always even when they already exist locally</p>\n</li>\n<li>\n<p><code>once</code> : For multi-module builds images are only checked once and pulled for the whole build.</p>\n</li>\n</ul>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.autoPull</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>buildRecreate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>If the effective <a href=\"#build-mode\">mode</a> is <code>openshift</code> then this option decides how the OpenShift resource objects\n associated with the build should be treated when they already exist:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>buildConfig</code> or <code>bc</code> : Only the BuildConfig is recreated</p>\n</li>\n<li>\n<p><code>imageStream</code> or <code>is</code> : Only the ImageStream is recreated</p>\n</li>\n<li>\n<p><code>all</code> : Both, BuildConfig and ImageStream are recreated</p>\n</li>\n<li>\n<p><code>none</code> : Neither BuildConfig nor ImageStream is recreated</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The default is <code>none</code>. If you provide the property without value then <code>all</code> is assumed, so everything gets recreated.</p>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.recreate</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>forcePull</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Applicable only for OpenShift, S2I build strategy.</p>\n<p class=\"tableblock\">While creating a BuildConfig, By default, if the builder image specified in the\nbuild configuration is available locally on the node, that image will be used.</p>\n<p class=\"tableblock\">Using forcePull will override the local image and refresh it from the registry the image stream points to.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.forcePull</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>imagePullPolicy</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specific pull policy for the base image. This overwrites any global pull policy.\nSee the global configuration option <a href=\"#image-pull-policy\">imagePullPolicy</a> for the possible values and the default.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.imagePullPolicy</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>certPath</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to SSL certificate when SSL is used for communicating with the Docker daemon. These certificates are normally\n stored in <code>~/.docker/</code>. With this configuration the path can be set explicitly. If not set, the fallback is first\n taken from the environment variable <code>DOCKER_CERT_PATH</code> and then as last resort <code>~/.docker/</code>. The keys in this are\n expected with it standard names <code>ca.pem</code>, <code>cert.pem</code> and <code>key.pem</code>.\n Please refer to the <a href=\"https://docs.docker.com/articles/https\">Docker documentation</a> for more information about SSL\n security with Docker.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.certPath</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>dockerHost</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>The URL of the Docker Daemon. If this configuration option is not given, then the optional <code><machine></code> configuration\nsection is consulted. The scheme of the URL can be either given directly as <code>http</code> or <code>https</code>\ndepending on whether plain HTTP communication is enabled or SSL should\nbe used. Alternatively the scheme could be <code>tcp</code> in which case the\nprotocol is determined via the IANA assigned port: 2375 for <code>http</code>\nand 2376 for <code>https</code>. Finally, Unix sockets are supported by using\nthe scheme <code>unix</code> together with the filesystem path to the unix socket.</p>\n</div>\n<div class=\"paragraph\">\n<p>The discovery sequence used by the docker-maven-plugin to determine\nthe URL is:</p>\n</div>\n<div class=\"olist arabic\">\n<ol class=\"arabic\">\n<li>\n<p>Value of <strong>dockerHost</strong> (<code>jkube.docker.host</code>)</p>\n</li>\n<li>\n<p>The Docker host associated with the docker-machine named in <code><machine></code>, i.e. the <code>DOCKER_HOST</code> from <code>docker-machine env</code>. See <a href=\"#docker-machine\">below</a> for more information about Docker machine support.</p>\n</li>\n<li>\n<p>The value of the environment variable <code>DOCKER_HOST</code>.</p>\n</li>\n<li>\n<p><code>unix:///var/run/docker.sock</code> if it is a readable socket.</p>\n</li>\n</ol>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.host</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>filter</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">In order to temporarily restrict the operation of plugin goals this configuration option can be used.\n Typically this will be set via the system property <code>jkube.image.filter</code> when Maven is called. The value can be a single\n image name (either its alias or full name) or it can be a comma separated list with multiple image names. Any name\n which doesn’t refer an image in the configuration will be ignored.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.image.filter</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>machine</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Docker machine configuration. See <a href=\"#docker-machine\">Docker Machine</a> for possible values.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>maxConnections</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of parallel connections are allowed to be opened to the Docker Host. For parsing log output, a connection needs\n to be kept open (as well for the wait features), so don’t put that number to low. Default is 100 which should be\n suitable for most of the cases.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.maxConnections</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>access</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Group of configuration parameters to connect to Kubernetes/OpenShift cluster.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>outputDirectory</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default output directory to be used by this plugin.\n The default value is <code>target/docker</code> and is only used for the goal <code>oc:build</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.target.dir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>portPropertyFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Global property file into which the mapped properties should be written to. The format of this file and its purpose\n are also described in <a href=\"#start-port-mapping\">Port Mapping</a>.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>profile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Profile to which contains enricher and generators configuration. See <a href=\"#profiles\">Profiles</a> for details.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.profile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pullSecret</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name to use for naming pullSecret to be created to pull the base image in case pulling from a private registry\n which requires authentication for OpenShift.</p>\n<p class=\"tableblock\"> The default value for pull registry will be picked from <code>jkube.docker.pull.registry</code>/<code>jkube.docker.registry</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.pullSecret</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>registry</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specify globally a registry to use for pulling and pushing images. See <a href=\"#registry\">Registry handling</a> for details.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.registry</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>resourceDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory where jkube.resources are stored. This is also the directory where a custom profile is looked up. Default\n is <code>src/main/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.resourceDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>environment</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Environment name where resources are placed. For example, if you set this property to dev and resourceDir is the\n default one, JKube will look at src/main/jkube/dev. If not set then root <code>resourceDir</code> directory is used.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.environment</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skip</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">With this parameter the execution of this plugin can be skipped completely.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipBuild</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set not images will be build (which implies also <em>skip.tag</em>) with <code>oc:build</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.build</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipBuildPom</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set the build step will be skipped for modules of type <code>pom</code>. If not set, then by default projects of type <code>pom</code>\n will be skipped if there are no image configurations contained.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.build.pom</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipTag</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to <code>true</code> this plugin won’t add any tags to images that have been built with <code>oc:build</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.tag</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipMachine</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Skip using docker machine in any case</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.skip.machine</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>sourceDirectory</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default directory that contains the assembly descriptor(s) used by the plugin. The default value is <code>src/main/docker</code>.\n This option is only relevant for the <code>oc:build</code> goal.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.source.dir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>verbose</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Boolean attribute for switching on verbose output like the build steps when doing a Docker build. Default is <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.verbose</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logDate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The date format to use when logging messages from Docker. Default is <code>DEFAULT</code> (<code>HH:mm:ss.SSS</code>)</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.logDate</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logStdout</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Log to stdout regardless if log files are configured or not. Default is <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.logStdout</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_kubernetes_access_configuration\">5.2.4. Kubernetes Access Configuration</h4>\n<div class=\"paragraph\">\n<p>You can configure parameters to define how plugin is going to connect to Kubernetes cluster instead of relying on default parameters.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <access>\n <username></username>\n <password></password>\n <masterUrl></masterUrl>\n <apiVersion></apiVersion>\n </access>\n</configuration></code></pre>\n</div>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4285%;\">\n<col style=\"width: 14.2858%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>username</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Username on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.username</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>password</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Password on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.password</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>namespace</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Namespace on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.namespace</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>masterUrl</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Master URL on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.masterUrl</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>apiVersion</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Api version on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.apiVersion</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>caCertFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">CaCert File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.caCertFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>caCertData</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">CaCert Data on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.caCertData</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientCertFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Cert File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientCertFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientCertData</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Cert Data on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientCertData</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientKeyFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Key File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientKeyFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientKeyData</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Key Data on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientKeyData</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientKeyAlgo</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Key Algorithm on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientKeyAlgo</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientKeyPassphrase</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Key Passphrase on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientKeyPassphrase</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>trustStoreFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Trust Store File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.trustStoreFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>trustStorePassphrase</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Trust Store Passphrase on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.trustStorePassphrase</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keyStoreFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Key Store File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.keyStoreFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keyStorePassphrase</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Key Store Passphrase on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.keyStorePassphrase</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_image_configuration\">5.2.5. Image Configuration</h4>\n<div class=\"paragraph\">\n<p>The configuration how images should be created a defined in a dedicated <code><images></code> sections. These are specified for\neach image within the <code><images></code> element of the configuration with one <code><image></code> element per image to use.</p>\n</div>\n<div class=\"paragraph\">\n<p>The <code><image></code> element can contain the following sub elements:</p>\n</div>\n<table id=\"config-image\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 12. Image Configuration</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Each <code><image></code> configuration has a mandatory, unique docker\nrepository <em>name</em>. This can include registry and tag parts, but also placeholder parameters. See below for a detailed explanation.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>alias</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Shortcut name for an image which can be used for\nidentifying the image within this configuration. This is used when\nlinking images together or for specifying it with the global <strong>image</strong> configuration element.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#registry\"><strong>registry</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Registry to use for this image. If the <code>name</code> already contains a registry this takes precedence. See <a href=\"#registry\">Registry handling</a> for more details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#config-image-build\"><strong>build</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Element which contains all the configuration aspects when doing a <a href=\"#jkube:build\"><strong>oc:build</strong></a>. This element can be omitted if the image is only pulled from a registry e.g. as support for integration tests like database images.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>The <code><build></code> section is mandatory and is explained in <a href=\"#build-configuration\">below</a>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for <image></div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n ....\n <images>\n <image> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <name>%g/docker-demo:0.1</name> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n <alias>service</alias> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n <build>....</build> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n </image>\n <image>\n ....\n </image>\n </images>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>One or more <code><image>`</code> definitions</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>The Docker image name used when creating the image.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td>An alias which can be used in other parts of the plugin to reference to this image. This alias must be unique.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>A <code><build></code> section as described in <a href=\"#buid-configuration\">Build Configuration</a></td>\n</tr>\n</table>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-configuration\">5.2.6. Build Configuration</h4>\n<div id=\"build-overview\" class=\"paragraph\">\n<p>There are two different modes how images can be built:</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Inline plugin configuration</div>\n<p>With an inline plugin configuration all information required to build the image is contained in the plugin configuration. By default its the standard XML based configuration for the plugin but can be switched to a property based configuration syntax as described in the section <a href=\"#external-configuration\">External configuration</a>. The XML configuration syntax is recommended because of its more structured and typed nature.</p>\n</div>\n<div class=\"paragraph\">\n<p>When using this mode, the Dockerfile is created on the fly with all instructions extracted from the configuration given.</p>\n</div>\n<div id=\"external-dockerfile\" class=\"paragraph\">\n<div class=\"title\">External Dockerfile or Docker archive</div>\n<p>Alternatively an external Dockerfile template or Docker archive can be used. This mode is switched on by using one of these three configuration options within</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><strong>contextDir</strong> specifies docker build context if an external dockerfile is located outside of Docker build context. If not specified, Dockerfile’s parent directory is used as build context.</p>\n</li>\n<li>\n<p><strong>dockerFile</strong> specifies a specific Dockerfile path. The Docker build context directory is set to <code>contextDir</code> if given. If not the directory by default is the directory in which the Dockerfile is stored.</p>\n</li>\n<li>\n<p><strong>dockerArchive</strong> specifies a previously saved image archive to load directly. If a <code>dockerArchive</code> is provided, no <code>dockerFile</code> must be given.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>All paths can be either absolute or relative paths. A relative path is looked up in <code>${project.basedir}/src/main/docker</code> by default. You can make it easily an absolute path by using <code>${project.basedir}</code> in your configuration.</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Adding assemblies in Dockerfile mode</div>\n<p>You can also use an assembly if specified in an <a href=\"#build-assembly\">assembly configuration</a>.\nHowever, you need to add the files on your own in the Dockerfile with an <code>ADD</code> or <code>COPY</code> command.\nThe files of the assembly are stored in a build context relative directory <code>maven/</code> but can be changed by changing the assembly name with the option <code><name></code> in the assembly configuration.</p>\n</div>\n<div class=\"paragraph\">\n<p>E.g. the files can be added with</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-dockerfile\" data-lang=\"dockerfile\">COPY maven/ /my/target/directory</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>so that the assembly files will end up in <code>/my/target/directory</code> within the container.</p>\n</div>\n<div class=\"paragraph\">\n<p>If this directory contains a <code>.maven-dockerignore</code> (or alternatively, a <code>.maven-dockerexclude</code> file), then it is used for excluding files for the build. Each line in this file is treated as a <a href=\"http://ant.apache.org/manual/Types/fileset.html\">FileSet exclude pattern</a> as used by the <a href=\"http://maven.apache.org/plugins/maven-assembly-plugin\">maven-assembly-plugin</a>. It is similar to <code>.dockerignore</code> when using Docker but has a slightly different syntax (hence the different name).\n<a href=\"#ex-build-dockerexclude\">Example <code>.maven-dockerexclude</code> or <code>.maven-dockerignore</code></a> is an example which excludes all compiled Java classes.</p>\n</div>\n<div id=\"ex-build-dockerexclude\" class=\"exampleblock\">\n<div class=\"title\">Example 1. Example <code>.maven-dockerexclude</code> or <code>.maven-dockerignore</code></div>\n<div class=\"content\">\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>target/classes/** <i class=\"conum\" data-value=\"1\"></i><b>(1)</b></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Exclude all compiled classes</td>\n</tr>\n</table>\n</div>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If this directory contains a <code>.maven-dockerinclude</code> file, then it is used for including only those files for the build. Each line in this file is also treated as a <a href=\"http://ant.apache.org/manual/Types/fileset.html\">FileSet exclude pattern</a> as used by the <a href=\"http://maven.apache.org/plugins/maven-assembly-plugin\">maven-assembly-plugin</a>. <a href=\"#ex-build-dockerinclude\">Example <code>.maven-dockerinclude</code></a> shows how to include only jar file that have build to the Docker build context.</p>\n</div>\n<div id=\"ex-build-dockerinclude\" class=\"exampleblock\">\n<div class=\"title\">Example 2. Example <code>.maven-dockerinclude</code></div>\n<div class=\"content\">\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>target/*.jar <i class=\"conum\" data-value=\"1\"></i><b>(1)</b></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Only add jar file to you Docker build context.</td>\n</tr>\n</table>\n</div>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Except for the <a href=\"#build-assembly\">assembly configuration</a> all other configuration options are ignored for now.</p>\n</div>\n<div id=\"simple-dockerfile-build\" class=\"paragraph\">\n<div class=\"title\">Simple Dockerfile build</div>\n<p>When only a single image should be built with a Dockerfile no XML configuration is needed at all.\nAll what need to be done is to place a <code>Dockerfile</code> into the top-level module directory, alongside to <code>pom.xml</code>.\nYou can still configure <a href=\"#global-configuration\">global aspects</a> in the plugin configuration, but as soon as you add an <code><image></code> in the XML configuration, you need to configure also the build explicitly.</p>\n</div>\n<div class=\"paragraph\">\n<p>The image name is by default set from the Maven coordinates (<code>%g/%a:%l</code>, see <a href=\"#image-name\">Image Name </a> for an explanation of the params which are essentially the Maven GAV)\nThis name can be set with the property <code>jkube.image.name</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>If you want to add some <code><run></code> configuration to this image for starting it with <code>openshift-maven-plugin:run</code> then you can add an image configuration but without a <code><build></code> section in which case the Dockerfile will be picked up, too. This works only for a single image, though.</p>\n</div>\n<div id=\"build-filtering\" class=\"paragraph\">\n<div class=\"title\">Filtering</div>\n<p>openshift-maven-plugin filters given Dockerfile with Maven properties, much like the <code>maven-resource-plugin</code> does. Filtering is enabled by default and can be switched off with a build config <code><filter>false</filter></code>. Properties which we want to replace are specified with the <code>${..}</code> syntax.\nReplacement includes Maven project properties such as <code>${project.artifactId}</code>, properties set in the build, command-line properties, and system properties. Unresolved properties remain untouched.</p>\n</div>\n<div class=\"paragraph\">\n<p>This partial replacement means that you can easily mix it with Docker build arguments and environment variable reference, but you need to be careful.\nIf you want to be more explicit about the property delimiter to clearly separate Docker properties and Maven properties you can redefine the delimiter.\nIn general, the <code>filter</code> option can be specified the same way as delimiters in the resource plugin.\nIn particular, if this configuration contains a * then the parts left, and right of the asterisks are used as delimiters.</p>\n</div>\n<div class=\"paragraph\">\n<p>For example, the default <code><filter>${*}</filter></code> parse Maven properties in the format that we know.\nIf you specify a single character for <code><filter></code> then this delimiter is taken for both, the start and the end.\nE.g a <code><filter>@</filter></code> triggers on parameters in the format <code>@…​@</code>, much like in the <code>maven-invoker-plugin</code>.\nUse something like this if you want to clearly separate from Docker builds args.\nThis form of property replacement works for Dockerfile only.\nFor replacing other data in other files targeted for the Docker image, please use the <code>maven-resource-plugin</code> or an <a href=\"#build-assembly\">assembly configuration</a> with filtering to make them available in the docker build context.</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Example</div>\n<p>The following example replaces all properties in the format <code>@property@</code> within the Dockerfile.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <configuration>\n <images>\n <image>\n <name>user/demo</name>\n <build>\n <filter>@</filter>\n </build>\n </image>\n </images>\n </configuration>\n ...\n</plugin></code></pre>\n</div>\n</div>\n<div id=\"build-plugin\" class=\"paragraph\">\n<div class=\"title\">Build Plugins</div>\n<p>This plugin supports so call <strong>dmp-plugins</strong> which are used during the build phase.\ndmp-plugins are enabled by just declaring a dependency in the plugin declaration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n\n <dependencies>\n <dependency>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>run-java-sh</artifactId>\n <version>1.2.2</version>\n </dependency>\n </dependencies>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>org.eclipse.jkube.runsh.RunShLoader</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>During a build with <code>openshift-maven-plugin:build</code>, those classes are loaded and certain fixed method are called.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following methods are supported:</p>\n</div>\n<table id=\"build-plugin-methods\" class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Method</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>addExtraFiles</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A <em>static</em> method called by dmp with a single <code>File</code> argument. This will point to a directory <code>docker-extra</code> which can be referenced easily by a Dockerfile or an assembly. A dmp plugin typically will create an own subdirectory to avoid a clash with other dmp-plugins.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>If a configured plugin does not provide method of this name and signature, then it will be simply ignored.\nAlso, no interface needs to be implemented to keep the coupling low.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following official dmp-plugins are known and supported:</p>\n</div>\n<table id=\"build-plugins-official\" class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4286%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Name</th>\n<th class=\"tableblock halign-left valign-top\">G,A</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"https://github.com/fabric8io-images/run-java-sh\">run-java.sh</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.io</code>, <code>run-java</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">General purpose startup script fo running Java applications. The dmp plugin creates a\n <code>target/docker-extra/run-java/run-java.sh</code> which can be included in a Dockerfile (see the example above).\n See the <a href=\"https://github.com/fabric8io-images/run-java-sh\">run-java.sh Documentation</a> for more details.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Check out <code>samples/run-java</code> for a fully working example.</p>\n</div>\n<div class=\"paragraph\">\n<p>All build relevant configuration is contained in the <code><build></code> section\nof an image configuration. The following configuration options are supported:</p>\n</div>\n<table id=\"config-image-build\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 13. Build configuration (<a href=\"#config-image\"><image> </a>)</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#config-image-build-assembly\"><strong>assembly</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specifies the assembly configuration as described in <a href=\"#build-assembly\">Build Assembly</a></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#build-buildargs\"><strong>args</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Map specifying the value of <a href=\"https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables-build-arg\">Docker build args</a>\nwhich should be used when building the image with an external Dockerfile which uses build arguments. The key-value syntax is the same as when defining Maven properties (or <code>labels</code> or <code>env</code>).\nThis argument is ignored when no external Dockerfile is used. Build args can also be specified as properties as\ndescribed in <a href=\"#build-buildargs\">Build Args</a></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>buildOptions</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Map specifying the build options to provide to the docker daemon when building the image. These options map to the ones listed as query parameters in the\n<a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#build-image-from-a-dockerfile\">Docker Remote API</a> and are restricted to simple options\n(e.g.: memory, shmsize). If you use the respective configuration options for build options natively supported by the build configuration (i.e. <code>noCache</code>, <code>cleanup=remove</code> for buildoption <code>forcerm=1</code> and <code>args</code> for build args) then these will override any corresponding options given here. The key-value syntax is the same as when defining environment variables or labels as described in <a href=\"#misc-env\">Setting Environment Variables and Labels</a>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>cleanup</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Cleanup dangling (untagged) images after each build (including any containers created from them). Default is <code>try</code> which tries to remove the old image, but doesn’t fail the build if this is not possible because e.g. the image is still used by a running container. Use <code>remove</code> if you want to fail the build and <code>none</code> if no cleanup is requested.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a id=\"context-dir\"></a><strong>contextDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to a directory used for the build’s context. You can specify the <code>Dockerfile</code> to use with <strong>dockerFile</strong>, which by default is the Dockerfile found in the <code>contextDir</code>. The Dockerfile can be also located outside of the <code>contextDir</code>, if provided with an absolute file path. See <a href=\"#external-dockerfile\">External Dockerfile</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#misc-startup\"><strong>cmd</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A command to execute by default (i.e. if no command is provided when a container for this image is started). See <a href=\"#misc-startup\">Startup Arguments</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>compression</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The compression mode how the build archive is transmitted to the docker daemon (<code>oc:build</code>) and how docker build archives are attached to this build as sources (<code>oc:source</code>). The value can be <code>none</code> (default), <code>gzip</code> or <code>bzip2</code>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>dockerFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to a <code>Dockerfile</code> which also triggers <em>Dockerfile mode</em>. See <a href=\"#external-dockerfile\">External Dockerfile</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>dockerArchive</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to a saved image archive which is then imported. See <a href=\"#external-dockerfile\">Docker archive</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#misc-startup\"><strong>entryPoint</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">An entrypoint allows you to configure a container that will run as an executable. See <a href=\"#misc-startup\">Startup Arguments</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#misc-env\"><strong>env</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The environments as described in <a href=\"#misc-env\">Setting Environment Variables and Labels</a>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>filter</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Enable and set the delimiters for property replacements. By default properties in the format <code>${..}</code> are replaced with Maven properties. You can switch off property replacement by setting this property to <code>false</code>. When using a single char like <code>@</code> then this is used as a delimiter (e.g <code>@…​@</code>). See <a href=\"#build-filtering\">Filtering</a> for more details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a id=\"build-config-from\"></a><strong>from</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The base image which should be used for this image. If not given this default to <code>busybox:latest</code> and is suitable for a pure data image.\nIn case of an <a href=\"#build-openshift\">S2I Binary build</a> this parameter specifies the S2I Builder Image to use, which by default is <code>fabric8/s2i-java:latest</code>. See also <a href=\"#build-config-from-ext\">from-ext</a> how to add additional properties for the base image.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a id=\"build-config-from-ext\"></a><strong>fromExt</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Extended definition for a base image. This field holds a map of defined in <code><key>value</key></code> format. The known keys are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code><name></code> : Name of the base image</p>\n</li>\n<li>\n<p><code><kind></code> : Kind of the reference to the builder image when in S2I build mode. By default its <code>ImageStreamTag</code> but can be also <code>ImageStream</code>. An alternative would be <code>DockerImage</code></p>\n</li>\n<li>\n<p><code><namespace></code> : Namespace where this builder image lives.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>A provided <code><from></code> takes precedence over the name given here. This tag is useful for extensions of this plugin.</p>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#build-healthcheck\"><strong>healthCheck</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Definition of a health check as described in <a href=\"#build-healthcheck\">Healthcheck</a></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>imagePullPolicy</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specific pull policy for the base image. This overwrites any global pull policy.\n See the global configuration option <a href=\"#image-pull-policy\">imagePullPolicy</a> for the possible values and the default.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>loadNamePattern</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Scan the images in the archive specified in <code>dockerArchive</code> and match the associated repository and tag information against this pattern. When a matching repository and tag is found, create a tag linking the <code>name</code> for this image to the repository and tag that matched the pattern.</p>\n</div>\n<div class=\"paragraph\">\n<p>The wildcards are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>?</code> matches a single character</p>\n</li>\n<li>\n<p><code>*</code> matches within one component, where components are separated by slashes, or the final colon that separates the repository from the tag</p>\n</li>\n<li>\n<p><code>**</code> matches multiple components, stopping at the final colon</p>\n</li>\n<li>\n<p><code>**/</code> matches multiple components, but must stop at a slash, or the final colon</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>When matching multiple components, <code>**/</code> is likely to be more useful than <code>**</code>. The pattern <code>**image-name:*</code> will match <code>my-group/my-image-name:some-tag</code>, whereas <code>**/image-name:*</code> will not, because the wildcard has to stop at a slash. Note that <code>**/image-name:*</code> will also match 'image-name:some-tag', since the <code>**/</code> wildcard can be empty.</p>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#misc-env\"><strong>labels</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels as described in <a href=\"#misc-env\">Setting Environment Variables and Labels</a>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>maintainer</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The author (<code>MAINTAINER</code>) field for the generated image</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>noCache</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Don’t use Docker’s build cache. This can be overwritten by setting a system property <code>docker.noCache</code> when running Maven.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>cacheFrom</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A list of <code><image></code> elements specifying image names to use as cache sources.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>optimise</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">if set to true then it will compress all the <code>runCmds</code> into a single <code>RUN</code> directive so that only one image layer is created.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>ports</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The exposed ports which is a list of <code><port></code> elements, one for each port to expose. Whitespace is trimmed from each element and empty elements are ignored. The format can be either pure numerical (\"8080\") or with the protocol attached (\"8080/tcp\").</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>shell</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Shell to be used for the <strong>runCmds</strong>. It contains <strong>arg</strong> elements which are defining the executable and its params.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>runCmds</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Commands to be run during the build process. It contains <strong>run</strong> elements which are passed to the shell. Whitespace is trimmed from each element and empty elements are ignored. The run commands are inserted right after the assembly and after <strong>workdir</strong> into the Dockerfile. This tag is not to be confused with the <code><run></code> section for this image which specifies the runtime behaviour when starting containers.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skip</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">if set to true disables building of the image. This config option is best used together with a maven property</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipTag</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to <code>true</code> this plugin won’t add any tags to images.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tags</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of additional <code>tag</code> elements with which an image is to be tagged after the build. Whitespace is trimmed from each element and empty elements are ignored.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>user</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">User to which the Dockerfile should switch to the end (corresponds to the <code>USER</code> Dockerfile directive).</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>volumes</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of <code>volume</code> elements to create a container volume. Whitespace is trimmed from each element and empty elements are ignored.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>workdir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory to change to when starting the container.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>From this configuration this Plugin creates an in-memory Dockerfile,\ncopies over the assembled files and calls the Docker daemon via its\nremote API.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><build>\n <from>java:8u40</from>\n <maintainer>john.doe@example.com</maintainer>\n <tags>\n <tag>latest</tag>\n <tag>${project.version}</tag>\n </tags>\n <ports>\n <port>8080</port>\n </ports>\n <volumes>\n <volume>/path/to/expose</volume>\n </volumes>\n <buildOptions>\n <shmsize>2147483648</shmsize>\n </buildOptions>\n\n <shell>\n <exec>\n <arg>/bin/sh</arg>\n <arg>-c</arg>\n </exec>\n </shell>\n <runCmds>\n <run>groupadd -r appUser</run>\n <run>useradd -r -g appUser appUser</run>\n </runCmds>\n\n <entryPoint>\n <!-- exec form for ENTRYPOINT -->\n <exec>\n <arg>java</arg>\n <arg>-jar</arg>\n <arg>/opt/demo/server.jar</arg>\n </exec>\n </entryPoint>\n\n <assembly>\n <mode>dir</mode>\n <targetDir>/opt/demo</targetDir>\n <descriptor>assembly.xml</descriptor>\n </assembly>\n</build></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>In order to see the individual build steps you can switch on <code>verbose</code> mode either by setting the property\n<code>jkube.docker.verbose</code> or by using <code><verbose>true</verbose></code> in the <a href=\"#global-configuration\">Global configuration</a></p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-assembly\">5.2.7. Assembly</h4>\n<div class=\"paragraph\">\n<p>The <code><assembly></code> element within <code><build></code> element has an XML structure and defines how build artifacts and other files\ncan be added to the Docker image.</p>\n</div>\n<table id=\"config-image-build-assembly\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 14. Assembly Configuration (<a href=\"#config-image\"><image> </a> : <a href=\"#config-image-build\"><build> </a>)</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Assembly name, which is <code>maven</code> by default. This name is used for the archives and directories created during the build.\n This directory holds the files specified by the assembly. If an <a href=\"#external-dockerfile\">external Dockerfile</a> is used then\n this name is also the relative directory which contains the assembly files.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>targetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory under which the files and artifacts contained in the assembly will be copied within the container.\n The default value for this is <code>/<assembly name></code>, so <code>/maven</code> if <strong>name</strong> is not set to a different value.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#build-assembly-inline\"><strong>inline</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Inlined assembly descriptor as described in <a href=\"#build-assembly-inline\">Assembly - Inline</a> below.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>exportTargetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specification whether the <code>targetDir</code> should be exported as a volume. This value is <code>true</code> by default except in the\n case the <code>targetDir</code> is set to the container root (<code>/</code>). It is also <code>false</code> by default when a base image is used with\n <code>from</code> since exporting makes no sense in this case and will waste disk space unnecessarily.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>excludeFinalOutputArtifact</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">By default, the project’s final artifact will be included in the assembly, set this flag to true in case the\n artifact should be excluded from the assembly.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>mode</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Mode how the how the assembled files should be collected:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>dir</code> : Files are simply copied (default),</p>\n</li>\n<li>\n<p><code>tar</code> : Transfer via tar archive</p>\n</li>\n<li>\n<p><code>tgz</code> : Transfer via compressed tar archive</p>\n</li>\n<li>\n<p><code>zip</code> : Transfer via ZIP archive</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The archive formats have the advantage that file permission can be preserved better (since the copying is independent\nfrom the underlying files systems), but might triggers internal bugs from the Maven assembler (as it has been reported\nin <a href=\"https://github.com/fabric8io/docker-maven-plugin/issues/171\">#171</a>)</p>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>permissions</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Permission of the files to add:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>ignore</code> to use the permission as found on files regardless on any\nassembly configuration</p>\n</li>\n<li>\n<p><code>keep</code> to respect the assembly provided permissions</p>\n</li>\n<li>\n<p><code>exec</code> for setting the executable bit on all files (required for Windows when using an assembly mode <code>dir</code>)</p>\n</li>\n<li>\n<p><code>auto</code> to let the plugin select <code>exec</code> on Windows and <code>keep</code> on others.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p><code>keep</code> is the default value.</p>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tarLongFileMode</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Sets the TarArchiver behaviour on file paths with more than 100 characters length. Valid values are: \"warn\"(default), \"fail\", \"truncate\", \"gnu\", \"posix\", \"posix_warn\" or \"omit\"</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>user</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>User and/or group under which the files should be added. The user must already exist in the base image.</p>\n</div>\n<div class=\"paragraph\">\n<p>It has the general format <code>user[:group[:run-user]]</code>. The user and group can be given either as numeric user- and group-id or as names. The group id is optional.</p>\n</div>\n<div class=\"paragraph\">\n<p>If a third part is given, then the build changes to user <code>root</code> before changing the ownerships, changes the ownerships and then change to user <code>run-user</code> which is then used for the final command to execute. This feature might be needed, if the base image already changed the user (e.g. to 'jboss') so that a <code>chown</code> from root to this user would fail.</p>\n</div>\n<div class=\"paragraph\">\n<p>For example, the image <code>jboss/wildfly</code> use a \"jboss\" user under which all commands are executed. Adding files in Docker always happens under the UID root. These files can only be changed to \"jboss\" is the <code>chown</code> command is executed as root. For the following commands to be run again as \"jboss\" (like the final <code>standalone.sh</code>), the plugin switches back to user <code>jboss</code> (this is this \"run-user\") after changing the file ownership. For this example a specification of\n<code>jboss:jboss:jboss</code> would be required.</p>\n</div></div></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>In the event you do not need to include any artifacts with the image, you may safely omit this element from the configuration.</p>\n</div>\n<div class=\"sect4\">\n<h5 id=\"build-assembly-inline\">Assembly - Inline</h5>\n<div class=\"paragraph\">\n<p>Inlined assembly description with a format very similar to\n<a href=\"https://maven.apache.org/plugins/maven-assembly-plugin/assembly.html\">Maven Assembly Plugin</a>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 15. Assembly - Inline (<a href=\"#config-image\"><image> </a> : <a href=\"#config-image-build\"><build> </a> : <a href=\"#config-image-build-assembly\"><assembly> </a>)</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>id</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Unique ID for the assembly.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>files</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>List of files for the assembly.</p>\n</div>\n<div class=\"paragraph\">\n<p>Each file has the following fields:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>source</code>: Absolute or relative path from the project’s directory of the file to be included in the assembly.</p>\n</li>\n<li>\n<p><code>outputDirectory</code>: Output directory relative to the root of the root directory of the assembly.</p>\n</li>\n<li>\n<p><code>destName</code>: Destination filename in the outputDirectory.</p>\n</li>\n<li>\n<p><code>fileMode</code>: Similar to a UNIX permission, sets the file mode of the file included.</p>\n</li>\n</ul>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>fileSets</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>List of filesets for the Assembly.</p>\n</div>\n<div class=\"paragraph\">\n<p>Each fileset has the following fields:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>directory</code>: Absolute or relative location from the project’s directory.</p>\n</li>\n<li>\n<p><code>outputDirectory</code>: Output directory relative to the root of the root directory of the assembly fileSet.</p>\n</li>\n<li>\n<p><code>includes</code>: A set of files and directories to include.</p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If none is present, then everything is included.</p>\n</li>\n<li>\n<p>Files can be referenced by using their complete path name.</p>\n</li>\n<li>\n<p>Wildcards are also supported, patterns will be matched using\n<a href=\"https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/file/FileSystem.html#getPathMatcher(java.lang.String)\">\nFileSystem#getPathMatcher</a> <code>glob</code> syntax.</p>\n</li>\n</ul>\n</div>\n</li>\n<li>\n<p><code>excludes</code>: A set of files and directory to exclude.</p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If none is present, then there are no exclusions.</p>\n</li>\n</ul>\n</div>\n</li>\n<li>\n<p><code>fileMode</code>: Similar to a UNIX permission, sets the file mode of the files included.</p>\n</li>\n<li>\n<p><code>directoryMode</code>: Similar to a UNIX permission, sets the directory mode of the directories included.</p>\n</li>\n</ul>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>baseDirectory</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Base directory from which to resolve the Assembly files and filesets.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"misc-env\">5.2.8. Environment and Labels</h4>\n<div class=\"paragraph\">\n<p>When creating a container one or more environment variables can be set via configuration with the <code>env</code> parameter</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><env>\n <JAVA_HOME>/opt/jdk8</JAVA_HOME>\n <CATALINA_OPTS>-Djava.security.egd=file:/dev/./urandom</CATALINA_OPTS>\n</env></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If you put this configuration into profiles you can easily create various test variants with a single image (e.g. by switching the JDK or whatever).</p>\n</div>\n<div class=\"paragraph\">\n<p>It is also possible to set the environment variables from the outside of the plugin’s configuration with the parameter <code>envPropertyFile</code>. If given, this property file is used to set the environment variables where the keys and values specify the environment variable. Environment variables specified in this file override any environment variables specified in the configuration.</p>\n</div>\n<div class=\"paragraph\">\n<p>Labels can be set inline the same way as environment variables:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><labels>\n <com.example.label-with-value>foo</com.example.label-with-value>\n <version>${project.version}</version>\n <artifactId>${project.artifactId}</artifactId>\n</labels></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"misc-startup\">5.2.9. Startup Arguments</h4>\n<div class=\"paragraph\">\n<p>Using <code>entryPoint</code> and <code>cmd</code> it is possible to specify the <a href=\"https://docs.docker.com/reference/builder/#entrypoint\">entry point</a>\nor <a href=\"https://docs.docker.com/reference/builder/#cmd\">cmd</a> for a container.</p>\n</div>\n<div class=\"paragraph\">\n<p>The difference is, that an <code>entrypoint</code> is the command that always be executed, with the <code>cmd</code> as argument. If no <code>entryPoint</code> is provided, it defaults to <code>/bin/sh -c</code> so any <code>cmd</code> given is executed with a shell. The arguments given to <code>docker run</code> are always given as arguments to the\n<code>entrypoint</code>, overriding any given <code>cmd</code> option. On the other hand if no extra arguments are given to <code>docker run</code> the default <code>cmd</code> is used as argument to <code>entrypoint</code>.</p>\n</div>\n<div class=\"sidebarblock\">\n<div class=\"content\">\n<div class=\"paragraph\">\n<p>See this <a href=\"http://stackoverflow.com/questions/21553353/what-is-the-difference-between-cmd-and-entrypoint-in-a-dockerfile\">stackoverflow question</a> for a detailed explanation.</p>\n</div>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>An entry point or command can be specified in two alternative formats:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 16. Entrypoint and Command Configuration</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Mode</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>shell</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Shell form in which the whole line is given to <code>shell -c</code> for interpretation.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>exec</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of arguments (with inner <code><args></code>) arguments which will be given to the <code>exec</code> call directly without any shell interpretation.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Either shell or params should be specified.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><entryPoint>\n <!-- shell form -->\n <shell>java -jar $HOME/server.jar</shell>\n</entryPoint></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>or</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><entryPoint>\n <!-- exec form -->\n <exec>\n <arg>java</arg>\n <arg>-jar</arg>\n <arg>/opt/demo/server.jar</arg>\n </exec>\n</entryPoint></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This can be formulated also more dense with:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><!-- shell form -->\n<entryPoint>java -jar $HOME/server.jar</entryPoint></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>or</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><entryPoint>\n <!-- exec form -->\n <arg>java</arg>\n <arg>-jar</arg>\n <arg>/opt/demo/server.jar</arg>\n</entryPoint></code></pre>\n</div>\n</div>\n<div class=\"dlist\">\n<dl>\n<dt class=\"hdlist1\">INFO</dt>\n<dd>\n<p>Startup arguments are not used in S2I builds</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-buildargs\">5.2.10. Build Args</h4>\n<div id=\"property-buildargs\" class=\"paragraph\">\n<p>As described in section <a href=\"#build-configuration\">Configuration</a> for external Dockerfiles <a href=\"https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables-build-arg\">Docker build arg</a> can be used. In addition to the\nconfiguration within the plugin configuration you can also use properties to specify them:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Set a system property when running Maven, eg.: <code>-Ddocker.buildArg.http_proxy=http://proxy:8001</code>. This is especially\nuseful when using predefined Docker arguments for setting proxies transparently.</p>\n</li>\n<li>\n<p>Set a project property within the <code>pom.xml</code>, eg.:</p>\n</li>\n</ul>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><docker.buildArg.myBuildArg>myValue</docker.buildArg.myBuildArg></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Please note that the system property setting will always override the project property. Also note that for all\nproperties which are not Docker <a href=\"https://docs.docker.com/engine/reference/builder/#arg\">predefined</a> properties, the\nexternal Dockerfile must contain an <code>ARGS</code> instruction.</p>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:push\">5.3. <strong>oc:push</strong></h3>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nSection needs review and rearrangements\n</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>This goal uploads images to the registry which have a <code><build></code> configuration section. The images to push can be restricted with\nthe global option <code>filter</code> (see <a href=\"#global-configuration\">Global Configuration</a> for details). The registry to push is by\ndefault <code>docker.io</code> but can be specified as part of the images’s <code>name</code> the Docker way.\nE.g. <code>docker.test.org:5000/data:1.5</code> will push the image <code>data</code> with tag <code>1.5</code> to the registry <code>docker.test.org</code> at port\n<code>5000</code>. Registry credentials (i.e. username and password) can be specified in multiple ways as described in section <a href=\"#authentication\">Authentication</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>By default a progress meter is printed out on the console, which is omitted when using Maven in batch mode (option <code>-B</code>).\nA very simplified progress meter is provided when using no color output (i.e. with <code>-Djkube.useColor=false</code>).</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 17. Push options</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4285%;\">\n<col style=\"width: 14.2858%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipPush</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to <code>true</code> the plugin won’t push any images that have been built.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.push</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipTag</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to <code>true</code> this plugin won’t push any tags</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.tag</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pushRegistry</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The registry to use when pushing the image. See <a href=\"#registry\">Registry Handling</a> for\nmore details.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.push.registry</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>retries</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">How often should a push be retried before giving up. This useful for flaky registries which tend to return 500 error codes from time to time. The default is 0 which means no retry at all.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.push.retries</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:apply\">5.4. <strong>oc:apply</strong></h3>\n<div class=\"paragraph\">\n<p>This goal applies the resources created with <a href=\"#jkube:resource\"><strong>oc:resource</strong></a> to a connected Kubernetes cluster. It’s similar to <a href=\"#jkube:deploy\"><strong>oc:deploy</strong></a> but does not the full deployment cycle of creating the resource, creating the application image and sending the resource descriptors to the clusters. This goal can be easily bound to <code><executions></code> within the plugin’s configuration and binds by default to the <code>install</code> lifecycle phase.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:apply</code></pre>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Apply\">5.4.1. Supported Properties For Apply goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 18. Other options available with apply goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>recreate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we update resources by deleting them first and then creating them again.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.recreate</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>openshiftManifest</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The generated kubernetes YAML file.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/target/classes/META-INF/jkube/openshift.yml</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.openshiftManifest</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>create</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we create new resources.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.create</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>rolling</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we use rolling updates to apply changes.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.rolling</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>failOnNoKubernetesJson</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we fail if there is no Kubernetes JSON.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.failOnNoKubernetesJson</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>servicesOnly</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">In services only mode we only process services so that those can be recursively created/updated first before\n creating/updating any pods and replication controllers.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.servicesOnly</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>ignoreServices</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Do we want to ignore services. This is particularly useful when in recreate mode to let you easily recreate all the\n ReplicationControllers and Pods but leave any service definitions alone to avoid changing the portalIP addresses and\n breaking existing pods using the service.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.ignoreServices</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>processTemplatesLocally</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Process templates locally in Java so that we can apply OpenShift templates on any Kubernetes environment.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.processTemplatesLocally</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>deletePods</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we delete all the pods if we update a Replication Controller.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.deletePods</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>ignoreRunningOAuthClients</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Do we want to ignore OAuthClients which are already running?. OAuthClients are shared across namespaces so we should\n not try to update or create/delete global oauth clients.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.ignoreRunningOAuthClients</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>jsonLogDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The folder we should store any temporary json files or results.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/target/jkube/applyJson</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.jsonLogDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>waitSeconds</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">How many seconds to wait for a URL to be generated for a service.</p>\n<p class=\"tableblock\"> Defaults to <code>5</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.serviceUrl.waitSeconds</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>resourceDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Folder where to find project specific files.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/src/main/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.resourceDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>environment</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Environment name where resources are placed. For example, if you set this property to dev and resourceDir is the\n default one, jkube will look at <code>src/main/jkube/dev</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>null</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.environment</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipApply</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Skip applying the resources.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.apply</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:helm\">5.5. <strong>oc:helm</strong></h3>\n<div class=\"paragraph\">\n<p>This goal is for creating\n<a href=\"https://helm.sh/docs/topics/charts\">Helm charts</a>\nfor your Maven project so that you can install, update or delete your app in Kubernetes\nusing <a href=\"https://github.com/helm/helm\">Helm</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>For creating a Helm chart you simply call <code>oc:helm</code> goal on the command line:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:resource oc:helm</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The <code>oc:resource</code> goal is required to create the resource descriptors which are included in the Helm chart.\nIf you have already built the resource then you can omit this goal.</p>\n</div>\n<div class=\"paragraph\">\n<p>The configuration is defined in a <code><helm></code> section within the plugin’s configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example Helm configuration</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <configuration>\n <helm>\n <chart>Jenkins</chart>\n <keywords>ci,cd,server</keywords>\n </helm>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This configuration section knows the following sub-elements in order to configure your Helm chart.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 19. Helm configuration</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4285%;\">\n<col style=\"width: 14.2858%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>chart</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart name, which is <code>${project.artifactId}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.chart</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>version</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart SemVer version, which is <code>${project.version}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.version</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>description</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart single-sentence description, which is <code>${project.description}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.description</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>home</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart URL for this project’s home page, which is <code>${project.url}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.home</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>sources</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart list of URLs to source code for this project, defaults to the list of <code>${project.scm.url}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>maintainers</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart list of maintainers (name+email), defaults to the list of\n `${project.developers.name}:${project.developers.name}`if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>icon</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart URL to an SVG or PNG image to be used as an icon, default is extracted from the kubernetes manifest\n (<code>kubernetes.yml</code>) <code>jkube.io/iconUrl</code> annotation if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.icon</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keywords</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Comma separated list of keywords to add to the chart.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>engine</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The template engine to use.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>additionalFiles</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The list of additional files to be included in the Chart archive. Any file named <code>README</code> or <code>LICENSE</code> will <strong>always</strong>\n be included by default.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>type</strong> / <strong>types</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Platform for which to generate the chart. By default this is <code>kubernetes</code>, but can be also <code>openshift</code> for using\n OpenShift specific resources in the chart. You can also add both values as a comma separated list.</p>\n<p class=\"tableblock\"> <em>Please note that there is no OpenShift support yet for charts, so this is experimental.</em></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.type</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>sourceDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where to find the resource descriptors generated with <code>oc:resource</code>.\n By default this is <code>${basedir}/target/classes/META-INF/jkube., which is also the output directory used by `oc:resource</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.sourceDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>outputDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where to create the Helm chart, which is <code>${basedir}/target/jkube/helm</code> by default for Kubernetes\n and <code>${basedir}/target/jkube/helmshift</code> for OpenShift.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.outputDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tarballOutputDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where to create the the Helm chart archive, which is <code>${basedir}/target</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.tarballOutputDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>chartExtension</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Helm chart file extension (<code>tgz</code>, <code>tar.bz</code>, <code>tar.bzip2</code>, <code>tar.bz2</code>), default value is <code>tar.gz</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.chartExtension</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>In a next step you can install this via the <a href=\"https://github.com/helm/helm/releases\">helm command line tool</a> as follows:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">helm install nameForChartInRepository target/jkube/helm/${chartName}/kubernetes</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>or</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>helm install target/jkube/helm/${chartName}/kubernetes --generate-name</pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>To add the <code>helm</code> goal to your project so that it is automatically executed just add the <code>helm</code> goal to the <code>executions</code>\nsection of the <code>openshift-maven-plugin</code> section of your <code>pom.xml</code>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Add helm goal</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n\n <!-- ... -->\n\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n <goal>deploy</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>In addition this goal will also create a tar-archive below <code>${basedir}/target</code> which contains the chart with its template.\nThis tar is added as an artifact with classifier <code>helm</code> to the build (<code>helmshift</code> for the OpenShift mode).</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"goals-overview-develop\">6. Development Goals</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"jkube:deploy\">6.1. <strong>oc:deploy</strong></h3>\n<div class=\"paragraph\">\n<p>This is the main goal for building your docker image, generating the kubernetes resources and deploying them into the cluster (insofar your pom.xml is set up correct; keep reading :)).</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:deploy</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This goal is designed to run <a href=\"#jkube:build\"><strong>oc:build</strong></a> and <a href=\"#jkube:resource\"><strong>oc:resource</strong></a> before the deploy <strong>if</strong> you have the goals bound in your pom.xml:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n\n <!-- Connect oc:resource, oc:build and oc:helm to lifecycle phases -->\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n <goal>helm</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Effectively this builds your project then invokes these goals:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"#jkube:build\"><strong>oc:build</strong></a></p>\n</li>\n<li>\n<p><a href=\"#jkube:apply\"><strong>oc:apply</strong></a></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>By default the behaviour of resource goal is it generates <code>route.yml</code> for a service if you have not done any configuration changes. Sometimes there may be case when you want to generate route.yml but do not want to create route resource on OpenShift Cluster. This can be achieved by the following configuration.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for not generating route resource on your cluster</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <configuration>\n <enricher>\n <excludes>\n <exclude>jkube-expose</exclude>\n </excludes>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:undeploy\">6.2. <strong>oc:undeploy</strong></h3>\n<div class=\"paragraph\">\n<p>This goal is for deleting the kubernetes resources that you deployed via the <a href=\"#jkube:apply\"><strong>oc:apply</strong></a> or <a href=\"#jkube:deploy\"><strong>oc:deploy</strong></a> goals</p>\n</div>\n<div class=\"paragraph\">\n<p>It iterates through all the resources generated by the <a href=\"#jkube:resource\"><strong>oc:resource</strong></a> goal and deletes them from your current kubernetes cluster.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:undeploy</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:log\">6.3. <strong>oc:log</strong></h3>\n<div class=\"paragraph\">\n<p>This goal tails the log of the app that you deployed via the <a href=\"#jkube:deploy\"><strong>oc:deploy</strong></a> goal</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:log</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>You can then terminate the output by hitting <code>Ctrl+C</code></p>\n</div>\n<div class=\"paragraph\">\n<p>If you wish to get the log of the app and then terminate immediately then try:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:log -Djkube.log.follow=false</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This lets you pipe the output into grep or some other tool</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:log -Djkube.log.follow=false | grep Exception</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If your app is running in multiple pods you can configure the pod name to log via the <code>jkube.log.pod</code> property, otherwise it defaults to the latest pod:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:log -Djkube.log.pod=foo</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If your pod has multiple containers you can configure the container name to log via the <code>jkube.log.container</code> property, otherwise it defaults to the first container:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:log -Djkube.log.container=foo</code></pre>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Log\">6.3.1. Supported Properties for Log goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 20. Options available with log goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logFollow</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Get follow logs for your application inside Kubernetes.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.log.follow</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logContainer</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Get logs of some specific container inside your application Deployment.</p>\n<p class=\"tableblock\"> Defaults to <code>null</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.log.container</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logPod</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Get logs of some specific pod inside your application Deployment.</p>\n<p class=\"tableblock\"> Defaults to <code>null</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.log.pod</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:debug\">6.4. <strong>oc:debug</strong></h3>\n<div class=\"paragraph\">\n<p>This goal enables debugging in your Java app and then port forwards from localhost to the latest running pod of your app so that you can easily debug your app from your Java IDE.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:debug</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then follow the on screen instructions.</p>\n</div>\n<div class=\"paragraph\">\n<p>The default debug port is <code>5005</code>. If you wish to change the local port to use for debugging then pass in the <code>jkube.debug.port</code> parameter:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:debug -Djkube.debug.port=8000</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then in your IDE you start a Remote debug execution using this remote port using localhost and you should be able to set breakpoints and step through your code.</p>\n</div>\n<div class=\"paragraph\">\n<p>This lets you debug your apps while they are running inside a Kubernetes cluster - for example if you wish to debug a REST endpoint while another pod is invoking it.</p>\n</div>\n<div class=\"paragraph\">\n<p>Debug is enabled via the <code>JAVA_ENABLE_DEBUG</code> environment variable being set to <code>true</code>. This environment variable is used for all the standard Java docker images used by Spring Boot, flat classpath and executable JAR projects and Wildfly Swarm. If you use your own custom docker base image you may wish to also respect this environment variable too to enable debugging.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_speeding_up_debugging\">6.4.1. Speeding up debugging</h4>\n<div class=\"paragraph\">\n<p>By default the <code>oc:debug</code> goal has to edit your Deployment to enable debugging then wait for a pod to start. It might be in development you frequently want to debug things and want to speed things up a bit.</p>\n</div>\n<div class=\"paragraph\">\n<p>If so you can enable debug mode for each build via the <code>jkube.debug.enabled</code> property.</p>\n</div>\n<div class=\"paragraph\">\n<p>e.g. you can pass this property on the command line:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:deploy -Djkube.debug.enabled=true</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Or you can add something like this to your <code>~/.m2/settings.xml</code> file so that you enable debug mode for all maven builds on your laptop by using a profile :</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><?xml version=\"1.0\"?>\n<settings>\n <profiles>\n <profile>\n <id>enable-debug</id>\n <activation>\n <activeByDefault>true</activeByDefault>\n </activation>\n <properties>\n <jkube.debug.enabled>true</jkube.debug.enabled>\n </properties>\n </profile>\n </profiles>\n</settings></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then whenever you type the <code>oc:debug</code> goal there is no need for the maven goal to edit the <code>Deployment</code> and wait for a pod to restart; we can immediately start debugging when you type:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:debug</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_debugging_with_suspension\">6.4.2. Debugging with suspension</h4>\n<div class=\"paragraph\">\n<p>The <code>oc:debug</code> goal allows to attach a remote debugger to a running container, but the application is free to execute when the debugger is not attached.\nIn some cases, you may want to have complete control on the execution, e.g. to investigate the application behavior at startup. This can be done using the <code>jkube.debug.suspend</code> flag:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:debug -Djkube.debug.suspend</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The suspend flag will set the <code>JAVA_DEBUG_SUSPEND</code> environment variable to <code>true</code> and <code>JAVA_DEBUG_SESSION</code> to a random number in your deployment.\nWhen the <code>JAVA_DEBUG_SUSPEND</code> environment variable is set, standard docker images will use <code>suspend=y</code> in the JVM startup options for debugging.</p>\n</div>\n<div class=\"paragraph\">\n<p>The <code>JAVA_DEBUG_SESSION</code> environment variable is always set to a random number (each time you run the debug goal with the suspend flag) in order to tell Kubernetes to restart the pod.\nThe remote application will start only after a remote debugger is attached. You can use the remote debugging feature of your IDE to connect (on <code>localhost</code>, port <code>5005</code> by default).</p>\n</div>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nThe <code>jkube.debug.suspend</code> flag will disable readiness probes in the Kubernetes deployment in order to start port-forwarding during the early phases of application startup\n</td>\n</tr>\n</table>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Debug\">6.4.3. Supported Properties For Debug Goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 21. Options available with debug goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>debugPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default port available for debugging your application inside Kubernetes.</p>\n<p class=\"tableblock\"> Defaults to <code>5005</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.debug.port</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>debugSuspend</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Disables readiness probes in Kubernetes Deployment in order to start port forwarding during early phases of\n application startup.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.debug.suspend</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:watch\">6.5. <strong>oc:watch</strong></h3>\n<div class=\"paragraph\">\n<p>This goal is used to monitor the project workspace for changes and automatically trigger a redeploy of the application\nrunning on Kubernetes.</p>\n</div>\n<div class=\"paragraph\">\n<p>In order to use oc:watch for spring-boot, you need to make sure that <code>devtools</code> is included in the repacked\narchive, as shown in the following listing:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-maven-plugin</artifactId>\n <configuration>\n <excludeDevtools>false</excludeDevtools>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then you need to set a <code>spring.devtools.remote.secret</code> in application.properties, as shown in the following example:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>spring.devtools.remote.secret=mysecret</pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Before entering the watch mode, this goal must generate the docker image and the Kubernetes resources\n(optionally including some development libraries/configuration),\nand deploy the app on Kubernetes. Lifecycle bindings should be configured as follows to allow\nthe generation of such resources.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Lifecycle bindings for oc:watch</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n\n <!-- ... -->\n\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>For any application having <code>resource</code> and <code>build</code> goals bound to the lifecycle, the following\ncommand can be used to run the watch task.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-bash\" data-lang=\"bash\">mvn oc:watch</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This plugin supports different watcher providers, enabled automatically if the project satisfies certain conditions.</p>\n</div>\n<div class=\"paragraph\">\n<p>Watcher providers can also be configured manually. The <a href=\"#generator-example\">Generator example</a> is a good blueprint, simply replace <code><generator></code> with <code><watcher></code>. The configuration is structurally identical.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"watcher-spring-boot\">6.5.1. Spring Boot</h4>\n<div class=\"paragraph\">\n<p>This watcher is enabled by default for all Spring Boot projects. It performs the following actions:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>deploys your application with Spring Boot DevTools enabled</p>\n</li>\n<li>\n<p>tails the log of the latest running pod for your application</p>\n</li>\n<li>\n<p>watches the local development build of your Spring Boot based application and then triggers a reload of the application when there are changes</p>\n</li>\n</ul>\n</div>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nSpring devtools automatically ignores projects named <code>spring-boot</code>, <code>spring-boot-devtools</code>,\n <code>spring-boot-autoconfigure</code>, <code>spring-boot-actuator</code>, <code>and spring-boot-starter</code>\n</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>You can try it on any spring boot application via:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:watch</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Once the goal starts up the spring boot RemoteSpringApplication it will watch for local development changes.</p>\n</div>\n<div class=\"paragraph\">\n<p>e.g. if you edit the java code of your app and then build it via something like this:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn package</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>You should see your app reload on the fly in the shell running the <a href=\"#jkube:watch\"><strong>oc:watch</strong></a> goal!</p>\n</div>\n<div class=\"paragraph\">\n<p>There is also support for LiveReload as well.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"watcher-docker-image\">6.5.2. Docker Image</h4>\n<div class=\"paragraph\">\n<p>This is a generic watcher that can be used in Kubernetes mode only. Once activated, it listens for changes in the project workspace\n in order to trigger a redeploy of the application.</p>\n</div>\n<div class=\"paragraph\">\n<p>The watcher can be activated e.g. by running this command in another shell:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn package</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The watcher will detect that the binary artifact has changed and will first rebuild the docker image,\nthen start a redeploy of the Kubernetes pod.</p>\n</div>\n<div class=\"paragraph\">\n<p>It uses the watch feature of the <a href=\"https://dmp.fabric8.io/#docker:watch\">docker-maven-plugin</a> under the hood.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Watch\">6.5.3. Supported Properties for Watch goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 22. Options available with watch goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>kubernetesManifest</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The generated kubernetes YAML file.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/target/classes/META-INF/jkube/kubernetes.yml</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.kubernetesManifest</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>watchMode</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>How to watch for image changes.</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>copy</code>: Copy watched artifacts into container</p>\n</li>\n<li>\n<p><code>build</code>: Build only images</p>\n</li>\n<li>\n<p><code>run</code>: Run images</p>\n</li>\n<li>\n<p><code>both</code>: Build and run images</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Defaults to <code>both</code>.</p>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.watch.mode</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>watchInterval</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Watch interval in milliseconds.</p>\n<p class=\"tableblock\"> Defaults to <code>5000</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.watch.interval</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"generators\">7. Generators</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>The usual way to define Docker images is with the plugin configuration as explained in <a href=\"#jkube:build\"><strong>oc:build</strong></a>. This can either be done completely within the <code>pom.xml</code> or by referring to an external Dockerfile. Since openshift-maven-plugin includes <a href=\"https://github.com/jkubeio/docker-maven-plugin\">docker-maven-plugin</a> the way by which images are built is identical.</p>\n</div>\n<div class=\"paragraph\">\n<p>However, this plugin provides an additional route for defining image configurations. This is done by so called <em>Generators</em>. A generator is a Java component providing an auto-detection mechanism for certain build types like a Spring Boot build or a plain Java build. As soon as a <em>Generator</em> detects that it is applicable it will be called with the list of images configured in the <code>pom.xml</code>. Typically a generator only creates dynamically a new image configuration if this list is empty. But a generator is free to also add new images to an existing list or even change the current image list.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can easily create your own generator as explained in <a href=\"#generators-api\">Generator API</a>. This section will focus on existing generators and how you can configure them.</p>\n</div>\n<div class=\"paragraph\">\n<p>The included <em>Generators</em> are enabled by default, but you can easily disable them or only select a certain set of generators. Each generator has a <em>name</em>, which is unique for a generator.</p>\n</div>\n<div class=\"paragraph\">\n<p>The generator configuration is embedded in a <code><generator></code> configuration section:</p>\n</div>\n<div id=\"generator-example\" class=\"listingblock\">\n<div class=\"title\">Example for a generator configuration</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n ....\n <configuration>\n ....\n <generator> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <includes> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n <include>spring-boot</include>\n </includes>\n <config> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n <spring-boot> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n <alias>ping</alias>\n </spring-boot>\n </config>\n </generator>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Start of generators' configuration.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>Generators can be included and excluded. Includes have precedence, and the generators are called in the given order.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td>Configuration for individual generators.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>The config is a map of supported config values. Each section is embedded in a tag named after the generator.</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>The following sub-elements are supported:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 23. Generator configuration</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><includes></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Contains one ore more <code><include></code> elements with generator names which should be included. If given only this list of generators are included in this given order. The order is important because by default only the first matching generator kicks in. The generators from every active profile are included, too. However the generators listed here are moved to the front of the list, so that they are called first. Use the profile <code>raw</code> if you want to explicitly set the complete list of generators.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><excludes></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Holds one or more <code><exclude></code> elements with generator names to exclude. If set then all detected generators are used except the ones mentioned in this section.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><config></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Configuration for all generators. Each generator support a specific set of configuration values as described in the documentation. The subelements of this section are generator names to configure. E.g. for generator <code>spring-boot</code>, the sub-element is called <code><spring-boot></code>. This element then holds the specific generator configuration like <code><name></code> for specifying the final image name. See above for an example. Configuration coming from profiles are merged into this config, but not overriding the configuration specified here.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Beside specifying generator configuration in the plugin’s configuration it can be set directly with properties, too:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example generator property config</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn -Djkube.generator.java-exec.webPort=8082</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The general scheme is a prefix <code>jkube.generator.</code> followed by the unique generator name and then the generator specific key.</p>\n</div>\n<div class=\"paragraph\">\n<p>In addition to the provided default <em>Generators</em> described in the next section <a href=\"#generators-default\">Default Generators</a>, custom generators can be easily added. There are two ways to include generators:</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Plugin dependency</div>\n<p>You can declare the generator holding jars as dependency to this plugin as shown in this example</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <artifactId>openshift-maven-plugin</artifactId>\n ....\n <dependencies>\n <dependency>\n <groupId>io.acme</groupId>\n <artifactId>mygenerator</artifactId>\n <version>1.0</version>\n </dependency>\n </dependencies>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Compile time dependency</div>\n<p>Alternatively and if your application code comes with a custom generator you can set the global configuration option <code>useProjectClasspath</code> (property: <code>jkube.useProjectClasspath</code>) to true. In this case also the project artifact and its dependencies are looked up for <em>Generators</em>. See <a href=\"#generators-api\">Generator API</a> for details how to write your own generators.</p>\n</div>\n<div class=\"sect2\">\n<h3 id=\"generators-default\">7.1. Default Generators</h3>\n<div class=\"paragraph\">\n<p>All default generators examine the build information for certain aspects and generate a Docker build configuration on the fly. They can be configured to a certain degree, where the configuration is generator specific.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 24. Default Generators</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 66.6668%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Generator</th>\n<th class=\"tableblock halign-left valign-top\">Name</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-java-exec\">Java Applications</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>java-exec</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generic generator for flat classpath and fat-jar Java applications</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-spring-boot\">Spring Boot</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>spring-boot</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Spring Boot specific generator</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-wildfly-swarm\">Wildfly Swarm</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>wildfly-swarm</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Wildfly Swarm apps</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-thorntail-v2\">Thorntail v2</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>thorntail-v2</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Thorntail v2 apps</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-vertx\">Vert.x</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Vert.x applications</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-karaf\">Karaf</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>karaf</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Karaf based apps</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-webapp\">Web applications</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>webapps</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for WAR based applications supporting Tomcat, Jetty and Wildfly base images</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-quarkus\">Quarkus</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>Quarkus</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Quarkus based applications</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-openliberty\">Open Liberty</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>openliberty</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Open Liberty applications</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-wildfly-jar\">WildFly Bootable JAR</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>wildfly-jar</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for WildFly Bootable JAR applications</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>There are some configuration options which are shared by all generators:</p>\n</div>\n<table id=\"generator-options-common\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 25. Common generator options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>add</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">When set to <code>true</code>, then the generator <em>adds</em> to an existing image configuration. By default this is disabled, so\n that a generator only kicks in when there are no other image configurations in the build, which are either configured\n directly for a <code>oc:build</code> or already added by a generator which has been run previously.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.add</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>alias</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">An alias name for referencing this image in various other parts of the configuration. This is also used in the log\n output. The default alias name is the name of the generator.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.alias</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>from</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">This is the base image from where to start when creating the images. By default the generators make an opinionated\n decision for the base image which are described in the respective generator section.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.from</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>fromMode</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Whe using OpenShift S2I builds the base image can be either a plain docker image (mode: <code>jib</code>) or a reference to an\n <a href=\"https://docs.openshift.com/container-platform/3.3/architecture/core_concepts/builds_and_image_streams.html\"> ImageStreamTag</a>\n (mode: <code>istag</code>). In the case of an ImageStreamTag, <code>from</code> has to be specified in the form <code>namespace/image-stream:tag</code>.\n The mode takes only effect when running in OpenShift mode.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.fromMode</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Docker image name used when doing Docker builds. For OpenShift S2I builds its the name of the image stream. This\n can be a pattern as descibed in <a href=\"#image-name-placeholders\">Name Placeholders</a>. The default is <code>%g/%a:%l</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.name</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>registry</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A optional Docker registry used when doing Docker builds. It has no effect for OpenShift S2I builds.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.registry</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>When used as properties they can be directly referenced with the property names above.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-java-exec\">7.1.1. Java Applications</h4>\n<div class=\"paragraph\">\n<p>One of the most generic <em>Generators</em> is the <code>java-exec</code> generator.\nIt is responsible for starting up arbitrary Java application.\nIt knows how to deal with fat-jar applications where the application and all dependencies are included within a single jar and the <code>MANIFEST.MF</code> within the jar references a main class.\nBut also flat classpath applications, where the dependencies are separate jar files and a main class is given.</p>\n</div>\n<div class=\"paragraph\">\n<p>If no main class is explicitly configured, the plugin first attempts to locate a fat jar.\nIf the Maven build creates a JAR file with a <code>META-INF/MANIFEST.MF</code> containing a <code>Main-Class</code> entry, then this is considered to be the fat jar to use.\nIf there are more than one of such files then the largest one is used.</p>\n</div>\n<div class=\"paragraph\">\n<p>If a main class is configured (see below) then the image configuration will contain the application jar plus all dependency jars.\nIf no main class is configured as well as no fat jar being detected, then this <em>Generator</em> tries to detect a single main class by searching for <code>public static void main(String args[])</code> among the application classes. If exactly one class is found this is considered to be the main class. If no or more than one is found the <em>Generator</em> finally does nothing.</p>\n</div>\n<div class=\"paragraph\">\n<p>It will use the following base image by default, but as explained <a href=\"#generator-options-common\">above</a> and can be changed with the <code>from</code> configuration.</p>\n</div>\n<table id=\"generator-java-exec-from\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 26. Java Base Images</caption>\n<colgroup>\n<col style=\"width: 7.6923%;\">\n<col style=\"width: 30.7692%;\">\n<col style=\"width: 30.7692%;\">\n<col style=\"width: 30.7693%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"></th>\n<th class=\"tableblock halign-left valign-top\">Docker Build</th>\n<th class=\"tableblock halign-left valign-top\">S2I Build</th>\n<th class=\"tableblock halign-left valign-top\">ImageStream</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Community</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-java-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-java-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube-java</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>These images always refer to the latest tag.</p>\n</div>\n<div class=\"paragraph\">\n<p>When a <code>fromMode</code> of <code>istag</code> is used to specify an <code>ImageStreamTag</code> and when no <code>from</code> is given, then as default the\n<code>ImageStreamTag</code> <code>jkube-java</code> in the namespace <code>openshift</code> is chosen.\nBy default, <code>fromMode = \"docker\"</code> which use the a plain Docker image reference for the S2I builder image.</p>\n</div>\n<div class=\"paragraph\">\n<p>Beside the common configuration parameters described in the table <a href=\"#generator-options-common\">common generator options</a>\nthe following additional configuration options are recognized:</p>\n</div>\n<table id=\"generator-java-exec-options\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 27. Java Application configuration options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>targetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory within the generated image where to put the detected artefacts into. Change this only if the base image is\n changed, too.</p>\n<p class=\"tableblock\"> Defaults to <code>/deployments</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.targetDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>jolokiaPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port of the Jolokia agent exposed by the base image. Set this to 0 if you don’t want to expose the Jolokia port.</p>\n<p class=\"tableblock\"> Defaults to <code>8778</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.jolokiaPort</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>mainClass</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Main class to call. If not given first a check is performed to detect a fat-jar (see above). Next a class is looked up\n by scanning <code>target/classes</code> for a single class with a main method. If no such class is found or if more than one is\n found, then this generator does nothing.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.mainClass</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>prometheusPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port of the Prometheus jmx_exporter exposed by the base image. Set this to 0 if you don’t want to expose the Prometheus\n port.</p>\n<p class=\"tableblock\"> Defaults to <code>9779</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.prometheusPort</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>webPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port to expose as service, which is supposed to be the port of a web application. Set this to 0 if you don’t want to\n expose a port.</p>\n<p class=\"tableblock\"> Defaults to <code>8080</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.webPort</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>The exposed ports are typically later on use by <a href=\"#enrichers\">Enrichers</a> to create default Kubernetes or OpenShift services.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can add additional files to the target image within <code>baseDir</code> by placing files into <code>src/main/jkube-includes</code>.\nThese will be added with mode <code>0644</code>, while everything in <code>src/main/jkube-includes/bin</code> will be added with <code>0755</code>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-spring-boot\">7.1.2. Spring Boot</h4>\n<div class=\"paragraph\">\n<p>This generator is called <code>spring-boot</code> and gets activated when it finds a <code>spring-boot-maven-plugin</code> in the pom.xml.</p>\n</div>\n<div class=\"paragraph\">\n<p>This generator is based on the <a href=\"#generator-java-exec\">Java Application</a> Generator and inherits all of its configuration values. The generated container port is read from the <code>server.port</code> property <code>application.properties</code>, defaulting to <code>8080</code> if it is not found. It also uses the same default images as the <a href=\"#generator-java-exec-from\">java-exec Generator</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Beside the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\">java-exec options</a> the following additional configuration is recognized:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 28. Spring-Boot configuration options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>color</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set, force the use of color in the Spring Boot console output.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.spring-boot.color</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>The generator adds Kubernetes liveness and readiness probes pointing to either the management or server port as read from the <code>application.properties</code>.\nIf the <code>management.port</code> (for Spring Boot 1) or <code>management.server.port</code> (for Spring Boot 2) and <code>management.ssl.key-store</code> (for Spring Boot 1) or <code>management.server.ssl.key-store</code> (for Spring Boot 2) properties are set in <code>application.properties</code> otherwise or <code>server.ssl.key-store</code> property is set in <code>application.properties</code> then the probes are automatically set to use <code>https</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The generator works differently when called together with <code>oc:watch</code>.\nIn that case it enables support for <a href=\"http://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html\">Spring Boot Developer Tools</a> which allows for hot reloading of the Spring Boot app.\nIn particular, the following steps are performed:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If a secret token is not provided within the Spring Boot application configuration <code>application.properties</code> or <code>application.yml</code> with the key <code>spring.devtools.remote.secret</code> then a custom secret token is created and added to <code>application.properties</code></p>\n</li>\n<li>\n<p>Add <code>spring-boot-devtools.jar</code> as <code>BOOT-INF/lib/spring-devtools.jar</code> to the spring-boot fat jar.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Since during <code>oc:watch</code> the application itself within the <code>target/</code> directory is modified for allowing easy reloading you must ensure that you do a <code>mvn clean</code> before building an artifact which should be put into production.\nSince the released version are typically generated with a CI system which does a clean build anyway this should be only a theoretical problem.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-wildfly-swarm\">7.1.3. Wildfly Swarm</h4>\n<div class=\"paragraph\">\n<p>The WildFly Swarm generator detects a WildFly Swarm build and disables the Prometheus Java agent because of this <a href=\"https://issues.jboss.org/browse/THORN-1859\">issue</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Otherwise this generator is identical to the <a href=\"#generator-java-exec\">java-exec generator</a>.\nIt supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-thorntail-v2\">7.1.4. Thorntail v2</h4>\n<div class=\"paragraph\">\n<p>The Thorntail v2 generator detects a Thorntail v2 build and disables the Prometheus Java agent because of this <a href=\"https://issues.jboss.org/browse/THORN-1859\">issue</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Otherwise this generator is identical to the <a href=\"#generator-java-exec\">java-exec generator</a>. It supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-vertx\">7.1.5. Vert.x</h4>\n<div class=\"paragraph\">\n<p>The Vert.x generator detects an application using Eclipse Vert.x. It generates the metadata to start the application as a fat jar.</p>\n</div>\n<div class=\"paragraph\">\n<p>Currently, this generator is enabled if:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>you are using the Vert.x Maven Plugin (<a href=\"https://github.com/reactiverse/vertx-maven-plugin\" class=\"bare\">https://github.com/reactiverse/vertx-maven-plugin</a>)</p>\n</li>\n<li>\n<p>you are depending on <code>io.vertx:vertx-core</code> and uses the Maven Shader plugin</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Otherwise this generator is identical to the <a href=\"#generator-java-exec\">java-exec generator</a>. It supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The generator automatically:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>enable metrics and JMX publishing of the metrics when <code>io.vertx:vertx-dropwizard-metrics</code> is in the project’s classpath / dependencies.</p>\n</li>\n<li>\n<p>enable clustering when a Vert.x cluster manager is available in the project’s classpath / dependencies. this is done by appending <code>-cluster</code> to the command line.</p>\n</li>\n<li>\n<p>Force IPv4 stack when <code>vertx-infinispan</code> is used.</p>\n</li>\n<li>\n<p>Disable the async DNS resolver to fallback to the regular JVM DNS resolver.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>You can pass application parameter by setting the <code>JAVA_ARGS</code> env variable. You can pass system properties either using the same variable or using <code>JAVA_OPTIONS</code>. For instance, create <code>src/main/jkube/deployment.yml</code> with the following content to configure <code>JAVA_ARGS</code>:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n template:\n spec:\n containers:\n - env:\n - name: JAVA_ARGS\n value: \"-Dfoo=bar -cluster -instances=2\"</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-karaf\">7.1.6. Karaf</h4>\n<div class=\"paragraph\">\n<p>This generator named <code>karaf</code> kicks in when the build uses a <code>karaf-maven-plugin</code>. By default the following base images are used:</p>\n</div>\n<table id=\"generator-karaf-from\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 29. Karaf Base Images</caption>\n<colgroup>\n<col style=\"width: 7.6923%;\">\n<col style=\"width: 30.7692%;\">\n<col style=\"width: 30.7692%;\">\n<col style=\"width: 30.7693%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"></th>\n<th class=\"tableblock halign-left valign-top\">Docker Build</th>\n<th class=\"tableblock halign-left valign-top\">S2I Build</th>\n<th class=\"tableblock halign-left valign-top\">ImageStream</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Community</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-karaf-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-karaf-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube-karaf</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>When a <code>fromMode</code> of <code>istag</code> is used to specify an <code>ImageStreamTag</code> and when no <code>from</code> is given, then as default the\n<code>ImageStreamTag</code> <code>jkube-karaf</code> in the namespace <code>openshift</code> is chosen.</p>\n</div>\n<div class=\"paragraph\">\n<p>In addition to the <a href=\"#generator-options-common\">common generator options</a> this generator can be configured with the following options:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 30. Karaf configuration options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>baseDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory within the generated image where to put the detected artifacts into. Change this only if the base image is\n changed, too.</p>\n<p class=\"tableblock\"> Defaults to <code>/deployments</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.karaf.baseDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>webPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port to expose as service, which is supposed to be the port of a web application. Set this to 0 if you don’t want to\nexpose a port.</p>\n<p class=\"tableblock\"> Defaults to <code>8080</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.karaf.webPort</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-webapp\">7.1.7. Web Applications</h4>\n<div class=\"paragraph\">\n<p>The <code>webapp</code> generator tries to detect WAR builds and selects a base servlet container image based on the configuration found in the <code>pom.xml</code>:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>A <strong>Tomcat</strong> base image is selected when a <code>tomcat6-maven-plugin</code> or <code>tomcat7-maven-plugin</code> is present or when a <code>META-INF/context.xml</code> could be found in the classes directory.</p>\n</li>\n<li>\n<p>A <strong>Jetty</strong> base image is selected when a <code>jetty-maven-plugin</code> is present or one of the files <code>WEB-INF/jetty-web.xml</code> or <code>WEB-INF/jetty-logging.properties</code> is found.</p>\n</li>\n<li>\n<p>A <strong>Wildfly</strong> base image is chosen for a given <code>jboss-as-maven-plugin</code> or <code>wildfly-maven-plugin</code> or when a Wildfly specific deployment descriptor like <code>jboss-web.xml</code> is found.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The base images chosen are:</p>\n</div>\n<table id=\"generator-webapp-from\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 31. Webapp Base Images</caption>\n<colgroup>\n<col style=\"width: 11.1111%;\">\n<col style=\"width: 44.4444%;\">\n<col style=\"width: 44.4445%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"></th>\n<th class=\"tableblock halign-left valign-top\">Docker Build</th>\n<th class=\"tableblock halign-left valign-top\">S2I Build</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Tomcat</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-tomcat9-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-tomcat9-binary-s2i</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Jetty</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-jetty9-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-jetty9-binary-s2i</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Wildfly</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jboss/wildfly</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"https://github.com/wildfly/wildfly-s2i\"><code>quay.io/wildfly/wildfly-centos7</code></a></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>In addition to the <a href=\"#generator-options-common\">common generator options</a> this generator can be configured with the following options:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 32. Webapp configuration options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>server</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Fix server to use in the base image. Can be either <strong>tomcat</strong>, <strong>jetty</strong> or <strong>wildfly</strong>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.server</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>targetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where to put the war file into the target image. By default its selected by the base image chosen but can be\n overwritten with this option.</p>\n<p class=\"tableblock\"> Defaults to <code>/deployments</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.targetDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>user</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">User and/or group under which the files should be added. The syntax of this options is descriped in\n <a href=\"#config-image-build-assembly-user\">Assembly Configuration</a>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.user</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>path</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Context path with which the application can be reached by default.</p>\n<p class=\"tableblock\"> Defaults to <code>/</code> (root context).</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.path</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>cmd</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Command to use to start the container. By default the base images startup command is used.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.cmd</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>ports</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Comma separated list of ports to expose in the image and which eventually are translated later to Kubernetes services.\n The ports depend on the base image and are selected automatically. But they can be overridden here.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.ports</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-quarkus\">7.1.8. Quarkus</h4>\n<div class=\"paragraph\">\n<p>The <code>Quarkus</code> generator tried to detect quarkus based projects looking at project <code>pom.xml</code>:</p>\n</div>\n<div class=\"paragraph\">\n<p>The base images chosen are:</p>\n</div>\n<table id=\"generator-quarkus-from\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 33. Webapp Base Images</caption>\n<colgroup>\n<col style=\"width: 11.1111%;\">\n<col style=\"width: 44.4444%;\">\n<col style=\"width: 44.4445%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"></th>\n<th class=\"tableblock halign-left valign-top\">Docker Build</th>\n<th class=\"tableblock halign-left valign-top\">S2I Build</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Native</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>registry.access.redhat.com/ubi8/ubi-minimal:8.1</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">---</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Normal Build</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>openjdk:11</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">---</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"admonitionblock important\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-important\" title=\"Important\"></i>\n</td>\n<td class=\"content\">\n<div class=\"paragraph\">\n<p>S2I builds are currently not yet supported for the Quarkus generator.</p>\n</div>\n</td>\n</tr>\n</table>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-openliberty\">7.1.9. Open Liberty</h4>\n<div class=\"paragraph\">\n<p>The Open Liberty generator runs when the Open Liberty plugin is enabled in the maven build.</p>\n</div>\n<div class=\"paragraph\">\n<p>The generator is similar to the <a href=\"#generator-java-exec\">java-exec generator</a>. It supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>For Open Liberty, the default value of webPort is 9080.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-wildfly-jar\">7.1.10. Wildfly JAR Generator</h4>\n<div class=\"paragraph\">\n<p>The Wildfly JAR generator detects a WildFly Bootable JAR build and disables the Jolokia and Prometheus Java agent TO BE REVISITED WHEN WE HAVE A SOLUTION.</p>\n</div>\n<div class=\"paragraph\">\n<p>Otherwise this generator is identical to the <a href=\"#generator-java-exec\">java-exec generator</a>. It supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"generators-api\">7.2. Generator API</h3>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nThe API is still a bit in flux and will be documented later. Please refer to the\n <a href=\"https://github.com/eclipse/jkube/blob/master/jkube-kit/generator/api/src/main/java/org/eclipse/jkube/generator/api/Generator.java\">Generator</a>\n Interface in the meantime.\n</td>\n</tr>\n</table>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"enrichers\">8. Enrichers</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Enriching is the complementary concept to <a href=\"#generators\">Generators</a>. Whereas Generators are used to create and customize Docker images, Enrichers are use to create and customize Kubernetes resource objects.</p>\n</div>\n<div class=\"paragraph\">\n<p>There are a lot of similarities to Generators:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Each Enricher has a unique name.</p>\n</li>\n<li>\n<p>Enrichers are looked up automatically from the plugin dependencies and there is a set of default enrichers delivered with this plugin.</p>\n</li>\n<li>\n<p>Enrichers are configured the same ways as generators</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The <a href=\"#generator-example\">Generator example</a> is a good blueprint, simply replace <code><generator></code> with <code><enricher></code>. The configuration is structural identical:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 34. Enricher configuration</caption>\n<colgroup>\n<col style=\"width: 25%;\">\n<col style=\"width: 75%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><includes></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Contains one ore more <code><include></code> elements with enricher names which should be included. If given, only this list of enrichers are included in this order. The enrichers from every active profile are included, too. However the enrichers listed here are moved to the front of the list, so that they are called first. Use the profile <code>raw</code> if you want to explicitly set the complete list of enrichers.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><excludes></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Holds one or more <code><exclude></code> elements with enricher names to exclude. This means all the detected enrichers are used except the ones mentioned in this section.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><config></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Configuration for all enrichers. Each enricher supports a specific set of configuration values as described in its documentation. The subelements of this section are enricher names. E.g. for enricher <code>jkube-service</code>, the sub-element is called <code><jkube-service></code>. This element then holds the specific enricher configuration like <code><name></code> for the service name. Configuration coming from profiles are merged into this config, but not overriding the configuration specified here.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>This plugin comes with a set of default enrichers. In addition custom enrichers can be easily added by providing implementation of the <a href=\"#enricher-api\">Enricher API</a> and adding these as a dependency to the build.</p>\n</div>\n<div class=\"sect2\">\n<h3 id=\"enrichers-default\">8.1. Default Enrichers</h3>\n<div class=\"paragraph\">\n<p>openshift-maven-plugin comes with a set of enrichers which are enabled by default. There are two categories of default enrichers:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"#enrichers-generic\"><strong>Generic Enrichers</strong></a> are used to add default resource object when they are missing or add common\nmetadata extracted from the given build information.</p>\n</li>\n<li>\n<p><a href=\"#enrichers-specific\"><strong>Specific Enrichers</strong></a> are enrichers which are focused on a certain tech stack that they detect.</p>\n</li>\n</ul>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 35. Default Enrichers Overview</caption>\n<colgroup>\n<col style=\"width: 22.2222%;\">\n<col style=\"width: 77.7778%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Enricher</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-configmap-file\">jkube-configmap-file</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add ConfigMap elements defined as XML or as annotation.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-controller\">jkube-controller</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Create default controller (replication controller, replica set or deployment <a href=\"https://kubernetes.io/docs/concepts/workloads/controllers/\">Kubernetes doc</a>) if missing.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-dependency\">jkube-dependency</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Examine build dependencies for <code>kubernetes.yml</code> and add the objects found therein.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-git\">jkube-git</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Check local <code>.git</code> directory and add build information as annotations.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-image\">jkube-image</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add the image name into a <code>PodSpec</code> of replication controller, replication sets and deployments, if missing.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-maven-issue-mgmt-enricher\">jkube-maven-issue-mgmt</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Maven Issue Management information as annotations to the kubernetes/openshift resources</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-maven-scm-enricher\">jkube-maven-scm-enricher</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Maven SCM information as annotations to the kubernetes/openshift resources</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-name\">jkube-name</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add a default name to every object which misses a name.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-pod-annotation\">jkube-pod-annotation</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Copy over annotations from a <code>Deployment</code> to a <code>Pod</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-portname\">jkube-portname</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add a default portname for commonly known service.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-project-label\">jkube-project-label</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Maven coordinates as labels to all objects.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-prometheus\">jkube-prometheus</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Prometheus annotations.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-revision-history-enricher\">jkube-revision-history</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add revision history limit (<a href=\"https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit\">Kubernetes doc</a>) as a deployment spec property to the Kubernetes/OpenShift resources.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-secret-file\">jkube-secret-file</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Secret elements defined as annotation.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-service\">jkube-service</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Create a default service if missing and extract ports from the Docker image configuration.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-serviceaccount\">jkube-serviceaccount</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add a ServiceAccount defined as XML or mentioned in resource fragment.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-triggers-annotation\">jkube-triggers-annotation</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add ImageStreamTag change triggers on Kubernetes resources such as StatefulSets, ReplicaSets and DaemonSets using the <code>image.openshift.io/triggers</code> annotation.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"sect3\">\n<h4 id=\"enrichers-generic\">8.1.1. Generic Enrichers</h4>\n<div class=\"paragraph\">\n<p>Default generic enrichers are used for adding missing resources or adding metadata to given resource objects.\nThe following default enhancers are available out of the box.</p>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-configmap-file\">jkube-configmap-file</h5>\n<div class=\"paragraph\">\n<p>This enricher adds ConfigMap defined as <code>resources</code> in plugin configuration and/or resolves file content from an annotation.</p>\n</div>\n<div class=\"paragraph\">\n<p>As XML you can define:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">pom.xml</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <resources>\n <configMap>\n <name>myconfigmap</name>\n <entries>\n <entry>\n <name>A</name>\n <value>B</value>\n </entry>\n </entries>\n </configMap>\n </resources>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This creates a ConfigMap data with key <code>A</code> and value <code>B</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can also use <code>file</code> tag to refer to the content of a file.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <resources>\n <configMap>\n <name>configmap-test</name>\n <entries>\n <entry>\n <file>src/test/resources/test-application.properties</file>\n </entry>\n </entries>\n </configMap>\n </resources>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This creates a ConfigMap with key <code>test-application.properties</code> and value the content of the <code>src/test/resources/test-application.properties</code> file.\nIf you set <code>name</code> tag then this is used as key instead of the filename.</p>\n</div>\n<div class=\"paragraph\">\n<p>If you are defining a custom <code>ConfigMap</code> file, you can use an annotation to define a file name as key and its content as the value:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">metadata:\n name: ${project.artifactId}\n annotations:\n maven.jkube.io/cm/application.properties: src/test/resources/test-application.properties</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This creates a <code>ConfigMap</code> data with key <code>application.properties</code> (part defined after <code>cm</code>) and value the content of <code>src/test/resources/test-application.properties</code> file.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-controller\">jkube-controller</h5>\n<div class=\"paragraph\">\n<p>This enricher is used to ensure that a controller is present.\nThis can be either directly configured with fragments or with the XML configuration.\nAn explicit configuration always takes precedence over auto detection.\nSee <a href=\"https://kubernetes.io/docs/concepts/workloads/controllers/\">Kubernetes doc</a> for more information on types of controllers.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following configuration parameters can be used to influence the behaviour of this enricher:</p>\n</div>\n<table id=\"enricher-jkube-controller\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 36. Default controller enricher</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Name of the Controller. Kubernetes Controller names must start with a letter. If the maven artifactId starts with a\n digit, <code>s</code> will be prefixed.</p>\n<p class=\"tableblock\"> Defaults to <code>${project.artifactId}</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-controller.name</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pullPolicy</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Image pull policy to use for the container. One of: <em>IfNotPresent</em>, <em>Always</em>.</p>\n<p class=\"tableblock\"> Defaults to <code>IfNotPresent</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-controller.pullPolicy</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>type</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Type of Controller to create. One of: <em>ReplicationController</em>, <em>ReplicaSet</em>, <em>Deployment</em>, <em>DeploymentConfig</em>,\n <em>StatefulSet</em>, <em>DaemonSet</em>, <em>Job</em>.</p>\n<p class=\"tableblock\"> Defaults to <code>Deployment</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-controller.type</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>replicaCount</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of replicas for the container.</p>\n<p class=\"tableblock\"> Defaults to <code>1</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-controller.replicaCount</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-service\">jkube-service</h5>\n<div class=\"paragraph\">\n<p>This enricher is used to ensure that a service is present.\nThis can be either directly configured with fragments or with the XML configuration, but it can be also automatically inferred by looking at the ports exposed by an image configuration.\nAn explicit configuration always takes precedence over auto detection. For enriching an existing service this enricher actually works only on a configured service which matches with the configured (or inferred) service name.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following configuration parameters can be used to influence the behaviour of this enricher:</p>\n</div>\n<table id=\"enricher-jkube-service\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 37. Default service enricher</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Service name to enrich by default. If not given here or configured elsewhere, the artifactId is used.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.name</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>headless</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Whether a headless service without a port should be configured. A headless service has the <code>ClusterIP</code> set to <code>None</code>\n and will be only used if no ports are exposed by the image configuration or by the configuration <code>port</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.headless</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>expose</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to true, a label <code>expose</code> with value <code>true</code> is added which can be picked up by the jkube.\n <a href=\"https://github.com/jenkins-x/exposecontroller\">expose-controller</a> to expose the service to the outside by various means.\n See the documentation of expose-controller for more details.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.expose</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>type</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Kubernetes / OpenShift service type to set like <em>LoadBalancer</em>, <em>NodePort</em> or <em>ClusterIP</em>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.type</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>port</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The service port to use. By default the same port as the ports exposed in the image configuration is used, but can be\n changed with this parameter. See <a href=\"#jkube-service-ports\">below</a> for a detailed description of the format which can be\n put into this variable.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.port</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>multiPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Set this to <code>true</code> if you want all ports to be exposed from an image configuration. Otherwise only the first port is\n used as a service port.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.multiPort</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>protocol</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default protocol to use for the services. Must be <code>tcp</code> or <code>udp</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>tcp</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.protocol</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>normalizePort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Normalize the port numbering of the service to common and conventional port numbers.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.normalizePort</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Following is the Port mapping that comes in effect, when normalizePort option is set true.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 50%;\">\n<col style=\"width: 50%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Original Port</th>\n<th class=\"tableblock halign-left valign-top\">Normalized Port</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8080</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">80</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8081</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">80</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8181</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">80</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8180</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">80</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8443</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">443</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">443</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">443</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>You specify the properties like for any enricher within the enrichers configuration like in</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <!-- ... -->\n <enricher>\n <config>\n <jkube-service>\n <name>my-service</name>\n <type>NodePort</type>\n <multiPort>true</multiPort>\n </jkube-service>\n </config>\n </enricher>\n</configuration></code></pre>\n</div>\n</div>\n<div id=\"jkube-service-ports\" class=\"paragraph\">\n<div class=\"title\">Port specification</div>\n<p>With the option <code>port</code> you can influence the mapping how ports are mapped from the pod to the service.\nBy default and if this option is not given the ports exposed are dictated by the ports exposed from the Docker images contained in the pods.\nRemember, each image configured can be part of the pod.\nHowever you can expose also completely different ports as the images meta data declare.</p>\n</div>\n<div class=\"paragraph\">\n<p>The property <code>port</code> can contain a comma separated list of mappings of the following format:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-text\" data-lang=\"text\"><servicePort1>:<targetPort1>/<protocol>,<servicePort2>:<targetPort2>/<protocol>,....</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>where the <code>targetPort</code> and <code><protocol></code> specification is optional. These ports are overlayed over the ports exposed by the images, in the given order.</p>\n</div>\n<div class=\"paragraph\">\n<p>This is best explained by some examples.</p>\n</div>\n<div class=\"paragraph\">\n<p>For example if you have a pod which exposes a Microservice on port 8080 and you want to expose it as a service on port 80 (so that it can be accessed with <code><a href=\"http://myservice\" class=\"bare\">http://myservice</a></code>) you can simply use the following enricher configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <enricher>\n <config>\n <jkube-service>\n <name>myservice</name>\n <port>80:8080</port> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n </jkube-service>\n </config>\n </enricher>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>80 is the service port, 8080 the port opened in from the pod’s images</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>If your pod <em>exposes</em> their ports (which e.g. all generator do), then you can even omit the 8080 here (i.e. <code><port>80</port></code>).\nIn this case the <em>first</em> port exposed will be mapped to port 80, all other exposed ports will be omitted.</p>\n</div>\n<div class=\"paragraph\">\n<p>By default an automatically generated service only exposes the first port, even when more ports are exposed.\nWhen you want to map multiple ports you need to set the config option <code><multiPort>true</multiPort></code>.\nIn this case you can also provide multiple mappings as a comma separated list in the <code><port></code> specification where each element of the list are the mapping for the first, second, …​ port.</p>\n</div>\n<div class=\"paragraph\">\n<p>A more (and bit artificially constructed) specification could be <code><port>80,9779:9779/udp,443</port></code>.\nAssuming that the image exposes ports <code>8080</code> and <code>8778</code> (either directly or via <a href=\"#generators\">generators</a>) and we have switched on multiport mode, then the following service port mappings will be performed for the automatically generated service:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Pod port 8080 is mapped to service port 80.</p>\n</li>\n<li>\n<p>Pod port 9779 is mapped to service port 9779 with protocol UDP. Note how this second entry overrides the pod exposed port 8778.</p>\n</li>\n<li>\n<p>Pod port 443 is mapped to service port 443.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>This example shows also the mapping rules:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Port specification in <code>port</code> always override the port metadata of the contained Docker images (i.e. the ports exposed)</p>\n</li>\n<li>\n<p>You can always provide a complete mapping with <code>port</code> on your own</p>\n</li>\n<li>\n<p>The ports exposed by the images serve as <em>default values</em> which are used if not specified by this configuration option.</p>\n</li>\n<li>\n<p>You can map ports which are <em>not</em> exposed by the images by specifying them as target ports.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Multiple ports are <strong>only</strong> mapped when <em>multiPort</em> mode is enabled (which is switched off by default). If <em>multiPort</em> mode is disabled, only the first port from the list of mapped ports calculated as above is taken.</p>\n</div>\n<div class=\"paragraph\">\n<p>When you set <code>legacyPortMapping</code> to true than ports 8080 to 9090 are mapped to port 80 automatically if not explicitly mapped via <code><em>port</em></code>. I.e. when an image exposes port 8080 with a legacy mapping this mapped to a service port 80, not 8080. You <em>should not</em> switch this on for any good reason. In fact it might be that this option can vanish anytime.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-image\">jkube-image</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-name\">jkube-name</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-portname\">jkube-portname</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-pod-annotation\">jkube-pod-annotation</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-project-label\">jkube-project-label</h5>\n<div class=\"paragraph\">\n<p>Enricher that adds standard labels and selectors to generated resources (e.g. <code>app</code>, <code>group</code>, <code>provider</code>, <code>version</code>).</p>\n</div>\n<div class=\"paragraph\">\n<p>The <code>jkube-project-label</code> enricher supports the following configuration options:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Option</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>useProjectLabel</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Enable this flag to turn on the generation of the old <code>project</code> label in Kubernetes resources. The <code>project</code> label has\nbeen replaced by the <code>app</code> label in newer versions of the plugin.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-project-label.useProjectLabel</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>The project labels which are already specified in the input fragments are not overridden by the enricher.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-git\">jkube-git</h5>\n<div class=\"paragraph\">\n<p>Enricher that adds info from .git directory as annotations.</p>\n</div>\n<div class=\"paragraph\">\n<p>The git branch & latest commit on the branch are annotated as <code>jkube.io/git-branch</code> & <code>jkube.io/git-commit</code>.\n<code>jkube.io/git-url</code> is annotated as the URL of your configured remote.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Option</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>gitRemote</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Configures the git remote name, whose URL you want to annotate as 'git-url'.</p>\n<p class=\"tableblock\"> Defaults to <code>origin</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-git.gitRemote</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-dependency\">jkube-dependency</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-volume-permission\">jkube-volume-permission</h5>\n<div class=\"paragraph\">\n<p>Enricher which fixes the permission of persistent volume mount with the help of an init container.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-openshift-autotls\">jkube-openshift-autotls</h5>\n<div class=\"paragraph\">\n<p>Enricher which adds appropriate annotations and volumes to enable OpenShift’s automatic\n<a href=\"https://docs.openshift.org/latest/dev_guide/secrets.html#service-serving-certificate-secrets\">Service Serving Certificate Secrets</a>.\nThis enricher adds an init container to convert the service serving certificates from PEM (the format that OpenShift generates them in) to\na JKS-format Java keystore ready for consumption in Java services.</p>\n</div>\n<div class=\"paragraph\">\n<p>This enricher is disabled by default. In order to use it, you must configure the openshift-maven-plugin to use this enricher:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <includes>\n <include>jkube-openshift-autotls</include>\n </includes>\n <config>\n <jkube-openshift-autotls>\n <!-- ... -->\n </jkube-openshift-autotls>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The auto-TLS enricher supports the following configuration options:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tlsSecretName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the secret to be used to store the generated service serving certs.</p>\n<p class=\"tableblock\"> Defaults to <code><project.artifactId>-tls</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.tlsSecretName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tlsSecretVolumeMountPoint</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where the service serving secret should be mounted to in the pod.</p>\n<p class=\"tableblock\"> Defaults to <code>/var/run/secrets/jkube.io/tls-pem</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.tlsSecretName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tlsSecretVolumeName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the secret volume.</p>\n<p class=\"tableblock\"> Defaults to <code>tls-pem</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.tlsSecretVolumeName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>jksVolumeMountPoint</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where the generated keystore volume should be mounted to in the pod.</p>\n<p class=\"tableblock\"> Defaults to <code>/var/run/secrets/jkube.io/tls-jks</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.the</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>jksVolumeName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the keystore volume.</p>\n<p class=\"tableblock\"> Defaults to <code>tls-jks</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.jksVolumeName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pemToJKSInitContainerImage</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the image used as an init container to convert PEM certificate/key to Java keystore.</p>\n<p class=\"tableblock\"> Defaults to <code>jimmidyson/pemtokeystore:v0.1.0</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.pemToJKSInitContainerImage</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pemToJKSInitContainerName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">the name of the init container to convert PEM certificate/key to Java keystore.</p>\n<p class=\"tableblock\"> Defaults to <code>tls-jks-converter</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.pemToJKSInitContainerName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keystoreFileName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the generated keystore file.</p>\n<p class=\"tableblock\"> Defaults to <code>keystore.jks</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.keystoreFileName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keystorePassword</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The password to use for the generated keystore.</p>\n<p class=\"tableblock\"> Defaults to <code>changeit</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.keystorePassword</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keystoreCertAlias</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The alias in the keystore used for the imported service serving certificate.</p>\n<p class=\"tableblock\"> Defaults to <code>server</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.keystoreCertAlias</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-prometheus\">jkube-prometheus</h5>\n<div class=\"paragraph\">\n<p>This enricher adds Prometheus annotation like:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">apiVersion: v1\nkind: List\nitems:\n- apiVersion: v1\n kind: Service\n metadata:\n annotations:\n prometheus.io/scrape: \"true\"\n prometheus.io/port: 9779</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>By default the enricher inspects the images' BuildConfiguration and add the annotations if the port 9779 is listed.\nYou can force the plugin to add annotations by setting enricher’s config <code><code>prometheusPort</code></code></p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-maven-scm-enricher\">jkube-maven-scm-enricher</h5>\n<div class=\"paragraph\">\n<p>This enricher adds additional <a href=\"https://maven.apache.org/pom.html#SCM\">SCM</a> related metadata to all objects supporting annotations.\nThese metadata will be added only if <a href=\"https://maven.apache.org/pom.html#SCM\">SCM</a> information is present in the maven <code>pom.xml</code> of the project.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following annotations will be added to the objects that supports annotations,</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 38. Maven SCM Enrichers Annotation Mapping</caption>\n<colgroup>\n<col style=\"width: 28.5714%;\">\n<col style=\"width: 28.5714%;\">\n<col style=\"width: 42.8572%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Maven SCM Info</th>\n<th class=\"tableblock halign-left valign-top\">Annotation</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scm/connection</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/scm-con-url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The SCM connection that will be used to connect to the project’s SCM</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scm/developerConnection</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/scm-devcon-url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The SCM Developer Connection that will be used to connect to the project’s developer SCM</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scm/tag</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/scm-tag</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The SCM tag that will be used to checkout the sources, like HEAD dev-branch etc.,</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scm/url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/scm-url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The SCM web url that can be used to browse the SCM over web browser</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Lets say you have a maven pom.xml with the following scm information,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><scm>\n <connection>scm:git:git://github.com/jkubeio/kubernetes-maven-plugin.git</connection>\n <developerConnection>scm:git:git://github.com/jkubeio/kubernetes-maven-plugin.git</developerConnection>\n <url>git://github.com/jkubeio/kubernetes-maven-plugin.git</url>\n</scm></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This information will be enriched as annotations in the generated manifest like,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\"># ...\n kind: Service\n metadata:\n annotations\n jkube.io/scm-con-url: \"scm:git:git://github.com/jkubeio/kubernetes-maven-plugin.git\"\n jkube.io/scm-devcon-url: \"scm:git:git://github.com/jkubeio/kubernetes-maven-plugin.git\"\n jkube.io/scm-tag: \"HEAD\"\n jkube.io/scm-url: \"git://github.com/jkubeio/kubernetes-maven-plugin.git\"\n# ...</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-maven-issue-mgmt-enricher\">jkube-maven-issue-mgmt</h5>\n<div class=\"paragraph\">\n<p>This enricher adds additional <a href=\"https://maven.apache.org/pom.html#Issue_Management\">Issue Management</a> related metadata to\nall objects supporting annotations.\nThese metadata will be added only if the <a href=\"https://maven.apache.org/pom.html#Issue_Management\">Issue Management</a>\ninformation is available in the <code>pom.xml</code> of the Maven project.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following annotations will be added to the objects that support these annotations,</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 39. Maven Issue Tracker Enrichers Annotation Mapping</caption>\n<colgroup>\n<col style=\"width: 28.5714%;\">\n<col style=\"width: 28.5714%;\">\n<col style=\"width: 42.8572%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Maven Issue Tracker Info</th>\n<th class=\"tableblock halign-left valign-top\">Annotation</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">issueManagement/system</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/issue-system</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Issue Management system like Bugzilla, JIRA, GitHub etc.,</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">issueManagement/url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/issue-tracker-url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Issue Management url e.g. GitHub Issues Url</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Lets say you have a maven pom.xml with the following issue management information,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><issueManagement>\n <system>GitHub</system>\n <url>https://github.com/reactiverse/vertx-maven-plugin/issues/</url>\n</issueManagement></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This information will be enriched as annotations in the generated manifest like,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\"># ...\n kind: Service\n metadata:\n annotations:\n jkube.io/issue-system: \"GitHub\"\n jkube.io/issue-tracker-url: \"https://github.com/reactiverse/vertx-maven-plugin/issues/\"\n# ...</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-revision-history-enricher\">jkube-revision-history</h5>\n<div class=\"paragraph\">\n<p>This enricher adds <code>spec.revisionHistoryLimit</code> property to deployment spec of Kubernetes/OpenShift resources.\nA deployment’s revision history is stored in the replica sets, that specifies the number of old ReplicaSets to retain in order to allow rollback.\nFor more information read <a href=\"https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit\">Kubernetes documentation</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following configuration parameters can be used to influence the behaviour of this enricher:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 40. Default revision history enricher</caption>\n<colgroup>\n<col style=\"width: 20%;\">\n<col style=\"width: 40%;\">\n<col style=\"width: 40%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>limit</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of revision histories to retain.</p>\n<p class=\"tableblock\"> Defaults to <code>2</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-revision-history.limit</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Just as any other enricher you can specify required properties with in the enricher’s configuration as below,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><!-- ... -->\n<enricher>\n <config>\n <jkube-revision-history>\n <limit>8</limit>\n </jkube-revision-history>\n </config>\n</enricher>\n<!-- ... --></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This information will be enriched as spec property in the generated manifest like,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\"># ...\nkind: Deployment\nspec:\n revisionHistoryLimit: 8\n# ...</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-triggers-annotation\">jkube-triggers-annotation</h5>\n<div class=\"paragraph\">\n<p>This enricher adds ImageStreamTag change triggers on Kubernetes resources that support the <code>image.openshift.io/triggers</code> annotation, such as StatefulSets, ReplicaSets and DaemonSets.</p>\n</div>\n<div class=\"paragraph\">\n<p>The trigger is added to all containers that apply, but can be restricted to a limited set of containers using the following configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><!-- ... -->\n<enricher>\n <config>\n <jkube-triggers-annotation>\n <containers>container-name-1,c2</containers>\n </jkube-triggers-annotation>\n </config>\n</enricher>\n<!-- ... --></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-secret-file\">jkube-secret-file</h5>\n<div class=\"paragraph\">\n<p>This enricher adds Secret defined as file content from an annotation.</p>\n</div>\n<div class=\"paragraph\">\n<p>If you are defining a custom <code>Secret</code> file, you can use an annotation to define a file name as key and its content as the value:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">metadata:\n name: ${project.artifactId}\n annotations:\n maven.jkube.io/secret/application.properties: src/test/resources/test-application.properties</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This creates a <code>Secret</code> data with the key <code>application.properties</code> (part defined after <code>secret</code>) and value content of\n<code>src/test/resources/test-application.properties</code> file (base64 encoded).</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-serviceaccount\">jkube-serviceaccount</h5>\n\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"enrichers-specific\">8.1.2. Specific Enrichers</h4>\n<div class=\"paragraph\">\n<p>Specific enrichers provide resource manifest enhancement for a certain tech stack that they detect.</p>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-karaf\">jkube-healthcheck-karaf</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with Apache Karaf. This requires that\n<code>jkube.karaf-checks</code> has been enabled in the Karaf startup features.</p>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8181</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>failureThreshold = <code>3</code></p>\n</li>\n<li>\n<p>successThreshold = <code>1</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>and use paths <code>/readiness-check</code> for readiness check and <code>/health-check</code> for liveness check.</p>\n</div>\n<div class=\"paragraph\">\n<p>These options cannot be configured.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-spring-boot\">jkube-healthcheck-spring-boot</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with Spring Boot. This requires the following dependency\nhas been enabled in Spring Boot</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><dependency>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-starter-actuator</artifactId>\n</dependency></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will try to discover the settings from the <code>application.properties</code> / <code>application.yaml</code> Spring Boot configuration file.</p>\n</div>\n<div class=\"paragraph\">\n<p>The port number is read from the <code>management.port</code> option, and will use the default value of <code>8080</code>\nThe scheme will use HTTPS if <code>server.ssl.key-store</code> option is in use, and fallback to use <code>HTTP</code> otherwise.</p>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>readinessProbeInitialDelaySeconds</code> : <code>10</code></p>\n</li>\n<li>\n<p><code>readinessProbePeriodSeconds</code> : <em><kubernetes-default></em></p>\n</li>\n<li>\n<p><code>livenessProbeInitialDelaySeconds</code> : <code>180</code></p>\n</li>\n<li>\n<p><code>livenessProbePeriodSeconds</code> : <em><kubernetes-default></em></p>\n</li>\n<li>\n<p><code>timeoutSeconds</code> : <em><kubernetes-default></em></p>\n</li>\n<li>\n<p><code>failureThreshold</code>: <code>3</code></p>\n</li>\n<li>\n<p><code>successThreshold</code>: <code>1</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>openshift-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-spring-boot>\n <timeoutSeconds>5</timeoutSeconds>\n <readinessProbeInitialDelaySeconds>30</readinessProbeInitialDelaySeconds>\n <failureThreshold>3</failureThreshold>\n <successThreshold>1</successThreshold>\n </jkube-healthcheck-spring-boot>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-thorntail-v2\">jkube-healthcheck-thorntail-v2</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with Thorntail v2. This requires the following fraction\nhas been enabled in Thorntail</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><dependency>\n <groupId>io.thorntail</groupId>\n <artifactId>microprofile-health</artifactId>\n</dependency></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8080</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>path = <code>/health</code></p>\n</li>\n<li>\n<p>failureThreshold = <code>3</code></p>\n</li>\n<li>\n<p>successThreshold = <code>1</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>openshift-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-thorntail>\n <port>4444</port>\n <scheme>HTTPS</scheme>\n <path>health/myapp</path>\n <failureThreshold>3</failureThreshold>\n <successThreshold>1</successThreshold>\n </jkube-healthcheck-thorntail>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-vertx\">jkube-healthcheck-vertx</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with Eclipse Vert.x applications.\nThe readiness probe lets Kubernetes detect when the application is ready, while the liveness probe allows Kubernetes to\nverify that the application is still alive.</p>\n</div>\n<div class=\"paragraph\">\n<p>This enricher allows configuring the readiness and liveness probes. The following probe types are supported:\n<code>http</code> (emit HTTP requests), <code>tcp</code> (open a socket), <code>exec</code> (execute a command).</p>\n</div>\n<div class=\"paragraph\">\n<p>By default, this enricher uses the same configuration for liveness and readiness probes. But specific configurations can\nbe provided too. The configurations can be overridden using project’s properties.</p>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_using_the_jkube_healthcheck_vertx_enricher\">Using the jkube-healthcheck-vertx enricher</h6>\n<div class=\"paragraph\">\n<p>The enricher is automatically executed if your project uses the <code>vertx-maven-plugin</code> or depends on <code>io.vertx:vertx-core</code>.\nHowever, by default, no health check will be added to your deployment unless configured explicitly.</p>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_minimal_configuration\">Minimal configuration</h6>\n<div class=\"paragraph\">\n<p>The minimal configuration to add health checks is the following:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-vertx>\n <path>/health</path>\n </jkube-healthcheck-vertx>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>It configures the readiness and liveness health checks using HTTP requests on the port <code>8080</code> (default port) and on the\npath <code>/health</code>. The defaults are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8080</code> (for HTTP)</p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>path = <em>none</em> (disabled)</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>the previous configuration can also be given use project’s properties:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <vertx.health.path>/health</vertx.health.path>\n</properties></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_configuring_differently_the_readiness_and_liveness_health_checks\">Configuring differently the readiness and liveness health checks</h6>\n<div class=\"paragraph\">\n<p>You can provide two different configuration for the readiness and liveness checks:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-vertx>\n <readiness>\n <path>/ready</path>\n </readiness>\n <liveness>\n <path>/health</path>\n </liveness>\n </jkube-healthcheck-vertx>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>You can also use the <code>readiness</code> and <code>liveness</code> chunks in user properties:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <vertx.health.readiness.path>/ready</vertx.health.readiness.path>\n <vertx.health.liveness.path>/ready</vertx.health.liveness.path>\n</properties></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Shared (generic) configuration can be set outside of the specific configuration. For instance, to use the port 8081:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-vertx>\n <port>8081</port>\n <readiness>\n <path>/ready</path>\n </readiness>\n <liveness>\n <path>/health</path>\n </liveness>\n </jkube-healthcheck-vertx>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Or:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <vertx.health.port>8081</vertx.health.port>\n <vertx.health.readiness.path>/ready</vertx.health.readiness.path>\n <vertx.health.liveness.path>/ready</vertx.health.liveness.path>\n</properties></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_configuration_structure\">Configuration Structure</h6>\n<div class=\"paragraph\">\n<p>The configuration is structured as follows</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><config>\n <jkube-healthcheck-vertx>\n <!-- Generic configuration, applied to both liveness and readiness -->\n <path>/both</path>\n <liveness>\n <!-- Specific configuration for the liveness probe -->\n <port-name>ping</port-name>\n </liveness>\n <readiness>\n <!-- Specific configuration for the readiness probe -->\n <port-name>ready</port-name>\n </readiness>\n </jkube-healthcheck-vertx>\n</config></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The same structure is used in project’s properties:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <!-- Generic configuration given as vertx.health.$attribute -->\n <vertx.health.path>/both</vertx.health.path>\n <!-- Specific liveness configuration given as vertx.health.liveness.$attribute -->\n <vertx.health.liveness.port-name>ping</vertx.health.liveness.port-name>\n <!-- Specific readiness configuration given as vertx.health.readiness.$attribute -->\n <vertx.health.readiness.port-name>ready</vertx.health.readiness.port-name>\n</properties></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p><strong>Important</strong>: Project’s plugin configuration override the project’s properties.\nThe overriding rules are:\n<em>specific configuration</em> > <em>specific properties</em> > <em>generic configuration</em> > <em>generic properties</em>.</p>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_probe_configuration\">Probe configuration</h6>\n<div class=\"paragraph\">\n<p>You can configure the different aspects of the probes. These attributes can be configured for both the readiness and\nliveness probes or be specific to one.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 41. Vert.x HealthCheck Enricher probe configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 62.5%;\">\n<col style=\"width: 25%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>type</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The probe type among <code>http</code> (default), <code>tcp</code> and <code>exec</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>http</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.type</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.type</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>initial-delay</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of seconds after the container has started before probes are initiated.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.initial-delay</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.initial-delay</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>period</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">How often (in seconds) to perform the probe.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.period</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.period</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>timeout</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of seconds after which the probe times out.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.timeout</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.timeout</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>success-threshold</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Minimum consecutive successes for the probe to be considered successful after having failed.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.success-threshold</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.success-threshold</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>failure-threshold</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Minimum consecutive failures for the probe to be considered failed after having succeeded.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.failure-threshold</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.failure-threshold</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>More details about probes are available on <a href=\"https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/\" class=\"bare\">https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/</a>.</p>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_http_specific_probe_configuration\">HTTP specific probe configuration</h6>\n<div class=\"paragraph\">\n<p>When using HTTP <code>GET</code> requests to determine readiness or liveness, several aspects can be configured. HTTP probes are used by default. To be more specific set the <code>type</code> attribute to <code>http</code>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 42. Vert.x HealthCheck Enricher HTTP probe configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 62.5%;\">\n<col style=\"width: 25%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>scheme</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Scheme to use for connecting to the host.</p>\n<p class=\"tableblock\"> Defaults to <code>HTTP</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.scheme</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.scheme</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>path</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to access on the HTTP server. An empty path disable the check.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.path</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.path</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>headers</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Custom headers to set in the request. HTTP allows repeated headers. It cannot be configured using project’s properties.\n An example is available below.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.headers</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.headers</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>port</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port number to access the container. A 0 or negative number disables the check.</p>\n<p class=\"tableblock\"> Defaults to <code>8080</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.port</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.port</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>port-name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Name of the port to access on the container. If neither the <code>port</code> nor the <code>port-name</code> is set, the check is disabled.\n If both are set the configuration is considered invalid.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.port-name</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.port-name</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Here is an example of HTTP probe configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><config>\n <jkube-healthcheck-vertx>\n <initialDelay>3</initialDelay>\n <period>3</period>\n <liveness>\n <port>8081</port>\n <path>/ping</path>\n <scheme>HTTPS</scheme>\n <headers>\n <X-Custom-Header>Awesome</X-Custom-Header>\n </headers>\n </liveness>\n <readiness>\n <!-- disable the readiness probe -->\n <port>-1</port>\n </readiness>\n </jkube-healthcheck-vertx>\n</config></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_tcp_specific_probe_configuration\">TCP specific probe configuration</h6>\n<div class=\"paragraph\">\n<p>You can also configure the probes to just open a socket on a specific port. The <code>type</code> attribute must be set to <code>tcp</code>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 43. Vert.x HealthCheck Enricher TCP probe configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 62.5%;\">\n<col style=\"width: 25%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>port</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port number to access the container. A 0 or negative number disables the check.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.port</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.port</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>port-name</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Name of the port to access on the container. If neither the <code>port</code> nor the <code>port-name</code> is set, the check is disabled.\n If both are set the configuration is considered invalid.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.port-name</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.port-name</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>For example:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><config>\n <jkube-healthcheck-vertx>\n <initialDelay>3</initialDelay>\n <period>3</period>\n <liveness>\n <type>tcp</type>\n <port>8081</port>\n </liveness>\n <readiness>\n <!-- use HTTP Get probe -->\n <path>/ping</path>\n <port>8080</port>\n </readiness>\n </jkube-healthcheck-vertx>\n</config></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_exec_probe_configuration\">Exec probe configuration</h6>\n<div class=\"paragraph\">\n<p>You can also configure the probes to execute a command. If the command succeeds, it returns 0, and Kubernetes consider the pod to be alive and healthy. If the command returns a non-zero value, Kubernetes kills the pod and restarts it. To use a command, you must set the <code>type</code> attribute to <code>exec</code>:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><config>\n <jkube-healthcheck-vertx>\n <initialDelay>3</initialDelay>\n <period>3</period>\n <liveness>\n <type>exec</type>\n <command>\n <cmd>cat</cmd>\n <cmd>/tmp/healthy</cmd>\n </command>\n </liveness>\n <readiness>\n <-- use HTTP Get probe -->\n <path>/ping</path>\n <port>8080</port>\n </readiness>\n </jkube-healthcheck-vertx>\n</config></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>As you can see in the snippet above the command is passed using the <code>command</code> attribute. This attribute cannot be\nconfigured using project’s properties. An empty command disables the check.</p>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_disabling_health_checks\">Disabling health checks</h6>\n<div class=\"paragraph\">\n<p>You can disable the checks by setting:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>the <code>port</code> to 0 or to a negative number for <code>http</code> and <code>tcp</code> probes</p>\n</li>\n<li>\n<p>the <code>command</code> to an empty list for <code>exec</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>In the first case, you can use project’s properties to disable them:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><!-- Disables <code>tcp</code> and <code>http</code> probes -->\n<vertx.health.port>-1</vertx.health.port></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>For <code>http</code> probes, an empty or not set <code>path</code> also disable the probe.</p>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-webapp\">jkube-healthcheck-webapp</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with WebApp. This requires that you have <code>maven-war-plugin</code> set.</p>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8080</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>path = ``</p>\n</li>\n<li>\n<p>initialReadinessDelay = 10</p>\n</li>\n<li>\n<p>initialLivenessDelay = 180</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>If <code>path</code> attribute is not set (default value) then this enricher is disabled.</p>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>openshift-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-webapp>\n <path>/</path>\n </jkube-healthcheck-webapp>\n </config>\n </enricher>\n </configuration>\n <!-- ... -->\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-wildfly-swarm\">jkube-healthcheck-wildfly-swarm</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with WildFly Swarm. This requires the following fraction\nhas been enabled in WildFly Swarm</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><dependency>\n <groupId>org.wildfly.swarm</groupId>\n <artifactId>microprofile-health</artifactId>\n</dependency></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8080</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>path = <code>/health</code></p>\n</li>\n<li>\n<p>failureThreshold = <code>3</code></p>\n</li>\n<li>\n<p>successThreshold = <code>1</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>openshift-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-wildfly-swarm>\n <port>4444</port>\n <scheme>HTTPS</scheme>\n <path>health/myapp</path>\n <failureThreshold>3</failureThreshold>\n <successThreshold>1</successThreshold>\n </jkube-healthcheck-wildfly-swarm>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-wildfly-jar\">jkube-healthcheck-wildfly-jar</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes to WildFly JAR applications. Probes depend on the WildFly <em>microprofile-health</em> subsystem\n<em>/health/ready</em> and <em>/health/live</em> endpoints.\nWhen the WildFly Bootable JAR Maven plugin is configured with the <em><cloud></em> configuration item, <em>microprofile_health</em> subsystem\nis enforced in the bootable JAR server configuration.</p>\n</div>\n<div class=\"paragraph\">\n<p>This enricher looks for the <em><cloud></em> configuration item presence in the bootable JAR Maven plugin in order to add health check probes.\nIf <em><cloud></em> item has not been defined, you can still enforce the generation of readiness and liveness probes by setting <em>enforceProbes=true</em>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>9990</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>readinessPath = <code>/health/ready</code></p>\n</li>\n<li>\n<p>livenessPath = <code>/health/live</code></p>\n</li>\n<li>\n<p>livenessInitialDelay = <code>60</code></p>\n</li>\n<li>\n<p>readinessIntialDelay = <code>10</code></p>\n</li>\n<li>\n<p>failureThreshold = <code>3</code></p>\n</li>\n<li>\n<p>successThreshold = <code>1</code></p>\n</li>\n<li>\n<p>enforceProbes = 'false'</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Setting the <code>port</code> to 0 or to a negative number disables liveness and readiness probes.</p>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>openshift-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-wildfly-jar>\n <port>4444</port>\n <scheme>HTTPS</scheme>\n <livenessPath>/myapp/live</livenessPath>\n <failureThreshold>3</failureThreshold>\n <successThreshold>1</successThreshold>\n </jkube-healthcheck-wildfly-jar>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_enricher_api\">8.2. Enricher API</h3>\n<div class=\"paragraph\">\n<p><em>How to write your own enrichers and install them.</em></p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"profiles\">9. Profiles</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Profiles can be used to combine a set of enrichers and generators and to give this combination a referable name.</p>\n</div>\n<div class=\"paragraph\">\n<p>Profiles are defined in YAML. The following example shows a simple profiles which uses only the\n<a href=\"#generator-spring-boot\">Spring Boot generator</a> and some enrichers adding for adding default resources:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Profile Definition</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">- name: my-spring-boot-apps <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n generator: <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n includes:\n - spring-boot\n enricher: <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n includes: <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n # Default Deployment object\n - jkube-controller\n # Add a default service\n - jkube-service\n excludes: <i class=\"conum\" data-value=\"5\"></i><b>(5)</b>\n - jkube-icon\n config: <i class=\"conum\" data-value=\"6\"></i><b>(6)</b>\n jkube-service:\n # Expose service as NodePort\n type: NodePort\n order: 10 <i class=\"conum\" data-value=\"7\"></i><b>(7)</b>\n- name: another-profile\n# ....</code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Profile’s name</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td><a href=\"#generators\">Generators</a> to use</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td><a href=\"#enrichers\">Enrichers</a> to use</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>List of enricher to <strong>include</strong> in that given order</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"5\"></i><b>5</b></td>\n<td>List of enricher to <strong>exclude</strong></td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"6\"></i><b>6</b></td>\n<td>Configuration for services an enrichers</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"7\"></i><b>7</b></td>\n<td>An order which influences the way how profiles with the same name are merged</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>Each <code>profiles.yml</code> has a list of profiles which are defined with these elements:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 44. Profile elements</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Profile name. This plugin comes with a set of <a href=\"#profiles-predefined\">predefined profiles</a>. Those profiles can be\n extended by defining a custom profile with the same name of the profile to extend.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>generator</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of generator definitions. See <a href=\"#generator-enricher-definition\">below</a> for the format of these definitions.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>enricher</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of enrichers definitions. See <a href=\"#generator-enricher-definition\">below</a> for the format of these definitions.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>order</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The order of the profile which is used when profiles of the same name are merged.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"sect2\">\n<h3 id=\"generator-enricher-definition\">9.1. Generator and Enricher definitions</h3>\n<div class=\"paragraph\">\n<p>The definition of generators and enrichers in the profile follows the same format:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 45. Generator and Enericher definition</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>includes</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of generators or enrichers to include. The order in the list determines the order in which the processors are applied.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>excludes</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of generators or enrichers. These have precedences over <em>includes</em> and will exclude a processor even when referenced in an <em>includes</em> sections</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>config</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Configuration for generators or enrichers. This is a map where the keys are the name of the processor to configure and the value is again a map with configuration keys and values specific to the processor. See the documentation of the respective generator or enricher for the available configuration keys.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"profiles-lookup-order\">9.2. Lookup order</h3>\n<div class=\"paragraph\">\n<p>Profiles can be defined externally either directly as a build resource in <code>src/main/jkube/profiles.yml</code> or provided as part of a plugin’s dependency where it is supposed to be included as <code>META-INF/jkube/profiles.yml</code>. Multiple profiles can be include in these <code>profiles.yml</code> descriptors as a list:</p>\n</div>\n<div class=\"paragraph\">\n<p>If a profile is <a href=\"#profiles-using\">used</a> then it is looked up from various places in the following order:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>From the compile and plugin classpath from <code>META-INF/jkube/profiles-default.yml</code>. These files are reserved for profiles defined by this plugin</p>\n</li>\n<li>\n<p>From the compile and plugin classpath from <code>META-INF/jkube/profiles.yml</code>. Use this location for defining your custom profiles which you want to include via dependencies.</p>\n</li>\n<li>\n<p>From the project in <code>src/main/jkube/profiles.yml</code>. The directory can be tuned with the plugin option <code>resourceDir</code> (property: <code>jkube.resourceDir</code>)</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>When multiple profiles of the same name are found, then these profiles are merged. If profile have an order number, then the <em>higher</em> order takes precedences when merging profiles.</p>\n</div>\n<div class=\"paragraph\">\n<p>For <em>includes</em> of the same processors, the processor is moved to the earliest position. E.g consider the following two profiles with the name <code>my-profile</code></p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Profile A</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">name: my-profile\nenricher:\n includes: [ e1, e2 ]</code></pre>\n</div>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Profile B</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">name: my-profile\nenricher:\n includes: [ e3, e1 ]\norder: 10</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>then when merged results in the following profile (when no order is given, it defaults to 0):</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Profile merged</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">name: my-profile\nenricher:\n includes: [ e1, e2, e3 ]\norder: 10</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Profile with the same order number are merged according to the lookup order described above, where the latter profile is supposed to have a higher order.</p>\n</div>\n<div class=\"paragraph\">\n<p>The configuration for enrichers and generators are merged, too, where higher order profiles override configuration values with the same key of lower order profile configuration.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"profiles-using\">9.3. Using Profiles</h3>\n<div class=\"paragraph\">\n<p>Profiles can be selected by defining them in the plugin configuration, by giving a system property or by using\n<a href=\"#profiles-resource-fragments\">special directories</a> in the directory holding the resource fragments.</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Profile used in plugin configuration</div>\n<p>Here is an example how the profile can be used in a plugin configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <configuration>\n <profile>my-spring-boot-apps</profile> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <!-- ... -->\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Name which select the profile from the <code>profiles.yml</code></td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Profile as system property</div>\n<p>Alternatively a profile can be also specified on the command line when calling Maven:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn -Djkube.profile=my-spring-boot-apps oc:build oc:deploy</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If a configuration for enrichers and generators are provided as part of the plugin’s <code><configuration></code> then this takes precedence over any profile specified.</p>\n</div>\n<div id=\"profiles-resource-fragments\" class=\"paragraph\">\n<div class=\"title\">Profiles for resource fragments</div>\n<p>Profiles are also very useful when used together with resource fragments in <code>src/main/jkube</code>. By default the resource objects defined here are enriched with the configured profile (if any). A different profile can be selected easily by using a sub directory within <code>src/main/jkube</code>. The name of each sub directory is interpreted as a profile name and all resource definition files found in this sub directory are enhanced with the enhancers defined in this profile.</p>\n</div>\n<div class=\"paragraph\">\n<p>For example, consider the following directory layout:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>src/main/oc:\n app-rc.yml\n app-svc.yml\n raw/ -->\n couchbase-rc.yml\n couchbase-svc.yml</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Here, the resource descriptors <code>app-rc.yml</code> and <code>app-svc.yml</code> are enhanced with the enrichers defined in the main configuration. The files two files <code>couchbase-rc.yml</code> and <code>couchbase-svc.yml</code> in the sub directory <code>raw/</code> instead are enriched with the profile <strong>raw</strong>. This is a predefined profile which includes no enricher at all, so the couchbase resource objects are not enriched and taken over literally. This is an easy way how you can fine tune enrichment for different object set.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"profiles-predefined\">9.4. Predefined Profiles</h3>\n<div class=\"paragraph\">\n<p>This plugin comes with a list of the following predefined profiles:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 46. Predefined Profiles</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Profile</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>default</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The default profile which is active if no profile is specified. It consists of a curated set of generator and enrichers. See <a href=\"#profiles-default\">below</a> for the current definition.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>minimal</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">This profile contains no generators and only enrichers for adding default objects (controller and services). No other enrichment is included.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>explicit</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Like default but without adding default objects like controllers and services.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>aggregate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Includes no generators and only the <a href=\"#jkube-dependency\">jkube-dependency</a> enricher for picking up and combining resources from the compile time dependencies.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>internal-microservice</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Do not expose a port for the service to generate. Otherwise the same as the <em>default</em> profile.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>osio</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Includes everything in the <em>default</em> profile, plus additional enrichers and generators relevant only to <a href=\"https://openshift.io\">OpenShift.io</a>.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"profiles-extended\">9.5. Extending Profiles</h3>\n<div class=\"paragraph\">\n<p>A profile can also extend another profile to avoid repetition e.g of generators if the profile is only about including certain enrichers. For example, for a profile like:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">- name: minimal\n extends: default\n enricher:\n includes:\n - jkube-name\n - jkube-controller\n - jkube-service\n - jkube-image\n - jkube-project-label\n - jkube-debug\n - jkube-namespace\n - jkube-metadata\n - jkube-controller-from-configuration\n - jkube-openshift-deploymentconfig\n - jkube-openshift-project\n - jkube-openshift-service-expose\n - jkube-openshift-route</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>one then would not need to repeat all generators as they are inherited from the <code>default</code> profile.</p>\n</div>\n<div id=\"profiles-default\" class=\"listingblock\">\n<div class=\"title\">Default Profile</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\"># Default profile which is always activated\n- name: default\n enricher:\n # The order given in \"includes\" is the order in which enrichers are called\n includes:\n - jkube-metadata\n - jkube-name\n - jkube-controller\n - jkube-controller-from-configuration\n - jkube-service\n - jkube-namespace\n - jkube-image\n - jkube-portname\n - jkube-project-label\n - jkube-dependency\n - jkube-pod-annotations\n - jkube-git\n - jkube-maven-scm\n - jkube-serviceaccount\n - jkube-maven-issue-mgmt\n # TODO: Documents and verify enrichers below\n - jkube-debug\n - jkube-remove-build-annotations\n - jkube-volume-permission\n - jkube-configmap-file\n - jkube-secret-file\n\n # Route exposure\n - jkube-openshift-service-expose\n - jkube-openshift-route\n - jkube-openshift-deploymentconfig\n - jkube-openshift-project\n\n # Ingress\n - jkube-ingress\n\n # -----------------------------------------\n # TODO: Document and verify enrichers below\n # Health checks\n - jkube-healthcheck-quarkus\n - jkube-healthcheck-spring-boot\n - jkube-healthcheck-wildfly-swarm\n - jkube-healthcheck-thorntail-v2\n - jkube-healthcheck-wildfly-jar\n - jkube-healthcheck-karaf\n - jkube-healthcheck-vertx\n - jkube-healthcheck-docker\n - jkube-healthcheck-webapp\n - jkube-prometheus\n # Dependencies shouldn't be enriched anymore, therefore it's last in the list\n - jkube-dependency\n - jkube-revision-history\n - jkube-docker-registry-secret\n - jkube-triggers-annotation\n - jkube-openshift-imageChangeTrigger\n\n generator:\n # The order given in \"includes\" is the order in which generators are called\n includes:\n - quarkus\n - spring-boot\n - wildfly-swarm\n - thorntail-v2\n - wildfly-jar\n - openliberty\n - karaf\n - vertx\n - java-exec\n - webapp\n watcher:\n includes:\n - spring-boot\n - docker-image</code></pre>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"access-configuration\">10. Access configuration</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_docker_access\">10.1. Docker Access</h3>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nThis section is work-in-progress and not yet finished\n</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>For Kubernetes builds the openshift-maven-plugin uses the Docker remote API so the URL of your Docker Daemon must be specified. The URL can be specified by the dockerHost or machine configuration, or by the <code>DOCKER_HOST</code> environment variable. If not given</p>\n</div>\n<div class=\"paragraph\">\n<p>The Docker remote API supports communication via SSL and\nauthentication with certificates. The path to the certificates can\nbe specified by the certPath or machine configuration, or by the\n<code>DOCKER_CERT_PATH</code> environment variable.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_openshift_and_kubernetes_access\">10.2. OpenShift and Kubernetes Access</h3>\n<div class=\"paragraph\">\n<p>Plugin reads your <code>kubeconfig</code> file to read your Kubernetes/OpenShift configuration. By default, <code>kubeconfig</code> file is assumed to be either\nin <code>~/.kube/config</code> or using the environment variable <code>KUBECONFIG</code>.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"registry\">11. Registry handling</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Docker uses registries to store images. The registry is typically\nspecified as part of the name. I.e. if the first part (everything\nbefore the first <code>/</code>) contains a dot (<code>.</code>) or colon (<code>:</code>) this part is\ninterpreted as an address (with an optionally port) of a remote\nregistry. This registry (or the default <code>docker.io</code> if no\nregistry is given) is used during push and pull operations. This\nplugin follows the same semantics, so if an image name is specified\nwith a registry part, this registry is contacted. Authentication is\nexplained in the next <a href=\"#authentication\">section</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>There are some situations however where you want to have more\nflexibility for specifying a remote registry. This might be because\nyou do not want to hard code a registry into <code>pom.xml</code> but\nprovide it from the outside with an environment variable or a system\nproperty.</p>\n</div>\n<div class=\"paragraph\">\n<p>This plugin supports various ways of specifying a registry:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If the image name contains a registry part, this registry is used\nunconditionally and can not be overwritten from the outside.</p>\n</li>\n<li>\n<p>If an image name doesn’t contain a registry, then by default the\ndefault Docker registry <code>docker.io</code> is used for push and pull\noperations. But this can be overwritten through various means:</p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If the <code><image></code> configuration contains a <code><registry></code> subelement\nthis registry is used.</p>\n</li>\n<li>\n<p>Otherwise, a global configuration element <code><registry></code> is\nevaluated which can be also provided as system property via\n<code>-Djkube.docker.registry</code>.</p>\n</li>\n<li>\n<p>Finally an environment variable <code>DOCKER_REGISTRY</code> is looked up for\ndetecting a registry.</p>\n</li>\n</ul>\n</div>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>This registry is used for pulling (i.e. for autopull the base image\nwhen doing a <code>oc:build</code>) and pushing with <code>oc:push</code>. However,\nwhen these two goals are combined on the command line like in <code>mvn\n-Djkube.docker.registry=myregistry:5000 package oc:build oc:push</code>\nthe same registry is used for both operation. For a more fine grained\ncontrol, separate registries for <em>pull</em> and <em>push</em> can be specified.</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>In the plugin’s configuration with the parameters <code><pullRegistry></code> and\n<code><pushRegistry></code>, respectively.</p>\n</li>\n<li>\n<p>With the system properties <code>jkube.docker.pull.registry</code> and\n<code>jkube.docker.push.registry</code>, respectively.</p>\n</li>\n</ul>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <registry>docker.jolokia.org:443</registry>\n <images>\n <image>\n <!-- Without an explicit registry ... -->\n <name>jolokia/jolokia-java</name>\n <!-- ... hence use this registry -->\n <registry>docker.ro14nd.de</registry>\n <!-- ... -->\n </image>\n <image>\n <name>postgresql</name>\n <!-- No registry in the name, hence use the globally\n configured docker.jolokia.org:443 as registry -->\n <!-- ... -->\n </image>\n <image>\n <!-- Explicitly specified always wins -->\n <name>docker.example.com:5000/another/server</name>\n </image>\n </images>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>There is some special behaviour when using an externally provided\nregistry like described above:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>When <em>pulling</em>, the image pulled will be also tagged with a repository\nname <strong>without</strong> registry. The reasoning behind this is that this\nimage then can be referenced also by the configuration when the\nregistry is not specified anymore explicitly.</p>\n</li>\n<li>\n<p>When <em>pushing</em> a local image, temporarily a tag including the\nregistry is added and removed after the push. This is required\nbecause Docker can only push registry-named images.</p>\n</li>\n</ul>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"authentication\">12. Authentication</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>When pulling (via the <code>autoPull</code> mode of <code>oc:start</code>) or pushing image, it\nmight be necessary to authenticate against a Docker registry.</p>\n</div>\n<div class=\"paragraph\">\n<p>There are five different locations searched for credentials. In order, these are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Providing system properties <code>jkube.docker.username</code> and <code>jkube.docker.password</code> from the outside.</p>\n</li>\n<li>\n<p>Using a <code><authConfig></code> section in the plugin configuration with <code><username></code> and <code><password></code> elements.</p>\n</li>\n<li>\n<p>Using OpenShift configuration in <code>~/.config/kube</code></p>\n</li>\n<li>\n<p>Using a <code><server></code> configuration in <code>~/.m2/settings.xml</code></p>\n</li>\n<li>\n<p>Login into a registry with <code>docker login</code> (credentials in a credential helper or in <code>~/.docker/config.json</code>)</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Using the username and password directly in the <code>pom.xml</code> is not\nrecommended since this is widely visible. This is the easiest and\ntransparent way, though. Using an <code><authConfig></code> is straight forward:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <configuration>\n <image>consol/tomcat-7.0</image>\n <!-- ... -->\n <authConfig>\n <username>jolokia</username>\n <password>s!cr!t</password>\n </authConfig>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The system property provided credentials are a good compromise when\nusing CI servers like Jenkins. You simply provide the credentials from\nthe outside:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn -Djkube.docker.username=jolokia -Djkube.docker.password=s!cr!t oc:push</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The most <em>mavenish</em> way is to add a server to the Maven settings file <code>~/.m2/settings.xml</code>:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><servers>\n <server>\n <id>docker.io</id>\n <username>jolokia</username>\n <password>s!cr!t</password>\n </server>\n <!-- ... -->\n</servers></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The server id must specify the registry to push to/pull from, which by\ndefault is central index <code>docker.io</code> (or <code>index.docker.io</code> / <code>registry.hub.docker.com</code> as fallbacks).\nHere you should add your docker.io account for your repositories. If you have multiple accounts\nfor the same registry, the second user can be specified as part of the ID. In the example above, if you\nhave a second account 'jkubeio' then use an <code><id>docker.org.eclipse.jkubeio</id></code> for this second entry. I.e. add the\nusername with a slash to the id name. The default without username is only taken if no server entry with\na username appended id is chosen.</p>\n</div>\n<div class=\"paragraph\">\n<p>The most <em>secure</em> way is to rely on docker’s credential store or credential helper and read confidential information\nfrom an external credentials store, such as the native keychain of the operating system. Follow the instruction on\n<a href=\"https://docs.docker.com/engine/reference/commandline/login/#credentials-store\">the docker login documentation</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>As a final fallback, this plugin consults <code>$DOCKER_CONFIG/config.json</code> if <code>DOCKER_CONFIG</code> is set, or <code>~/.docker/config.json</code> if not, and reads credentials stored directly within this\nfile. This unsafe behavior happened when connecting to a registry with the command <code>docker login</code> from the command line\nwith older versions of docker (pre 1.13.0) or when docker is not configured to use a\n<a href=\"https://docs.docker.com/engine/reference/commandline/login/#credentials-store\">credential store</a>.</p>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_pull_vs_push_authentication\">12.1. Pull vs. Push Authentication</h3>\n<div class=\"paragraph\">\n<p>The credentials lookup described above is valid for both push and\npull operations. In order to narrow things down, credentials can be\nprovided for pull or push operations alone:</p>\n</div>\n<div class=\"paragraph\">\n<p>In an <code><authConfig></code> section a sub-section <code><pull></code> and/or <code><push></code>\ncan be added. In the example below the credentials provider are only\nused for image push operations:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <configuration>\n <image>consol/tomcat-7.0</image>\n <!-- ... -->\n <authConfig>\n <push>\n <username>jolokia</username>\n <password>s!cr!t</password>\n </push>\n </authConfig>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>When the credentials are given on the command line as system\nproperties, then the properties <code>jkube.docker.pull.username</code> /\n<code>jkube.docker.pull.password</code> and <code>jkube.docker.push.username</code> /\n<code>jkube.docker.push.password</code> are used for pull and push operations,\nrespectively (when given). Either way, the standard lookup algorithm\nas described in the previous section is used as fallback.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_openshift_authentication\">12.2. OpenShift Authentication</h3>\n<div class=\"paragraph\">\n<p>When working with the default registry in OpenShift, the credentials\nto authenticate are the OpenShift username and access token. So, a\ntypical interaction with the OpenShift registry from the outside is:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>oc login\n...\nmvn -Djkube.docker.registry=docker-registry.domain.com:80/default/myimage \\\n -Djkube.docker.username=$(oc whoami) \\\n -Djkube.docker.password=$(oc whoami -t)</pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>(note, that the image’s username part (\"default\" here\") must\ncorrespond to an OpenShift project with the same name to which you\ncurrently connected account has access).</p>\n</div>\n<div class=\"paragraph\">\n<p>This can be simplified by using the system property\n<code>docker.useOpenShiftAuth</code> in which case the plugin does the\nlookup. The equivalent to the example above is</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>oc login\n...\nmvn -Ddocker.registry=docker-registry.domain.com:80/default/myimage \\\n -Ddocker.useOpenShiftAuth</pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Alternatively the configuration option <code><useOpenShiftAuth></code> can be\nadded to the <code><authConfig></code> section.</p>\n</div>\n<div class=\"paragraph\">\n<p>For dedicated <em>pull</em> and <em>push</em> configuration the system properties\n<code>jkube.docker.pull.useOpenShiftAuth</code> and <code>jkube.docker.push.useOpenShiftAuth</code> are\navailable as well as the configuration option <code><useOpenShiftAuth></code> in\nan <code><pull></code> or <code><push></code> section within the <code><authConfig></code>\nconfiguration.</p>\n</div>\n<div class=\"paragraph\">\n<p>If <code>useOpenShiftAuth</code> is enabled then the OpenShift Konfiguration will be looked up in <code>$KUBECONFIG</code> or, if this environment variable is not set, in <code>~/.kube/config</code>.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"password-encryption\">12.3. Password encryption</h3>\n<div class=\"paragraph\">\n<p>Regardless of which mode you choose you can encrypt password as described\nin the\n<a href=\"http://maven.apache.org/guides/mini/guide-encryption.html\">Maven documentation</a>. Assuming\nthat you have setup a <em>master password</em> in\n<code>~/.m2/security-settings.xml</code> you can create easily encrypt\npasswords:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-bash\" data-lang=\"bash\">$ mvn --encrypt-password\nPassword:\n{QJ6wvuEfacMHklqsmrtrn1/ClOLqLm8hB7yUL23KOKo=}</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This password then can be used in <code>authConfig</code>, <code>docker.password</code>\nand/or the <code><server></code> setting configuration. However, putting an\nencrypted password into <code>authConfig</code> in the <code>pom.xml</code> doesn’t make\nmuch sense, since this password is encrypted with an individual master\npassword.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"extended-authentication\">12.4. Extended Authentication</h3>\n<div class=\"paragraph\">\n<p>Some docker registries require additional steps to authenticate.\n<a href=\"https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_GetStarted.html\">Amazon ECR</a> requires using an IAM access key to obtain temporary docker login credentials.\nThe <code>openshift-maven-plugin:push</code> and <code>openshift-maven-plugin:pull</code> goals automatically execute this exchange for any registry of the form\n<em><awsAccountId></em> <strong>.dkr.ecr.</strong> <em><awsRegion></em> <strong>.amazonaws.com</strong>, unless the <code>skipExtendedAuth</code> configuration\n(<code>jkube.docker.skip.extendedAuth</code> property) is set true.</p>\n</div>\n<div class=\"paragraph\">\n<p>Note that for an ECR repository with URI <code>123456789012.dkr.ecr.eu-west-1.amazonaws.com/example/image</code> the d-m-p’s <code>jkube.docker.registry</code> should be set to <code>123456789012.dkr.ecr.eu-west-1.amazonaws.com</code> and <code>example/image</code> is the <code><name></code> of the image.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can use any IAM access key with the necessary permissions in any of the locations mentioned above except <code>~/.docker/config.json</code>.\nUse the IAM <strong>Access key ID</strong> as the username and the <strong>Secret access key</strong> as the password.\nIn case you’re using temporary security credentials provided by the AWS Security Token Service (AWS STS), you have to provide the <strong>security token</strong> as well.\nTo do so, either specify the <code>docker.authToken</code> system property or provide an <code><auth></code> element alongside username & password in the <code>authConfig</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>In case you are running on an EC2 instance that has an appropriate IAM role assigned\n(e.g. a role that grants the AWS built-in policy <em>AmazonEC2ContainerRegistryPowerUser</em>)\nauthentication information doesn’t need to be provided at all. Instead the instance\nmeta-data service is queried for temporary access credentials supplied by the\nassigned role.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"volume-configuration\">13. Volume Configuration</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>openshift-maven-plugin supports volume configuration in XML format in pom.xml. These are the volume types which are supported:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 47. Supported Volume Types</caption>\n<colgroup>\n<col style=\"width: 4.3478%;\">\n<col style=\"width: 95.6522%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Volume Type</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">hostPath</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts a file or directory from the host node’s filesystem into your pod</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">emptyDir</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Containers in the Pod can all read and write the same files in the emptyDir volume, though that volume can be mounted at the same or different paths in each Container. When a Pod is removed from a node for any reason, the data in the emptyDir is deleted forever.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">gitRepo</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">It mounts an empty directory and clones a git repository into it for your Pod to use.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">secret</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">It is used to pass sensitive information, such as passwords, to Pods.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">nfsPath</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows an existing NFS(Network File System) share to be mounted into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">gcePdName</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts a Google Compute Engine(GCE) into your Pod. You must create PD using <code>gcloud</code> or GCE API or UI before you can use it.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">glusterFsPath</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows a Glusterfs (an open source networked filesystem) volume to be mounted into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">persistentVolumeClaim</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Used to mount a PersistentVolume into a Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">awsElasticBlockStore</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts an Amazon Web Services(AWS) EBS Volume into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">azureDisk</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts a Microsoft Azure Data Disk into a Pod</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">azureFile</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts a Microsoft Azure File Volume(SMB 2.1 and 3.0 into a Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">cephfs</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows an existing CephFS volume to be mounted into your Pod. You must have your own Ceph server running with the share exported before you can use it.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">fc</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows existing fibre channel volume to be mounted in a Pod. You must configure FC SAN Zoning to allocate and mask those LUNs (volumes) to the target WWNs beforehand so that Kubernetes hosts can access them.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">flocker</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Flocker is an open source clustered Container data volume manager. A <code>flocker</code> volume allows a Flocker dataset to be mounted into a Pod. You must have your own Flocker installation running before you can use it.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">iscsi</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows an existing ISCSI(SCSI over IP) volume to be mounted into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">portworxVolume</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A portworxVolume is an elastic block storage layer that runs hyperconverged with Kubernetes.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">quobyte</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows existing <code>Quobyte</code> volume to be mounted into your Pod. You must have your own Quobyte setup running the volumes created.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">rbd</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows a Rados Block Device volume to be mounted into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scaleIO</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ScaleIO is a software-based storage platform that can use existing hardware to create clusters of scalable shared block networked storage. The scaleIO volume plugin allows deployed Pods to access existing ScaleIO volumes.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">storageOS</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A storageos volume allows an existing StorageOS volume to be mounted into your Pod. You must run the StorageOS container on each node that wants to access StorageOS volumes</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">vsphereVolume</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Used to mount a vSphere VMDK volume into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">downwardAPI</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A downwardAPI volume is used to make downward API data available to applications. It mounts a directory and writes the requested data in plain text files.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"integrations\">14. Integrations</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"integrations.dekorate\">14.1. Dekorate</h3>\n<div class=\"paragraph\">\n<p><strong>openshift-maven-plugin</strong> provides a Zero Configuration approach to delegate deployment manifests\ngeneration to <a href=\"https://github.com/dekorateio/dekorate\">Dekorate</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Just by adding a dependency to Dekorate library in the <code>pom.xml</code> file, all manifest\ngeneration will be delegated to Dekorate.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"> <dependencies>\n <!-- ... -->\n <dependency>\n <groupId>io.dekorate</groupId>\n <artifactId>option-annotations</artifactId>\n <version>${dekorate.version}</version>\n </dependency>\n <dependency>\n <groupId>io.dekorate</groupId>\n <artifactId>openshift-annotations</artifactId>\n <version>${dekorate.version}</version>\n </dependency>\n <dependency>\n <groupId>io.dekorate</groupId>\n <artifactId>kubernetes-annotations</artifactId>\n <version>${dekorate.version}</version>\n </dependency>\n <dependency>\n <groupId>io.dekorate</groupId>\n <artifactId>dekorate-spring-boot</artifactId>\n <version>${dekorate.version}</version>\n </dependency>\n </dependencies></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>A full example of the integration can be found in the directory\n<a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/spring-boot-dekorate\">quickstarts/maven/spring-boot-dekorate</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>An <strong>experimental</strong> feature is also provided to merge resources generated both by <strong>openshift-maven-plugin</strong>\nand Dekorate. You can activate this feature by using the following flag <code>-Djkube.mergeWithDekorate</code>\nin the command-line, or setting it up as a property (<code><jkube.mergeWithDekorate>true</jkube.mergeWithDekorate></code>).</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_jib_java_image_builder\">14.2. JIB (Java Image Builder)</h3>\n<div class=\"paragraph\">\n<p><strong>openshift-maven-plugin</strong> also provides user an option to build container images without having access to any docker daemon.\nYou just need to set <code>jkube.build.strategy</code> property to <code>jib</code>. It will delegate the build process to\n<a href=\"https://github.com/GoogleContainerTools/jib\">JIB</a>. It creates a tarball inside your target directory which can be loaded\ninto any docker daemon afterwards. You may also push the image to your specified registry using push goal with feature flag enabled.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can find more details at <a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/spring-boot-with-jib\">Spring Boot JIB Quickstart</a>.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"faq\">15. FAQ</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_general_questions\">15.1. General questions</h3>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_define_an_environment_variable\">15.1.1. How do I define an environment variable?</h4>\n<div class=\"paragraph\">\n<p>The easiest way is to add a <code>src/main/jkube/deployment.yml</code> file to your project containing something like:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n template:\n spec:\n containers:\n -env:\n - name: FOO\n value: bar</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The above will generate an environment variable <code>$FOO</code> of value <code>bar</code></p>\n</div>\n<div class=\"paragraph\">\n<p>For a full list of the environments used in java base images, <a href=\"https://hub.docker.com/r/jkube.java-jboss-openjdk8-jdk\">see this list</a></p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_define_a_system_property\">15.1.2. How do I define a system property?</h4>\n<div class=\"paragraph\">\n<p>The simplest way is to add system properties to the <code>JAVA_OPTIONS</code> environment variable.</p>\n</div>\n<div class=\"paragraph\">\n<p>For a full list of the environments used in java base images, <a href=\"https://hub.docker.com/r/jkube.java-jboss-openjdk8-jdk\">see this list</a></p>\n</div>\n<div class=\"paragraph\">\n<p>e.g. add a <code>src/main/jkube/deployment.yml</code> file to your project containing something like:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n template:\n spec:\n containers:\n - env:\n - name: JAVA_OPTIONS\n value: \"-Dfoo=bar -Dxyz=abc\"</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The above will define the system properties <code>foo=bar</code> and <code>xyz=abc</code></p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_mount_a_config_file_from_a_configmap\">15.1.3. How do I mount a config file from a ConfigMap?</h4>\n<div class=\"paragraph\">\n<p>First you need to create your <code>ConfigMap</code> resource via a file <code>src/main/jkube/configmap.yml</code></p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">data:\n application.properties: |\n # spring application properties file\n welcome = Hello from Kubernetes ConfigMap!!!\n dummy = some value</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then mount the entry in the <code>ConfigMap</code> into your <code>Deployment</code> via a file <code>src/main/jkube/deployment.yml</code></p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">metadata:\n annotations:\n configmap.jkube.io/update-on-change: ${project.artifactId}\nspec:\n replicas: 1\n template:\n spec:\n volumes:\n - name: config\n configMap:\n name: ${project.artifactId}\n items:\n - key: application.properties\n path: application.properties\n containers:\n - volumeMounts:\n - name: config\n mountPath: /deployments/config</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Here is <a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/external-resources\">an example quickstart doing this</a></p>\n</div>\n<div class=\"paragraph\">\n<p>Note that the annotation <code>configmap.jkube.io/update-on-change</code> is optional; its used if your application is not capable\nof watching for changes in the <code>/deployments/config/application.properties</code> file. In this case if you are also running\nthe <a href=\"https://github.com/fabric8io/configmapcontroller\">configmapcontroller</a> then this will cause a rolling upgrade of your\napplication to use the new <code>ConfigMap</code> contents as you change it.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_use_a_persistent_volume\">15.1.4. How do I use a Persistent Volume?</h4>\n<div class=\"paragraph\">\n<p>First you need to create your <code>PersistentVolumeClaim</code> resource via a file <code>src/main/jkube/foo-pvc.yml</code> where <code>foo</code> is the name of the <code>PersistentVolumeClaim</code>. It might be your app requires multiple vpersistent volumes so you will need multiple <code>PersistentVolumeClaim</code> resources.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 100Mi</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then to mount the <code>PersistentVolumeClaim</code> into your <code>Deployment</code> create a file <code>src/main/jkube/deployment.yml</code></p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n template:\n spec:\n volumes:\n - name: foo\n persistentVolumeClaim:\n claimName: foo\n containers:\n - volumeMounts:\n - mountPath: /whatnot\n name: foo</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Where the above defines the <code>PersistentVolumeClaim</code> called <code>foo</code> which is then mounted into the container at <code>/whatnot</code></p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_generate_ingress_for_my_generated_service\">15.1.5. How do I generate Ingress for my generated Service?</h4>\n<div class=\"paragraph\">\n<p><code>Ingress</code> generation is supported by Eclipse JKube for <code>Service</code> objects of type <code>LoadBalancer</code>. In order to generate <code>Ingress</code> you need to enable <code>jkube.createExternalUrls</code> property to <code>true</code> and <code>jkube.domain</code> property to desired host suffix, it would be appended to your service name for host value. You can also also provide a host for it in XML config like this:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n\n <configuration>\n <resources>\n <routeDomain>org.eclipse.jkube</routeDomain>\n </resources>\n\n <enricher>\n <config>\n <jkube-service>\n <type>LoadBalancer</type>\n </jkube-service>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>You can find an example in our <a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/spring-boot\">spring-boot</a> quickstart in <code>kubernetes-with-ingress</code> profile.</p>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"appendix\">16. Appendix</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_kindfilename_type_mapping\">16.1. Kind/Filename Type Mapping</h3>\n<table id=\"appendix-kind-mapping\" class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 50%;\">\n<col style=\"width: 50%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Kind</th>\n<th class=\"tableblock halign-left valign-top\">Filename Type</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">BuildConfig</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>bc</code>, <code>buildconfig</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ClusterRole</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>cr</code>, <code>crole</code>, <code>clusterrole</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ConfigMap</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>cm</code>, <code>configmap</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ClusterRoleBinding</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>crb</code>, <code>clusterrb</code>, <code>clusterrolebinding</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">CronJob</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>cj</code>, <code>cronjob</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">CustomResourceDefinition</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>crd</code>, <code>customerresourcedefinition</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">DaemonSet</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>ds</code>, <code>daemonset</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Deployment</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>deployment</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">DeploymentConfig</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>dc</code>, <code>deploymentconfig</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ImageStream</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>is</code>, <code>imagestream</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ImageStreamTag</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>istag</code>, <code>imagestreamtag</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Ingress</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>ingress</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Job</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>job</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">LimitRange</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>lr</code>, <code>limitrange</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Namespace</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>ns</code>, <code>namespace</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OAuthClient</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>oauthclient</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">PolicyBinding</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pb</code>, <code>policybinding</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">PersistentVolume</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pv</code>, <code>persistentvolume</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">PersistentVolumeClaim</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pvc</code>, <code>persistemtvolumeclaim</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Project</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>project</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ProjectRequest</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pr</code>, <code>projectrequest</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ReplicaSet</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rs</code>, <code>replicaset</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ReplicationController</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rc</code>, <code>replicationcontroller</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ResourceQuota</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rq</code>, <code>resourcequota</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Role</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>role</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">RoleBinding</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rb</code>, <code>rolebinding</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">RoleBindingRestriction</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rbr</code>, <code>rolebindingrestriction</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Route</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>route</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Secret</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>secret</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Service</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>svc</code>, <code>service</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ServiceAccount</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>sa</code>, <code>serviceaccount</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">StatefulSet</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>statefulset</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Template</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>template</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Pod</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pd</code>, <code>pod</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_custom_kindfilename_mapping\">16.2. Custom Kind/Filename Mapping</h3>\n<div class=\"paragraph\">\n<p>You can add your custom <code>Kind/Filename</code> mappings.\nTo do it you have two approaches:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Setting an environment variable or system property called <code>jkube.mapping</code> pointing out to a <code>.properties</code> files with pairs <code><kind>⇒filename1>, <filename2></code>\nBy default if no environment variable nor system property is set, scan for a file located at classpath <code>/META-INF/jkube.kind-filename-type-mapping-default.properties</code>.</p>\n</li>\n<li>\n<p>By embedding in MOJO configuration the mapping:</p>\n</li>\n</ul>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <configuration>\n <mappings>\n <mapping>\n <kind>Var</kind>\n <filenameTypes>foo, bar</filenameTypes>\n </mapping>\n </mappings>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n</div>\n</div>","document":{"title":"org.eclipse.jkube/openshift-maven-plugin","subtitle":""}}},"pageContext":{"id":"c6e0e68d-58c2-50f9-a0f5-8c4e1ba2b485","langKey":"en"}}}
\ No newline at end of file
+{"componentChunkName":"component---src-templates-doc-jsx","path":"/docs/openshift-maven-plugin","result":{"data":{"asciidocCopy":{"html":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>© 2020 The original authors.</p>\n</div>\n<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\" class=\"title\">openshift-maven-plugin</div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#introduction\">1. Introduction</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#building-images\">1.1. Building Images</a></li>\n<li><a href=\"#resource-descriptors\">1.2. Kubernetes Resources</a></li>\n<li><a href=\"#_configuration\">1.3. Configuration</a></li>\n<li><a href=\"#_examples\">1.4. Examples</a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#zero-config\">1.4.1. Zero-Config</a></li>\n<li><a href=\"#_xml_configuration\">1.4.2. XML Configuration</a></li>\n<li><a href=\"#_resource_fragments\">1.4.3. Resource Fragments</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a href=\"#compatibility-with-OpenShift\">2. Compatibility with OpenShift</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#openshift-compatibility\">2.1. OpenShift Compatibility</a></li>\n</ul>\n</li>\n<li><a href=\"#installation\">3. Installation</a></li>\n<li><a href=\"#goals\">4. Goals Overview</a></li>\n<li><a href=\"#goals-overview-build\">5. Build Goals</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#jkube:resource\">5.1. <strong>oc:resource</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#resource-labels-annotations\">5.1.1. Labels and Annotations</a></li>\n<li><a href=\"#resource-secrets\">5.1.2. Secrets</a></li>\n<li><a href=\"#resource-validation\">5.1.3. Resource Validation</a></li>\n<li><a href=\"#resource-route-generation\">5.1.4. Route Generation</a></li>\n<li><a href=\"#Supported-Properties-Resource\">5.1.5. Supported Properties for Resource goal</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:build\">5.2. <strong>oc:build</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#build-kubernetes\">5.2.1. Kubernetes Build</a></li>\n<li><a href=\"#build-openshift\">5.2.2. OpenShift Build</a></li>\n<li><a href=\"#build-goal-configuration\">5.2.3. Configuration (XML)</a></li>\n<li><a href=\"#_kubernetes_access_configuration\">5.2.4. Kubernetes Access Configuration</a></li>\n<li><a href=\"#_image_configuration\">5.2.5. Image Configuration</a></li>\n<li><a href=\"#build-configuration\">5.2.6. Build Configuration</a></li>\n<li><a href=\"#build-assembly\">5.2.7. Assembly</a></li>\n<li><a href=\"#misc-env\">5.2.8. Environment and Labels</a></li>\n<li><a href=\"#misc-startup\">5.2.9. Startup Arguments</a></li>\n<li><a href=\"#build-buildargs\">5.2.10. Build Args</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:push\">5.3. <strong>oc:push</strong></a></li>\n<li><a href=\"#jkube:apply\">5.4. <strong>oc:apply</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#Supported-Properties-Apply\">5.4.1. Supported Properties For Apply goal</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:helm\">5.5. <strong>oc:helm</strong></a></li>\n</ul>\n</li>\n<li><a href=\"#goals-overview-develop\">6. Development Goals</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#jkube:deploy\">6.1. <strong>oc:deploy</strong></a></li>\n<li><a href=\"#jkube:undeploy\">6.2. <strong>oc:undeploy</strong></a></li>\n<li><a href=\"#jkube:log\">6.3. <strong>oc:log</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#Supported-Properties-Log\">6.3.1. Supported Properties for Log goal</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:debug\">6.4. <strong>oc:debug</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#_speeding_up_debugging\">6.4.1. Speeding up debugging</a></li>\n<li><a href=\"#_debugging_with_suspension\">6.4.2. Debugging with suspension</a></li>\n<li><a href=\"#Supported-Properties-Debug\">6.4.3. Supported Properties For Debug Goal</a></li>\n</ul>\n</li>\n<li><a href=\"#jkube:watch\">6.5. <strong>oc:watch</strong></a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#watcher-spring-boot\">6.5.1. Spring Boot</a></li>\n<li><a href=\"#watcher-docker-image\">6.5.2. Docker Image</a></li>\n<li><a href=\"#Supported-Properties-Watch\">6.5.3. Supported Properties for Watch goal</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a href=\"#generators\">7. Generators</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#generators-default\">7.1. Default Generators</a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#generator-java-exec\">7.1.1. Java Applications</a></li>\n<li><a href=\"#generator-spring-boot\">7.1.2. Spring Boot</a></li>\n<li><a href=\"#generator-wildfly-swarm\">7.1.3. Wildfly Swarm</a></li>\n<li><a href=\"#generator-thorntail-v2\">7.1.4. Thorntail v2</a></li>\n<li><a href=\"#generator-vertx\">7.1.5. Vert.x</a></li>\n<li><a href=\"#generator-karaf\">7.1.6. Karaf</a></li>\n<li><a href=\"#generator-webapp\">7.1.7. Web Applications</a></li>\n<li><a href=\"#generator-quarkus\">7.1.8. Quarkus</a></li>\n<li><a href=\"#generator-openliberty\">7.1.9. Open Liberty</a></li>\n<li><a href=\"#generator-wildfly-jar\">7.1.10. Wildfly JAR Generator</a></li>\n</ul>\n</li>\n<li><a href=\"#generators-api\">7.2. Generator API</a></li>\n</ul>\n</li>\n<li><a href=\"#enrichers\">8. Enrichers</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#enrichers-default\">8.1. Default Enrichers</a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#enrichers-generic\">8.1.1. Generic Enrichers</a></li>\n<li><a href=\"#enrichers-specific\">8.1.2. Specific Enrichers</a></li>\n</ul>\n</li>\n<li><a href=\"#_enricher_api\">8.2. Enricher API</a></li>\n</ul>\n</li>\n<li><a href=\"#profiles\">9. Profiles</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#generator-enricher-definition\">9.1. Generator and Enricher definitions</a></li>\n<li><a href=\"#profiles-lookup-order\">9.2. Lookup order</a></li>\n<li><a href=\"#profiles-using\">9.3. Using Profiles</a></li>\n<li><a href=\"#profiles-predefined\">9.4. Predefined Profiles</a></li>\n<li><a href=\"#profiles-extended\">9.5. Extending Profiles</a></li>\n</ul>\n</li>\n<li><a href=\"#access-configuration\">10. Access configuration</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_docker_access\">10.1. Docker Access</a></li>\n<li><a href=\"#_openshift_and_kubernetes_access\">10.2. OpenShift and Kubernetes Access</a></li>\n</ul>\n</li>\n<li><a href=\"#registry\">11. Registry handling</a></li>\n<li><a href=\"#authentication\">12. Authentication</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_pull_vs_push_authentication\">12.1. Pull vs. Push Authentication</a></li>\n<li><a href=\"#_openshift_authentication\">12.2. OpenShift Authentication</a></li>\n<li><a href=\"#password-encryption\">12.3. Password encryption</a></li>\n<li><a href=\"#extended-authentication\">12.4. Extended Authentication</a></li>\n</ul>\n</li>\n<li><a href=\"#volume-configuration\">13. Volume Configuration</a></li>\n<li><a href=\"#integrations\">14. Integrations</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#integrations.dekorate\">14.1. Dekorate</a></li>\n<li><a href=\"#_jib_java_image_builder\">14.2. JIB (Java Image Builder)</a></li>\n</ul>\n</li>\n<li><a href=\"#faq\">15. FAQ</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_general_questions\">15.1. General questions</a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#_how_do_i_define_an_environment_variable\">15.1.1. How do I define an environment variable?</a></li>\n<li><a href=\"#_how_do_i_define_a_system_property\">15.1.2. How do I define a system property?</a></li>\n<li><a href=\"#_how_do_i_mount_a_config_file_from_a_configmap\">15.1.3. How do I mount a config file from a ConfigMap?</a></li>\n<li><a href=\"#_how_do_i_use_a_persistent_volume\">15.1.4. How do I use a Persistent Volume?</a></li>\n<li><a href=\"#_how_do_i_generate_ingress_for_my_generated_service\">15.1.5. How do I generate Ingress for my generated Service?</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a href=\"#appendix\">16. Appendix</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_kindfilename_type_mapping\">16.1. Kind/Filename Type Mapping</a></li>\n<li><a href=\"#_custom_kindfilename_mapping\">16.2. Custom Kind/Filename Mapping</a></li>\n</ul>\n</li>\n</ul>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"introduction\">1. Introduction</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>The <strong>openshift-maven-plugin</strong> brings your Java applications on to\n<a href=\"https://www.openshift.com/\">OpenShift</a>.\nIt provides a tight integration into <a href=\"http://maven.apache.org\">Maven</a> and benefits from the build configuration already provided.\nThis plugin focus on two tasks: <em>Building Docker images</em> and <em>creating Kubernetes resource descriptors</em>.\nIt can be configured very flexibly and supports multiple configuration models for creating: A <em>Zero-Config</em> setup allows for a quick ramp-up with some opinionated defaults.\nFor more advanced requirements, an <em>XML configuration</em> provides additional configuration options which can be added to the <code>pom.xml</code>.\nFor the full power, in order to tune all facets of the creation, external <em>resource fragments</em> and <em>Dockerfiles</em> can be used.</p>\n</div>\n<div class=\"sect2\">\n<h3 id=\"building-images\">1.1. Building Images</h3>\n<div class=\"paragraph\">\n<p>The <a href=\"#jkube:build\"><strong>oc:build</strong></a> goal is for creating Docker images containing the actual application. These then can be deployed later on Kubernetes or OpenShift.\nIt is easy to include build artifacts and their dependencies into these images.\nThis plugin uses the assembly descriptor format similar to the one used in\n<a href=\"http://maven.apache.org/plugins/maven-assembly-plugin/\">maven-assembly-plugin</a> to specify the content which will be added\nto the image.\nThat images can then be pushed to public or private Docker registries with <a href=\"#jkube:push\"><strong>oc:push</strong></a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Depending on the operational mode, for building the actual image either a Docker daemon is used directly or an <a href=\"https://docs.openshift.com/enterprise/3.0/architecture/core_concepts/builds_and_image_streams.html#docker-build\">OpenShift Docker Build</a> is performed.</p>\n</div>\n<div class=\"paragraph\">\n<p>A special <a href=\"#jkube:watch\"><strong>oc:watch</strong></a> goal allows for reacting to code changes to automatically recreate images or copy new artifacts into running containers.</p>\n</div>\n<div class=\"paragraph\">\n<p>These image related features are inherited from the <a href=\"https://github.com/fabric8io/docker-maven-plugin\">jkubeio/docker-maven-plugin</a> which is part of this plugin.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"resource-descriptors\">1.2. Kubernetes Resources</h3>\n<div class=\"paragraph\">\n<p>Kubernetes resource descriptors can be created or generated from <a href=\"#jkube:resource\"><strong>oc:resource</strong></a>.\nThese files are packaged within the Maven artifacts and can be deployed to a running orchestration platform with <a href=\"#jkube:apply\"><strong>oc:apply</strong></a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Typically you only specify a small part of the real resource descriptors which will be enriched by this plugin with various extra information taken from the <code>pom.xml</code>.\nThis drastically reduces boilerplate code for common scenarios.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_configuration\">1.3. Configuration</h3>\n<div class=\"paragraph\">\n<p>As mentioned already there are three levels of configuration:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><strong>Zero-Config</strong> mode makes some very opinionated decisions based on what is present in the pom.xml like what base image to use or which ports to expose.\nThis is great for starting up things and for keeping quickstart applications small and tidy.</p>\n</li>\n<li>\n<p><strong>XML plugin configuration</strong> mode is similar to what <a href=\"https://dmp.fabric8.io/#example\">docker-maven-plugin</a> provides.\nThis allows for type-safe configuration with IDE support, but only a subset of possible resource descriptor features is provided.</p>\n</li>\n<li>\n<p><strong>Kubernetes & OpenShift resource fragments</strong> are user provided YAML files that can be <em>enriched</em> by the plugin. This allows expert users to use a plain configuration file with all their capabilities, but also to add project specific build information and avoid boilerplate code.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The following table gives an overview of the different models</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 1. Configuration Models</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 50%;\">\n<col style=\"width: 37.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Model</th>\n<th class=\"tableblock halign-left valign-top\">Docker Images</th>\n<th class=\"tableblock halign-left valign-top\">Resource Descriptors</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Zero-Config</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generators\">Generators</a> are used to create Docker image configurations. Generators can detect certain aspects of\n the build (e.g. whether Spring Boot is used) and then choose some opinionated defaults like the base image, which\n ports to expose and the startup command. They can be configured, but offer only a few options.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default <a href=\"#enrichers\">Enrichers</a> will create a default <em>Service</em> and <em>Deployment</em> (<em>DeploymentConfig</em> for OpenShift)\n when no other resource objects are provided. Depending on the image they can detect which port to expose in the\n service. As with Generators, Enrichers support a limited set of configuration options.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>XML configuration</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">openshift-maven-plugin inherits the XML based configuration for building images from the\n <a href=\"https://dmp.fabric8.io/#docker:build\">docker-maven-plugin</a> and provides the same functionality. It supports an\n <a href=\"http://maven.apache.org/components/plugins/maven-assembly-plugin/assembly.html\">assembly descriptor</a> for specifying the\n content of the Docker image.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A subset of possible resource objects can be configured with a dedicated XML syntax. With a decent IDE you get\n autocompletion on most objects and inline documentation for the available configuration elements. The provided\n configuration can be still enhanced by Enhancers which is useful for adding e.g. labels and annotations containing\n build or other information.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Resource Fragments</strong> and <strong>Dockerfiles</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Similarly to the docker-maven-plugin, openshift-maven-plugin supports <a href=\"#external-dockerfile\">external Dockerfiles</a> too, which are\n referenced from the plugin configuration.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Resource descriptors can be provided as external YAML files which will build a base skeleton for the applicable resource.</p>\n<p class=\"tableblock\"> The \"skeleton\" is then post-processed by <a href=\"#enrichers\">Enrichers</a> which will complete the skeleton by adding the fields\n each enricher is responsible of (labels, annotations, port information, etc.). Maven properties within these files\n are resolved to their values.</p>\n<p class=\"tableblock\"> With this model you can use every Kubernetes / OpenShift resource objects with all their flexibility, but still get the benefit\n of adding build information.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_examples\">1.4. Examples</h3>\n<div class=\"paragraph\">\n<p>Let’s have a look at some code. The following examples will demonstrate all three configurations variants:</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"zero-config\">1.4.1. Zero-Config</h4>\n<div class=\"paragraph\">\n<p>This minimal but full working example <code>pom.xml</code> shows how a simple spring boot application can be dockerized and\nprepared for Kubernetes. The full example can be found in directory\n<a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/zero-config\">quickstarts/maven/zero-config</a>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><project>\n <modelVersion>4.0.0</modelVersion>\n\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>jkube-maven-sample-zero-config</artifactId>\n <version>1.0.0-rc-1</version>\n <packaging>jar</packaging>\n\n <parent>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-starter-parent</artifactId> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <version>1.5.5.RELEASE</version>\n </parent>\n\n <dependencies>\n <dependency>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-starter-web</artifactId> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n </dependency>\n </dependencies>\n\n <build>\n <plugins>\n <plugin>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-maven-plugin</artifactId> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n </plugin>\n <plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n <version>1.0.0-rc-1</version>\n </plugin>\n </plugins>\n </build>\n</project></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>This minimalistic spring boot application uses the spring-boot parent POM for setting up dependencies and plugins</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>The Spring Boot web starter dependency enables a simple embedded Tomcat for serving Spring MVC apps</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td>The <code>spring-boot-maven-plugin</code> is responsible for repackaging the application into a fat jar, including all dependencies and the embedded Tomcat</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>The <code>openshift-maven-plugin</code> enables the automatic generation of a Docker image and Kubernetes / OpenShift descriptors including this Spring application.</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>This setup make some opinionated decisions for you:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>As base image <a href=\"https://quay.io/repository/jkube/jkube-java-binary-s2i\">jkube/jkube-java-binary-s2i</a>\nis chosen which enables <a href=\"https://www.jolokia.org\">Jolokia</a> and <a href=\"https://github.com/prometheus/jmx_exporter\">jmx_exporter</a>.\nIt also comes with a sophisticated <a href=\"https://github.com/jboss-openshift/cct_module/tree/master/jboss/container/java/run/bash\">startup script</a>.</p>\n</li>\n<li>\n<p>It will create a Kubernetes <a href=\"http://kubernetes.io/docs/user-guide/deployments/\">Deployment</a> and a\n<a href=\"http://kubernetes.io/docs/user-guide/services/\">Service</a> as resource objects</p>\n</li>\n<li>\n<p>It exports port 8080 as the application service port (and 8778 and 9779 for Jolokia and jmx_exporter access, respectively)</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>These choices can be influenced by configuration options as described in <a href=\"#generator-spring-boot\">Spring Boot Generator</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>To start the Docker image build, you simply run</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-bash\" data-lang=\"bash\">mvn package oc:build</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This will create the Docker image against a running Docker daemon (which must be accessible either via Unix Socket or\nwith the URL set in <code>DOCKER_HOST</code>). Alternatively, when connected to an OpenShift cluster (or using the <code>openshift</code>\n<a href=\"#build-mode\">mode</a> explicitly), then a Docker build will be performed on OpenShift which at the end creates an\n<a href=\"https://docs.openshift.com/enterprise/3.1/architecture/core_concepts/builds_and_image_streams.html\">ImageStream</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>To deploy the resources to the cluster call</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-bash\" data-lang=\"bash\">mvn oc:resource oc:deploy</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>By default a <em>Service</em> and a <em>Deployment</em> object pointing to the created Docker image is created. When running in OpenShift mode, a <em>Service</em> and <em>DeploymentConfig</em> which refers the <em>ImageStream</em> created with <code>oc:build</code> will be installed.</p>\n</div>\n<div class=\"paragraph\">\n<p>Of course you can bind all those jkube.goals to execution phases as well, so that they are called along with standard lifecycle goals like <code>install</code>. For example, to bind the building of the Kubernetes resource files and the Docker images, add the following goals to the execution of the openshift-maven-plugin:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for lifecycle bindings</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n\n <!-- ... -->\n\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If you’d also like to automatically deploy to Kubernetes each time you do a <code>mvn install</code> you can add the <code>apply</code> goal:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for lifecycle bindings with automatic deploys for mvn install</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n\n <!-- ... -->\n\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n <goal>apply</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_xml_configuration\">1.4.2. XML Configuration</h4>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nXML based configuration is only partially implemented and is not recommended for use right now.\n</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>Although the Zero-config mode and its generators can be tweaked with options up to a certain degree, many cases require more flexibility. For such instances, an XML-based plugin configuration can be used, in a way similar to the\n<a href=\"https://dmp.fabric8.io/#configuration\">XML configuration</a> used by <code>docker-maven-plugin</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The plugin configuration can be roughly divided into the following sections:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Global configuration options are responsible for tuning the behaviour of plugin goals</p>\n</li>\n<li>\n<p><code><images></code> defines which Docker <a href=\"#image-configuration\">images</a> are used and configured. This section is similar to the\n<a href=\"https://dmp.fabric8.io//#image-configuration\">image configuration</a> of the <code>docker-maven-plugin</code>, except that <code><run></code>\nand <code><external></code> sub-elements are ignored)</p>\n</li>\n<li>\n<p><code><resource></code> defines the resource descriptors for deploying on an OpenShift or Kuberneres cluster.</p>\n</li>\n<li>\n<p><code><generator></code> configures <a href=\"#generators\">generators</a> which are responsible for creating images. Generators are used as an alternative to a dedicated <code><images></code> section.</p>\n</li>\n<li>\n<p><code><enricher></code> configures various aspects of <a href=\"#enrichers\">enrichers</a> for creating or enhancing resource descriptors.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>A working example can be found in the\n<a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/xml-config\">quickstarts/maven/xml-config</a> directory.\nAn extract of the plugin configuration is shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for an XML configuration</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <namespace>test-ns</namespace>\n <images> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <image>\n <name>xml-config-demo:1.0.0</name>\n <!-- \"alias\" is used to correlate to the containers in the pod spec -->\n <alias>camel-app</alias>\n <build>\n <from>fabric8/java-centos-openjdk8-jre</from>\n <assembly>\n <inline>\n <baseDirectory>/deployments</baseDirectory>\n </inline>\n </assembly>\n <env>\n <JAVA_LIB_DIR>/deployments</JAVA_LIB_DIR>\n <JAVA_MAIN_CLASS>org.apache.camel.cdi.Main</JAVA_MAIN_CLASS>\n </env>\n </build>\n </image>\n </images>\n\n <resources> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n <labels> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n <all>\n <group>quickstarts</group>\n </all>\n </labels>\n\n <replicas>2</replicas> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n <controllerName>${project.artifactId}</controllerName> <i class=\"conum\" data-value=\"5\"></i><b>(5)</b>\n\n <services> <i class=\"conum\" data-value=\"6\"></i><b>(6)</b>\n <service>\n <name>camel-service</name>\n <headless>true</headless>\n </service>\n </services>\n\n <serviceAccounts>\n <serviceAccount>\n <name>build-robot</name>\n </serviceAccount>\n </serviceAccounts>\n </resources>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Standard docker-maven-plugin configuration for building one single Docker image</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>Kubernetes / OpenShift resources to create</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td>Labels which should be applied globally to all resource objects</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>Number of replicas desired</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"5\"></i><b>5</b></td>\n<td>Name of controller created by plugin</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"6\"></i><b>6</b></td>\n<td>One or more <a href=\"http://kubernetes.io/docs/user-guide/services/\">Service</a> definitions.</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>The XML resource configuration is based on plain Kubernetes resource objects. When targeting OpenShift, Kubernetes resource descriptors will be automatically converted to their OpenShift counterparts, e.g. a Kubernetes <a href=\"http://kubernetes.io/docs/user-guide/deployments/\">Deployment</a> will be converted to an OpenShift <a href=\"https://docs.openshift.org/latest/architecture/core_concepts/deployments.html#deployments-and-deployment-configurations\">DeploymentConfig</a>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_resource_fragments\">1.4.3. Resource Fragments</h4>\n<div class=\"paragraph\">\n<p>The third configuration option is to use an external configuration in form of YAML resource descriptors which are located in the <code>src/main/jkube</code> directory. Each resource gets its own file, which contains a skeleton of a resource descriptor. The plugin will pick up the resource, enrich it and then combine all to a single <code>kubernetes.yml</code> and <code>openshift.yml</code> file. Within these descriptor files you are can freely use any Kubernetes feature.</p>\n</div>\n<div class=\"paragraph\">\n<p>Note: In order to support simultaneously both OpenShift and Kubernetes, there is currently no way to specify OpenShift-only features this way, though this might change in future releases.</p>\n</div>\n<div class=\"paragraph\">\n<p>Let’s have a look at an example from\n<a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/external-resources\">quickstarts/maven/external-resources</a>.\nThis is a plain Spring Boot application, whose images are auto generated like in the <a href=\"#zero-config\">Zero-Config</a> case.\nThe resource fragments are in <code>src/main/jkube</code>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example fragment \"deployment.yml\"</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n replicas: 1\n template:\n spec:\n volumes:\n - name: config\n gitRepo:\n repository: 'https://github.com/jstrachan/sample-springboot-config.git'\n revision: 667ee4db6bc842b127825351e5c9bae5a4fb2147\n directory: .\n containers:\n - volumeMounts:\n - name: config\n mountPath: /app/config\n env:\n - name: KUBERNETES_NAMESPACE\n valueFrom:\n fieldRef:\n apiVersion: v1\n fieldPath: metadata.namespace\n serviceAccount: ribbon</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>As you can see, there is no <code>metadata</code> section as would be expected for Kubernetes resources because it will be automatically added by the <code>openshift-maven-plugin</code>. The object’s <code>Kind</code>, if not given, is automatically derived from the\nfilename. In this case, the <code>openshift-maven-plugin</code> will create a <code>Deployment</code> because the file is called <code>deployment.yml</code>. Similar mappings between file names and resource type exist for each supported resource kind, the\ncomplete list of which (along with associated abbreviations) can be found in the <a href=\"#appendix-kind-mapping\">Appendix</a>.</p>\n</div>\n<div class=\"admonitionblock note\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-note\" title=\"Note\"></i>\n</td>\n<td class=\"content\">\nNow that sidecar containers are supported in this plugin(if <code>jkube.sidecar</code> is enabled), be careful whenever you’re supplying container name in the resource fragment. If container specified in resource fragment doesn’t have a name or it’s name is equal to default fmp generated application’s container name; it would not be treated as sidecar and it would be merged into main container. However, You can override plugin’s default name for main container via <code>jkube.generator.alias</code> property.\n</td>\n</tr>\n</table>\n</div>\n<hr>\n<div class=\"paragraph\">\n<p>Additionally, if you name your fragment using a name prefix followed by a dash and the mapped file name, the plugin will automatically use that name for your resource. So, for example, if you name your deployment fragment\n<code>myapp-deployment.yml</code>, the plugin will name your resource <code>myapp</code>. In the absence of such provided name for your resource, a name will be automatically derived from your project’s metadata (in particular, its <code>artifactId</code> as specified in your POM).</p>\n</div>\n<div class=\"paragraph\">\n<p>No image is also referenced in this example because the plugin also fills in the image details based on the configured image you are building with (either from a generator or from a dedicated image plugin configuration, as seen before).</p>\n</div>\n<div class=\"admonitionblock note\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-note\" title=\"Note\"></i>\n</td>\n<td class=\"content\">\nFor building images there is also an alternative mode using external Dockerfiles, in addition to the XML based configuration. Refer to <a href=\"#build-overview\">oc:build</a> for details.\n</td>\n</tr>\n</table>\n</div>\n<hr>\n<div class=\"paragraph\">\n<p>Enrichment of resource fragments can be fine-tuned by using profile sub-directories. For more details see <a href=\"#profiles\">Profiles</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Now that we have seen some examples of the various ways how this plugin can be used, the following sections will describe the plugin goals and extension points in detail.</p>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"compatibility-with-OpenShift\">2. Compatibility with OpenShift</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"openshift-compatibility\">2.1. OpenShift Compatibility</h3>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 2. OpenShift Compatibility</caption>\n<colgroup>\n<col style=\"width: 25%;\">\n<col style=\"width: 25%;\">\n<col style=\"width: 25%;\">\n<col style=\"width: 25%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">OMP</th>\n<th class=\"tableblock halign-left valign-top\">OpenShift 4.4</th>\n<th class=\"tableblock halign-left valign-top\">OpenShift 4.2</th>\n<th class=\"tableblock halign-left valign-top\">OpenShift 3.11</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OMP 1.0.0-rc-1</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OMP 1.0.0-alpha-4</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OMP 1.0.0-alpha-3</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OMP 1.0.0-alpha-2</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OMP 1.0.0-alpha-1</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OMP 0.2.0</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OMP 0.1.1</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OMP 0.1.0</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">✓</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"installation\">3. Installation</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This plugin is available from Maven central and can be connected to\npre- and post-integration phase as seen below. The configuration and\navailable goals are described below.</p>\n</div>\n<div class=\"paragraph\">\n<p>By default, Maven will only search for plugins in the <code>org.apache.maven.plugins</code> and <code>org.codehaus.mojo</code> packages. In order to resolve the provider for the JKube plugin goals, you need to edit <code>~/.m2/settings.xml</code> and add the <code>org.eclipse.jkube</code> namespace so the <code><pluginGroups></code> configuration.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><settings>\n ...\n\n <pluginGroups>\n <pluginGroup>org.eclipse.jkube</pluginGroup>\n </pluginGroups>\n\n ...\n</settings></code></pre>\n</div>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n\n <configuration>\n ....\n <images>\n <!-- A single's image configuration -->\n <image>\n ...\n <build>\n ....\n </build>\n </image>\n ....\n </images>\n </configuration>\n\n <!-- Connect oc:resource, oc:build and oc:helm to lifecycle phases -->\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n <goal>helm</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"goals\">4. Goals Overview</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This plugin supports a rich set for providing a smooth Java developer experience. These goals can be categorized in multiple groups:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"#goals-build\">Build goals</a> are all about creating and managing Kubernetes build artifacts like Docker images or S2I builds.</p>\n</li>\n<li>\n<p><a href=\"#goals-develop\">Development goals</a> target help not only in deploying resource descriptors to the development cluster but also to manage the lifecycle of the development cluster as well.</p>\n</li>\n</ul>\n</div>\n<table id=\"goals-build\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 3. Build Goals</caption>\n<colgroup>\n<col style=\"width: 25%;\">\n<col style=\"width: 75%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Goal</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:build\"><strong>oc:build</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Build images</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:push\"><strong>oc:push</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Push images to a registry</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:resource\"><strong>oc:resource</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Create Kubernetes or OpenShift resource descriptors</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:apply\"><strong>oc:apply</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Apply resources to a running cluster</p></td>\n</tr>\n</tbody>\n</table>\n<table id=\"goals-develop\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 4. Development Goals</caption>\n<colgroup>\n<col style=\"width: 25%;\">\n<col style=\"width: 75%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Goal</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:deploy\"><strong>oc:deploy</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Deploy resources descriptors to a cluster after creating them and building the app. Same as <a href=\"#jkube:run\">[jkube:run]</a> except that it runs in the background.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:undeploy\"><strong>oc:undeploy</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Undeploy and remove resources descriptors from a cluster.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:watch\"><strong>oc:watch</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Watch for file changes and perform rebuilds and redeployments</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:log\"><strong>oc:log</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Show the logs of the running application</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong><a href=\"#jkube:debug\"><strong>oc:debug</strong></a></strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Enable remote debugging</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Depending on whether the OpenShift or Kubernetes operational mode is used, the workflow and the performed actions differs :</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 5. Workflows</caption>\n<colgroup>\n<col style=\"width: 11.1111%;\">\n<col style=\"width: 44.4444%;\">\n<col style=\"width: 44.4445%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Use Case</th>\n<th class=\"tableblock halign-left valign-top\">Kubernetes</th>\n<th class=\"tableblock halign-left valign-top\">OpenShift</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Build</p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p><code>oc:build</code> <code>oc:push</code></p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Creates an image against an exposed Docker daemon (with a <code>docker.tar</code>)</p>\n</li>\n<li>\n<p>Pushes the image to a registry which is then referenced from the configuration</p>\n</li>\n</ul>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p><code>oc:build</code></p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Creates or uses a <code>BuildConfig</code></p>\n</li>\n<li>\n<p>Creates or uses an <code>ImageStream</code> which can be referenced by the deployment descriptors in a <code>DeploymenConfig</code></p>\n</li>\n<li>\n<p>Starts an OpenShift build with a <code>docker.tar</code> as input</p>\n</li>\n</ul>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Deploy</p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p><code>oc:deploy</code></p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Applies a Kubernetes resource descriptor to cluster</p>\n</li>\n</ul>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p><code>oc:deploy</code></p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Applies an OpenShift resource descriptor to a cluster</p>\n</li>\n</ul>\n</div></div></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"goals-overview-build\">5. Build Goals</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"jkube:resource\">5.1. <strong>oc:resource</strong></h3>\n<div class=\"paragraph\">\n<p>This goal generates Kubernetes resources based on your project. It can either be opinionated defaults or\nbased on the configuration provided in XML config or resource fragments in <code>src/main/jkube</code>.\nGenerated resources are in <code>target/classes/META-INF/jkube/openshift</code> directory.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"resource-labels-annotations\">5.1.1. Labels and Annotations</h4>\n<div class=\"paragraph\">\n<p>Labels and annotations can be easily added to any resource object. This is best explained by an example.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for label and annotations</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <!-- ... -->\n <configuration>\n <!-- ... -->\n <resources>\n <labels> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <all> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <property> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n <name>organisation</name>\n <value>unesco</value>\n </property>\n </all>\n <service> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n <property>\n <name>database</name>\n <value>mysql</value>\n </property>\n <property>\n <name>persistent</name>\n <value>true</value>\n </property>\n </service>\n <replicaSet> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n <!-- ... -->\n </replicaSet>\n <pod> <i class=\"conum\" data-value=\"5\"></i><b>(5)</b>\n <!-- ... -->\n </pod>\n <deployment> <i class=\"conum\" data-value=\"6\"></i><b>(6)</b>\n <!-- ... -->\n </deployment>\n </labels>\n\n <annotations> <i class=\"conum\" data-value=\"7\"></i><b>(7)</b>\n <!-- ... -->\n </annotations>\n <remotes> <i class=\"conum\" data-value=\"8\"></i><b>(8)</b>\n <remote>https://gist.githubusercontent.com/lordofthejars/ac2823cec7831697d09444bbaa76cd50/raw/e4b43f1b6494766dfc635b5959af7730c1a58a93/deployment.yaml</remote>\n </remotes>\n </resource>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td><code><labels></code> section with <code><resources></code> contains labels which should be applied to objects of various kinds</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>Within <code><all></code> labels which should be applied to <strong>every</strong> object can be specified</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td><code><service></code> labels are used to label services</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td><code><replicaSet></code> labels are for replica set and replication controller</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"5\"></i><b>5</b></td>\n<td><code><pod></code> holds labels for pod specifications in replication controller, replica sets and deployments</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"6\"></i><b>6</b></td>\n<td><code><deployment></code> is for labels on deployments (kubernetes) and deployment configs (openshift)</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"7\"></i><b>7</b></td>\n<td>The subelements are also available for specifying annotations.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"8\"></i><b>8</b></td>\n<td><code><remotes></code> you can set location of fragments as <code>URL</code>.</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>Labels and annotations can be specified in free form as a map. In this map, the element name is the name of the label or annotation respectively, whereas the content is the value to set.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following subelements are possible for <code><labels></code> and <code><annotations></code> :</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 6. Label and annotation configuration</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>all</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">All entries specified in the <code><all></code> sections are applied to all resource objects created.\n This also implies build object like image stream and build configs which are created implicitly for an <a href=\"#build-openshift\">Kubernetes build</a>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>deployment</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels and annotations applied to <code>Deployment</code> (for Kubernetes).\n And <code>DeploymentConfig</code> (for OpenShift) objects.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pod</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels and annotations applied pod specification as used in <code>ReplicationController</code>, <code>ReplicaSets</code>, <code>Deployments</code> and <code>DeploymentConfigs</code> objects.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>replicaSet</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels and annotations applied to <code>ReplicaSet</code> and <code>ReplicationController</code> objects.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>service</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels and annotations applied to <code>Service</code> objects.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"resource-secrets\">5.1.2. Secrets</h4>\n<div class=\"paragraph\">\n<p>Once you’ve configured some docker registry credentials into <code>~/.m2/setting.xml</code>, as explained in the\n<a href=\"#authentication\">Authentication</a> section, you can create Kubernetes secrets from a server declaration.</p>\n</div>\n<div class=\"paragraph\">\n<p><strong>XML configuration</strong></p>\n</div>\n<div class=\"paragraph\">\n<p>You can create a secret using xml configuration in the <code>pom.xml</code> file. It should contain the following fields:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">key</th>\n<th class=\"tableblock halign-left valign-top\">required</th>\n<th class=\"tableblock halign-left valign-top\">description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>dockerServerId</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>true</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">the server id which is configured in\n<code>~/.m2/setting.xml</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>true</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">this will be used as name of the kubernetes secret resource</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>namespace</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>false</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">the secret resource will be applied to the specific\nnamespace, if provided</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>This is best explained by an example.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for XML configuration</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <jkube.docker.registry>docker.io</docker.registry>\n</properties></code></pre>\n</div>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <resources>\n <secrets>\n <secret>\n <dockerServerId>${docker.registry}</dockerServerId>\n <name>mydockerkey</name>\n </secret>\n </secrets>\n </resources>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p><strong>Yaml fragment with annotation</strong></p>\n</div>\n<div class=\"paragraph\">\n<p>You can create a secret using a yaml fragment. You can reference the docker server id with an annotation\n<code>maven.jkube.io/dockerServerId</code>. The yaml fragment file should be put under\nthe <code>src/main/jkube/</code> folder.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">apiVersion: v1\nkind: Secret\nmetadata:\n name: mydockerkey\n namespace: default\n annotations:\n maven.jkube.io/dockerServerId: ${docker.registry}\ntype: kubernetes.io/dockercfg</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"resource-validation\">5.1.3. Resource Validation</h4>\n<div class=\"paragraph\">\n<p>Resource goal also validates the generated resource descriptors using API specification of <a href=\"https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json\">Kubernetes</a>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 7. Validation Configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipResourceValidation</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If value is set to <code>true</code> then resource validation is skipped. This may be useful if resource validation is failing\n for some reason but you still want to continue the deployment.</p>\n<p class=\"tableblock\"> Default is <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skipResourceValidation</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>failOnValidationError</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If value is set to <code>true</code> then any validation error will block the plugin execution. A warning will be printed\n otherwise.</p>\n<p class=\"tableblock\"> Default is <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.failOnValidationError</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"resource-route-generation\">5.1.4. Route Generation</h4>\n<div class=\"paragraph\">\n<p>When the <code>oc:resource</code> goal is run, an Kubernetes\n<a href=\"https://docs.openshift.org/latest/architecture/networking/routes.html\">Route</a> descriptor (<code>route.yml</code>) will also be\ngenerated along the service if an Kubernetes cluster is targeted.\nIf you do not want to generate a Route descriptor, you can set the <code>jkube.openshift.generateRoute</code> property to <code>false</code>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 8. Route Generation Configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>generateRoute</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If value is set to <code>false</code> then no Route descriptor will be generated.\n By default it is set to <code>true</code>, which will create a <code>route.yml</code> descriptor and also add Route resource to <code>openshift.yml</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.openshift.generateRoute</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-openshift-route.generateRoute</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>If you do not want to generate a Route descriptor, you can also specify so in the plugin configuration in your POM as seen below.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for not generating route resource by configuring it in <code>pom.xml</code></div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <configuration>\n <enricher>\n <config>\n <jkube-openshift-route>\n <generateRoute>false</generateRoute>\n </jkube-openshift-route>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If you are using resource fragments, then also you can configure it in your Service resource fragment (e.g. <code>service.yml</code>).\nYou need to add an <code>expose</code> label to the <code>metadata</code> section of your service and set it to <code>false</code>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for not generating route resource by configuring it in resource fragments</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">metadata:\n annotations:\n api.service.kubernetes.io/path: /hello\n labels:\n expose: \"false\"\nspec:\n type: LoadBalancer</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Resource\">5.1.5. Supported Properties for Resource goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 9. Options available with resource goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>enableAutomaticTrigger</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If the value is set to <code>false</code> then automatic deployments would be disabled.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.openshift.enableAutomaticTrigger</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>deployTimeoutSeconds</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The OpenShift deploy timeout in seconds.</p>\n<p class=\"tableblock\"> Defaults to <code>3600</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.openshift.deployTimeoutSeconds</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>imageChangeTrigger</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add ImageChange triggers to DeploymentConfigs when on openshift.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.openshift.imageChangeTrigger</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>trimImageInContainerSpec</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to true it would set the container image reference to \"\", this is done to handle weird behavior of OpenShift\n 3.7 in which subsequent rollouts lead to ImagePullErr.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.openshift.trimImageInContainerSpec</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>enrichAllWithImageChangeTrigger</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Adds ImageChangeTriggers with respect to all containers specified inside DeploymentConfig.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.openshift.enrichAllWithImageChangeTrigger</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>profile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Profile to use. A profile contains the enrichers and generators to use as well as their configuration. Profiles are\n looked up in the classpath and can be provided as yaml files.</p>\n<p class=\"tableblock\"> Defaults to <code>default</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.profile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>sidecar</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Whether to enable sidecar behavior or not. By default pod specs are merged into main application container.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.sidecar</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipHealthCheck</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Whether to skip health checks addition in generated resources or not.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skipHealthCheck</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>workDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The JKube working directory. Defaults to <code>${project.build.directory}/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.workDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>environment</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Environment name where resources are placed. For example, if you set this property to dev and resourceDir is the\n default one, plugin will look at <code>src/main/jkube/dev</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>null</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.environment</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>useProjectClassPath</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we use the project’s compile time classpath to scan for additional enrichers/generators.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.useProjectClassPath</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>resourceDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Folder where to find project specific files.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/src/main/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.resourceDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>targetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The generated Kubernetes manifests target direcotry.</p>\n<p class=\"tableblock\"> Defaults to <code>${project.build.outputDirectory}/META-INF/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.targetDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>resourceType</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The artifact type for attaching the generated resource file to the project. Can be either 'json' or 'yaml'.</p>\n<p class=\"tableblock\"> Defaults to <code>yaml</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.resourceType</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>mergeWithDekorate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">When resource generation is delegated to Dekorate, should JKube resources be merged with Dekorate generated ones.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.mergeWithDekorate</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipResource</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Skip resource generation.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.resource</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>createExternalUrls</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we create external Ingress for any LoadBalancer Services which don’t already have them.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.createExternalUrls</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>domain</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Domain added to the Service ID when creating Kubernetes Ingresses or OpenShift routes.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.domain</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:build\">5.2. <strong>oc:build</strong></h3>\n<div class=\"paragraph\">\n<p>This goal is for building Docker images.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-kubernetes\">5.2.1. Kubernetes Build</h4>\n<div class=\"paragraph\">\n<p>If the mode is set to <code>kubernetes</code> then a normal Docker build is performed by default. The connection configuration to\naccess the Docker daemon is described in <a href=\"#access-configuration\">Access Configuration</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>In order to make the generated images available to the Kubernetes cluster the generated images need to be pushed to a\nregistry with the goal <a href=\"#jkube:push\"><strong>oc:push</strong></a>. This is not necessary for single node clusters, though as there is no need to\ndistribute images.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-openshift\">5.2.2. OpenShift Build</h4>\n<div class=\"paragraph\">\n<p>For the <code>openshift</code> mode, OpenShift specific\n<a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/builds_and_image_streams.html\">builds</a> will be\nperformed. These are so called\n<a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/builds_and_image_streams.html\">Binary Source</a>\nbuilds (\"binary builds\" in short), where the data specified with the <a href=\"#build-configuration\">build configuration</a> is\nsent directly to OpenShift as a binary archive.</p>\n</div>\n<div class=\"paragraph\">\n<p>There are two kind of binary builds supported by this plugin, which can be selected with the <code>buildStrategy</code> configuration option (<code>jkube.build.strategy</code> property)</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 10. Build Strategies</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"><code>buildStrategy</code></th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The <a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/builds_and_image_streams.html#source-build\">Source-to-Image</a> (S2I) build strategy uses so called builder images for creating new application images from binary build data. The builder image to use is taken from the base image configuration specified with <a href=\"#build-config-from\">from</a> in the image build configuration. See below for a list of builder images which can be used with this plugin.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>docker</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A <a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/builds_and_image_streams.html#docker-build\">Docker Build</a> is similar to a normal Docker build except that it is done by the OpenShift cluster and not by a Docker daemon. In addition this build pushes the generated image to the OpenShift internal registry so that it is accessbile in the whole cluster.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Both build strategies update an\n<a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/builds_and_image_streams.html#image-streams\">Image Stream</a>\nafter the image creation.</p>\n</div>\n<div class=\"paragraph\">\n<p>The <a href=\"https://docs.openshift.com/enterprise/latest/dev_guide/builds.html#defining-a-buildconfig\">Build Config</a> and\n<a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/builds_and_image_streams.html#image-streams\">Image streams</a>\ncan be managed by this plugin. If they do not exist, they will be automatically created by <code>oc:build</code>.\nIf they do already exist, they are reused, except when the <code>buildRecreate</code> configuration option\n(property <code>jkube.build.recreate</code>) is set to a value as described in <a href=\"#build-goal-configuration\">Configuration</a>.\nAlso if the provided build strategy is different than the one defined in the existing build configuration, the Build\nConfig is edited to reflect the new type (which in turn removes all build associated with the previous build).</p>\n</div>\n<div class=\"paragraph\">\n<p>This image stream created can then be directly referenced from\n<a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/deployments.html#deployments-and-deployment-configurations\">Deployment Configuration</a>\nobjects created by <a href=\"#jkube:resource\"><strong>oc:resource</strong></a>.\nBy default, image streams are created with a local lookup policy, so that they can be used also by other resources such\nas Deployments or StatefulSets.\nThis behavior can be turned off by setting the <code>jkube.s2i.imageStreamLookupPolicyLocal</code> property to <code>false</code> when building\nthe project.</p>\n</div>\n<div class=\"paragraph\">\n<p>In order to be able to create these OpenShift resource objects access to an OpenShift installation is required.\nThe access parameters are described in <a href=\"#access-configuration\">Access Configuration</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Regardless of which build mode is used, the images are configured in the same way.</p>\n</div>\n<div class=\"paragraph\">\n<p>The configuration consists of two parts:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>a global section which defines the overall behaviour of this plugin</p>\n</li>\n<li>\n<p>and an <code><images></code> section which defines how the images should be build</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Many of the options below are relevant for the <a href=\"#build-kubernetes\">Kubernetes Workflow</a> or the <a href=\"#build-openshift\">OpenShift Workflow</a> with Docker builds as they influence how the Docker image is build.</p>\n</div>\n<div class=\"paragraph\">\n<p>For an S2I binary build, on the other hand, the most relevant section is the <a href=\"#build-assembly\">Assembly</a> one because the build depends on which buider/base image is used and how it interprets the content of the uploaded <code>docker.tar</code>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-goal-configuration\">5.2.3. Configuration (XML)</h4>\n<div class=\"paragraph\">\n<p>The following sections describe the usual configuration, which is similar to the build configuration used in the\n <a href=\"https://dmp.fabric8.io\">docker-maven-plugin</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>In addition a more automatic way for creating predefined build configuration can be performed with so called <a href=\"#generators\">Generators</a>. Generators are very flexible and can be easily created. These are described in an extra <a href=\"#generators\">section</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Global configuration parameters specify overall behavior common for all images to build. Some of the configuration options are shared with other goals.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 11. Global configuration</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4285%;\">\n<col style=\"width: 14.2858%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>buildStrategy</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Defines what build strategy to choose while building container image.\nPossible values are <code>docker</code> and <code>jib</code> out of which <code>docker</code> is default.</p>\n</div>\n<div class=\"paragraph\">\n<p>If the effective <a href=\"#build-mode\">mode</a> is <code>openshift</code> an additional <code>s2i</code> option is available\nand selected by default.</p>\n</div>\n<div class=\"paragraph\">\n<p>Available strategies for OpenShift are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>s2i</code> for a <a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/builds_and_image_streams.html#source-build\">Source-to-Image build</a> with a binary source</p>\n</li>\n<li>\n<p><code>docker</code> for a <a href=\"https://docs.openshift.com/enterprise/latest/architecture/core_concepts/builds_and_image_streams.html#docker-build\">Docker build</a> with a binary source</p>\n</li>\n</ul>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.strategy</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>apiVersion</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Use this variable if you are using an older version of docker not compatible with the current default use to\n communicate with the server.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.apiVersion</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>authConfig</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Authentication information when pulling from or pushing to Docker registry. There is a dedicated section\n <a href=\"#authentication\">Authentication</a> for how to do security.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>autoPull</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Decide how to pull missing base images or images to start:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>on</code> : Automatic download any missing images (default)</p>\n</li>\n<li>\n<p><code>off</code> : Automatic pulling is switched off</p>\n</li>\n<li>\n<p><code>always</code> : Pull images always even when they already exist locally</p>\n</li>\n<li>\n<p><code>once</code> : For multi-module builds images are only checked once and pulled for the whole build.</p>\n</li>\n</ul>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.autoPull</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>buildRecreate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>If the effective <a href=\"#build-mode\">mode</a> is <code>openshift</code> then this option decides how the OpenShift resource objects\n associated with the build should be treated when they already exist:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>buildConfig</code> or <code>bc</code> : Only the BuildConfig is recreated</p>\n</li>\n<li>\n<p><code>imageStream</code> or <code>is</code> : Only the ImageStream is recreated</p>\n</li>\n<li>\n<p><code>all</code> : Both, BuildConfig and ImageStream are recreated</p>\n</li>\n<li>\n<p><code>none</code> : Neither BuildConfig nor ImageStream is recreated</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The default is <code>none</code>. If you provide the property without value then <code>all</code> is assumed, so everything gets recreated.</p>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.recreate</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>forcePull</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Applicable only for OpenShift, S2I build strategy.</p>\n<p class=\"tableblock\">While creating a BuildConfig, By default, if the builder image specified in the\nbuild configuration is available locally on the node, that image will be used.</p>\n<p class=\"tableblock\">Using forcePull will override the local image and refresh it from the registry the image stream points to.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.forcePull</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>imagePullPolicy</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specific pull policy for the base image. This overwrites any global pull policy.\nSee the global configuration option <a href=\"#image-pull-policy\">imagePullPolicy</a> for the possible values and the default.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.imagePullPolicy</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>certPath</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to SSL certificate when SSL is used for communicating with the Docker daemon. These certificates are normally\n stored in <code>~/.docker/</code>. With this configuration the path can be set explicitly. If not set, the fallback is first\n taken from the environment variable <code>DOCKER_CERT_PATH</code> and then as last resort <code>~/.docker/</code>. The keys in this are\n expected with it standard names <code>ca.pem</code>, <code>cert.pem</code> and <code>key.pem</code>.\n Please refer to the <a href=\"https://docs.docker.com/articles/https\">Docker documentation</a> for more information about SSL\n security with Docker.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.certPath</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>dockerHost</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>The URL of the Docker Daemon. If this configuration option is not given, then the optional <code><machine></code> configuration\nsection is consulted. The scheme of the URL can be either given directly as <code>http</code> or <code>https</code>\ndepending on whether plain HTTP communication is enabled or SSL should\nbe used. Alternatively the scheme could be <code>tcp</code> in which case the\nprotocol is determined via the IANA assigned port: 2375 for <code>http</code>\nand 2376 for <code>https</code>. Finally, Unix sockets are supported by using\nthe scheme <code>unix</code> together with the filesystem path to the unix socket.</p>\n</div>\n<div class=\"paragraph\">\n<p>The discovery sequence used by the docker-maven-plugin to determine\nthe URL is:</p>\n</div>\n<div class=\"olist arabic\">\n<ol class=\"arabic\">\n<li>\n<p>Value of <strong>dockerHost</strong> (<code>jkube.docker.host</code>)</p>\n</li>\n<li>\n<p>The Docker host associated with the docker-machine named in <code><machine></code>, i.e. the <code>DOCKER_HOST</code> from <code>docker-machine env</code>. See <a href=\"#docker-machine\">below</a> for more information about Docker machine support.</p>\n</li>\n<li>\n<p>The value of the environment variable <code>DOCKER_HOST</code>.</p>\n</li>\n<li>\n<p><code>unix:///var/run/docker.sock</code> if it is a readable socket.</p>\n</li>\n</ol>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.host</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>filter</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">In order to temporarily restrict the operation of plugin goals this configuration option can be used.\n Typically this will be set via the system property <code>jkube.image.filter</code> when Maven is called. The value can be a single\n image name (either its alias or full name) or it can be a comma separated list with multiple image names. Any name\n which doesn’t refer an image in the configuration will be ignored.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.image.filter</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>machine</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Docker machine configuration. See <a href=\"#docker-machine\">Docker Machine</a> for possible values.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>maxConnections</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of parallel connections are allowed to be opened to the Docker Host. For parsing log output, a connection needs\n to be kept open (as well for the wait features), so don’t put that number to low. Default is 100 which should be\n suitable for most of the cases.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.maxConnections</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>access</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Group of configuration parameters to connect to Kubernetes/OpenShift cluster.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>outputDirectory</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default output directory to be used by this plugin.\n The default value is <code>target/docker</code> and is only used for the goal <code>oc:build</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.target.dir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>portPropertyFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Global property file into which the mapped properties should be written to. The format of this file and its purpose\n are also described in <a href=\"#start-port-mapping\">Port Mapping</a>.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>profile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Profile to which contains enricher and generators configuration. See <a href=\"#profiles\">Profiles</a> for details.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.profile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pullSecret</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name to use for naming pullSecret to be created to pull the base image in case pulling from a private registry\n which requires authentication for OpenShift.</p>\n<p class=\"tableblock\"> The default value for pull registry will be picked from <code>jkube.docker.pull.registry</code>/<code>jkube.docker.registry</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.pullSecret</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>registry</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specify globally a registry to use for pulling and pushing images. See <a href=\"#registry\">Registry handling</a> for details.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.registry</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>resourceDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory where jkube.resources are stored. This is also the directory where a custom profile is looked up. Default\n is <code>src/main/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.resourceDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>environment</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Environment name where resources are placed. For example, if you set this property to dev and resourceDir is the\n default one, JKube will look at src/main/jkube/dev. If not set then root <code>resourceDir</code> directory is used.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.environment</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skip</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">With this parameter the execution of this plugin can be skipped completely.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipBuild</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set not images will be build (which implies also <em>skip.tag</em>) with <code>oc:build</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.build</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipBuildPom</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set the build step will be skipped for modules of type <code>pom</code>. If not set, then by default projects of type <code>pom</code>\n will be skipped if there are no image configurations contained.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.build.pom</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipTag</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to <code>true</code> this plugin won’t add any tags to images that have been built with <code>oc:build</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.tag</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipMachine</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Skip using docker machine in any case</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.skip.machine</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>sourceDirectory</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default directory that contains the assembly descriptor(s) used by the plugin. The default value is <code>src/main/docker</code>.\n This option is only relevant for the <code>oc:build</code> goal.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.build.source.dir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>verbose</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Boolean attribute for switching on verbose output like the build steps when doing a Docker build. Default is <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.verbose</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logDate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The date format to use when logging messages from Docker. Default is <code>DEFAULT</code> (<code>HH:mm:ss.SSS</code>)</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.logDate</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logStdout</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Log to stdout regardless if log files are configured or not. Default is <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.logStdout</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_kubernetes_access_configuration\">5.2.4. Kubernetes Access Configuration</h4>\n<div class=\"paragraph\">\n<p>You can configure parameters to define how plugin is going to connect to Kubernetes cluster instead of relying on default parameters.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <access>\n <username></username>\n <password></password>\n <masterUrl></masterUrl>\n <apiVersion></apiVersion>\n </access>\n</configuration></code></pre>\n</div>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4285%;\">\n<col style=\"width: 14.2858%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>username</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Username on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.username</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>password</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Password on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.password</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>namespace</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Namespace on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.namespace</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>masterUrl</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Master URL on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.masterUrl</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>apiVersion</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Api version on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.apiVersion</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>caCertFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">CaCert File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.caCertFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>caCertData</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">CaCert Data on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.caCertData</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientCertFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Cert File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientCertFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientCertData</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Cert Data on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientCertData</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientKeyFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Key File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientKeyFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientKeyData</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Key Data on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientKeyData</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientKeyAlgo</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Key Algorithm on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientKeyAlgo</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>clientKeyPassphrase</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Client Key Passphrase on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.clientKeyPassphrase</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>trustStoreFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Trust Store File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.trustStoreFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>trustStorePassphrase</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Trust Store Passphrase on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.trustStorePassphrase</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keyStoreFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Key Store File on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.keyStoreFile</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keyStorePassphrase</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Key Store Passphrase on which to operate.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.keyStorePassphrase</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_image_configuration\">5.2.5. Image Configuration</h4>\n<div class=\"paragraph\">\n<p>The configuration how images should be created a defined in a dedicated <code><images></code> sections. These are specified for\neach image within the <code><images></code> element of the configuration with one <code><image></code> element per image to use.</p>\n</div>\n<div class=\"paragraph\">\n<p>The <code><image></code> element can contain the following sub elements:</p>\n</div>\n<table id=\"config-image\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 12. Image Configuration</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Each <code><image></code> configuration has a mandatory, unique docker\nrepository <em>name</em>. This can include registry and tag parts, but also placeholder parameters. See below for a detailed explanation.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>alias</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Shortcut name for an image which can be used for\nidentifying the image within this configuration. This is used when\nlinking images together or for specifying it with the global <strong>image</strong> configuration element.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#registry\"><strong>registry</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Registry to use for this image. If the <code>name</code> already contains a registry this takes precedence. See <a href=\"#registry\">Registry handling</a> for more details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#config-image-build\"><strong>build</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Element which contains all the configuration aspects when doing a <a href=\"#jkube:build\"><strong>oc:build</strong></a>. This element can be omitted if the image is only pulled from a registry e.g. as support for integration tests like database images.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>The <code><build></code> section is mandatory and is explained in <a href=\"#build-configuration\">below</a>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for <image></div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n ....\n <images>\n <image> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <name>%g/docker-demo:0.1</name> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n <alias>service</alias> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n <build>....</build> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n </image>\n <image>\n ....\n </image>\n </images>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>One or more <code><image>`</code> definitions</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>The Docker image name used when creating the image.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td>An alias which can be used in other parts of the plugin to reference to this image. This alias must be unique.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>A <code><build></code> section as described in <a href=\"#buid-configuration\">Build Configuration</a></td>\n</tr>\n</table>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-configuration\">5.2.6. Build Configuration</h4>\n<div id=\"build-overview\" class=\"paragraph\">\n<p>There are two different modes how images can be built:</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Inline plugin configuration</div>\n<p>With an inline plugin configuration all information required to build the image is contained in the plugin configuration. By default its the standard XML based configuration for the plugin but can be switched to a property based configuration syntax as described in the section <a href=\"#external-configuration\">External configuration</a>. The XML configuration syntax is recommended because of its more structured and typed nature.</p>\n</div>\n<div class=\"paragraph\">\n<p>When using this mode, the Dockerfile is created on the fly with all instructions extracted from the configuration given.</p>\n</div>\n<div id=\"external-dockerfile\" class=\"paragraph\">\n<div class=\"title\">External Dockerfile or Docker archive</div>\n<p>Alternatively an external Dockerfile template or Docker archive can be used. This mode is switched on by using one of these three configuration options within</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><strong>contextDir</strong> specifies docker build context if an external dockerfile is located outside of Docker build context. If not specified, Dockerfile’s parent directory is used as build context.</p>\n</li>\n<li>\n<p><strong>dockerFile</strong> specifies a specific Dockerfile path. The Docker build context directory is set to <code>contextDir</code> if given. If not the directory by default is the directory in which the Dockerfile is stored.</p>\n</li>\n<li>\n<p><strong>dockerArchive</strong> specifies a previously saved image archive to load directly. If a <code>dockerArchive</code> is provided, no <code>dockerFile</code> must be given.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>All paths can be either absolute or relative paths. A relative path is looked up in <code>${project.basedir}/src/main/docker</code> by default. You can make it easily an absolute path by using <code>${project.basedir}</code> in your configuration.</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Adding assemblies in Dockerfile mode</div>\n<p>You can also use an assembly if specified in an <a href=\"#build-assembly\">assembly configuration</a>.\nHowever, you need to add the files on your own in the Dockerfile with an <code>ADD</code> or <code>COPY</code> command.\nThe files of the assembly are stored in a build context relative directory <code>maven/</code> but can be changed by changing the assembly name with the option <code><name></code> in the assembly configuration.</p>\n</div>\n<div class=\"paragraph\">\n<p>E.g. the files can be added with</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-dockerfile\" data-lang=\"dockerfile\">COPY maven/ /my/target/directory</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>so that the assembly files will end up in <code>/my/target/directory</code> within the container.</p>\n</div>\n<div class=\"paragraph\">\n<p>If this directory contains a <code>.maven-dockerignore</code> (or alternatively, a <code>.maven-dockerexclude</code> file), then it is used for excluding files for the build. Each line in this file is treated as a <a href=\"http://ant.apache.org/manual/Types/fileset.html\">FileSet exclude pattern</a> as used by the <a href=\"http://maven.apache.org/plugins/maven-assembly-plugin\">maven-assembly-plugin</a>. It is similar to <code>.dockerignore</code> when using Docker but has a slightly different syntax (hence the different name).\n<a href=\"#ex-build-dockerexclude\">Example <code>.maven-dockerexclude</code> or <code>.maven-dockerignore</code></a> is an example which excludes all compiled Java classes.</p>\n</div>\n<div id=\"ex-build-dockerexclude\" class=\"exampleblock\">\n<div class=\"title\">Example 1. Example <code>.maven-dockerexclude</code> or <code>.maven-dockerignore</code></div>\n<div class=\"content\">\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>target/classes/** <i class=\"conum\" data-value=\"1\"></i><b>(1)</b></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Exclude all compiled classes</td>\n</tr>\n</table>\n</div>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If this directory contains a <code>.maven-dockerinclude</code> file, then it is used for including only those files for the build. Each line in this file is also treated as a <a href=\"http://ant.apache.org/manual/Types/fileset.html\">FileSet exclude pattern</a> as used by the <a href=\"http://maven.apache.org/plugins/maven-assembly-plugin\">maven-assembly-plugin</a>. <a href=\"#ex-build-dockerinclude\">Example <code>.maven-dockerinclude</code></a> shows how to include only jar file that have build to the Docker build context.</p>\n</div>\n<div id=\"ex-build-dockerinclude\" class=\"exampleblock\">\n<div class=\"title\">Example 2. Example <code>.maven-dockerinclude</code></div>\n<div class=\"content\">\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>target/*.jar <i class=\"conum\" data-value=\"1\"></i><b>(1)</b></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Only add jar file to you Docker build context.</td>\n</tr>\n</table>\n</div>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Except for the <a href=\"#build-assembly\">assembly configuration</a> all other configuration options are ignored for now.</p>\n</div>\n<div id=\"simple-dockerfile-build\" class=\"paragraph\">\n<div class=\"title\">Simple Dockerfile build</div>\n<p>When only a single image should be built with a Dockerfile no XML configuration is needed at all.\nAll what need to be done is to place a <code>Dockerfile</code> into the top-level module directory, alongside to <code>pom.xml</code>.\nYou can still configure <a href=\"#global-configuration\">global aspects</a> in the plugin configuration, but as soon as you add an <code><image></code> in the XML configuration, you need to configure also the build explicitly.</p>\n</div>\n<div class=\"paragraph\">\n<p>The image name is by default set from the Maven coordinates (<code>%g/%a:%l</code>, see <a href=\"#image-name\">Image Name </a> for an explanation of the params which are essentially the Maven GAV)\nThis name can be set with the property <code>jkube.image.name</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>If you want to add some <code><run></code> configuration to this image for starting it with <code>openshift-maven-plugin:run</code> then you can add an image configuration but without a <code><build></code> section in which case the Dockerfile will be picked up, too. This works only for a single image, though.</p>\n</div>\n<div id=\"build-filtering\" class=\"paragraph\">\n<div class=\"title\">Filtering</div>\n<p>openshift-maven-plugin filters given Dockerfile with Maven properties, much like the <code>maven-resource-plugin</code> does. Filtering is enabled by default and can be switched off with a build config <code><filter>false</filter></code>. Properties which we want to replace are specified with the <code>${..}</code> syntax.\nReplacement includes Maven project properties such as <code>${project.artifactId}</code>, properties set in the build, command-line properties, and system properties. Unresolved properties remain untouched.</p>\n</div>\n<div class=\"paragraph\">\n<p>This partial replacement means that you can easily mix it with Docker build arguments and environment variable reference, but you need to be careful.\nIf you want to be more explicit about the property delimiter to clearly separate Docker properties and Maven properties you can redefine the delimiter.\nIn general, the <code>filter</code> option can be specified the same way as delimiters in the resource plugin.\nIn particular, if this configuration contains a * then the parts left, and right of the asterisks are used as delimiters.</p>\n</div>\n<div class=\"paragraph\">\n<p>For example, the default <code><filter>${*}</filter></code> parse Maven properties in the format that we know.\nIf you specify a single character for <code><filter></code> then this delimiter is taken for both, the start and the end.\nE.g a <code><filter>@</filter></code> triggers on parameters in the format <code>@…​@</code>, much like in the <code>maven-invoker-plugin</code>.\nUse something like this if you want to clearly separate from Docker builds args.\nThis form of property replacement works for Dockerfile only.\nFor replacing other data in other files targeted for the Docker image, please use the <code>maven-resource-plugin</code> or an <a href=\"#build-assembly\">assembly configuration</a> with filtering to make them available in the docker build context.</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Example</div>\n<p>The following example replaces all properties in the format <code>@property@</code> within the Dockerfile.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <configuration>\n <images>\n <image>\n <name>user/demo</name>\n <build>\n <filter>@</filter>\n </build>\n </image>\n </images>\n </configuration>\n ...\n</plugin></code></pre>\n</div>\n</div>\n<div id=\"build-plugin\" class=\"paragraph\">\n<div class=\"title\">Build Plugins</div>\n<p>This plugin supports so call <strong>dmp-plugins</strong> which are used during the build phase.\ndmp-plugins are enabled by just declaring a dependency in the plugin declaration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n\n <dependencies>\n <dependency>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>run-java-sh</artifactId>\n <version>1.2.2</version>\n </dependency>\n </dependencies>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>org.eclipse.jkube.runsh.RunShLoader</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>During a build with <code>openshift-maven-plugin:build</code>, those classes are loaded and certain fixed method are called.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following methods are supported:</p>\n</div>\n<table id=\"build-plugin-methods\" class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Method</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>addExtraFiles</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A <em>static</em> method called by dmp with a single <code>File</code> argument. This will point to a directory <code>docker-extra</code> which can be referenced easily by a Dockerfile or an assembly. A dmp plugin typically will create an own subdirectory to avoid a clash with other dmp-plugins.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>If a configured plugin does not provide method of this name and signature, then it will be simply ignored.\nAlso, no interface needs to be implemented to keep the coupling low.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following official dmp-plugins are known and supported:</p>\n</div>\n<table id=\"build-plugins-official\" class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4286%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Name</th>\n<th class=\"tableblock halign-left valign-top\">G,A</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"https://github.com/fabric8io-images/run-java-sh\">run-java.sh</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.io</code>, <code>run-java</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">General purpose startup script fo running Java applications. The dmp plugin creates a\n <code>target/docker-extra/run-java/run-java.sh</code> which can be included in a Dockerfile (see the example above).\n See the <a href=\"https://github.com/fabric8io-images/run-java-sh\">run-java.sh Documentation</a> for more details.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Check out <code>samples/run-java</code> for a fully working example.</p>\n</div>\n<div class=\"paragraph\">\n<p>All build relevant configuration is contained in the <code><build></code> section\nof an image configuration. The following configuration options are supported:</p>\n</div>\n<table id=\"config-image-build\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 13. Build configuration (<a href=\"#config-image\"><image> </a>)</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#config-image-build-assembly\"><strong>assembly</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specifies the assembly configuration as described in <a href=\"#build-assembly\">Build Assembly</a></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#build-buildargs\"><strong>args</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Map specifying the value of <a href=\"https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables-build-arg\">Docker build args</a>\nwhich should be used when building the image with an external Dockerfile which uses build arguments. The key-value syntax is the same as when defining Maven properties (or <code>labels</code> or <code>env</code>).\nThis argument is ignored when no external Dockerfile is used. Build args can also be specified as properties as\ndescribed in <a href=\"#build-buildargs\">Build Args</a></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>buildOptions</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Map specifying the build options to provide to the docker daemon when building the image. These options map to the ones listed as query parameters in the\n<a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#build-image-from-a-dockerfile\">Docker Remote API</a> and are restricted to simple options\n(e.g.: memory, shmsize). If you use the respective configuration options for build options natively supported by the build configuration (i.e. <code>noCache</code>, <code>cleanup=remove</code> for buildoption <code>forcerm=1</code> and <code>args</code> for build args) then these will override any corresponding options given here. The key-value syntax is the same as when defining environment variables or labels as described in <a href=\"#misc-env\">Setting Environment Variables and Labels</a>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>cleanup</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Cleanup dangling (untagged) images after each build (including any containers created from them). Default is <code>try</code> which tries to remove the old image, but doesn’t fail the build if this is not possible because e.g. the image is still used by a running container. Use <code>remove</code> if you want to fail the build and <code>none</code> if no cleanup is requested.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a id=\"context-dir\"></a><strong>contextDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to a directory used for the build’s context. You can specify the <code>Dockerfile</code> to use with <strong>dockerFile</strong>, which by default is the Dockerfile found in the <code>contextDir</code>. The Dockerfile can be also located outside of the <code>contextDir</code>, if provided with an absolute file path. See <a href=\"#external-dockerfile\">External Dockerfile</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#misc-startup\"><strong>cmd</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A command to execute by default (i.e. if no command is provided when a container for this image is started). See <a href=\"#misc-startup\">Startup Arguments</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>compression</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The compression mode how the build archive is transmitted to the docker daemon (<code>oc:build</code>) and how docker build archives are attached to this build as sources (<code>oc:source</code>). The value can be <code>none</code> (default), <code>gzip</code> or <code>bzip2</code>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>dockerFile</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to a <code>Dockerfile</code> which also triggers <em>Dockerfile mode</em>. See <a href=\"#external-dockerfile\">External Dockerfile</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>dockerArchive</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to a saved image archive which is then imported. See <a href=\"#external-dockerfile\">Docker archive</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#misc-startup\"><strong>entryPoint</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">An entrypoint allows you to configure a container that will run as an executable. See <a href=\"#misc-startup\">Startup Arguments</a> for details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#misc-env\"><strong>env</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The environments as described in <a href=\"#misc-env\">Setting Environment Variables and Labels</a>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>filter</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Enable and set the delimiters for property replacements. By default properties in the format <code>${..}</code> are replaced with Maven properties. You can switch off property replacement by setting this property to <code>false</code>. When using a single char like <code>@</code> then this is used as a delimiter (e.g <code>@…​@</code>). See <a href=\"#build-filtering\">Filtering</a> for more details.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a id=\"build-config-from\"></a><strong>from</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The base image which should be used for this image. If not given this default to <code>busybox:latest</code> and is suitable for a pure data image.\nIn case of an <a href=\"#build-openshift\">S2I Binary build</a> this parameter specifies the S2I Builder Image to use, which by default is <code>fabric8/s2i-java:latest</code>. See also <a href=\"#build-config-from-ext\">from-ext</a> how to add additional properties for the base image.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a id=\"build-config-from-ext\"></a><strong>fromExt</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Extended definition for a base image. This field holds a map of defined in <code><key>value</key></code> format. The known keys are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code><name></code> : Name of the base image</p>\n</li>\n<li>\n<p><code><kind></code> : Kind of the reference to the builder image when in S2I build mode. By default its <code>ImageStreamTag</code> but can be also <code>ImageStream</code>. An alternative would be <code>DockerImage</code></p>\n</li>\n<li>\n<p><code><namespace></code> : Namespace where this builder image lives.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>A provided <code><from></code> takes precedence over the name given here. This tag is useful for extensions of this plugin.</p>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#build-healthcheck\"><strong>healthCheck</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Definition of a health check as described in <a href=\"#build-healthcheck\">Healthcheck</a></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>imagePullPolicy</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specific pull policy for the base image. This overwrites any global pull policy.\n See the global configuration option <a href=\"#image-pull-policy\">imagePullPolicy</a> for the possible values and the default.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>loadNamePattern</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Scan the images in the archive specified in <code>dockerArchive</code> and match the associated repository and tag information against this pattern. When a matching repository and tag is found, create a tag linking the <code>name</code> for this image to the repository and tag that matched the pattern.</p>\n</div>\n<div class=\"paragraph\">\n<p>The wildcards are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>?</code> matches a single character</p>\n</li>\n<li>\n<p><code>*</code> matches within one component, where components are separated by slashes, or the final colon that separates the repository from the tag</p>\n</li>\n<li>\n<p><code>**</code> matches multiple components, stopping at the final colon</p>\n</li>\n<li>\n<p><code>**/</code> matches multiple components, but must stop at a slash, or the final colon</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>When matching multiple components, <code>**/</code> is likely to be more useful than <code>**</code>. The pattern <code>**image-name:*</code> will match <code>my-group/my-image-name:some-tag</code>, whereas <code>**/image-name:*</code> will not, because the wildcard has to stop at a slash. Note that <code>**/image-name:*</code> will also match 'image-name:some-tag', since the <code>**/</code> wildcard can be empty.</p>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#misc-env\"><strong>labels</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Labels as described in <a href=\"#misc-env\">Setting Environment Variables and Labels</a>.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>maintainer</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The author (<code>MAINTAINER</code>) field for the generated image</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>noCache</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Don’t use Docker’s build cache. This can be overwritten by setting a system property <code>docker.noCache</code> when running Maven.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>cacheFrom</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A list of <code><image></code> elements specifying image names to use as cache sources.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>optimise</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">if set to true then it will compress all the <code>runCmds</code> into a single <code>RUN</code> directive so that only one image layer is created.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>ports</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The exposed ports which is a list of <code><port></code> elements, one for each port to expose. Whitespace is trimmed from each element and empty elements are ignored. The format can be either pure numerical (\"8080\") or with the protocol attached (\"8080/tcp\").</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>shell</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Shell to be used for the <strong>runCmds</strong>. It contains <strong>arg</strong> elements which are defining the executable and its params.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>runCmds</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Commands to be run during the build process. It contains <strong>run</strong> elements which are passed to the shell. Whitespace is trimmed from each element and empty elements are ignored. The run commands are inserted right after the assembly and after <strong>workdir</strong> into the Dockerfile. This tag is not to be confused with the <code><run></code> section for this image which specifies the runtime behaviour when starting containers.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skip</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">if set to true disables building of the image. This config option is best used together with a maven property</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipTag</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to <code>true</code> this plugin won’t add any tags to images.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tags</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of additional <code>tag</code> elements with which an image is to be tagged after the build. Whitespace is trimmed from each element and empty elements are ignored.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>user</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">User to which the Dockerfile should switch to the end (corresponds to the <code>USER</code> Dockerfile directive).</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>volumes</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of <code>volume</code> elements to create a container volume. Whitespace is trimmed from each element and empty elements are ignored.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>workdir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory to change to when starting the container.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>From this configuration this Plugin creates an in-memory Dockerfile,\ncopies over the assembled files and calls the Docker daemon via its\nremote API.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><build>\n <from>java:8u40</from>\n <maintainer>john.doe@example.com</maintainer>\n <tags>\n <tag>latest</tag>\n <tag>${project.version}</tag>\n </tags>\n <ports>\n <port>8080</port>\n </ports>\n <volumes>\n <volume>/path/to/expose</volume>\n </volumes>\n <buildOptions>\n <shmsize>2147483648</shmsize>\n </buildOptions>\n\n <shell>\n <exec>\n <arg>/bin/sh</arg>\n <arg>-c</arg>\n </exec>\n </shell>\n <runCmds>\n <run>groupadd -r appUser</run>\n <run>useradd -r -g appUser appUser</run>\n </runCmds>\n\n <entryPoint>\n <!-- exec form for ENTRYPOINT -->\n <exec>\n <arg>java</arg>\n <arg>-jar</arg>\n <arg>/opt/demo/server.jar</arg>\n </exec>\n </entryPoint>\n\n <assembly>\n <mode>dir</mode>\n <targetDir>/opt/demo</targetDir>\n <descriptor>assembly.xml</descriptor>\n </assembly>\n</build></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>In order to see the individual build steps you can switch on <code>verbose</code> mode either by setting the property\n<code>jkube.docker.verbose</code> or by using <code><verbose>true</verbose></code> in the <a href=\"#global-configuration\">Global configuration</a></p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-assembly\">5.2.7. Assembly</h4>\n<div class=\"paragraph\">\n<p>The <code><assembly></code> element within <code><build></code> element has an XML structure and defines how build artifacts and other files\ncan be added to the Docker image.</p>\n</div>\n<table id=\"config-image-build-assembly\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 14. Assembly Configuration (<a href=\"#config-image\"><image> </a> : <a href=\"#config-image-build\"><build> </a>)</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Assembly name, which is <code>maven</code> by default. This name is used for the archives and directories created during the build.\n This directory holds the files specified by the assembly. If an <a href=\"#external-dockerfile\">external Dockerfile</a> is used then\n this name is also the relative directory which contains the assembly files.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>targetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory under which the files and artifacts contained in the assembly will be copied within the container.\n The default value for this is <code>/<assembly name></code>, so <code>/maven</code> if <strong>name</strong> is not set to a different value.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#build-assembly-inline\"><strong>inline</strong></a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Inlined assembly descriptor as described in <a href=\"#build-assembly-inline\">Assembly - Inline</a> below.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>exportTargetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Specification whether the <code>targetDir</code> should be exported as a volume. This value is <code>true</code> by default except in the\n case the <code>targetDir</code> is set to the container root (<code>/</code>). It is also <code>false</code> by default when a base image is used with\n <code>from</code> since exporting makes no sense in this case and will waste disk space unnecessarily.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>excludeFinalOutputArtifact</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">By default, the project’s final artifact will be included in the assembly, set this flag to true in case the\n artifact should be excluded from the assembly.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>mode</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Mode how the how the assembled files should be collected:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>dir</code> : Files are simply copied (default),</p>\n</li>\n<li>\n<p><code>tar</code> : Transfer via tar archive</p>\n</li>\n<li>\n<p><code>tgz</code> : Transfer via compressed tar archive</p>\n</li>\n<li>\n<p><code>zip</code> : Transfer via ZIP archive</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The archive formats have the advantage that file permission can be preserved better (since the copying is independent\nfrom the underlying files systems), but might triggers internal bugs from the Maven assembler (as it has been reported\nin <a href=\"https://github.com/fabric8io/docker-maven-plugin/issues/171\">#171</a>)</p>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>permissions</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>Permission of the files to add:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>ignore</code> to use the permission as found on files regardless on any\nassembly configuration</p>\n</li>\n<li>\n<p><code>keep</code> to respect the assembly provided permissions</p>\n</li>\n<li>\n<p><code>exec</code> for setting the executable bit on all files (required for Windows when using an assembly mode <code>dir</code>)</p>\n</li>\n<li>\n<p><code>auto</code> to let the plugin select <code>exec</code> on Windows and <code>keep</code> on others.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p><code>keep</code> is the default value.</p>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tarLongFileMode</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Sets the TarArchiver behaviour on file paths with more than 100 characters length. Valid values are: \"warn\"(default), \"fail\", \"truncate\", \"gnu\", \"posix\", \"posix_warn\" or \"omit\"</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>user</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>User and/or group under which the files should be added. The user must already exist in the base image.</p>\n</div>\n<div class=\"paragraph\">\n<p>It has the general format <code>user[:group[:run-user]]</code>. The user and group can be given either as numeric user- and group-id or as names. The group id is optional.</p>\n</div>\n<div class=\"paragraph\">\n<p>If a third part is given, then the build changes to user <code>root</code> before changing the ownerships, changes the ownerships and then change to user <code>run-user</code> which is then used for the final command to execute. This feature might be needed, if the base image already changed the user (e.g. to 'jboss') so that a <code>chown</code> from root to this user would fail.</p>\n</div>\n<div class=\"paragraph\">\n<p>For example, the image <code>jboss/wildfly</code> use a \"jboss\" user under which all commands are executed. Adding files in Docker always happens under the UID root. These files can only be changed to \"jboss\" is the <code>chown</code> command is executed as root. For the following commands to be run again as \"jboss\" (like the final <code>standalone.sh</code>), the plugin switches back to user <code>jboss</code> (this is this \"run-user\") after changing the file ownership. For this example a specification of\n<code>jboss:jboss:jboss</code> would be required.</p>\n</div></div></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>In the event you do not need to include any artifacts with the image, you may safely omit this element from the configuration.</p>\n</div>\n<div class=\"sect4\">\n<h5 id=\"build-assembly-inline\">Assembly - Inline</h5>\n<div class=\"paragraph\">\n<p>Inlined assembly description with a format very similar to\n<a href=\"https://maven.apache.org/plugins/maven-assembly-plugin/assembly.html\">Maven Assembly Plugin</a>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 15. Assembly - Inline (<a href=\"#config-image\"><image> </a> : <a href=\"#config-image-build\"><build> </a> : <a href=\"#config-image-build-assembly\"><assembly> </a>)</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>id</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Unique ID for the assembly.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>files</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>List of files for the assembly.</p>\n</div>\n<div class=\"paragraph\">\n<p>Each file has the following fields:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>source</code>: Absolute or relative path from the project’s directory of the file to be included in the assembly.</p>\n</li>\n<li>\n<p><code>outputDirectory</code>: Output directory relative to the root of the root directory of the assembly.</p>\n</li>\n<li>\n<p><code>destName</code>: Destination filename in the outputDirectory.</p>\n</li>\n<li>\n<p><code>fileMode</code>: Similar to a UNIX permission, sets the file mode of the file included.</p>\n</li>\n</ul>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>fileSets</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>List of filesets for the Assembly.</p>\n</div>\n<div class=\"paragraph\">\n<p>Each fileset has the following fields:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>directory</code>: Absolute or relative location from the project’s directory.</p>\n</li>\n<li>\n<p><code>outputDirectory</code>: Output directory relative to the root of the root directory of the assembly fileSet.</p>\n</li>\n<li>\n<p><code>includes</code>: A set of files and directories to include.</p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If none is present, then everything is included.</p>\n</li>\n<li>\n<p>Files can be referenced by using their complete path name.</p>\n</li>\n<li>\n<p>Wildcards are also supported, patterns will be matched using\n<a href=\"https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/file/FileSystem.html#getPathMatcher(java.lang.String)\">\nFileSystem#getPathMatcher</a> <code>glob</code> syntax.</p>\n</li>\n</ul>\n</div>\n</li>\n<li>\n<p><code>excludes</code>: A set of files and directory to exclude.</p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If none is present, then there are no exclusions.</p>\n</li>\n</ul>\n</div>\n</li>\n<li>\n<p><code>fileMode</code>: Similar to a UNIX permission, sets the file mode of the files included.</p>\n</li>\n<li>\n<p><code>directoryMode</code>: Similar to a UNIX permission, sets the directory mode of the directories included.</p>\n</li>\n</ul>\n</div></div></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>baseDirectory</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Base directory from which to resolve the Assembly files and filesets.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"misc-env\">5.2.8. Environment and Labels</h4>\n<div class=\"paragraph\">\n<p>When creating a container one or more environment variables can be set via configuration with the <code>env</code> parameter</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><env>\n <JAVA_HOME>/opt/jdk8</JAVA_HOME>\n <CATALINA_OPTS>-Djava.security.egd=file:/dev/./urandom</CATALINA_OPTS>\n</env></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If you put this configuration into profiles you can easily create various test variants with a single image (e.g. by switching the JDK or whatever).</p>\n</div>\n<div class=\"paragraph\">\n<p>It is also possible to set the environment variables from the outside of the plugin’s configuration with the parameter <code>envPropertyFile</code>. If given, this property file is used to set the environment variables where the keys and values specify the environment variable. Environment variables specified in this file override any environment variables specified in the configuration.</p>\n</div>\n<div class=\"paragraph\">\n<p>Labels can be set inline the same way as environment variables:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><labels>\n <com.example.label-with-value>foo</com.example.label-with-value>\n <version>${project.version}</version>\n <artifactId>${project.artifactId}</artifactId>\n</labels></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"misc-startup\">5.2.9. Startup Arguments</h4>\n<div class=\"paragraph\">\n<p>Using <code>entryPoint</code> and <code>cmd</code> it is possible to specify the <a href=\"https://docs.docker.com/reference/builder/#entrypoint\">entry point</a>\nor <a href=\"https://docs.docker.com/reference/builder/#cmd\">cmd</a> for a container.</p>\n</div>\n<div class=\"paragraph\">\n<p>The difference is, that an <code>entrypoint</code> is the command that always be executed, with the <code>cmd</code> as argument. If no <code>entryPoint</code> is provided, it defaults to <code>/bin/sh -c</code> so any <code>cmd</code> given is executed with a shell. The arguments given to <code>docker run</code> are always given as arguments to the\n<code>entrypoint</code>, overriding any given <code>cmd</code> option. On the other hand if no extra arguments are given to <code>docker run</code> the default <code>cmd</code> is used as argument to <code>entrypoint</code>.</p>\n</div>\n<div class=\"sidebarblock\">\n<div class=\"content\">\n<div class=\"paragraph\">\n<p>See this <a href=\"http://stackoverflow.com/questions/21553353/what-is-the-difference-between-cmd-and-entrypoint-in-a-dockerfile\">stackoverflow question</a> for a detailed explanation.</p>\n</div>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>An entry point or command can be specified in two alternative formats:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 16. Entrypoint and Command Configuration</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 83.3334%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Mode</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>shell</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Shell form in which the whole line is given to <code>shell -c</code> for interpretation.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>exec</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of arguments (with inner <code><args></code>) arguments which will be given to the <code>exec</code> call directly without any shell interpretation.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Either shell or params should be specified.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><entryPoint>\n <!-- shell form -->\n <shell>java -jar $HOME/server.jar</shell>\n</entryPoint></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>or</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><entryPoint>\n <!-- exec form -->\n <exec>\n <arg>java</arg>\n <arg>-jar</arg>\n <arg>/opt/demo/server.jar</arg>\n </exec>\n</entryPoint></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This can be formulated also more dense with:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><!-- shell form -->\n<entryPoint>java -jar $HOME/server.jar</entryPoint></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>or</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><entryPoint>\n <!-- exec form -->\n <arg>java</arg>\n <arg>-jar</arg>\n <arg>/opt/demo/server.jar</arg>\n</entryPoint></code></pre>\n</div>\n</div>\n<div class=\"dlist\">\n<dl>\n<dt class=\"hdlist1\">INFO</dt>\n<dd>\n<p>Startup arguments are not used in S2I builds</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"build-buildargs\">5.2.10. Build Args</h4>\n<div id=\"property-buildargs\" class=\"paragraph\">\n<p>As described in section <a href=\"#build-configuration\">Configuration</a> for external Dockerfiles <a href=\"https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables-build-arg\">Docker build arg</a> can be used. In addition to the\nconfiguration within the plugin configuration you can also use properties to specify them:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Set a system property when running Maven, eg.: <code>-Ddocker.buildArg.http_proxy=http://proxy:8001</code>. This is especially\nuseful when using predefined Docker arguments for setting proxies transparently.</p>\n</li>\n<li>\n<p>Set a project property within the <code>pom.xml</code>, eg.:</p>\n</li>\n</ul>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><docker.buildArg.myBuildArg>myValue</docker.buildArg.myBuildArg></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Please note that the system property setting will always override the project property. Also note that for all\nproperties which are not Docker <a href=\"https://docs.docker.com/engine/reference/builder/#arg\">predefined</a> properties, the\nexternal Dockerfile must contain an <code>ARGS</code> instruction.</p>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:push\">5.3. <strong>oc:push</strong></h3>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nSection needs review and rearrangements\n</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>This goal uploads images to the registry which have a <code><build></code> configuration section. The images to push can be restricted with\nthe global option <code>filter</code> (see <a href=\"#global-configuration\">Global Configuration</a> for details). The registry to push is by\ndefault <code>docker.io</code> but can be specified as part of the images’s <code>name</code> the Docker way.\nE.g. <code>docker.test.org:5000/data:1.5</code> will push the image <code>data</code> with tag <code>1.5</code> to the registry <code>docker.test.org</code> at port\n<code>5000</code>. Registry credentials (i.e. username and password) can be specified in multiple ways as described in section <a href=\"#authentication\">Authentication</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>By default a progress meter is printed out on the console, which is omitted when using Maven in batch mode (option <code>-B</code>).\nA very simplified progress meter is provided when using no color output (i.e. with <code>-Djkube.useColor=false</code>).</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 17. Push options</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4285%;\">\n<col style=\"width: 14.2858%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipPush</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to <code>true</code> the plugin won’t push any images that have been built.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.push</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipTag</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to <code>true</code> this plugin won’t push any tags</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.tag</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pushRegistry</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The registry to use when pushing the image. See <a href=\"#registry\">Registry Handling</a> for\nmore details.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.push.registry</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>retries</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">How often should a push be retried before giving up. This useful for flaky registries which tend to return 500 error codes from time to time. The default is 0 which means no retry at all.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.docker.push.retries</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:apply\">5.4. <strong>oc:apply</strong></h3>\n<div class=\"paragraph\">\n<p>This goal applies the resources created with <a href=\"#jkube:resource\"><strong>oc:resource</strong></a> to a connected Kubernetes cluster. It’s similar to <a href=\"#jkube:deploy\"><strong>oc:deploy</strong></a> but does not the full deployment cycle of creating the resource, creating the application image and sending the resource descriptors to the clusters. This goal can be easily bound to <code><executions></code> within the plugin’s configuration and binds by default to the <code>install</code> lifecycle phase.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:apply</code></pre>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Apply\">5.4.1. Supported Properties For Apply goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 18. Other options available with apply goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>recreate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we update resources by deleting them first and then creating them again.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.recreate</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>openshiftManifest</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The generated kubernetes YAML file.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/target/classes/META-INF/jkube/openshift.yml</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.openshiftManifest</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>create</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we create new resources.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.create</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>rolling</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we use rolling updates to apply changes.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.rolling</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>failOnNoKubernetesJson</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we fail if there is no Kubernetes JSON.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.failOnNoKubernetesJson</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>servicesOnly</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">In services only mode we only process services so that those can be recursively created/updated first before\n creating/updating any pods and replication controllers.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.servicesOnly</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>ignoreServices</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Do we want to ignore services. This is particularly useful when in recreate mode to let you easily recreate all the\n ReplicationControllers and Pods but leave any service definitions alone to avoid changing the portalIP addresses and\n breaking existing pods using the service.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.ignoreServices</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>processTemplatesLocally</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Process templates locally in Java so that we can apply OpenShift templates on any Kubernetes environment.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.processTemplatesLocally</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>deletePods</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Should we delete all the pods if we update a Replication Controller.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.deletePods</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>ignoreRunningOAuthClients</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Do we want to ignore OAuthClients which are already running?. OAuthClients are shared across namespaces so we should\n not try to update or create/delete global oauth clients.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.ignoreRunningOAuthClients</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>jsonLogDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The folder we should store any temporary json files or results.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/target/jkube/applyJson</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.deploy.jsonLogDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>waitSeconds</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">How many seconds to wait for a URL to be generated for a service.</p>\n<p class=\"tableblock\"> Defaults to <code>5</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.serviceUrl.waitSeconds</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>resourceDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Folder where to find project specific files.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/src/main/jkube</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.resourceDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>environment</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Environment name where resources are placed. For example, if you set this property to dev and resourceDir is the\n default one, jkube will look at <code>src/main/jkube/dev</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>null</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.environment</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>skipApply</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Skip applying the resources.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.skip.apply</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:helm\">5.5. <strong>oc:helm</strong></h3>\n<div class=\"paragraph\">\n<p>This goal is for creating\n<a href=\"https://helm.sh/docs/topics/charts\">Helm charts</a>\nfor your Maven project so that you can install, update or delete your app in Kubernetes\nusing <a href=\"https://github.com/helm/helm\">Helm</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>For creating a Helm chart you simply call <code>oc:helm</code> goal on the command line:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:resource oc:helm</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The <code>oc:resource</code> goal is required to create the resource descriptors which are included in the Helm chart.\nIf you have already built the resource then you can omit this goal.</p>\n</div>\n<div class=\"paragraph\">\n<p>The configuration is defined in a <code><helm></code> section within the plugin’s configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example Helm configuration</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <configuration>\n <helm>\n <chart>Jenkins</chart>\n <keywords>ci,cd,server</keywords>\n </helm>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This configuration section knows the following sub-elements in order to configure your Helm chart.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 19. Helm configuration</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 71.4285%;\">\n<col style=\"width: 14.2858%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>chart</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart name, which is <code>${project.artifactId}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.chart</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>version</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart SemVer version, which is <code>${project.version}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.version</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>description</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart single-sentence description, which is <code>${project.description}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.description</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>home</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart URL for this project’s home page, which is <code>${project.url}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.home</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>sources</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart list of URLs to source code for this project, defaults to the list of <code>${project.scm.url}</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>maintainers</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart list of maintainers (name+email), defaults to the list of\n `${project.developers.name}:${project.developers.name}`if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>icon</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Chart URL to an SVG or PNG image to be used as an icon, default is extracted from the kubernetes manifest\n (<code>kubernetes.yml</code>) <code>jkube.io/iconUrl</code> annotation if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.icon</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keywords</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Comma separated list of keywords to add to the chart.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>engine</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The template engine to use.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>additionalFiles</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The list of additional files to be included in the Chart archive. Any file named <code>README</code> or <code>LICENSE</code> will <strong>always</strong>\n be included by default.</p></td>\n<td class=\"tableblock halign-left valign-top\"></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>type</strong> / <strong>types</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Platform for which to generate the chart. By default this is <code>kubernetes</code>, but can be also <code>openshift</code> for using\n OpenShift specific resources in the chart. You can also add both values as a comma separated list.</p>\n<p class=\"tableblock\"> <em>Please note that there is no OpenShift support yet for charts, so this is experimental.</em></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.type</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>sourceDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where to find the resource descriptors generated with <code>oc:resource</code>.\n By default this is <code>${basedir}/target/classes/META-INF/jkube., which is also the output directory used by `oc:resource</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.sourceDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>outputDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where to create the Helm chart, which is <code>${basedir}/target/jkube/helm</code> by default for Kubernetes\n and <code>${basedir}/target/jkube/helmshift</code> for OpenShift.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.outputDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tarballOutputDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where to create the the Helm chart archive, which is <code>${basedir}/target</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.tarballOutputDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>chartExtension</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Helm chart file extension (<code>tgz</code>, <code>tar.bz</code>, <code>tar.bzip2</code>, <code>tar.bz2</code>), default value is <code>tar.gz</code> if not provided.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.helm.chartExtension</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>In a next step you can install this via the <a href=\"https://github.com/helm/helm/releases\">helm command line tool</a> as follows:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">helm install nameForChartInRepository target/jkube/helm/${chartName}/kubernetes</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>or</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>helm install target/jkube/helm/${chartName}/kubernetes --generate-name</pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>To add the <code>helm</code> goal to your project so that it is automatically executed just add the <code>helm</code> goal to the <code>executions</code>\nsection of the <code>openshift-maven-plugin</code> section of your <code>pom.xml</code>.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Add helm goal</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n\n <!-- ... -->\n\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n <goal>deploy</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>In addition this goal will also create a tar-archive below <code>${basedir}/target</code> which contains the chart with its template.\nThis tar is added as an artifact with classifier <code>helm</code> to the build (<code>helmshift</code> for the OpenShift mode).</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"goals-overview-develop\">6. Development Goals</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"jkube:deploy\">6.1. <strong>oc:deploy</strong></h3>\n<div class=\"paragraph\">\n<p>This is the main goal for building your docker image, generating the kubernetes resources and deploying them into the cluster (insofar your pom.xml is set up correct; keep reading :)).</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:deploy</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This goal is designed to run <a href=\"#jkube:build\"><strong>oc:build</strong></a> and <a href=\"#jkube:resource\"><strong>oc:resource</strong></a> before the deploy <strong>if</strong> you have the goals bound in your pom.xml:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n\n <!-- Connect oc:resource, oc:build and oc:helm to lifecycle phases -->\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n <goal>helm</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Effectively this builds your project then invokes these goals:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"#jkube:build\"><strong>oc:build</strong></a></p>\n</li>\n<li>\n<p><a href=\"#jkube:apply\"><strong>oc:apply</strong></a></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>By default the behaviour of resource goal is it generates <code>route.yml</code> for a service if you have not done any configuration changes. Sometimes there may be case when you want to generate route.yml but do not want to create route resource on OpenShift Cluster. This can be achieved by the following configuration.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example for not generating route resource on your cluster</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <configuration>\n <enricher>\n <excludes>\n <exclude>jkube-expose</exclude>\n </excludes>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:undeploy\">6.2. <strong>oc:undeploy</strong></h3>\n<div class=\"paragraph\">\n<p>This goal is for deleting the kubernetes resources that you deployed via the <a href=\"#jkube:apply\"><strong>oc:apply</strong></a> or <a href=\"#jkube:deploy\"><strong>oc:deploy</strong></a> goals</p>\n</div>\n<div class=\"paragraph\">\n<p>It iterates through all the resources generated by the <a href=\"#jkube:resource\"><strong>oc:resource</strong></a> goal and deletes them from your current kubernetes cluster.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:undeploy</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:log\">6.3. <strong>oc:log</strong></h3>\n<div class=\"paragraph\">\n<p>This goal tails the log of the app that you deployed via the <a href=\"#jkube:deploy\"><strong>oc:deploy</strong></a> goal</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:log</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>You can then terminate the output by hitting <code>Ctrl+C</code></p>\n</div>\n<div class=\"paragraph\">\n<p>If you wish to get the log of the app and then terminate immediately then try:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:log -Djkube.log.follow=false</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This lets you pipe the output into grep or some other tool</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:log -Djkube.log.follow=false | grep Exception</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If your app is running in multiple pods you can configure the pod name to log via the <code>jkube.log.pod</code> property, otherwise it defaults to the latest pod:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:log -Djkube.log.pod=foo</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If your pod has multiple containers you can configure the container name to log via the <code>jkube.log.container</code> property, otherwise it defaults to the first container:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:log -Djkube.log.container=foo</code></pre>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Log\">6.3.1. Supported Properties for Log goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 20. Options available with log goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logFollow</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Get follow logs for your application inside Kubernetes.</p>\n<p class=\"tableblock\"> Defaults to <code>true</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.log.follow</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logContainer</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Get logs of some specific container inside your application Deployment.</p>\n<p class=\"tableblock\"> Defaults to <code>null</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.log.container</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>logPod</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Get logs of some specific pod inside your application Deployment.</p>\n<p class=\"tableblock\"> Defaults to <code>null</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.log.pod</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:debug\">6.4. <strong>oc:debug</strong></h3>\n<div class=\"paragraph\">\n<p>This goal enables debugging in your Java app and then port forwards from localhost to the latest running pod of your app so that you can easily debug your app from your Java IDE.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:debug</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then follow the on screen instructions.</p>\n</div>\n<div class=\"paragraph\">\n<p>The default debug port is <code>5005</code>. If you wish to change the local port to use for debugging then pass in the <code>jkube.debug.port</code> parameter:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:debug -Djkube.debug.port=8000</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then in your IDE you start a Remote debug execution using this remote port using localhost and you should be able to set breakpoints and step through your code.</p>\n</div>\n<div class=\"paragraph\">\n<p>This lets you debug your apps while they are running inside a Kubernetes cluster - for example if you wish to debug a REST endpoint while another pod is invoking it.</p>\n</div>\n<div class=\"paragraph\">\n<p>Debug is enabled via the <code>JAVA_ENABLE_DEBUG</code> environment variable being set to <code>true</code>. This environment variable is used for all the standard Java docker images used by Spring Boot, flat classpath and executable JAR projects and Wildfly Swarm. If you use your own custom docker base image you may wish to also respect this environment variable too to enable debugging.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_speeding_up_debugging\">6.4.1. Speeding up debugging</h4>\n<div class=\"paragraph\">\n<p>By default the <code>oc:debug</code> goal has to edit your Deployment to enable debugging then wait for a pod to start. It might be in development you frequently want to debug things and want to speed things up a bit.</p>\n</div>\n<div class=\"paragraph\">\n<p>If so you can enable debug mode for each build via the <code>jkube.debug.enabled</code> property.</p>\n</div>\n<div class=\"paragraph\">\n<p>e.g. you can pass this property on the command line:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:deploy -Djkube.debug.enabled=true</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Or you can add something like this to your <code>~/.m2/settings.xml</code> file so that you enable debug mode for all maven builds on your laptop by using a profile :</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><?xml version=\"1.0\"?>\n<settings>\n <profiles>\n <profile>\n <id>enable-debug</id>\n <activation>\n <activeByDefault>true</activeByDefault>\n </activation>\n <properties>\n <jkube.debug.enabled>true</jkube.debug.enabled>\n </properties>\n </profile>\n </profiles>\n</settings></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then whenever you type the <code>oc:debug</code> goal there is no need for the maven goal to edit the <code>Deployment</code> and wait for a pod to restart; we can immediately start debugging when you type:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:debug</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_debugging_with_suspension\">6.4.2. Debugging with suspension</h4>\n<div class=\"paragraph\">\n<p>The <code>oc:debug</code> goal allows to attach a remote debugger to a running container, but the application is free to execute when the debugger is not attached.\nIn some cases, you may want to have complete control on the execution, e.g. to investigate the application behavior at startup. This can be done using the <code>jkube.debug.suspend</code> flag:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:debug -Djkube.debug.suspend</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The suspend flag will set the <code>JAVA_DEBUG_SUSPEND</code> environment variable to <code>true</code> and <code>JAVA_DEBUG_SESSION</code> to a random number in your deployment.\nWhen the <code>JAVA_DEBUG_SUSPEND</code> environment variable is set, standard docker images will use <code>suspend=y</code> in the JVM startup options for debugging.</p>\n</div>\n<div class=\"paragraph\">\n<p>The <code>JAVA_DEBUG_SESSION</code> environment variable is always set to a random number (each time you run the debug goal with the suspend flag) in order to tell Kubernetes to restart the pod.\nThe remote application will start only after a remote debugger is attached. You can use the remote debugging feature of your IDE to connect (on <code>localhost</code>, port <code>5005</code> by default).</p>\n</div>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nThe <code>jkube.debug.suspend</code> flag will disable readiness probes in the Kubernetes deployment in order to start port-forwarding during the early phases of application startup\n</td>\n</tr>\n</table>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Debug\">6.4.3. Supported Properties For Debug Goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 21. Options available with debug goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>debugPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default port available for debugging your application inside Kubernetes.</p>\n<p class=\"tableblock\"> Defaults to <code>5005</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.debug.port</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>debugSuspend</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Disables readiness probes in Kubernetes Deployment in order to start port forwarding during early phases of\n application startup.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.debug.suspend</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"jkube:watch\">6.5. <strong>oc:watch</strong></h3>\n<div class=\"paragraph\">\n<p>This goal is used to monitor the project workspace for changes and automatically trigger a redeploy of the application\nrunning on Kubernetes.</p>\n</div>\n<div class=\"paragraph\">\n<p>In order to use oc:watch for spring-boot, you need to make sure that <code>devtools</code> is included in the repacked\narchive, as shown in the following listing:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-maven-plugin</artifactId>\n <configuration>\n <excludeDevtools>false</excludeDevtools>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then you need to set a <code>spring.devtools.remote.secret</code> in application.properties, as shown in the following example:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>spring.devtools.remote.secret=mysecret</pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Before entering the watch mode, this goal must generate the docker image and the Kubernetes resources\n(optionally including some development libraries/configuration),\nand deploy the app on Kubernetes. Lifecycle bindings should be configured as follows to allow\nthe generation of such resources.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Lifecycle bindings for oc:watch</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n\n <!-- ... -->\n\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>For any application having <code>resource</code> and <code>build</code> goals bound to the lifecycle, the following\ncommand can be used to run the watch task.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-bash\" data-lang=\"bash\">mvn oc:watch</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This plugin supports different watcher providers, enabled automatically if the project satisfies certain conditions.</p>\n</div>\n<div class=\"paragraph\">\n<p>Watcher providers can also be configured manually. The <a href=\"#generator-example\">Generator example</a> is a good blueprint, simply replace <code><generator></code> with <code><watcher></code>. The configuration is structurally identical.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"watcher-spring-boot\">6.5.1. Spring Boot</h4>\n<div class=\"paragraph\">\n<p>This watcher is enabled by default for all Spring Boot projects. It performs the following actions:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>deploys your application with Spring Boot DevTools enabled</p>\n</li>\n<li>\n<p>tails the log of the latest running pod for your application</p>\n</li>\n<li>\n<p>watches the local development build of your Spring Boot based application and then triggers a reload of the application when there are changes</p>\n</li>\n</ul>\n</div>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nSpring devtools automatically ignores projects named <code>spring-boot</code>, <code>spring-boot-devtools</code>,\n <code>spring-boot-autoconfigure</code>, <code>spring-boot-actuator</code>, <code>and spring-boot-starter</code>\n</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>You can try it on any spring boot application via:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn oc:watch</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Once the goal starts up the spring boot RemoteSpringApplication it will watch for local development changes.</p>\n</div>\n<div class=\"paragraph\">\n<p>e.g. if you edit the java code of your app and then build it via something like this:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn package</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>You should see your app reload on the fly in the shell running the <a href=\"#jkube:watch\"><strong>oc:watch</strong></a> goal!</p>\n</div>\n<div class=\"paragraph\">\n<p>There is also support for LiveReload as well.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"watcher-docker-image\">6.5.2. Docker Image</h4>\n<div class=\"paragraph\">\n<p>This is a generic watcher that can be used in Kubernetes mode only. Once activated, it listens for changes in the project workspace\n in order to trigger a redeploy of the application.</p>\n</div>\n<div class=\"paragraph\">\n<p>The watcher can be activated e.g. by running this command in another shell:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn package</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The watcher will detect that the binary artifact has changed and will first rebuild the docker image,\nthen start a redeploy of the Kubernetes pod.</p>\n</div>\n<div class=\"paragraph\">\n<p>It uses the watch feature of the <a href=\"https://dmp.fabric8.io/#docker:watch\">docker-maven-plugin</a> under the hood.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"Supported-Properties-Watch\">6.5.3. Supported Properties for Watch goal</h4>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 22. Options available with watch goal</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>kubernetesManifest</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The generated kubernetes YAML file.</p>\n<p class=\"tableblock\"> Defaults to <code>${basedir}/target/classes/META-INF/jkube/kubernetes.yml</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.kubernetesManifest</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>watchMode</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><div class=\"content\"><div class=\"paragraph\">\n<p>How to watch for image changes.</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>copy</code>: Copy watched artifacts into container</p>\n</li>\n<li>\n<p><code>build</code>: Build only images</p>\n</li>\n<li>\n<p><code>run</code>: Run images</p>\n</li>\n<li>\n<p><code>both</code>: Build and run images</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Defaults to <code>both</code>.</p>\n</div></div></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.watch.mode</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>watchInterval</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Watch interval in milliseconds.</p>\n<p class=\"tableblock\"> Defaults to <code>5000</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.watch.interval</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"generators\">7. Generators</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>The usual way to define Docker images is with the plugin configuration as explained in <a href=\"#jkube:build\"><strong>oc:build</strong></a>. This can either be done completely within the <code>pom.xml</code> or by referring to an external Dockerfile. Since openshift-maven-plugin includes <a href=\"https://github.com/jkubeio/docker-maven-plugin\">docker-maven-plugin</a> the way by which images are built is identical.</p>\n</div>\n<div class=\"paragraph\">\n<p>However, this plugin provides an additional route for defining image configurations. This is done by so called <em>Generators</em>. A generator is a Java component providing an auto-detection mechanism for certain build types like a Spring Boot build or a plain Java build. As soon as a <em>Generator</em> detects that it is applicable it will be called with the list of images configured in the <code>pom.xml</code>. Typically a generator only creates dynamically a new image configuration if this list is empty. But a generator is free to also add new images to an existing list or even change the current image list.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can easily create your own generator as explained in <a href=\"#generators-api\">Generator API</a>. This section will focus on existing generators and how you can configure them.</p>\n</div>\n<div class=\"paragraph\">\n<p>The included <em>Generators</em> are enabled by default, but you can easily disable them or only select a certain set of generators. Each generator has a <em>name</em>, which is unique for a generator.</p>\n</div>\n<div class=\"paragraph\">\n<p>The generator configuration is embedded in a <code><generator></code> configuration section:</p>\n</div>\n<div id=\"generator-example\" class=\"listingblock\">\n<div class=\"title\">Example for a generator configuration</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n ....\n <configuration>\n ....\n <generator> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <includes> <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n <include>spring-boot</include>\n </includes>\n <config> <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n <spring-boot> <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n <alias>ping</alias>\n </spring-boot>\n </config>\n </generator>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Start of generators' configuration.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td>Generators can be included and excluded. Includes have precedence, and the generators are called in the given order.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td>Configuration for individual generators.</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>The config is a map of supported config values. Each section is embedded in a tag named after the generator.</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>The following sub-elements are supported:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 23. Generator configuration</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><includes></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Contains one ore more <code><include></code> elements with generator names which should be included. If given only this list of generators are included in this given order. The order is important because by default only the first matching generator kicks in. The generators from every active profile are included, too. However the generators listed here are moved to the front of the list, so that they are called first. Use the profile <code>raw</code> if you want to explicitly set the complete list of generators.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><excludes></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Holds one or more <code><exclude></code> elements with generator names to exclude. If set then all detected generators are used except the ones mentioned in this section.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><config></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Configuration for all generators. Each generator support a specific set of configuration values as described in the documentation. The subelements of this section are generator names to configure. E.g. for generator <code>spring-boot</code>, the sub-element is called <code><spring-boot></code>. This element then holds the specific generator configuration like <code><name></code> for specifying the final image name. See above for an example. Configuration coming from profiles are merged into this config, but not overriding the configuration specified here.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Beside specifying generator configuration in the plugin’s configuration it can be set directly with properties, too:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example generator property config</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn -Djkube.generator.java-exec.webPort=8082</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The general scheme is a prefix <code>jkube.generator.</code> followed by the unique generator name and then the generator specific key.</p>\n</div>\n<div class=\"paragraph\">\n<p>In addition to the provided default <em>Generators</em> described in the next section <a href=\"#generators-default\">Default Generators</a>, custom generators can be easily added. There are two ways to include generators:</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Plugin dependency</div>\n<p>You can declare the generator holding jars as dependency to this plugin as shown in this example</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <artifactId>openshift-maven-plugin</artifactId>\n ....\n <dependencies>\n <dependency>\n <groupId>io.acme</groupId>\n <artifactId>mygenerator</artifactId>\n <version>1.0</version>\n </dependency>\n </dependencies>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Compile time dependency</div>\n<p>Alternatively and if your application code comes with a custom generator you can set the global configuration option <code>useProjectClasspath</code> (property: <code>jkube.useProjectClasspath</code>) to true. In this case also the project artifact and its dependencies are looked up for <em>Generators</em>. See <a href=\"#generators-api\">Generator API</a> for details how to write your own generators.</p>\n</div>\n<div class=\"sect2\">\n<h3 id=\"generators-default\">7.1. Default Generators</h3>\n<div class=\"paragraph\">\n<p>All default generators examine the build information for certain aspects and generate a Docker build configuration on the fly. They can be configured to a certain degree, where the configuration is generator specific.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 24. Default Generators</caption>\n<colgroup>\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 16.6666%;\">\n<col style=\"width: 66.6668%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Generator</th>\n<th class=\"tableblock halign-left valign-top\">Name</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-java-exec\">Java Applications</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>java-exec</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generic generator for flat classpath and fat-jar Java applications</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-spring-boot\">Spring Boot</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>spring-boot</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Spring Boot specific generator</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-wildfly-swarm\">Wildfly Swarm</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>wildfly-swarm</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Wildfly Swarm apps</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-thorntail-v2\">Thorntail v2</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>thorntail-v2</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Thorntail v2 apps</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-vertx\">Vert.x</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Vert.x applications</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-karaf\">Karaf</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>karaf</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Karaf based apps</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-webapp\">Web applications</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>webapps</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for WAR based applications supporting Tomcat, Jetty and Wildfly base images</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-quarkus\">Quarkus</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>Quarkus</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Quarkus based applications</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-openliberty\">Open Liberty</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>openliberty</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for Open Liberty applications</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#generator-wildfly-jar\">WildFly Bootable JAR</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>wildfly-jar</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Generator for WildFly Bootable JAR applications</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>There are some configuration options which are shared by all generators:</p>\n</div>\n<table id=\"generator-options-common\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 25. Common generator options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>add</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">When set to <code>true</code>, then the generator <em>adds</em> to an existing image configuration. By default this is disabled, so\n that a generator only kicks in when there are no other image configurations in the build, which are either configured\n directly for a <code>oc:build</code> or already added by a generator which has been run previously.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.add</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>alias</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">An alias name for referencing this image in various other parts of the configuration. This is also used in the log\n output. The default alias name is the name of the generator.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.alias</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>from</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">This is the base image from where to start when creating the images. By default the generators make an opinionated\n decision for the base image which are described in the respective generator section.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.from</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>fromMode</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Whe using OpenShift S2I builds the base image can be either a plain docker image (mode: <code>jib</code>) or a reference to an\n <a href=\"https://docs.openshift.com/container-platform/3.3/architecture/core_concepts/builds_and_image_streams.html\"> ImageStreamTag</a>\n (mode: <code>istag</code>). In the case of an ImageStreamTag, <code>from</code> has to be specified in the form <code>namespace/image-stream:tag</code>.\n The mode takes only effect when running in OpenShift mode.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.fromMode</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Docker image name used when doing Docker builds. For OpenShift S2I builds its the name of the image stream. This\n can be a pattern as descibed in <a href=\"#image-name-placeholders\">Name Placeholders</a>. The default is <code>%g/%a:%l</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.name</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>registry</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A optional Docker registry used when doing Docker builds. It has no effect for OpenShift S2I builds.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.registry</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>When used as properties they can be directly referenced with the property names above.</p>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-java-exec\">7.1.1. Java Applications</h4>\n<div class=\"paragraph\">\n<p>One of the most generic <em>Generators</em> is the <code>java-exec</code> generator.\nIt is responsible for starting up arbitrary Java application.\nIt knows how to deal with fat-jar applications where the application and all dependencies are included within a single jar and the <code>MANIFEST.MF</code> within the jar references a main class.\nBut also flat classpath applications, where the dependencies are separate jar files and a main class is given.</p>\n</div>\n<div class=\"paragraph\">\n<p>If no main class is explicitly configured, the plugin first attempts to locate a fat jar.\nIf the Maven build creates a JAR file with a <code>META-INF/MANIFEST.MF</code> containing a <code>Main-Class</code> entry, then this is considered to be the fat jar to use.\nIf there are more than one of such files then the largest one is used.</p>\n</div>\n<div class=\"paragraph\">\n<p>If a main class is configured (see below) then the image configuration will contain the application jar plus all dependency jars.\nIf no main class is configured as well as no fat jar being detected, then this <em>Generator</em> tries to detect a single main class by searching for <code>public static void main(String args[])</code> among the application classes. If exactly one class is found this is considered to be the main class. If no or more than one is found the <em>Generator</em> finally does nothing.</p>\n</div>\n<div class=\"paragraph\">\n<p>It will use the following base image by default, but as explained <a href=\"#generator-options-common\">above</a> and can be changed with the <code>from</code> configuration.</p>\n</div>\n<table id=\"generator-java-exec-from\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 26. Java Base Images</caption>\n<colgroup>\n<col style=\"width: 7.6923%;\">\n<col style=\"width: 30.7692%;\">\n<col style=\"width: 30.7692%;\">\n<col style=\"width: 30.7693%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"></th>\n<th class=\"tableblock halign-left valign-top\">Docker Build</th>\n<th class=\"tableblock halign-left valign-top\">S2I Build</th>\n<th class=\"tableblock halign-left valign-top\">ImageStream</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Community</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-java-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-java-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube-java</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>These images always refer to the latest tag.</p>\n</div>\n<div class=\"paragraph\">\n<p>When a <code>fromMode</code> of <code>istag</code> is used to specify an <code>ImageStreamTag</code> and when no <code>from</code> is given, then as default the\n<code>ImageStreamTag</code> <code>jkube-java</code> in the namespace <code>openshift</code> is chosen.\nBy default, <code>fromMode = \"docker\"</code> which use the a plain Docker image reference for the S2I builder image.</p>\n</div>\n<div class=\"paragraph\">\n<p>Beside the common configuration parameters described in the table <a href=\"#generator-options-common\">common generator options</a>\nthe following additional configuration options are recognized:</p>\n</div>\n<table id=\"generator-java-exec-options\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 27. Java Application configuration options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>targetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory within the generated image where to put the detected artefacts into. Change this only if the base image is\n changed, too.</p>\n<p class=\"tableblock\"> Defaults to <code>/deployments</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.targetDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>jolokiaPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port of the Jolokia agent exposed by the base image. Set this to 0 if you don’t want to expose the Jolokia port.</p>\n<p class=\"tableblock\"> Defaults to <code>8778</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.jolokiaPort</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>mainClass</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Main class to call. If not given first a check is performed to detect a fat-jar (see above). Next a class is looked up\n by scanning <code>target/classes</code> for a single class with a main method. If no such class is found or if more than one is\n found, then this generator does nothing.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.mainClass</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>prometheusPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port of the Prometheus jmx_exporter exposed by the base image. Set this to 0 if you don’t want to expose the Prometheus\n port.</p>\n<p class=\"tableblock\"> Defaults to <code>9779</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.prometheusPort</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>webPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port to expose as service, which is supposed to be the port of a web application. Set this to 0 if you don’t want to\n expose a port.</p>\n<p class=\"tableblock\"> Defaults to <code>8080</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.java-exec.webPort</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>The exposed ports are typically later on use by <a href=\"#enrichers\">Enrichers</a> to create default Kubernetes or OpenShift services.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can add additional files to the target image within <code>baseDir</code> by placing files into <code>src/main/jkube-includes</code>.\nThese will be added with mode <code>0644</code>, while everything in <code>src/main/jkube-includes/bin</code> will be added with <code>0755</code>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-spring-boot\">7.1.2. Spring Boot</h4>\n<div class=\"paragraph\">\n<p>This generator is called <code>spring-boot</code> and gets activated when it finds a <code>spring-boot-maven-plugin</code> in the pom.xml.</p>\n</div>\n<div class=\"paragraph\">\n<p>This generator is based on the <a href=\"#generator-java-exec\">Java Application</a> Generator and inherits all of its configuration values. The generated container port is read from the <code>server.port</code> property <code>application.properties</code>, defaulting to <code>8080</code> if it is not found. It also uses the same default images as the <a href=\"#generator-java-exec-from\">java-exec Generator</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Beside the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\">java-exec options</a> the following additional configuration is recognized:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 28. Spring-Boot configuration options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>color</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set, force the use of color in the Spring Boot console output.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.spring-boot.color</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>The generator adds Kubernetes liveness and readiness probes pointing to either the management or server port as read from the <code>application.properties</code>.\nIf the <code>management.port</code> (for Spring Boot 1) or <code>management.server.port</code> (for Spring Boot 2) and <code>management.ssl.key-store</code> (for Spring Boot 1) or <code>management.server.ssl.key-store</code> (for Spring Boot 2) properties are set in <code>application.properties</code> otherwise or <code>server.ssl.key-store</code> property is set in <code>application.properties</code> then the probes are automatically set to use <code>https</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The generator works differently when called together with <code>oc:watch</code>.\nIn that case it enables support for <a href=\"http://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html\">Spring Boot Developer Tools</a> which allows for hot reloading of the Spring Boot app.\nIn particular, the following steps are performed:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If a secret token is not provided within the Spring Boot application configuration <code>application.properties</code> or <code>application.yml</code> with the key <code>spring.devtools.remote.secret</code> then a custom secret token is created and added to <code>application.properties</code></p>\n</li>\n<li>\n<p>Add <code>spring-boot-devtools.jar</code> as <code>BOOT-INF/lib/spring-devtools.jar</code> to the spring-boot fat jar.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Since during <code>oc:watch</code> the application itself within the <code>target/</code> directory is modified for allowing easy reloading you must ensure that you do a <code>mvn clean</code> before building an artifact which should be put into production.\nSince the released version are typically generated with a CI system which does a clean build anyway this should be only a theoretical problem.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-wildfly-swarm\">7.1.3. Wildfly Swarm</h4>\n<div class=\"paragraph\">\n<p>The WildFly Swarm generator detects a WildFly Swarm build and disables the Prometheus Java agent because of this <a href=\"https://issues.jboss.org/browse/THORN-1859\">issue</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Otherwise this generator is identical to the <a href=\"#generator-java-exec\">java-exec generator</a>.\nIt supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-thorntail-v2\">7.1.4. Thorntail v2</h4>\n<div class=\"paragraph\">\n<p>The Thorntail v2 generator detects a Thorntail v2 build and disables the Prometheus Java agent because of this <a href=\"https://issues.jboss.org/browse/THORN-1859\">issue</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Otherwise this generator is identical to the <a href=\"#generator-java-exec\">java-exec generator</a>. It supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-vertx\">7.1.5. Vert.x</h4>\n<div class=\"paragraph\">\n<p>The Vert.x generator detects an application using Eclipse Vert.x. It generates the metadata to start the application as a fat jar.</p>\n</div>\n<div class=\"paragraph\">\n<p>Currently, this generator is enabled if:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>you are using the Vert.x Maven Plugin (<a href=\"https://github.com/reactiverse/vertx-maven-plugin\" class=\"bare\">https://github.com/reactiverse/vertx-maven-plugin</a>)</p>\n</li>\n<li>\n<p>you are depending on <code>io.vertx:vertx-core</code> and uses the Maven Shader plugin</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Otherwise this generator is identical to the <a href=\"#generator-java-exec\">java-exec generator</a>. It supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The generator automatically:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>enable metrics and JMX publishing of the metrics when <code>io.vertx:vertx-dropwizard-metrics</code> is in the project’s classpath / dependencies.</p>\n</li>\n<li>\n<p>enable clustering when a Vert.x cluster manager is available in the project’s classpath / dependencies. this is done by appending <code>-cluster</code> to the command line.</p>\n</li>\n<li>\n<p>Force IPv4 stack when <code>vertx-infinispan</code> is used.</p>\n</li>\n<li>\n<p>Disable the async DNS resolver to fallback to the regular JVM DNS resolver.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>You can pass application parameter by setting the <code>JAVA_ARGS</code> env variable. You can pass system properties either using the same variable or using <code>JAVA_OPTIONS</code>. For instance, create <code>src/main/jkube/deployment.yml</code> with the following content to configure <code>JAVA_ARGS</code>:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n template:\n spec:\n containers:\n - env:\n - name: JAVA_ARGS\n value: \"-Dfoo=bar -cluster -instances=2\"</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-karaf\">7.1.6. Karaf</h4>\n<div class=\"paragraph\">\n<p>This generator named <code>karaf</code> kicks in when the build uses a <code>karaf-maven-plugin</code>. By default the following base images are used:</p>\n</div>\n<table id=\"generator-karaf-from\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 29. Karaf Base Images</caption>\n<colgroup>\n<col style=\"width: 7.6923%;\">\n<col style=\"width: 30.7692%;\">\n<col style=\"width: 30.7692%;\">\n<col style=\"width: 30.7693%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"></th>\n<th class=\"tableblock halign-left valign-top\">Docker Build</th>\n<th class=\"tableblock halign-left valign-top\">S2I Build</th>\n<th class=\"tableblock halign-left valign-top\">ImageStream</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Community</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-karaf-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-karaf-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube-karaf</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>When a <code>fromMode</code> of <code>istag</code> is used to specify an <code>ImageStreamTag</code> and when no <code>from</code> is given, then as default the\n<code>ImageStreamTag</code> <code>jkube-karaf</code> in the namespace <code>openshift</code> is chosen.</p>\n</div>\n<div class=\"paragraph\">\n<p>In addition to the <a href=\"#generator-options-common\">common generator options</a> this generator can be configured with the following options:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 30. Karaf configuration options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>baseDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Directory within the generated image where to put the detected artifacts into. Change this only if the base image is\n changed, too.</p>\n<p class=\"tableblock\"> Defaults to <code>/deployments</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.karaf.baseDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>webPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port to expose as service, which is supposed to be the port of a web application. Set this to 0 if you don’t want to\nexpose a port.</p>\n<p class=\"tableblock\"> Defaults to <code>8080</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.karaf.webPort</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-webapp\">7.1.7. Web Applications</h4>\n<div class=\"paragraph\">\n<p>The <code>webapp</code> generator tries to detect WAR builds and selects a base servlet container image based on the configuration found in the <code>pom.xml</code>:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>A <strong>Tomcat</strong> base image is selected when a <code>tomcat6-maven-plugin</code> or <code>tomcat7-maven-plugin</code> is present or when a <code>META-INF/context.xml</code> could be found in the classes directory.</p>\n</li>\n<li>\n<p>A <strong>Jetty</strong> base image is selected when a <code>jetty-maven-plugin</code> is present or one of the files <code>WEB-INF/jetty-web.xml</code> or <code>WEB-INF/jetty-logging.properties</code> is found.</p>\n</li>\n<li>\n<p>A <strong>Wildfly</strong> base image is chosen for a given <code>jboss-as-maven-plugin</code> or <code>wildfly-maven-plugin</code> or when a Wildfly specific deployment descriptor like <code>jboss-web.xml</code> is found.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The base images chosen are:</p>\n</div>\n<table id=\"generator-webapp-from\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 31. Webapp Base Images</caption>\n<colgroup>\n<col style=\"width: 11.1111%;\">\n<col style=\"width: 44.4444%;\">\n<col style=\"width: 44.4445%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"></th>\n<th class=\"tableblock halign-left valign-top\">Docker Build</th>\n<th class=\"tableblock halign-left valign-top\">S2I Build</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Tomcat</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-tomcat9-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-tomcat9-binary-s2i</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Jetty</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-jetty9-binary-s2i</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>quay.io/jkube/jkube-jetty9-binary-s2i</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Wildfly</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jboss/wildfly</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"https://github.com/wildfly/wildfly-s2i\"><code>quay.io/wildfly/wildfly-centos7</code></a></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>In addition to the <a href=\"#generator-options-common\">common generator options</a> this generator can be configured with the following options:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 32. Webapp configuration options</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>server</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Fix server to use in the base image. Can be either <strong>tomcat</strong>, <strong>jetty</strong> or <strong>wildfly</strong>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.server</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>targetDir</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where to put the war file into the target image. By default its selected by the base image chosen but can be\n overwritten with this option.</p>\n<p class=\"tableblock\"> Defaults to <code>/deployments</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.targetDir</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>user</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">User and/or group under which the files should be added. The syntax of this options is descriped in\n <a href=\"#config-image-build-assembly-user\">Assembly Configuration</a>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.user</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>path</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Context path with which the application can be reached by default.</p>\n<p class=\"tableblock\"> Defaults to <code>/</code> (root context).</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.path</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>cmd</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Command to use to start the container. By default the base images startup command is used.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.cmd</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>ports</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Comma separated list of ports to expose in the image and which eventually are translated later to Kubernetes services.\n The ports depend on the base image and are selected automatically. But they can be overridden here.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.generator.webapp.ports</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-quarkus\">7.1.8. Quarkus</h4>\n<div class=\"paragraph\">\n<p>The <code>Quarkus</code> generator tried to detect quarkus based projects looking at project <code>pom.xml</code>:</p>\n</div>\n<div class=\"paragraph\">\n<p>The base images chosen are:</p>\n</div>\n<table id=\"generator-quarkus-from\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 33. Webapp Base Images</caption>\n<colgroup>\n<col style=\"width: 11.1111%;\">\n<col style=\"width: 44.4444%;\">\n<col style=\"width: 44.4445%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\"></th>\n<th class=\"tableblock halign-left valign-top\">Docker Build</th>\n<th class=\"tableblock halign-left valign-top\">S2I Build</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Native</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>registry.access.redhat.com/ubi8/ubi-minimal:8.1</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">---</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>Normal Build</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>openjdk:11</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">---</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"admonitionblock important\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-important\" title=\"Important\"></i>\n</td>\n<td class=\"content\">\n<div class=\"paragraph\">\n<p>S2I builds are currently not yet supported for the Quarkus generator.</p>\n</div>\n</td>\n</tr>\n</table>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-openliberty\">7.1.9. Open Liberty</h4>\n<div class=\"paragraph\">\n<p>The Open Liberty generator runs when the Open Liberty plugin is enabled in the maven build.</p>\n</div>\n<div class=\"paragraph\">\n<p>The generator is similar to the <a href=\"#generator-java-exec\">java-exec generator</a>. It supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>For Open Liberty, the default value of webPort is 9080.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"generator-wildfly-jar\">7.1.10. Wildfly JAR Generator</h4>\n<div class=\"paragraph\">\n<p>The Wildfly JAR generator detects a WildFly Bootable JAR build and disables the Jolokia and Prometheus Java agent TO BE REVISITED WHEN WE HAVE A SOLUTION.</p>\n</div>\n<div class=\"paragraph\">\n<p>Otherwise this generator is identical to the <a href=\"#generator-java-exec\">java-exec generator</a>. It supports the <a href=\"#generator-options-common\">common generator options</a> and the <a href=\"#generator-java-exec-options\"><code>java-exec</code> options</a>.</p>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"generators-api\">7.2. Generator API</h3>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nThe API is still a bit in flux and will be documented later. Please refer to the\n <a href=\"https://github.com/eclipse/jkube/blob/master/jkube-kit/generator/api/src/main/java/org/eclipse/jkube/generator/api/Generator.java\">Generator</a>\n Interface in the meantime.\n</td>\n</tr>\n</table>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"enrichers\">8. Enrichers</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Enriching is the complementary concept to <a href=\"#generators\">Generators</a>. Whereas Generators are used to create and customize Docker images, Enrichers are use to create and customize Kubernetes resource objects.</p>\n</div>\n<div class=\"paragraph\">\n<p>There are a lot of similarities to Generators:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Each Enricher has a unique name.</p>\n</li>\n<li>\n<p>Enrichers are looked up automatically from the plugin dependencies and there is a set of default enrichers delivered with this plugin.</p>\n</li>\n<li>\n<p>Enrichers are configured the same ways as generators</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>The <a href=\"#generator-example\">Generator example</a> is a good blueprint, simply replace <code><generator></code> with <code><enricher></code>. The configuration is structural identical:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 34. Enricher configuration</caption>\n<colgroup>\n<col style=\"width: 25%;\">\n<col style=\"width: 75%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><includes></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Contains one ore more <code><include></code> elements with enricher names which should be included. If given, only this list of enrichers are included in this order. The enrichers from every active profile are included, too. However the enrichers listed here are moved to the front of the list, so that they are called first. Use the profile <code>raw</code> if you want to explicitly set the complete list of enrichers.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><excludes></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Holds one or more <code><exclude></code> elements with enricher names to exclude. This means all the detected enrichers are used except the ones mentioned in this section.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code><config></code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Configuration for all enrichers. Each enricher supports a specific set of configuration values as described in its documentation. The subelements of this section are enricher names. E.g. for enricher <code>jkube-service</code>, the sub-element is called <code><jkube-service></code>. This element then holds the specific enricher configuration like <code><name></code> for the service name. Configuration coming from profiles are merged into this config, but not overriding the configuration specified here.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>This plugin comes with a set of default enrichers. In addition custom enrichers can be easily added by providing implementation of the <a href=\"#enricher-api\">Enricher API</a> and adding these as a dependency to the build.</p>\n</div>\n<div class=\"sect2\">\n<h3 id=\"enrichers-default\">8.1. Default Enrichers</h3>\n<div class=\"paragraph\">\n<p>openshift-maven-plugin comes with a set of enrichers which are enabled by default. There are two categories of default enrichers:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"#enrichers-generic\"><strong>Generic Enrichers</strong></a> are used to add default resource object when they are missing or add common\nmetadata extracted from the given build information.</p>\n</li>\n<li>\n<p><a href=\"#enrichers-specific\"><strong>Specific Enrichers</strong></a> are enrichers which are focused on a certain tech stack that they detect.</p>\n</li>\n</ul>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 35. Default Enrichers Overview</caption>\n<colgroup>\n<col style=\"width: 22.2222%;\">\n<col style=\"width: 77.7778%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Enricher</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-configmap-file\">jkube-configmap-file</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add ConfigMap elements defined as XML or as annotation.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-controller\">jkube-controller</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Create default controller (replication controller, replica set or deployment <a href=\"https://kubernetes.io/docs/concepts/workloads/controllers/\">Kubernetes doc</a>) if missing.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-dependency\">jkube-dependency</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Examine build dependencies for <code>kubernetes.yml</code> and add the objects found therein.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-git\">jkube-git</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Check local <code>.git</code> directory and add build information as annotations.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-image\">jkube-image</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add the image name into a <code>PodSpec</code> of replication controller, replication sets and deployments, if missing.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-maven-issue-mgmt-enricher\">jkube-maven-issue-mgmt</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Maven Issue Management information as annotations to the kubernetes/openshift resources</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-maven-scm-enricher\">jkube-maven-scm-enricher</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Maven SCM information as annotations to the kubernetes/openshift resources</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-name\">jkube-name</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add a default name to every object which misses a name.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-pod-annotation\">jkube-pod-annotation</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Copy over annotations from a <code>Deployment</code> to a <code>Pod</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-portname\">jkube-portname</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add a default portname for commonly known service.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-project-label\">jkube-project-label</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Maven coordinates as labels to all objects.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-prometheus\">jkube-prometheus</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Prometheus annotations.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-revision-history-enricher\">jkube-revision-history</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add revision history limit (<a href=\"https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit\">Kubernetes doc</a>) as a deployment spec property to the Kubernetes/OpenShift resources.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-secret-file\">jkube-secret-file</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add Secret elements defined as annotation.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-service\">jkube-service</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Create a default service if missing and extract ports from the Docker image configuration.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-serviceaccount\">jkube-serviceaccount</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add a ServiceAccount defined as XML or mentioned in resource fragment.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><a href=\"#jkube-triggers-annotation\">jkube-triggers-annotation</a></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Add ImageStreamTag change triggers on Kubernetes resources such as StatefulSets, ReplicaSets and DaemonSets using the <code>image.openshift.io/triggers</code> annotation.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"sect3\">\n<h4 id=\"enrichers-generic\">8.1.1. Generic Enrichers</h4>\n<div class=\"paragraph\">\n<p>Default generic enrichers are used for adding missing resources or adding metadata to given resource objects.\nThe following default enhancers are available out of the box.</p>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-configmap-file\">jkube-configmap-file</h5>\n<div class=\"paragraph\">\n<p>This enricher adds ConfigMap defined as <code>resources</code> in plugin configuration and/or resolves file content from an annotation.</p>\n</div>\n<div class=\"paragraph\">\n<p>As XML you can define:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">pom.xml</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <resources>\n <configMap>\n <name>myconfigmap</name>\n <entries>\n <entry>\n <name>A</name>\n <value>B</value>\n </entry>\n </entries>\n </configMap>\n </resources>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This creates a ConfigMap data with key <code>A</code> and value <code>B</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can also use <code>file</code> tag to refer to the content of a file.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <resources>\n <configMap>\n <name>configmap-test</name>\n <entries>\n <entry>\n <file>src/test/resources/test-application.properties</file>\n </entry>\n </entries>\n </configMap>\n </resources>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This creates a ConfigMap with key <code>test-application.properties</code> and value the content of the <code>src/test/resources/test-application.properties</code> file.\nIf you set <code>name</code> tag then this is used as key instead of the filename.</p>\n</div>\n<div class=\"paragraph\">\n<p>If you are defining a custom <code>ConfigMap</code> file, you can use an annotation to define a file name as key and its content as the value:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">metadata:\n name: ${project.artifactId}\n annotations:\n maven.jkube.io/cm/application.properties: src/test/resources/test-application.properties</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This creates a <code>ConfigMap</code> data with key <code>application.properties</code> (part defined after <code>cm</code>) and value the content of <code>src/test/resources/test-application.properties</code> file.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-controller\">jkube-controller</h5>\n<div class=\"paragraph\">\n<p>This enricher is used to ensure that a controller is present.\nThis can be either directly configured with fragments or with the XML configuration.\nAn explicit configuration always takes precedence over auto detection.\nSee <a href=\"https://kubernetes.io/docs/concepts/workloads/controllers/\">Kubernetes doc</a> for more information on types of controllers.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following configuration parameters can be used to influence the behaviour of this enricher:</p>\n</div>\n<table id=\"enricher-jkube-controller\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 36. Default controller enricher</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Name of the Controller. Kubernetes Controller names must start with a letter. If the maven artifactId starts with a\n digit, <code>s</code> will be prefixed.</p>\n<p class=\"tableblock\"> Defaults to <code>${project.artifactId}</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-controller.name</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pullPolicy</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Image pull policy to use for the container. One of: <em>IfNotPresent</em>, <em>Always</em>.</p>\n<p class=\"tableblock\"> Defaults to <code>IfNotPresent</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-controller.pullPolicy</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>type</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Type of Controller to create. One of: <em>ReplicationController</em>, <em>ReplicaSet</em>, <em>Deployment</em>, <em>DeploymentConfig</em>,\n <em>StatefulSet</em>, <em>DaemonSet</em>, <em>Job</em>.</p>\n<p class=\"tableblock\"> Defaults to <code>Deployment</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-controller.type</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>replicaCount</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of replicas for the container.</p>\n<p class=\"tableblock\"> Defaults to <code>1</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-controller.replicaCount</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-service\">jkube-service</h5>\n<div class=\"paragraph\">\n<p>This enricher is used to ensure that a service is present.\nThis can be either directly configured with fragments or with the XML configuration, but it can be also automatically inferred by looking at the ports exposed by an image configuration.\nAn explicit configuration always takes precedence over auto detection. For enriching an existing service this enricher actually works only on a configured service which matches with the configured (or inferred) service name.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following configuration parameters can be used to influence the behaviour of this enricher:</p>\n</div>\n<table id=\"enricher-jkube-service\" class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 37. Default service enricher</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Service name to enrich by default. If not given here or configured elsewhere, the artifactId is used.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.name</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>headless</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Whether a headless service without a port should be configured. A headless service has the <code>ClusterIP</code> set to <code>None</code>\n and will be only used if no ports are exposed by the image configuration or by the configuration <code>port</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.headless</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>expose</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">If set to true, a label <code>expose</code> with value <code>true</code> is added which can be picked up by the jkube.\n <a href=\"https://github.com/jenkins-x/exposecontroller\">expose-controller</a> to expose the service to the outside by various means.\n See the documentation of expose-controller for more details.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.expose</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>type</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Kubernetes / OpenShift service type to set like <em>LoadBalancer</em>, <em>NodePort</em> or <em>ClusterIP</em>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.type</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>port</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The service port to use. By default the same port as the ports exposed in the image configuration is used, but can be\n changed with this parameter. See <a href=\"#jkube-service-ports\">below</a> for a detailed description of the format which can be\n put into this variable.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.port</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>multiPort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Set this to <code>true</code> if you want all ports to be exposed from an image configuration. Otherwise only the first port is\n used as a service port.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.multiPort</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>protocol</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Default protocol to use for the services. Must be <code>tcp</code> or <code>udp</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>tcp</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.protocol</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>normalizePort</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Normalize the port numbering of the service to common and conventional port numbers.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-service.normalizePort</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Following is the Port mapping that comes in effect, when normalizePort option is set true.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 50%;\">\n<col style=\"width: 50%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Original Port</th>\n<th class=\"tableblock halign-left valign-top\">Normalized Port</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8080</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">80</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8081</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">80</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8181</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">80</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8180</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">80</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8443</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">443</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">443</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">443</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>You specify the properties like for any enricher within the enrichers configuration like in</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <!-- ... -->\n <enricher>\n <config>\n <jkube-service>\n <name>my-service</name>\n <type>NodePort</type>\n <multiPort>true</multiPort>\n </jkube-service>\n </config>\n </enricher>\n</configuration></code></pre>\n</div>\n</div>\n<div id=\"jkube-service-ports\" class=\"paragraph\">\n<div class=\"title\">Port specification</div>\n<p>With the option <code>port</code> you can influence the mapping how ports are mapped from the pod to the service.\nBy default and if this option is not given the ports exposed are dictated by the ports exposed from the Docker images contained in the pods.\nRemember, each image configured can be part of the pod.\nHowever you can expose also completely different ports as the images meta data declare.</p>\n</div>\n<div class=\"paragraph\">\n<p>The property <code>port</code> can contain a comma separated list of mappings of the following format:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-text\" data-lang=\"text\"><servicePort1>:<targetPort1>/<protocol>,<servicePort2>:<targetPort2>/<protocol>,....</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>where the <code>targetPort</code> and <code><protocol></code> specification is optional. These ports are overlayed over the ports exposed by the images, in the given order.</p>\n</div>\n<div class=\"paragraph\">\n<p>This is best explained by some examples.</p>\n</div>\n<div class=\"paragraph\">\n<p>For example if you have a pod which exposes a Microservice on port 8080 and you want to expose it as a service on port 80 (so that it can be accessed with <code><a href=\"http://myservice\" class=\"bare\">http://myservice</a></code>) you can simply use the following enricher configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <enricher>\n <config>\n <jkube-service>\n <name>myservice</name>\n <port>80:8080</port> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n </jkube-service>\n </config>\n </enricher>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>80 is the service port, 8080 the port opened in from the pod’s images</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>If your pod <em>exposes</em> their ports (which e.g. all generator do), then you can even omit the 8080 here (i.e. <code><port>80</port></code>).\nIn this case the <em>first</em> port exposed will be mapped to port 80, all other exposed ports will be omitted.</p>\n</div>\n<div class=\"paragraph\">\n<p>By default an automatically generated service only exposes the first port, even when more ports are exposed.\nWhen you want to map multiple ports you need to set the config option <code><multiPort>true</multiPort></code>.\nIn this case you can also provide multiple mappings as a comma separated list in the <code><port></code> specification where each element of the list are the mapping for the first, second, …​ port.</p>\n</div>\n<div class=\"paragraph\">\n<p>A more (and bit artificially constructed) specification could be <code><port>80,9779:9779/udp,443</port></code>.\nAssuming that the image exposes ports <code>8080</code> and <code>8778</code> (either directly or via <a href=\"#generators\">generators</a>) and we have switched on multiport mode, then the following service port mappings will be performed for the automatically generated service:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Pod port 8080 is mapped to service port 80.</p>\n</li>\n<li>\n<p>Pod port 9779 is mapped to service port 9779 with protocol UDP. Note how this second entry overrides the pod exposed port 8778.</p>\n</li>\n<li>\n<p>Pod port 443 is mapped to service port 443.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>This example shows also the mapping rules:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Port specification in <code>port</code> always override the port metadata of the contained Docker images (i.e. the ports exposed)</p>\n</li>\n<li>\n<p>You can always provide a complete mapping with <code>port</code> on your own</p>\n</li>\n<li>\n<p>The ports exposed by the images serve as <em>default values</em> which are used if not specified by this configuration option.</p>\n</li>\n<li>\n<p>You can map ports which are <em>not</em> exposed by the images by specifying them as target ports.</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Multiple ports are <strong>only</strong> mapped when <em>multiPort</em> mode is enabled (which is switched off by default). If <em>multiPort</em> mode is disabled, only the first port from the list of mapped ports calculated as above is taken.</p>\n</div>\n<div class=\"paragraph\">\n<p>When you set <code>legacyPortMapping</code> to true than ports 8080 to 9090 are mapped to port 80 automatically if not explicitly mapped via <code><em>port</em></code>. I.e. when an image exposes port 8080 with a legacy mapping this mapped to a service port 80, not 8080. You <em>should not</em> switch this on for any good reason. In fact it might be that this option can vanish anytime.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-image\">jkube-image</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-name\">jkube-name</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-portname\">jkube-portname</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-pod-annotation\">jkube-pod-annotation</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-project-label\">jkube-project-label</h5>\n<div class=\"paragraph\">\n<p>Enricher that adds standard labels and selectors to generated resources (e.g. <code>app</code>, <code>group</code>, <code>provider</code>, <code>version</code>).</p>\n</div>\n<div class=\"paragraph\">\n<p>The <code>jkube-project-label</code> enricher supports the following configuration options:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Option</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>useProjectLabel</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Enable this flag to turn on the generation of the old <code>project</code> label in Kubernetes resources. The <code>project</code> label has\nbeen replaced by the <code>app</code> label in newer versions of the plugin.</p>\n<p class=\"tableblock\"> Defaults to <code>false</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-project-label.useProjectLabel</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>The project labels which are already specified in the input fragments are not overridden by the enricher.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-git\">jkube-git</h5>\n<div class=\"paragraph\">\n<p>Enricher that adds info from .git directory as annotations.</p>\n</div>\n<div class=\"paragraph\">\n<p>The git branch & latest commit on the branch are annotated as <code>jkube.io/git-branch</code> & <code>jkube.io/git-commit</code>.\n<code>jkube.io/git-url</code> is annotated as the URL of your configured remote.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Option</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>gitRemote</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Configures the git remote name, whose URL you want to annotate as 'git-url'.</p>\n<p class=\"tableblock\"> Defaults to <code>origin</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-git.gitRemote</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-dependency\">jkube-dependency</h5>\n\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-volume-permission\">jkube-volume-permission</h5>\n<div class=\"paragraph\">\n<p>Enricher which fixes the permission of persistent volume mount with the help of an init container.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-openshift-autotls\">jkube-openshift-autotls</h5>\n<div class=\"paragraph\">\n<p>Enricher which adds appropriate annotations and volumes to enable OpenShift’s automatic\n<a href=\"https://docs.openshift.org/latest/dev_guide/secrets.html#service-serving-certificate-secrets\">Service Serving Certificate Secrets</a>.\nThis enricher adds an init container to convert the service serving certificates from PEM (the format that OpenShift generates them in) to\na JKS-format Java keystore ready for consumption in Java services.</p>\n</div>\n<div class=\"paragraph\">\n<p>This enricher is disabled by default. In order to use it, you must configure the openshift-maven-plugin to use this enricher:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <goals>\n <goal>resource</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <includes>\n <include>jkube-openshift-autotls</include>\n </includes>\n <config>\n <jkube-openshift-autotls>\n <!-- ... -->\n </jkube-openshift-autotls>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The auto-TLS enricher supports the following configuration options:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 75%;\">\n<col style=\"width: 12.5%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tlsSecretName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the secret to be used to store the generated service serving certs.</p>\n<p class=\"tableblock\"> Defaults to <code><project.artifactId>-tls</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.tlsSecretName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tlsSecretVolumeMountPoint</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where the service serving secret should be mounted to in the pod.</p>\n<p class=\"tableblock\"> Defaults to <code>/var/run/secrets/jkube.io/tls-pem</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.tlsSecretName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>tlsSecretVolumeName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the secret volume.</p>\n<p class=\"tableblock\"> Defaults to <code>tls-pem</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.tlsSecretVolumeName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>jksVolumeMountPoint</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Where the generated keystore volume should be mounted to in the pod.</p>\n<p class=\"tableblock\"> Defaults to <code>/var/run/secrets/jkube.io/tls-jks</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.the</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>jksVolumeName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the keystore volume.</p>\n<p class=\"tableblock\"> Defaults to <code>tls-jks</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.jksVolumeName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pemToJKSInitContainerImage</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the image used as an init container to convert PEM certificate/key to Java keystore.</p>\n<p class=\"tableblock\"> Defaults to <code>jimmidyson/pemtokeystore:v0.1.0</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.pemToJKSInitContainerImage</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>pemToJKSInitContainerName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">the name of the init container to convert PEM certificate/key to Java keystore.</p>\n<p class=\"tableblock\"> Defaults to <code>tls-jks-converter</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.pemToJKSInitContainerName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keystoreFileName</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The name of the generated keystore file.</p>\n<p class=\"tableblock\"> Defaults to <code>keystore.jks</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.keystoreFileName</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keystorePassword</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The password to use for the generated keystore.</p>\n<p class=\"tableblock\"> Defaults to <code>changeit</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.keystorePassword</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>keystoreCertAlias</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The alias in the keystore used for the imported service serving certificate.</p>\n<p class=\"tableblock\"> Defaults to <code>server</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-openshift-autotls.keystoreCertAlias</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-prometheus\">jkube-prometheus</h5>\n<div class=\"paragraph\">\n<p>This enricher adds Prometheus annotation like:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">apiVersion: v1\nkind: List\nitems:\n- apiVersion: v1\n kind: Service\n metadata:\n annotations:\n prometheus.io/scrape: \"true\"\n prometheus.io/port: 9779</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>By default the enricher inspects the images' BuildConfiguration and add the annotations if the port 9779 is listed.\nYou can force the plugin to add annotations by setting enricher’s config <code><code>prometheusPort</code></code></p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-maven-scm-enricher\">jkube-maven-scm-enricher</h5>\n<div class=\"paragraph\">\n<p>This enricher adds additional <a href=\"https://maven.apache.org/pom.html#SCM\">SCM</a> related metadata to all objects supporting annotations.\nThese metadata will be added only if <a href=\"https://maven.apache.org/pom.html#SCM\">SCM</a> information is present in the maven <code>pom.xml</code> of the project.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following annotations will be added to the objects that supports annotations,</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 38. Maven SCM Enrichers Annotation Mapping</caption>\n<colgroup>\n<col style=\"width: 28.5714%;\">\n<col style=\"width: 28.5714%;\">\n<col style=\"width: 42.8572%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Maven SCM Info</th>\n<th class=\"tableblock halign-left valign-top\">Annotation</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scm/connection</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/scm-con-url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The SCM connection that will be used to connect to the project’s SCM</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scm/developerConnection</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/scm-devcon-url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The SCM Developer Connection that will be used to connect to the project’s developer SCM</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scm/tag</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/scm-tag</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The SCM tag that will be used to checkout the sources, like HEAD dev-branch etc.,</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scm/url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/scm-url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The SCM web url that can be used to browse the SCM over web browser</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Lets say you have a maven pom.xml with the following scm information,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><scm>\n <connection>scm:git:git://github.com/jkubeio/kubernetes-maven-plugin.git</connection>\n <developerConnection>scm:git:git://github.com/jkubeio/kubernetes-maven-plugin.git</developerConnection>\n <url>git://github.com/jkubeio/kubernetes-maven-plugin.git</url>\n</scm></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This information will be enriched as annotations in the generated manifest like,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\"># ...\n kind: Service\n metadata:\n annotations\n jkube.io/scm-con-url: \"scm:git:git://github.com/jkubeio/kubernetes-maven-plugin.git\"\n jkube.io/scm-devcon-url: \"scm:git:git://github.com/jkubeio/kubernetes-maven-plugin.git\"\n jkube.io/scm-tag: \"HEAD\"\n jkube.io/scm-url: \"git://github.com/jkubeio/kubernetes-maven-plugin.git\"\n# ...</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-maven-issue-mgmt-enricher\">jkube-maven-issue-mgmt</h5>\n<div class=\"paragraph\">\n<p>This enricher adds additional <a href=\"https://maven.apache.org/pom.html#Issue_Management\">Issue Management</a> related metadata to\nall objects supporting annotations.\nThese metadata will be added only if the <a href=\"https://maven.apache.org/pom.html#Issue_Management\">Issue Management</a>\ninformation is available in the <code>pom.xml</code> of the Maven project.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following annotations will be added to the objects that support these annotations,</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 39. Maven Issue Tracker Enrichers Annotation Mapping</caption>\n<colgroup>\n<col style=\"width: 28.5714%;\">\n<col style=\"width: 28.5714%;\">\n<col style=\"width: 42.8572%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Maven Issue Tracker Info</th>\n<th class=\"tableblock halign-left valign-top\">Annotation</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">issueManagement/system</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/issue-system</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Issue Management system like Bugzilla, JIRA, GitHub etc.,</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">issueManagement/url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">jkube.io/issue-tracker-url</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The Issue Management url e.g. GitHub Issues Url</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Lets say you have a maven pom.xml with the following issue management information,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><issueManagement>\n <system>GitHub</system>\n <url>https://github.com/reactiverse/vertx-maven-plugin/issues/</url>\n</issueManagement></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This information will be enriched as annotations in the generated manifest like,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\"># ...\n kind: Service\n metadata:\n annotations:\n jkube.io/issue-system: \"GitHub\"\n jkube.io/issue-tracker-url: \"https://github.com/reactiverse/vertx-maven-plugin/issues/\"\n# ...</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-revision-history-enricher\">jkube-revision-history</h5>\n<div class=\"paragraph\">\n<p>This enricher adds <code>spec.revisionHistoryLimit</code> property to deployment spec of Kubernetes/OpenShift resources.\nA deployment’s revision history is stored in the replica sets, that specifies the number of old ReplicaSets to retain in order to allow rollback.\nFor more information read <a href=\"https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit\">Kubernetes documentation</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The following configuration parameters can be used to influence the behaviour of this enricher:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 40. Default revision history enricher</caption>\n<colgroup>\n<col style=\"width: 20%;\">\n<col style=\"width: 40%;\">\n<col style=\"width: 40%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>limit</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of revision histories to retain.</p>\n<p class=\"tableblock\"> Defaults to <code>2</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>jkube.enricher.jkube-revision-history.limit</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Just as any other enricher you can specify required properties with in the enricher’s configuration as below,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><!-- ... -->\n<enricher>\n <config>\n <jkube-revision-history>\n <limit>8</limit>\n </jkube-revision-history>\n </config>\n</enricher>\n<!-- ... --></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This information will be enriched as spec property in the generated manifest like,</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\"># ...\nkind: Deployment\nspec:\n revisionHistoryLimit: 8\n# ...</code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-triggers-annotation\">jkube-triggers-annotation</h5>\n<div class=\"paragraph\">\n<p>This enricher adds ImageStreamTag change triggers on Kubernetes resources that support the <code>image.openshift.io/triggers</code> annotation, such as StatefulSets, ReplicaSets and DaemonSets.</p>\n</div>\n<div class=\"paragraph\">\n<p>The trigger is added to all containers that apply, but can be restricted to a limited set of containers using the following configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><!-- ... -->\n<enricher>\n <config>\n <jkube-triggers-annotation>\n <containers>container-name-1,c2</containers>\n </jkube-triggers-annotation>\n </config>\n</enricher>\n<!-- ... --></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-secret-file\">jkube-secret-file</h5>\n<div class=\"paragraph\">\n<p>This enricher adds Secret defined as file content from an annotation.</p>\n</div>\n<div class=\"paragraph\">\n<p>If you are defining a custom <code>Secret</code> file, you can use an annotation to define a file name as key and its content as the value:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">metadata:\n name: ${project.artifactId}\n annotations:\n maven.jkube.io/secret/application.properties: src/test/resources/test-application.properties</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This creates a <code>Secret</code> data with the key <code>application.properties</code> (part defined after <code>secret</code>) and value content of\n<code>src/test/resources/test-application.properties</code> file (base64 encoded).</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-serviceaccount\">jkube-serviceaccount</h5>\n\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"enrichers-specific\">8.1.2. Specific Enrichers</h4>\n<div class=\"paragraph\">\n<p>Specific enrichers provide resource manifest enhancement for a certain tech stack that they detect.</p>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-karaf\">jkube-healthcheck-karaf</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with Apache Karaf. This requires that\n<code>jkube.karaf-checks</code> has been enabled in the Karaf startup features.</p>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8181</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>failureThreshold = <code>3</code></p>\n</li>\n<li>\n<p>successThreshold = <code>1</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>and use paths <code>/readiness-check</code> for readiness check and <code>/health-check</code> for liveness check.</p>\n</div>\n<div class=\"paragraph\">\n<p>These options cannot be configured.</p>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-spring-boot\">jkube-healthcheck-spring-boot</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with Spring Boot. This requires the following dependency\nhas been enabled in Spring Boot</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><dependency>\n <groupId>org.springframework.boot</groupId>\n <artifactId>spring-boot-starter-actuator</artifactId>\n</dependency></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will try to discover the settings from the <code>application.properties</code> / <code>application.yaml</code> Spring Boot configuration file.</p>\n</div>\n<div class=\"paragraph\">\n<p>The port number is read from the <code>management.port</code> option, and will use the default value of <code>8080</code>\nThe scheme will use HTTPS if <code>server.ssl.key-store</code> option is in use, and fallback to use <code>HTTP</code> otherwise.</p>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>readinessProbeInitialDelaySeconds</code> : <code>10</code></p>\n</li>\n<li>\n<p><code>readinessProbePeriodSeconds</code> : <em><kubernetes-default></em></p>\n</li>\n<li>\n<p><code>livenessProbeInitialDelaySeconds</code> : <code>180</code></p>\n</li>\n<li>\n<p><code>livenessProbePeriodSeconds</code> : <em><kubernetes-default></em></p>\n</li>\n<li>\n<p><code>timeoutSeconds</code> : <em><kubernetes-default></em></p>\n</li>\n<li>\n<p><code>failureThreshold</code>: <code>3</code></p>\n</li>\n<li>\n<p><code>successThreshold</code>: <code>1</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>openshift-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-spring-boot>\n <timeoutSeconds>5</timeoutSeconds>\n <readinessProbeInitialDelaySeconds>30</readinessProbeInitialDelaySeconds>\n <failureThreshold>3</failureThreshold>\n <successThreshold>1</successThreshold>\n </jkube-healthcheck-spring-boot>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-thorntail-v2\">jkube-healthcheck-thorntail-v2</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with Thorntail v2. This requires the following fraction\nhas been enabled in Thorntail</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><dependency>\n <groupId>io.thorntail</groupId>\n <artifactId>microprofile-health</artifactId>\n</dependency></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8080</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>path = <code>/health</code></p>\n</li>\n<li>\n<p>failureThreshold = <code>3</code></p>\n</li>\n<li>\n<p>successThreshold = <code>1</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>openshift-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-thorntail>\n <port>4444</port>\n <scheme>HTTPS</scheme>\n <path>health/myapp</path>\n <failureThreshold>3</failureThreshold>\n <successThreshold>1</successThreshold>\n </jkube-healthcheck-thorntail>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-vertx\">jkube-healthcheck-vertx</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with Eclipse Vert.x applications.\nThe readiness probe lets Kubernetes detect when the application is ready, while the liveness probe allows Kubernetes to\nverify that the application is still alive.</p>\n</div>\n<div class=\"paragraph\">\n<p>This enricher allows configuring the readiness and liveness probes. The following probe types are supported:\n<code>http</code> (emit HTTP requests), <code>tcp</code> (open a socket), <code>exec</code> (execute a command).</p>\n</div>\n<div class=\"paragraph\">\n<p>By default, this enricher uses the same configuration for liveness and readiness probes. But specific configurations can\nbe provided too. The configurations can be overridden using project’s properties.</p>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_using_the_jkube_healthcheck_vertx_enricher\">Using the jkube-healthcheck-vertx enricher</h6>\n<div class=\"paragraph\">\n<p>The enricher is automatically executed if your project uses the <code>vertx-maven-plugin</code> or depends on <code>io.vertx:vertx-core</code>.\nHowever, by default, no health check will be added to your deployment unless configured explicitly.</p>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_minimal_configuration\">Minimal configuration</h6>\n<div class=\"paragraph\">\n<p>The minimal configuration to add health checks is the following:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-vertx>\n <path>/health</path>\n </jkube-healthcheck-vertx>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>It configures the readiness and liveness health checks using HTTP requests on the port <code>8080</code> (default port) and on the\npath <code>/health</code>. The defaults are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8080</code> (for HTTP)</p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>path = <em>none</em> (disabled)</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>the previous configuration can also be given use project’s properties:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <vertx.health.path>/health</vertx.health.path>\n</properties></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_configuring_differently_the_readiness_and_liveness_health_checks\">Configuring differently the readiness and liveness health checks</h6>\n<div class=\"paragraph\">\n<p>You can provide two different configuration for the readiness and liveness checks:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-vertx>\n <readiness>\n <path>/ready</path>\n </readiness>\n <liveness>\n <path>/health</path>\n </liveness>\n </jkube-healthcheck-vertx>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>You can also use the <code>readiness</code> and <code>liveness</code> chunks in user properties:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <vertx.health.readiness.path>/ready</vertx.health.readiness.path>\n <vertx.health.liveness.path>/ready</vertx.health.liveness.path>\n</properties></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Shared (generic) configuration can be set outside of the specific configuration. For instance, to use the port 8081:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-vertx>\n <port>8081</port>\n <readiness>\n <path>/ready</path>\n </readiness>\n <liveness>\n <path>/health</path>\n </liveness>\n </jkube-healthcheck-vertx>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Or:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <vertx.health.port>8081</vertx.health.port>\n <vertx.health.readiness.path>/ready</vertx.health.readiness.path>\n <vertx.health.liveness.path>/ready</vertx.health.liveness.path>\n</properties></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_configuration_structure\">Configuration Structure</h6>\n<div class=\"paragraph\">\n<p>The configuration is structured as follows</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><config>\n <jkube-healthcheck-vertx>\n <!-- Generic configuration, applied to both liveness and readiness -->\n <path>/both</path>\n <liveness>\n <!-- Specific configuration for the liveness probe -->\n <port-name>ping</port-name>\n </liveness>\n <readiness>\n <!-- Specific configuration for the readiness probe -->\n <port-name>ready</port-name>\n </readiness>\n </jkube-healthcheck-vertx>\n</config></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The same structure is used in project’s properties:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><properties>\n <!-- Generic configuration given as vertx.health.$attribute -->\n <vertx.health.path>/both</vertx.health.path>\n <!-- Specific liveness configuration given as vertx.health.liveness.$attribute -->\n <vertx.health.liveness.port-name>ping</vertx.health.liveness.port-name>\n <!-- Specific readiness configuration given as vertx.health.readiness.$attribute -->\n <vertx.health.readiness.port-name>ready</vertx.health.readiness.port-name>\n</properties></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p><strong>Important</strong>: Project’s plugin configuration override the project’s properties.\nThe overriding rules are:\n<em>specific configuration</em> > <em>specific properties</em> > <em>generic configuration</em> > <em>generic properties</em>.</p>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_probe_configuration\">Probe configuration</h6>\n<div class=\"paragraph\">\n<p>You can configure the different aspects of the probes. These attributes can be configured for both the readiness and\nliveness probes or be specific to one.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 41. Vert.x HealthCheck Enricher probe configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 62.5%;\">\n<col style=\"width: 25%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>type</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The probe type among <code>http</code> (default), <code>tcp</code> and <code>exec</code>.</p>\n<p class=\"tableblock\"> Defaults to <code>http</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.type</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.type</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>initial-delay</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of seconds after the container has started before probes are initiated.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.initial-delay</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.initial-delay</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>period</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">How often (in seconds) to perform the probe.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.period</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.period</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>timeout</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Number of seconds after which the probe times out.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.timeout</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.timeout</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>success-threshold</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Minimum consecutive successes for the probe to be considered successful after having failed.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.success-threshold</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.success-threshold</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>failure-threshold</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Minimum consecutive failures for the probe to be considered failed after having succeeded.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.failure-threshold</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.failure-threshold</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>More details about probes are available on <a href=\"https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/\" class=\"bare\">https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/</a>.</p>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_http_specific_probe_configuration\">HTTP specific probe configuration</h6>\n<div class=\"paragraph\">\n<p>When using HTTP <code>GET</code> requests to determine readiness or liveness, several aspects can be configured. HTTP probes are used by default. To be more specific set the <code>type</code> attribute to <code>http</code>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 42. Vert.x HealthCheck Enricher HTTP probe configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 62.5%;\">\n<col style=\"width: 25%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>scheme</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Scheme to use for connecting to the host.</p>\n<p class=\"tableblock\"> Defaults to <code>HTTP</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.scheme</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.scheme</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>path</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Path to access on the HTTP server. An empty path disable the check.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.path</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.path</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>headers</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Custom headers to set in the request. HTTP allows repeated headers. It cannot be configured using project’s properties.\n An example is available below.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.headers</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.headers</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>port</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port number to access the container. A 0 or negative number disables the check.</p>\n<p class=\"tableblock\"> Defaults to <code>8080</code>.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.port</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.port</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>port-name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Name of the port to access on the container. If neither the <code>port</code> nor the <code>port-name</code> is set, the check is disabled.\n If both are set the configuration is considered invalid.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.port-name</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.port-name</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>Here is an example of HTTP probe configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><config>\n <jkube-healthcheck-vertx>\n <initialDelay>3</initialDelay>\n <period>3</period>\n <liveness>\n <port>8081</port>\n <path>/ping</path>\n <scheme>HTTPS</scheme>\n <headers>\n <X-Custom-Header>Awesome</X-Custom-Header>\n </headers>\n </liveness>\n <readiness>\n <!-- disable the readiness probe -->\n <port>-1</port>\n </readiness>\n </jkube-healthcheck-vertx>\n</config></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_tcp_specific_probe_configuration\">TCP specific probe configuration</h6>\n<div class=\"paragraph\">\n<p>You can also configure the probes to just open a socket on a specific port. The <code>type</code> attribute must be set to <code>tcp</code>.</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 43. Vert.x HealthCheck Enricher TCP probe configuration</caption>\n<colgroup>\n<col style=\"width: 12.5%;\">\n<col style=\"width: 62.5%;\">\n<col style=\"width: 25%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n<th class=\"tableblock halign-left valign-top\">Property</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>port</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Port number to access the container. A 0 or negative number disables the check.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.port</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.port</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>port-name</code></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Name of the port to access on the container. If neither the <code>port</code> nor the <code>port-name</code> is set, the check is disabled.\n If both are set the configuration is considered invalid.</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>vertx.health.port-name</code></p>\n<p class=\"tableblock\"> <code>jkube.enricher.jkube-healthcheck-vertx.port-name</code></p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"paragraph\">\n<p>For example:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><config>\n <jkube-healthcheck-vertx>\n <initialDelay>3</initialDelay>\n <period>3</period>\n <liveness>\n <type>tcp</type>\n <port>8081</port>\n </liveness>\n <readiness>\n <!-- use HTTP Get probe -->\n <path>/ping</path>\n <port>8080</port>\n </readiness>\n </jkube-healthcheck-vertx>\n</config></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_exec_probe_configuration\">Exec probe configuration</h6>\n<div class=\"paragraph\">\n<p>You can also configure the probes to execute a command. If the command succeeds, it returns 0, and Kubernetes consider the pod to be alive and healthy. If the command returns a non-zero value, Kubernetes kills the pod and restarts it. To use a command, you must set the <code>type</code> attribute to <code>exec</code>:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><config>\n <jkube-healthcheck-vertx>\n <initialDelay>3</initialDelay>\n <period>3</period>\n <liveness>\n <type>exec</type>\n <command>\n <cmd>cat</cmd>\n <cmd>/tmp/healthy</cmd>\n </command>\n </liveness>\n <readiness>\n <-- use HTTP Get probe -->\n <path>/ping</path>\n <port>8080</port>\n </readiness>\n </jkube-healthcheck-vertx>\n</config></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>As you can see in the snippet above the command is passed using the <code>command</code> attribute. This attribute cannot be\nconfigured using project’s properties. An empty command disables the check.</p>\n</div>\n</div>\n<div class=\"sect5\">\n<h6 id=\"_disabling_health_checks\">Disabling health checks</h6>\n<div class=\"paragraph\">\n<p>You can disable the checks by setting:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>the <code>port</code> to 0 or to a negative number for <code>http</code> and <code>tcp</code> probes</p>\n</li>\n<li>\n<p>the <code>command</code> to an empty list for <code>exec</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>In the first case, you can use project’s properties to disable them:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><!-- Disables <code>tcp</code> and <code>http</code> probes -->\n<vertx.health.port>-1</vertx.health.port></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>For <code>http</code> probes, an empty or not set <code>path</code> also disable the probe.</p>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-webapp\">jkube-healthcheck-webapp</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with WebApp. This requires that you have <code>maven-war-plugin</code> set.</p>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8080</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>path = ``</p>\n</li>\n<li>\n<p>initialReadinessDelay = 10</p>\n</li>\n<li>\n<p>initialLivenessDelay = 180</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>If <code>path</code> attribute is not set (default value) then this enricher is disabled.</p>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>openshift-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-webapp>\n <path>/</path>\n </jkube-healthcheck-webapp>\n </config>\n </enricher>\n </configuration>\n <!-- ... -->\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-wildfly-swarm\">jkube-healthcheck-wildfly-swarm</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes with WildFly Swarm. This requires the following fraction\nhas been enabled in WildFly Swarm</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><dependency>\n <groupId>org.wildfly.swarm</groupId>\n <artifactId>microprofile-health</artifactId>\n</dependency></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>8080</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>path = <code>/health</code></p>\n</li>\n<li>\n<p>failureThreshold = <code>3</code></p>\n</li>\n<li>\n<p>successThreshold = <code>1</code></p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>openshift-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>helm</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-wildfly-swarm>\n <port>4444</port>\n <scheme>HTTPS</scheme>\n <path>health/myapp</path>\n <failureThreshold>3</failureThreshold>\n <successThreshold>1</successThreshold>\n </jkube-healthcheck-wildfly-swarm>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n<div class=\"sect4\">\n<h5 id=\"jkube-healthcheck-wildfly-jar\">jkube-healthcheck-wildfly-jar</h5>\n<div class=\"paragraph\">\n<p>This enricher adds kubernetes readiness and liveness probes to WildFly JAR applications. Probes depend on the WildFly <em>microprofile-health</em> subsystem\n<em>/health/ready</em> and <em>/health/live</em> endpoints.\nWhen the WildFly Bootable JAR Maven plugin is configured with the <em><cloud></em> configuration item, <em>microprofile_health</em> subsystem\nis enforced in the bootable JAR server configuration.</p>\n</div>\n<div class=\"paragraph\">\n<p>This enricher looks for the <em><cloud></em> configuration item presence in the bootable JAR Maven plugin in order to add health check probes.\nIf <em><cloud></em> item has not been defined, you can still enforce the generation of readiness and liveness probes by setting <em>enforceProbes=true</em>.</p>\n</div>\n<div class=\"paragraph\">\n<p>The enricher will use the following settings by default:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>port = <code>9990</code></p>\n</li>\n<li>\n<p>scheme = <code>HTTP</code></p>\n</li>\n<li>\n<p>readinessPath = <code>/health/ready</code></p>\n</li>\n<li>\n<p>livenessPath = <code>/health/live</code></p>\n</li>\n<li>\n<p>livenessInitialDelay = <code>60</code></p>\n</li>\n<li>\n<p>readinessIntialDelay = <code>10</code></p>\n</li>\n<li>\n<p>failureThreshold = <code>3</code></p>\n</li>\n<li>\n<p>successThreshold = <code>1</code></p>\n</li>\n<li>\n<p>enforceProbes = 'false'</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Setting the <code>port</code> to 0 or to a negative number disables liveness and readiness probes.</p>\n</div>\n<div class=\"paragraph\">\n<p>These values can be configured by the enricher in the <code>openshift-maven-plugin</code> configuration as shown below:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n <executions>\n <execution>\n <id>jkube</id>\n <goals>\n <goal>resource</goal>\n <goal>build</goal>\n </goals>\n </execution>\n </executions>\n <configuration>\n <enricher>\n <config>\n <jkube-healthcheck-wildfly-jar>\n <port>4444</port>\n <scheme>HTTPS</scheme>\n <livenessPath>/myapp/live</livenessPath>\n <failureThreshold>3</failureThreshold>\n <successThreshold>1</successThreshold>\n </jkube-healthcheck-wildfly-jar>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_enricher_api\">8.2. Enricher API</h3>\n<div class=\"paragraph\">\n<p><em>How to write your own enrichers and install them.</em></p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"profiles\">9. Profiles</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Profiles can be used to combine a set of enrichers and generators and to give this combination a referable name.</p>\n</div>\n<div class=\"paragraph\">\n<p>Profiles are defined in YAML. The following example shows a simple profiles which uses only the\n<a href=\"#generator-spring-boot\">Spring Boot generator</a> and some enrichers adding for adding default resources:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Profile Definition</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">- name: my-spring-boot-apps <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n generator: <i class=\"conum\" data-value=\"2\"></i><b>(2)</b>\n includes:\n - spring-boot\n enricher: <i class=\"conum\" data-value=\"3\"></i><b>(3)</b>\n includes: <i class=\"conum\" data-value=\"4\"></i><b>(4)</b>\n # Default Deployment object\n - jkube-controller\n # Add a default service\n - jkube-service\n excludes: <i class=\"conum\" data-value=\"5\"></i><b>(5)</b>\n - jkube-icon\n config: <i class=\"conum\" data-value=\"6\"></i><b>(6)</b>\n jkube-service:\n # Expose service as NodePort\n type: NodePort\n order: 10 <i class=\"conum\" data-value=\"7\"></i><b>(7)</b>\n- name: another-profile\n# ....</code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Profile’s name</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"2\"></i><b>2</b></td>\n<td><a href=\"#generators\">Generators</a> to use</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"3\"></i><b>3</b></td>\n<td><a href=\"#enrichers\">Enrichers</a> to use</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"4\"></i><b>4</b></td>\n<td>List of enricher to <strong>include</strong> in that given order</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"5\"></i><b>5</b></td>\n<td>List of enricher to <strong>exclude</strong></td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"6\"></i><b>6</b></td>\n<td>Configuration for services an enrichers</td>\n</tr>\n<tr>\n<td><i class=\"conum\" data-value=\"7\"></i><b>7</b></td>\n<td>An order which influences the way how profiles with the same name are merged</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>Each <code>profiles.yml</code> has a list of profiles which are defined with these elements:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 44. Profile elements</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>name</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Profile name. This plugin comes with a set of <a href=\"#profiles-predefined\">predefined profiles</a>. Those profiles can be\n extended by defining a custom profile with the same name of the profile to extend.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>generator</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of generator definitions. See <a href=\"#generator-enricher-definition\">below</a> for the format of these definitions.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>enricher</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of enrichers definitions. See <a href=\"#generator-enricher-definition\">below</a> for the format of these definitions.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>order</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The order of the profile which is used when profiles of the same name are merged.</p></td>\n</tr>\n</tbody>\n</table>\n<div class=\"sect2\">\n<h3 id=\"generator-enricher-definition\">9.1. Generator and Enricher definitions</h3>\n<div class=\"paragraph\">\n<p>The definition of generators and enrichers in the profile follows the same format:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 45. Generator and Enericher definition</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Element</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>includes</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of generators or enrichers to include. The order in the list determines the order in which the processors are applied.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>excludes</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">List of generators or enrichers. These have precedences over <em>includes</em> and will exclude a processor even when referenced in an <em>includes</em> sections</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>config</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Configuration for generators or enrichers. This is a map where the keys are the name of the processor to configure and the value is again a map with configuration keys and values specific to the processor. See the documentation of the respective generator or enricher for the available configuration keys.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"profiles-lookup-order\">9.2. Lookup order</h3>\n<div class=\"paragraph\">\n<p>Profiles can be defined externally either directly as a build resource in <code>src/main/jkube/profiles.yml</code> or provided as part of a plugin’s dependency where it is supposed to be included as <code>META-INF/jkube/profiles.yml</code>. Multiple profiles can be include in these <code>profiles.yml</code> descriptors as a list:</p>\n</div>\n<div class=\"paragraph\">\n<p>If a profile is <a href=\"#profiles-using\">used</a> then it is looked up from various places in the following order:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>From the compile and plugin classpath from <code>META-INF/jkube/profiles-default.yml</code>. These files are reserved for profiles defined by this plugin</p>\n</li>\n<li>\n<p>From the compile and plugin classpath from <code>META-INF/jkube/profiles.yml</code>. Use this location for defining your custom profiles which you want to include via dependencies.</p>\n</li>\n<li>\n<p>From the project in <code>src/main/jkube/profiles.yml</code>. The directory can be tuned with the plugin option <code>resourceDir</code> (property: <code>jkube.resourceDir</code>)</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>When multiple profiles of the same name are found, then these profiles are merged. If profile have an order number, then the <em>higher</em> order takes precedences when merging profiles.</p>\n</div>\n<div class=\"paragraph\">\n<p>For <em>includes</em> of the same processors, the processor is moved to the earliest position. E.g consider the following two profiles with the name <code>my-profile</code></p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Profile A</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">name: my-profile\nenricher:\n includes: [ e1, e2 ]</code></pre>\n</div>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Profile B</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">name: my-profile\nenricher:\n includes: [ e3, e1 ]\norder: 10</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>then when merged results in the following profile (when no order is given, it defaults to 0):</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Profile merged</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">name: my-profile\nenricher:\n includes: [ e1, e2, e3 ]\norder: 10</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Profile with the same order number are merged according to the lookup order described above, where the latter profile is supposed to have a higher order.</p>\n</div>\n<div class=\"paragraph\">\n<p>The configuration for enrichers and generators are merged, too, where higher order profiles override configuration values with the same key of lower order profile configuration.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"profiles-using\">9.3. Using Profiles</h3>\n<div class=\"paragraph\">\n<p>Profiles can be selected by defining them in the plugin configuration, by giving a system property or by using\n<a href=\"#profiles-resource-fragments\">special directories</a> in the directory holding the resource fragments.</p>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Profile used in plugin configuration</div>\n<p>Here is an example how the profile can be used in a plugin configuration:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <configuration>\n <profile>my-spring-boot-apps</profile> <i class=\"conum\" data-value=\"1\"></i><b>(1)</b>\n <!-- ... -->\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"colist arabic\">\n<table>\n<tr>\n<td><i class=\"conum\" data-value=\"1\"></i><b>1</b></td>\n<td>Name which select the profile from the <code>profiles.yml</code></td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<div class=\"title\">Profile as system property</div>\n<p>Alternatively a profile can be also specified on the command line when calling Maven:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn -Djkube.profile=my-spring-boot-apps oc:build oc:deploy</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>If a configuration for enrichers and generators are provided as part of the plugin’s <code><configuration></code> then this takes precedence over any profile specified.</p>\n</div>\n<div id=\"profiles-resource-fragments\" class=\"paragraph\">\n<div class=\"title\">Profiles for resource fragments</div>\n<p>Profiles are also very useful when used together with resource fragments in <code>src/main/jkube</code>. By default the resource objects defined here are enriched with the configured profile (if any). A different profile can be selected easily by using a sub directory within <code>src/main/jkube</code>. The name of each sub directory is interpreted as a profile name and all resource definition files found in this sub directory are enhanced with the enhancers defined in this profile.</p>\n</div>\n<div class=\"paragraph\">\n<p>For example, consider the following directory layout:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code>src/main/oc:\n app-rc.yml\n app-svc.yml\n raw/ -->\n couchbase-rc.yml\n couchbase-svc.yml</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Here, the resource descriptors <code>app-rc.yml</code> and <code>app-svc.yml</code> are enhanced with the enrichers defined in the main configuration. The files two files <code>couchbase-rc.yml</code> and <code>couchbase-svc.yml</code> in the sub directory <code>raw/</code> instead are enriched with the profile <strong>raw</strong>. This is a predefined profile which includes no enricher at all, so the couchbase resource objects are not enriched and taken over literally. This is an easy way how you can fine tune enrichment for different object set.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"profiles-predefined\">9.4. Predefined Profiles</h3>\n<div class=\"paragraph\">\n<p>This plugin comes with a list of the following predefined profiles:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 46. Predefined Profiles</caption>\n<colgroup>\n<col style=\"width: 14.2857%;\">\n<col style=\"width: 85.7143%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Profile</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>default</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">The default profile which is active if no profile is specified. It consists of a curated set of generator and enrichers. See <a href=\"#profiles-default\">below</a> for the current definition.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>minimal</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">This profile contains no generators and only enrichers for adding default objects (controller and services). No other enrichment is included.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>explicit</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Like default but without adding default objects like controllers and services.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>aggregate</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Includes no generators and only the <a href=\"#jkube-dependency\">jkube-dependency</a> enricher for picking up and combining resources from the compile time dependencies.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>internal-microservice</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Do not expose a port for the service to generate. Otherwise the same as the <em>default</em> profile.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><strong>osio</strong></p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Includes everything in the <em>default</em> profile, plus additional enrichers and generators relevant only to <a href=\"https://openshift.io\">OpenShift.io</a>.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"profiles-extended\">9.5. Extending Profiles</h3>\n<div class=\"paragraph\">\n<p>A profile can also extend another profile to avoid repetition e.g of generators if the profile is only about including certain enrichers. For example, for a profile like:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">- name: minimal\n extends: default\n enricher:\n includes:\n - jkube-name\n - jkube-controller\n - jkube-service\n - jkube-image\n - jkube-project-label\n - jkube-debug\n - jkube-namespace\n - jkube-metadata\n - jkube-controller-from-configuration\n - jkube-openshift-deploymentconfig\n - jkube-openshift-project\n - jkube-openshift-service-expose\n - jkube-openshift-route</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>one then would not need to repeat all generators as they are inherited from the <code>default</code> profile.</p>\n</div>\n<div id=\"profiles-default\" class=\"listingblock\">\n<div class=\"title\">Default Profile</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\"># Default profile which is always activated\n- name: default\n enricher:\n # The order given in \"includes\" is the order in which enrichers are called\n includes:\n - jkube-metadata\n - jkube-name\n - jkube-controller\n - jkube-controller-from-configuration\n - jkube-service\n - jkube-namespace\n - jkube-image\n - jkube-portname\n - jkube-project-label\n - jkube-dependency\n - jkube-pod-annotations\n - jkube-git\n - jkube-maven-scm\n - jkube-serviceaccount\n - jkube-maven-issue-mgmt\n # TODO: Documents and verify enrichers below\n - jkube-debug\n - jkube-remove-build-annotations\n - jkube-volume-permission\n - jkube-configmap-file\n - jkube-secret-file\n\n # Route exposure\n - jkube-openshift-service-expose\n - jkube-openshift-route\n - jkube-openshift-deploymentconfig\n - jkube-openshift-project\n\n # Ingress\n - jkube-ingress\n\n # -----------------------------------------\n # TODO: Document and verify enrichers below\n # Health checks\n - jkube-healthcheck-quarkus\n - jkube-healthcheck-spring-boot\n - jkube-healthcheck-wildfly-swarm\n - jkube-healthcheck-thorntail-v2\n - jkube-healthcheck-wildfly-jar\n - jkube-healthcheck-karaf\n - jkube-healthcheck-vertx\n - jkube-healthcheck-docker\n - jkube-healthcheck-webapp\n - jkube-prometheus\n # Dependencies shouldn't be enriched anymore, therefore it's last in the list\n - jkube-dependency\n - jkube-revision-history\n - jkube-docker-registry-secret\n - jkube-triggers-annotation\n - jkube-openshift-imageChangeTrigger\n\n generator:\n # The order given in \"includes\" is the order in which generators are called\n includes:\n - quarkus\n - spring-boot\n - wildfly-swarm\n - thorntail-v2\n - wildfly-jar\n - openliberty\n - karaf\n - vertx\n - java-exec\n - webapp\n watcher:\n includes:\n - spring-boot\n - docker-image</code></pre>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"access-configuration\">10. Access configuration</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_docker_access\">10.1. Docker Access</h3>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"></i>\n</td>\n<td class=\"content\">\nThis section is work-in-progress and not yet finished\n</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>For Kubernetes builds the openshift-maven-plugin uses the Docker remote API so the URL of your Docker Daemon must be specified. The URL can be specified by the dockerHost or machine configuration, or by the <code>DOCKER_HOST</code> environment variable. If not given</p>\n</div>\n<div class=\"paragraph\">\n<p>The Docker remote API supports communication via SSL and\nauthentication with certificates. The path to the certificates can\nbe specified by the certPath or machine configuration, or by the\n<code>DOCKER_CERT_PATH</code> environment variable.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_openshift_and_kubernetes_access\">10.2. OpenShift and Kubernetes Access</h3>\n<div class=\"paragraph\">\n<p>Plugin reads your <code>kubeconfig</code> file to read your Kubernetes/OpenShift configuration. By default, <code>kubeconfig</code> file is assumed to be either\nin <code>~/.kube/config</code> or using the environment variable <code>KUBECONFIG</code>.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"registry\">11. Registry handling</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Docker uses registries to store images. The registry is typically\nspecified as part of the name. I.e. if the first part (everything\nbefore the first <code>/</code>) contains a dot (<code>.</code>) or colon (<code>:</code>) this part is\ninterpreted as an address (with an optionally port) of a remote\nregistry. This registry (or the default <code>docker.io</code> if no\nregistry is given) is used during push and pull operations. This\nplugin follows the same semantics, so if an image name is specified\nwith a registry part, this registry is contacted. Authentication is\nexplained in the next <a href=\"#authentication\">section</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>There are some situations however where you want to have more\nflexibility for specifying a remote registry. This might be because\nyou do not want to hard code a registry into <code>pom.xml</code> but\nprovide it from the outside with an environment variable or a system\nproperty.</p>\n</div>\n<div class=\"paragraph\">\n<p>This plugin supports various ways of specifying a registry:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If the image name contains a registry part, this registry is used\nunconditionally and can not be overwritten from the outside.</p>\n</li>\n<li>\n<p>If an image name doesn’t contain a registry, then by default the\ndefault Docker registry <code>docker.io</code> is used for push and pull\noperations. But this can be overwritten through various means:</p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>If the <code><image></code> configuration contains a <code><registry></code> subelement\nthis registry is used.</p>\n</li>\n<li>\n<p>Otherwise, a global configuration element <code><registry></code> is\nevaluated which can be also provided as system property via\n<code>-Djkube.docker.registry</code>.</p>\n</li>\n<li>\n<p>Finally an environment variable <code>DOCKER_REGISTRY</code> is looked up for\ndetecting a registry.</p>\n</li>\n</ul>\n</div>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>This registry is used for pulling (i.e. for autopull the base image\nwhen doing a <code>oc:build</code>) and pushing with <code>oc:push</code>. However,\nwhen these two goals are combined on the command line like in <code>mvn\n-Djkube.docker.registry=myregistry:5000 package oc:build oc:push</code>\nthe same registry is used for both operation. For a more fine grained\ncontrol, separate registries for <em>pull</em> and <em>push</em> can be specified.</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>In the plugin’s configuration with the parameters <code><pullRegistry></code> and\n<code><pushRegistry></code>, respectively.</p>\n</li>\n<li>\n<p>With the system properties <code>jkube.docker.pull.registry</code> and\n<code>jkube.docker.push.registry</code>, respectively.</p>\n</li>\n</ul>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><configuration>\n <registry>docker.jolokia.org:443</registry>\n <images>\n <image>\n <!-- Without an explicit registry ... -->\n <name>jolokia/jolokia-java</name>\n <!-- ... hence use this registry -->\n <registry>docker.ro14nd.de</registry>\n <!-- ... -->\n </image>\n <image>\n <name>postgresql</name>\n <!-- No registry in the name, hence use the globally\n configured docker.jolokia.org:443 as registry -->\n <!-- ... -->\n </image>\n <image>\n <!-- Explicitly specified always wins -->\n <name>docker.example.com:5000/another/server</name>\n </image>\n </images>\n</configuration></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>There is some special behaviour when using an externally provided\nregistry like described above:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>When <em>pulling</em>, the image pulled will be also tagged with a repository\nname <strong>without</strong> registry. The reasoning behind this is that this\nimage then can be referenced also by the configuration when the\nregistry is not specified anymore explicitly.</p>\n</li>\n<li>\n<p>When <em>pushing</em> a local image, temporarily a tag including the\nregistry is added and removed after the push. This is required\nbecause Docker can only push registry-named images.</p>\n</li>\n</ul>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"authentication\">12. Authentication</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>When pulling (via the <code>autoPull</code> mode of <code>oc:start</code>) or pushing image, it\nmight be necessary to authenticate against a Docker registry.</p>\n</div>\n<div class=\"paragraph\">\n<p>There are five different locations searched for credentials. In order, these are:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Providing system properties <code>jkube.docker.username</code> and <code>jkube.docker.password</code> from the outside.</p>\n</li>\n<li>\n<p>Using a <code><authConfig></code> section in the plugin configuration with <code><username></code> and <code><password></code> elements.</p>\n</li>\n<li>\n<p>Using OpenShift configuration in <code>~/.config/kube</code></p>\n</li>\n<li>\n<p>Using a <code><server></code> configuration in <code>~/.m2/settings.xml</code></p>\n</li>\n<li>\n<p>Login into a registry with <code>docker login</code> (credentials in a credential helper or in <code>~/.docker/config.json</code>)</p>\n</li>\n</ul>\n</div>\n<div class=\"paragraph\">\n<p>Using the username and password directly in the <code>pom.xml</code> is not\nrecommended since this is widely visible. This is the easiest and\ntransparent way, though. Using an <code><authConfig></code> is straight forward:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <configuration>\n <image>consol/tomcat-7.0</image>\n <!-- ... -->\n <authConfig>\n <username>jolokia</username>\n <password>s!cr!t</password>\n </authConfig>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The system property provided credentials are a good compromise when\nusing CI servers like Jenkins. You simply provide the credentials from\nthe outside:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-sh\" data-lang=\"sh\">mvn -Djkube.docker.username=jolokia -Djkube.docker.password=s!cr!t oc:push</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The most <em>mavenish</em> way is to add a server to the Maven settings file <code>~/.m2/settings.xml</code>:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><servers>\n <server>\n <id>docker.io</id>\n <username>jolokia</username>\n <password>s!cr!t</password>\n </server>\n <!-- ... -->\n</servers></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The server id must specify the registry to push to/pull from, which by\ndefault is central index <code>docker.io</code> (or <code>index.docker.io</code> / <code>registry.hub.docker.com</code> as fallbacks).\nHere you should add your docker.io account for your repositories. If you have multiple accounts\nfor the same registry, the second user can be specified as part of the ID. In the example above, if you\nhave a second account 'jkubeio' then use an <code><id>docker.org.eclipse.jkubeio</id></code> for this second entry. I.e. add the\nusername with a slash to the id name. The default without username is only taken if no server entry with\na username appended id is chosen.</p>\n</div>\n<div class=\"paragraph\">\n<p>The most <em>secure</em> way is to rely on docker’s credential store or credential helper and read confidential information\nfrom an external credentials store, such as the native keychain of the operating system. Follow the instruction on\n<a href=\"https://docs.docker.com/engine/reference/commandline/login/#credentials-store\">the docker login documentation</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>As a final fallback, this plugin consults <code>$DOCKER_CONFIG/config.json</code> if <code>DOCKER_CONFIG</code> is set, or <code>~/.docker/config.json</code> if not, and reads credentials stored directly within this\nfile. This unsafe behavior happened when connecting to a registry with the command <code>docker login</code> from the command line\nwith older versions of docker (pre 1.13.0) or when docker is not configured to use a\n<a href=\"https://docs.docker.com/engine/reference/commandline/login/#credentials-store\">credential store</a>.</p>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_pull_vs_push_authentication\">12.1. Pull vs. Push Authentication</h3>\n<div class=\"paragraph\">\n<p>The credentials lookup described above is valid for both push and\npull operations. In order to narrow things down, credentials can be\nprovided for pull or push operations alone:</p>\n</div>\n<div class=\"paragraph\">\n<p>In an <code><authConfig></code> section a sub-section <code><pull></code> and/or <code><push></code>\ncan be added. In the example below the credentials provider are only\nused for image push operations:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <configuration>\n <image>consol/tomcat-7.0</image>\n <!-- ... -->\n <authConfig>\n <push>\n <username>jolokia</username>\n <password>s!cr!t</password>\n </push>\n </authConfig>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>When the credentials are given on the command line as system\nproperties, then the properties <code>jkube.docker.pull.username</code> /\n<code>jkube.docker.pull.password</code> and <code>jkube.docker.push.username</code> /\n<code>jkube.docker.push.password</code> are used for pull and push operations,\nrespectively (when given). Either way, the standard lookup algorithm\nas described in the previous section is used as fallback.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_openshift_authentication\">12.2. OpenShift Authentication</h3>\n<div class=\"paragraph\">\n<p>When working with the default registry in OpenShift, the credentials\nto authenticate are the OpenShift username and access token. So, a\ntypical interaction with the OpenShift registry from the outside is:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>oc login\n...\nmvn -Djkube.docker.registry=docker-registry.domain.com:80/default/myimage \\\n -Djkube.docker.username=$(oc whoami) \\\n -Djkube.docker.password=$(oc whoami -t)</pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>(note, that the image’s username part (\"default\" here\") must\ncorrespond to an OpenShift project with the same name to which you\ncurrently connected account has access).</p>\n</div>\n<div class=\"paragraph\">\n<p>This can be simplified by using the system property\n<code>docker.useOpenShiftAuth</code> in which case the plugin does the\nlookup. The equivalent to the example above is</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>oc login\n...\nmvn -Ddocker.registry=docker-registry.domain.com:80/default/myimage \\\n -Ddocker.useOpenShiftAuth</pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Alternatively the configuration option <code><useOpenShiftAuth></code> can be\nadded to the <code><authConfig></code> section.</p>\n</div>\n<div class=\"paragraph\">\n<p>For dedicated <em>pull</em> and <em>push</em> configuration the system properties\n<code>jkube.docker.pull.useOpenShiftAuth</code> and <code>jkube.docker.push.useOpenShiftAuth</code> are\navailable as well as the configuration option <code><useOpenShiftAuth></code> in\nan <code><pull></code> or <code><push></code> section within the <code><authConfig></code>\nconfiguration.</p>\n</div>\n<div class=\"paragraph\">\n<p>If <code>useOpenShiftAuth</code> is enabled then the OpenShift Konfiguration will be looked up in <code>$KUBECONFIG</code> or, if this environment variable is not set, in <code>~/.kube/config</code>.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"password-encryption\">12.3. Password encryption</h3>\n<div class=\"paragraph\">\n<p>Regardless of which mode you choose you can encrypt password as described\nin the\n<a href=\"http://maven.apache.org/guides/mini/guide-encryption.html\">Maven documentation</a>. Assuming\nthat you have setup a <em>master password</em> in\n<code>~/.m2/security-settings.xml</code> you can create easily encrypt\npasswords:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"title\">Example</div>\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-bash\" data-lang=\"bash\">$ mvn --encrypt-password\nPassword:\n{QJ6wvuEfacMHklqsmrtrn1/ClOLqLm8hB7yUL23KOKo=}</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>This password then can be used in <code>authConfig</code>, <code>docker.password</code>\nand/or the <code><server></code> setting configuration. However, putting an\nencrypted password into <code>authConfig</code> in the <code>pom.xml</code> doesn’t make\nmuch sense, since this password is encrypted with an individual master\npassword.</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"extended-authentication\">12.4. Extended Authentication</h3>\n<div class=\"paragraph\">\n<p>Some docker registries require additional steps to authenticate.\n<a href=\"https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_GetStarted.html\">Amazon ECR</a> requires using an IAM access key to obtain temporary docker login credentials.\nThe <code>openshift-maven-plugin:push</code> and <code>openshift-maven-plugin:pull</code> goals automatically execute this exchange for any registry of the form\n<em><awsAccountId></em> <strong>.dkr.ecr.</strong> <em><awsRegion></em> <strong>.amazonaws.com</strong>, unless the <code>skipExtendedAuth</code> configuration\n(<code>jkube.docker.skip.extendedAuth</code> property) is set true.</p>\n</div>\n<div class=\"paragraph\">\n<p>Note that for an ECR repository with URI <code>123456789012.dkr.ecr.eu-west-1.amazonaws.com/example/image</code> the d-m-p’s <code>jkube.docker.registry</code> should be set to <code>123456789012.dkr.ecr.eu-west-1.amazonaws.com</code> and <code>example/image</code> is the <code><name></code> of the image.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can use any IAM access key with the necessary permissions in any of the locations mentioned above except <code>~/.docker/config.json</code>.\nUse the IAM <strong>Access key ID</strong> as the username and the <strong>Secret access key</strong> as the password.\nIn case you’re using temporary security credentials provided by the AWS Security Token Service (AWS STS), you have to provide the <strong>security token</strong> as well.\nTo do so, either specify the <code>docker.authToken</code> system property or provide an <code><auth></code> element alongside username & password in the <code>authConfig</code>.</p>\n</div>\n<div class=\"paragraph\">\n<p>In case you are running on an EC2 instance that has an appropriate IAM role assigned\n(e.g. a role that grants the AWS built-in policy <em>AmazonEC2ContainerRegistryPowerUser</em>)\nauthentication information doesn’t need to be provided at all. Instead the instance\nmeta-data service is queried for temporary access credentials supplied by the\nassigned role.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"volume-configuration\">13. Volume Configuration</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>openshift-maven-plugin supports volume configuration in XML format in pom.xml. These are the volume types which are supported:</p>\n</div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<caption class=\"title\">Table 47. Supported Volume Types</caption>\n<colgroup>\n<col style=\"width: 4.3478%;\">\n<col style=\"width: 95.6522%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Volume Type</th>\n<th class=\"tableblock halign-left valign-top\">Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">hostPath</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts a file or directory from the host node’s filesystem into your pod</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">emptyDir</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Containers in the Pod can all read and write the same files in the emptyDir volume, though that volume can be mounted at the same or different paths in each Container. When a Pod is removed from a node for any reason, the data in the emptyDir is deleted forever.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">gitRepo</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">It mounts an empty directory and clones a git repository into it for your Pod to use.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">secret</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">It is used to pass sensitive information, such as passwords, to Pods.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">nfsPath</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows an existing NFS(Network File System) share to be mounted into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">gcePdName</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts a Google Compute Engine(GCE) into your Pod. You must create PD using <code>gcloud</code> or GCE API or UI before you can use it.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">glusterFsPath</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows a Glusterfs (an open source networked filesystem) volume to be mounted into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">persistentVolumeClaim</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Used to mount a PersistentVolume into a Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">awsElasticBlockStore</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts an Amazon Web Services(AWS) EBS Volume into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">azureDisk</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts a Microsoft Azure Data Disk into a Pod</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">azureFile</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Mounts a Microsoft Azure File Volume(SMB 2.1 and 3.0 into a Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">cephfs</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows an existing CephFS volume to be mounted into your Pod. You must have your own Ceph server running with the share exported before you can use it.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">fc</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows existing fibre channel volume to be mounted in a Pod. You must configure FC SAN Zoning to allocate and mask those LUNs (volumes) to the target WWNs beforehand so that Kubernetes hosts can access them.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">flocker</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Flocker is an open source clustered Container data volume manager. A <code>flocker</code> volume allows a Flocker dataset to be mounted into a Pod. You must have your own Flocker installation running before you can use it.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">iscsi</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows an existing ISCSI(SCSI over IP) volume to be mounted into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">portworxVolume</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A portworxVolume is an elastic block storage layer that runs hyperconverged with Kubernetes.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">quobyte</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows existing <code>Quobyte</code> volume to be mounted into your Pod. You must have your own Quobyte setup running the volumes created.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">rbd</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Allows a Rados Block Device volume to be mounted into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">scaleIO</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ScaleIO is a software-based storage platform that can use existing hardware to create clusters of scalable shared block networked storage. The scaleIO volume plugin allows deployed Pods to access existing ScaleIO volumes.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">storageOS</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A storageos volume allows an existing StorageOS volume to be mounted into your Pod. You must run the StorageOS container on each node that wants to access StorageOS volumes</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">vsphereVolume</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Used to mount a vSphere VMDK volume into your Pod.</p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">downwardAPI</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">A downwardAPI volume is used to make downward API data available to applications. It mounts a directory and writes the requested data in plain text files.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"integrations\">14. Integrations</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"integrations.dekorate\">14.1. Dekorate</h3>\n<div class=\"paragraph\">\n<p><strong>openshift-maven-plugin</strong> provides a Zero Configuration approach to delegate deployment manifests\ngeneration to <a href=\"https://github.com/dekorateio/dekorate\">Dekorate</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>Just by adding a dependency to Dekorate library in the <code>pom.xml</code> file, all manifest\ngeneration will be delegated to Dekorate.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"> <dependencies>\n <!-- ... -->\n <dependency>\n <groupId>io.dekorate</groupId>\n <artifactId>option-annotations</artifactId>\n <version>${dekorate.version}</version>\n </dependency>\n <dependency>\n <groupId>io.dekorate</groupId>\n <artifactId>openshift-annotations</artifactId>\n <version>${dekorate.version}</version>\n </dependency>\n <dependency>\n <groupId>io.dekorate</groupId>\n <artifactId>kubernetes-annotations</artifactId>\n <version>${dekorate.version}</version>\n </dependency>\n <dependency>\n <groupId>io.dekorate</groupId>\n <artifactId>dekorate-spring-boot</artifactId>\n <version>${dekorate.version}</version>\n </dependency>\n </dependencies></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>A full example of the integration can be found in the directory\n<a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/spring-boot-dekorate\">quickstarts/maven/spring-boot-dekorate</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>An <strong>experimental</strong> feature is also provided to merge resources generated both by <strong>openshift-maven-plugin</strong>\nand Dekorate. You can activate this feature by using the following flag <code>-Djkube.mergeWithDekorate</code>\nin the command-line, or setting it up as a property (<code><jkube.mergeWithDekorate>true</jkube.mergeWithDekorate></code>).</p>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_jib_java_image_builder\">14.2. JIB (Java Image Builder)</h3>\n<div class=\"paragraph\">\n<p><strong>openshift-maven-plugin</strong> also provides user an option to build container images without having access to any docker daemon.\nYou just need to set <code>jkube.build.strategy</code> property to <code>jib</code>. It will delegate the build process to\n<a href=\"https://github.com/GoogleContainerTools/jib\">JIB</a>. It creates a tarball inside your target directory which can be loaded\ninto any docker daemon afterwards. You may also push the image to your specified registry using push goal with feature flag enabled.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can find more details at <a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/spring-boot-with-jib\">Spring Boot JIB Quickstart</a>.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"faq\">15. FAQ</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_general_questions\">15.1. General questions</h3>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_define_an_environment_variable\">15.1.1. How do I define an environment variable?</h4>\n<div class=\"paragraph\">\n<p>The easiest way is to add a <code>src/main/jkube/deployment.yml</code> file to your project containing something like:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n template:\n spec:\n containers:\n -env:\n - name: FOO\n value: bar</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The above will generate an environment variable <code>$FOO</code> of value <code>bar</code></p>\n</div>\n<div class=\"paragraph\">\n<p>For a full list of the environments used in java base images, <a href=\"https://hub.docker.com/r/jkube.java-jboss-openjdk8-jdk\">see this list</a></p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_define_a_system_property\">15.1.2. How do I define a system property?</h4>\n<div class=\"paragraph\">\n<p>The simplest way is to add system properties to the <code>JAVA_OPTIONS</code> environment variable.</p>\n</div>\n<div class=\"paragraph\">\n<p>For a full list of the environments used in java base images, <a href=\"https://hub.docker.com/r/jkube.java-jboss-openjdk8-jdk\">see this list</a></p>\n</div>\n<div class=\"paragraph\">\n<p>e.g. add a <code>src/main/jkube/deployment.yml</code> file to your project containing something like:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n template:\n spec:\n containers:\n - env:\n - name: JAVA_OPTIONS\n value: \"-Dfoo=bar -Dxyz=abc\"</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>The above will define the system properties <code>foo=bar</code> and <code>xyz=abc</code></p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_mount_a_config_file_from_a_configmap\">15.1.3. How do I mount a config file from a ConfigMap?</h4>\n<div class=\"paragraph\">\n<p>First you need to create your <code>ConfigMap</code> resource via a file <code>src/main/jkube/configmap.yml</code></p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">data:\n application.properties: |\n # spring application properties file\n welcome = Hello from Kubernetes ConfigMap!!!\n dummy = some value</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then mount the entry in the <code>ConfigMap</code> into your <code>Deployment</code> via a file <code>src/main/jkube/deployment.yml</code></p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">metadata:\n annotations:\n configmap.jkube.io/update-on-change: ${project.artifactId}\nspec:\n replicas: 1\n template:\n spec:\n volumes:\n - name: config\n configMap:\n name: ${project.artifactId}\n items:\n - key: application.properties\n path: application.properties\n containers:\n - volumeMounts:\n - name: config\n mountPath: /deployments/config</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Here is <a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/external-resources\">an example quickstart doing this</a></p>\n</div>\n<div class=\"paragraph\">\n<p>Note that the annotation <code>configmap.jkube.io/update-on-change</code> is optional; its used if your application is not capable\nof watching for changes in the <code>/deployments/config/application.properties</code> file. In this case if you are also running\nthe <a href=\"https://github.com/fabric8io/configmapcontroller\">configmapcontroller</a> then this will cause a rolling upgrade of your\napplication to use the new <code>ConfigMap</code> contents as you change it.</p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_use_a_persistent_volume\">15.1.4. How do I use a Persistent Volume?</h4>\n<div class=\"paragraph\">\n<p>First you need to create your <code>PersistentVolumeClaim</code> resource via a file <code>src/main/jkube/foo-pvc.yml</code> where <code>foo</code> is the name of the <code>PersistentVolumeClaim</code>. It might be your app requires multiple vpersistent volumes so you will need multiple <code>PersistentVolumeClaim</code> resources.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 100Mi</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Then to mount the <code>PersistentVolumeClaim</code> into your <code>Deployment</code> create a file <code>src/main/jkube/deployment.yml</code></p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-yaml\" data-lang=\"yaml\">spec:\n template:\n spec:\n volumes:\n - name: foo\n persistentVolumeClaim:\n claimName: foo\n containers:\n - volumeMounts:\n - mountPath: /whatnot\n name: foo</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Where the above defines the <code>PersistentVolumeClaim</code> called <code>foo</code> which is then mounted into the container at <code>/whatnot</code></p>\n</div>\n</div>\n<div class=\"sect3\">\n<h4 id=\"_how_do_i_generate_ingress_for_my_generated_service\">15.1.5. How do I generate Ingress for my generated Service?</h4>\n<div class=\"paragraph\">\n<p><code>Ingress</code> generation is supported by Eclipse JKube for <code>Service</code> objects of type <code>LoadBalancer</code>. In order to generate <code>Ingress</code> you need to enable <code>jkube.createExternalUrls</code> property to <code>true</code> and <code>jkube.domain</code> property to desired host suffix, it would be appended to your service name for host value. You can also also provide a host for it in XML config like this:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <version>1.0.0-rc-1</version>\n\n <configuration>\n <resources>\n <routeDomain>org.eclipse.jkube</routeDomain>\n </resources>\n\n <enricher>\n <config>\n <jkube-service>\n <type>LoadBalancer</type>\n </jkube-service>\n </config>\n </enricher>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>You can find an example in our <a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts/maven/spring-boot\">spring-boot</a> quickstart in <code>kubernetes-with-ingress</code> profile.</p>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"appendix\">16. Appendix</h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_kindfilename_type_mapping\">16.1. Kind/Filename Type Mapping</h3>\n<table id=\"appendix-kind-mapping\" class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 50%;\">\n<col style=\"width: 50%;\">\n</colgroup>\n<thead>\n<tr>\n<th class=\"tableblock halign-left valign-top\">Kind</th>\n<th class=\"tableblock halign-left valign-top\">Filename Type</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">BuildConfig</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>bc</code>, <code>buildconfig</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ClusterRole</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>cr</code>, <code>crole</code>, <code>clusterrole</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ConfigMap</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>cm</code>, <code>configmap</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ClusterRoleBinding</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>crb</code>, <code>clusterrb</code>, <code>clusterrolebinding</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">CronJob</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>cj</code>, <code>cronjob</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">CustomResourceDefinition</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>crd</code>, <code>customerresourcedefinition</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">DaemonSet</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>ds</code>, <code>daemonset</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Deployment</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>deployment</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">DeploymentConfig</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>dc</code>, <code>deploymentconfig</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ImageStream</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>is</code>, <code>imagestream</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ImageStreamTag</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>istag</code>, <code>imagestreamtag</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Ingress</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>ingress</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Job</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>job</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">LimitRange</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>lr</code>, <code>limitrange</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Namespace</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>ns</code>, <code>namespace</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">OAuthClient</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>oauthclient</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">PolicyBinding</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pb</code>, <code>policybinding</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">PersistentVolume</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pv</code>, <code>persistentvolume</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">PersistentVolumeClaim</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pvc</code>, <code>persistemtvolumeclaim</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Project</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>project</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ProjectRequest</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pr</code>, <code>projectrequest</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ReplicaSet</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rs</code>, <code>replicaset</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ReplicationController</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rc</code>, <code>replicationcontroller</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ResourceQuota</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rq</code>, <code>resourcequota</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Role</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>role</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">RoleBinding</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rb</code>, <code>rolebinding</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">RoleBindingRestriction</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>rbr</code>, <code>rolebindingrestriction</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Route</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>route</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Secret</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>secret</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Service</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>svc</code>, <code>service</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">ServiceAccount</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>sa</code>, <code>serviceaccount</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">StatefulSet</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>statefulset</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Template</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>template</code></p></td>\n</tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Pod</p></td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"><code>pd</code>, <code>pod</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_custom_kindfilename_mapping\">16.2. Custom Kind/Filename Mapping</h3>\n<div class=\"paragraph\">\n<p>You can add your custom <code>Kind/Filename</code> mappings.\nTo do it you have two approaches:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Setting an environment variable or system property called <code>jkube.mapping</code> pointing out to a <code>.properties</code> files with pairs <code><kind>⇒filename1>, <filename2></code>\nBy default if no environment variable nor system property is set, scan for a file located at classpath <code>/META-INF/jkube.kind-filename-type-mapping-default.properties</code>.</p>\n</li>\n<li>\n<p>By embedding in MOJO configuration the mapping:</p>\n</li>\n</ul>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-xml\" data-lang=\"xml\"><plugin>\n <groupId>org.eclipse.jkube</groupId>\n <artifactId>openshift-maven-plugin</artifactId>\n <configuration>\n <mappings>\n <mapping>\n <kind>Var</kind>\n <filenameTypes>foo, bar</filenameTypes>\n </mapping>\n </mappings>\n </configuration>\n</plugin></code></pre>\n</div>\n</div>\n</div>\n</div>\n</div>","document":{"title":"org.eclipse.jkube/openshift-maven-plugin","subtitle":""}}},"pageContext":{"id":"c6e0e68d-58c2-50f9-a0f5-8c4e1ba2b485","langKey":"en"}},"staticQueryHashes":[]}
\ No newline at end of file
diff --git a/page-data/docs/page-data.json b/page-data/docs/page-data.json
index 488f01c..ad2a29f 100644
--- a/page-data/docs/page-data.json
+++ b/page-data/docs/page-data.json
@@ -1 +1 @@
-{"componentChunkName":"component---src-templates-main-jsx","path":"/docs/","result":{"data":{"markdownRemark":{"html":"<div class=\"hero\">\n<div class=\"hero-content\">\n<h1 id=\"documentation\"><a href=\"#documentation\" aria-label=\"documentation permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Documentation</h1>\n</div>\n</div>\n<h2 id=\"getting-started\"><a href=\"#getting-started\" aria-label=\"getting started permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Getting Started</h2>\n<p>Visit our <a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">quickstarts samples</a> on GitHub to check\navailable examples for your favourite framework or vanilla Java.</p>\n<h2 id=\"plugin-documentation\"><a href=\"#plugin-documentation\" aria-label=\"plugin documentation permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Plugin Documentation</h2>\n<ul>\n<li><a href=\"/jkube/docs/kubernetes-maven-plugin\">Kubernetes Maven Plugin</a></li>\n<li><a href=\"/jkube/docs/openshift-maven-plugin\">OpenShift Maven Plugin</a></li>\n<li><a href=\"/jkube/docs/migration-guide\">Migration Guide</a></li>\n</ul>\n<h2 id=\"javadoc\"><a href=\"#javadoc\" aria-label=\"javadoc permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Javadoc</h2>\n<h3 id=\"jkube-kit\"><a href=\"#jkube-kit\" aria-label=\"jkube kit permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>JKube Kit</h3>\n<ul>\n<li><strong>Common</strong> model objects and utility classes used across the rest of the modules.\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-common\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-common.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Build API</strong> model objects and interfaces for image building.\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-build-api\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-build-api.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Build Service Docker</strong>\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-build-service-docker\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-build-service-docker.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Image configuration</strong> model objects for modeling Docker image configuration as used in docker-maven-plugin.\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-config-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-config-image.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Resource configuration</strong> model objects for a simplified configuration of Kubernetes and OpenShift resources.\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-config-resource\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-config-resource.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Service configuration</strong>\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-config-service\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-config-service.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Generator</strong> framework for automatically generating Docker images by examining project information.\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-generator-api\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-generator-api.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Enricher</strong> framework for creating and enhancing Kubernetes and OpenShift resources.\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-enricher-api\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-enricher-api.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Helm</strong>\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-resource-helm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-resource-helm.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Profile</strong> combining the configuration for generators and enrichers.\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-profiles\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-profiles.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Common Maven</strong> utility classes for Maven plugins.\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-common-maven-maven\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-common-maven.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n</ul>","frontmatter":{"date":"February 22, 2020","path":"/docs","title":"Eclipse JKube Documentation","description":"Eclipse JKube Documentation Index"}}},"pageContext":{"langKey":"en","slug":"/docs/"}}}
\ No newline at end of file
+{"componentChunkName":"component---src-templates-main-jsx","path":"/docs/","result":{"data":{"markdownRemark":{"html":"<div class=\"hero\">\n<div class=\"hero-content\">\n<h1 id=\"documentation\" style=\"position:relative;\"><a href=\"#documentation\" aria-label=\"documentation permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Documentation</h1>\n</div>\n</div>\n<h2 id=\"plugin-documentation\" style=\"position:relative;\"><a href=\"#plugin-documentation\" aria-label=\"plugin documentation permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Plugin Documentation</h2>\n<ul>\n<li><a href=\"/jkube/docs/kubernetes-maven-plugin\">Kubernetes Maven Plugin</a></li>\n<li><a href=\"/jkube/docs/openshift-maven-plugin\">OpenShift Maven Plugin</a></li>\n<li><a href=\"/jkube/docs/migration-guide\">Migration Guide</a></li>\n</ul>\n<h2 id=\"getting-started\" style=\"position:relative;\"><a href=\"#getting-started\" aria-label=\"getting started permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Getting Started</h2>\n<h3 id=\"official-quick-start-projects\" style=\"position:relative;\"><a href=\"#official-quick-start-projects\" aria-label=\"official quick start projects permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Official Quick start projects</h3>\n<p>Visit our <a href=\"https://github.com/eclipse/jkube/tree/master/quickstarts\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">quickstarts samples</a> on GitHub to check\navailable examples for your favourite framework or vanilla Java.</p>\n<h3 id=\"katacoda-courses\" style=\"position:relative;\"><a href=\"#katacoda-courses\" aria-label=\"katacoda courses permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Katacoda Courses</h3>\n<p>If you want to get a taste of Eclipse JKube but don't want to install anything on your machine or don't have an\navailable development environment you can try out our <a href=\"https://katacoda.com/jkubeio\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Katacoda courses</a>:</p>\n<div class=\"highlight\">\n<p><img src=\"/jkube/7cf1abf65faa5b6effa4c31d8fbe0f83/katacoda-logo.png\" alt=\"Katacoda Courses\" title=\"Katacoda logo\"></p>\n<ul>\n<li><a href=\"https://katacoda.com/jkubeio/courses/getting-started\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Getting started</strong></a>: Several scenarios to get started with\nEclipse JKube using your favourite Java framework.</li>\n</ul>\n</div>\n<h2 id=\"javadoc\" style=\"position:relative;\"><a href=\"#javadoc\" aria-label=\"javadoc permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Javadoc</h2>\n<h3 id=\"jkube-kit\" style=\"position:relative;\"><a href=\"#jkube-kit\" aria-label=\"jkube kit permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>JKube Kit</h3>\n<ul>\n<li><strong>Common</strong> model objects and utility classes used across the rest of the modules.\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-common\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-common.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Build API</strong> model objects and interfaces for image building.\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-build-api\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-build-api.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Build Service Docker</strong>\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-build-service-docker\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-build-service-docker.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Image configuration</strong> model objects for modeling Docker image configuration as used in docker-maven-plugin.\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-config-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-config-image.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Resource configuration</strong> model objects for a simplified configuration of Kubernetes and OpenShift resources.\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-config-resource\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-config-resource.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Service configuration</strong>\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-config-service\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-config-service.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Generator</strong> framework for automatically generating Docker images by examining project information.\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-generator-api\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-generator-api.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Enricher</strong> framework for creating and enhancing Kubernetes and OpenShift resources.\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-enricher-api\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-enricher-api.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Helm</strong>\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-resource-helm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-resource-helm.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Profile</strong> combining the configuration for generators and enrichers.\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-profiles\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-profiles.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n<li><strong>Common Maven</strong> utility classes for Maven plugins.\n<a href=\"http://www.javadoc.io/doc/org.eclipse.jkube/jkube-kit-common-maven-maven\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"http://www.javadoc.io/badge/org.eclipse.jkube/jkube-kit-common-maven.svg?color=blue\" alt=\"Javadocs\">\n</a></li>\n</ul>","frontmatter":{"date":"February 22, 2020","path":"/docs","title":"Eclipse JKube Documentation","description":"Eclipse JKube Documentation Index"}}},"pageContext":{"langKey":"en","slug":"/docs/"}},"staticQueryHashes":[]}
\ No newline at end of file
diff --git a/page-data/es/demos/page-data.json b/page-data/es/demos/page-data.json
index fcdbcf3..9ddc7ce 100644
--- a/page-data/es/demos/page-data.json
+++ b/page-data/es/demos/page-data.json
@@ -1 +1 @@
-{"componentChunkName":"component---src-templates-main-jsx","path":"/es/demos/","result":{"data":{"markdownRemark":{"html":"<div class=\"hero\">\n<div class=\"hero-content\">\n<h1 id=\"demostraciones\"><a href=\"#demostraciones\" aria-label=\"demostraciones permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Demostraciones</h1>\n</div>\n</div>\n<h3 id=\"kubernetes-maven-plugin\"><a href=\"#kubernetes-maven-plugin\" aria-label=\"kubernetes maven plugin permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><a href=\"https://asciinema.org/a/253747\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Kubernetes Maven Plugin</a></h3>\n<p><img src=\"k8s-maven-plugin-demo.gif\" alt=\"k8s sample demo\"></p>\n<h3 id=\"openshift-maven-plugin\"><a href=\"#openshift-maven-plugin\" aria-label=\"openshift maven plugin permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><a href=\"https://asciinema.org/a/253742\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">OpenShift Maven Plugin</a></h3>\n<p><img src=\"oc-maven-plugin-demo.gif\" alt=\"oc sample demo\"></p>","frontmatter":{"date":"February 21, 2020","path":"/demos","title":"Eclipse JKube - Demostraciones","description":"Eclipse JKube - Demostraciones y guías rápidas para Kubernetes y OpenShift"}}},"pageContext":{"langKey":"es","slug":"/es/demos/"}}}
\ No newline at end of file
+{"componentChunkName":"component---src-templates-main-jsx","path":"/es/demos/","result":{"data":{"markdownRemark":{"html":"<div class=\"hero\">\n<div class=\"hero-content\">\n<h1 id=\"demostraciones\" style=\"position:relative;\"><a href=\"#demostraciones\" aria-label=\"demostraciones permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Demostraciones</h1>\n</div>\n</div>\n<h3 id=\"kubernetes-maven-plugin\" style=\"position:relative;\"><a href=\"#kubernetes-maven-plugin\" aria-label=\"kubernetes maven plugin permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><a href=\"https://asciinema.org/a/253747\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Kubernetes Maven Plugin</a></h3>\n<p><a href=\"https://asciinema.org/a/335724\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://asciinema.org/a/335724.svg\" alt=\"Kubernetes Maven Plugin\"></a></p>\n<h3 id=\"openshift-maven-plugin\" style=\"position:relative;\"><a href=\"#openshift-maven-plugin\" aria-label=\"openshift maven plugin permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><a href=\"https://asciinema.org/a/253742\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">OpenShift Maven Plugin</a></h3>\n<p><a href=\"https://asciinema.org/a/335743\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://asciinema.org/a/335743.svg\" alt=\"OpenShift Maven Plugin\"></a></p>","frontmatter":{"date":"February 21, 2020","path":"/demos","title":"Eclipse JKube - Demostraciones","description":"Eclipse JKube - Demostraciones y guías rápidas para Kubernetes y OpenShift"}}},"pageContext":{"langKey":"es","slug":"/es/demos/"}},"staticQueryHashes":[]}
\ No newline at end of file
diff --git a/page-data/es/page-data.json b/page-data/es/page-data.json
index 6f5b435..9e561e9 100644
--- a/page-data/es/page-data.json
+++ b/page-data/es/page-data.json
@@ -1 +1 @@
-{"componentChunkName":"component---src-templates-main-jsx","path":"/es/","result":{"data":{"markdownRemark":{"html":"<div class=\"hero\">\n<div class=\"hero-content\">\n<div class=\"getting-involved\">\n<p><a href=\"https://twitter.com/jkubeio\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://img.shields.io/twitter/follow/jkubeio?label=Follow\" alt=\"Twitter\"></a>\n<a href=\"https://www.eclipse.org/legal/epl-2.0/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://img.shields.io/badge/License-EPL%202.0-red.svg?label=license&logo=eclipse\" alt=\"License\"></a>\n<a href=\"https://gitter.im/eclipse/jkube?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://badges.gitter.im/eclipse/jkube.svg\" alt=\"Gitter\"></a>\n<a href=\"https://accounts.eclipse.org/mailing-list/jkube-dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://img.shields.io/badge/Eclipse%20JKube%20-Developer%20Mailing%20List-orange\" alt=\"Eclipse JKube Dev Mailing List\"></a></p>\n</div>\n<h1 id=\"eclipse-jkube\"><a href=\"#eclipse-jkube\" aria-label=\"eclipse jkube permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Eclipse JKube</h1>\n<p>Eclipse JKube es una colección de plugins y librerías que se utilizan para generar y desplegar manifiestos de\nKubernetes/OpenShift en tiempo de compilación. Lleva tus aplicaciones a Kubernetes y OpenShift.</p>\n<p>Provee una fuerte integración con Maven y se beneficia de las configuraciones de construcción existentes.</p>\n<p>El proyecto se centra en dos tareas, construir imágenes de Docker y crear descriptores de recursos para Kubernetes\ny OpenShift.</p>\n</div>\n</div>","frontmatter":{"date":"January 02, 2020","path":"/","title":"Eclipse JKube","description":"Página de bienvenida de JKube"}}},"pageContext":{"langKey":"es","slug":"/es/"}}}
\ No newline at end of file
+{"componentChunkName":"component---src-templates-main-jsx","path":"/es/","result":{"data":{"markdownRemark":{"html":"<div class=\"hero\">\n<div class=\"hero-content\">\n<div class=\"getting-involved\">\n<p><a href=\"https://twitter.com/jkubeio\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://img.shields.io/twitter/follow/jkubeio?label=Follow\" alt=\"Twitter\"></a>\n<a href=\"https://www.eclipse.org/legal/epl-2.0/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://img.shields.io/badge/License-EPL%202.0-red.svg?label=license&logo=eclipse\" alt=\"License\"></a>\n<a href=\"https://gitter.im/eclipse/jkube?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://badges.gitter.im/eclipse/jkube.svg\" alt=\"Gitter\"></a>\n<a href=\"https://accounts.eclipse.org/mailing-list/jkube-dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://img.shields.io/badge/Eclipse%20JKube%20-Developer%20Mailing%20List-orange\" alt=\"Eclipse JKube Dev Mailing List\"></a></p>\n</div>\n<h1 id=\"eclipse-jkube\" style=\"position:relative;\"><a href=\"#eclipse-jkube\" aria-label=\"eclipse jkube permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Eclipse JKube</h1>\n<p>Eclipse JKube es una colección de plugins y librerías que se utilizan para generar y desplegar manifiestos de\nKubernetes/OpenShift en tiempo de compilación. Lleva tus aplicaciones a Kubernetes y OpenShift.</p>\n<p>Provee una fuerte integración con Maven y se beneficia de las configuraciones de construcción existentes.</p>\n<p>El proyecto se centra en dos tareas, construir imágenes de Docker y crear descriptores de recursos para Kubernetes\ny OpenShift.</p>\n</div>\n</div>","frontmatter":{"date":"January 02, 2020","path":"/","title":"Eclipse JKube","description":"Página de bienvenida de JKube"}}},"pageContext":{"langKey":"es","slug":"/es/"}},"staticQueryHashes":[]}
\ No newline at end of file
diff --git a/page-data/index/page-data.json b/page-data/index/page-data.json
index ba379d4..9b60357 100644
--- a/page-data/index/page-data.json
+++ b/page-data/index/page-data.json
@@ -1 +1 @@
-{"componentChunkName":"component---src-templates-main-jsx","path":"/","result":{"data":{"markdownRemark":{"html":"<div class=\"hero\">\n<div class=\"hero-content\">\n<div class=\"getting-involved\">\n<p><a href=\"https://twitter.com/jkubeio\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://img.shields.io/twitter/follow/jkubeio?label=Follow\" alt=\"Twitter\"></a>\n<a href=\"https://www.eclipse.org/legal/epl-2.0/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://img.shields.io/badge/License-EPL%202.0-red.svg?label=license&logo=eclipse\" alt=\"License\"></a>\n<a href=\"https://gitter.im/eclipse/jkube?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://badges.gitter.im/eclipse/jkube.svg\" alt=\"Gitter\"></a>\n<a href=\"https://accounts.eclipse.org/mailing-list/jkube-dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://img.shields.io/badge/Eclipse%20JKube%20-Developer%20Mailing%20List-orange\" alt=\"Eclipse JKube Dev Mailing List\"></a></p>\n</div>\n<h1 id=\"eclipse-jkube\"><a href=\"#eclipse-jkube\" aria-label=\"eclipse jkube permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Eclipse JKube</h1>\n<h2 id=\"cloud-native-java-applications-without-a-hassle\"><a href=\"#cloud-native-java-applications-without-a-hassle\" aria-label=\"cloud native java applications without a hassle permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Cloud-Native Java Applications without a hassle</h2>\n<p>Eclipse JKube is a collection of plugins and libraries that are used for building container images using Docker, JIB\nor S2I build strategies. Eclipse JKube generates and deploys Kubernetes/OpenShift manifests at compile time too.</p>\n<p>It brings your Java applications on to Kubernetes and OpenShift by leveraging the tasks required to make your application\ncloud-native.</p>\n<p>Eclipse JKube also provides a set of tools such as watch, debug, log, etc. to improve your developer experience.</p>\n</div>\n</div>\n<h2 id=\"features\"><a href=\"#features\" aria-label=\"features permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Features</h2>\n<h3 id=\"kubernetes-maven-plugin\"><a href=\"#kubernetes-maven-plugin\" aria-label=\"kubernetes maven plugin permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Kubernetes Maven Plugin</h3>\n<div class=\"highlight\">\n<p><img src=\"/jkube/3a15213ddffc497c558cabac9f1e2c2b/kubernetes-logo.svg\" alt=\"JKube - Kubernetes Maven Plugin\" title=\"Kubernetes logo\"></p>\n<ul>\n<li>Generates container images with flexible and powerful configuration (Integrates with Docker Daemon or JIB).</li>\n<li>Generates vanilla Kubernetes descriptors (YAML files).</li>\n<li>Provides <strong>Zero Configuration</strong> for a quick ramp-up where opinionated defaults will be pre-selected.</li>\n<li>Provides <strong>Inline Configuration</strong> within the plugin configuration in an XML syntax.</li>\n<li>Provides <strong>External Configuration</strong> templates of real deployment descriptors which are enriched by plugin.</li>\n</ul>\n</div>\n<h3 id=\"openshift-maven-plugin\"><a href=\"#openshift-maven-plugin\" aria-label=\"openshift maven plugin permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>OpenShift Maven Plugin</h3>\n<div class=\"highlight\">\n<ul>\n<li>Built on top of <strong>Kubernetes Maven Plugin</strong> provides OpenShift specific features.</li>\n<li>Dealing with S2I images and hence inherits its flexible and powerful configuration.</li>\n<li>Generates OpenShift specific descriptors (YAML files).</li>\n<li>Provides <strong>Zero Configuration</strong> for a quick ramp-up where opinionated defaults will be pre-selected.</li>\n<li>Provides <strong>Inline Configuration</strong> within the plugin configuration in an XML syntax.</li>\n<li>Provides <strong>External Configuration</strong> templates of real deployment descriptors which are enriched by plugin.</li>\n</ul>\n<p><img src=\"/jkube/6be71d0a49fc50ccde5579e8a1b88310/openshift-logo.svg\" alt=\"JKube - OpenShift Maven Plugin\" title=\"OpenShift logo\"></p>\n</div>\n<h3 id=\"jkube-kit\"><a href=\"#jkube-kit\" aria-label=\"jkube kit permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>JKube Kit</h3>\n<div class=\"highlight\">\n<p><img src=\"/jkube/9a88e76eff4f487e1a95525b473ebcc5/briefcase-icon.svg\" alt=\"JKube Kit\" title=\"Briefcase icon\"></p>\n<ul>\n<li>Core</li>\n<li><strong>Generator</strong> framework for automatically generating Docker images by examining project information.</li>\n<li><strong>Enricher</strong> framework for creating and enhancing Kubernetes/OpenShift resource descriptors.</li>\n<li><strong>Profile</strong> combining configuration for generators and enrichers.</li>\n<li><strong>Resource Configuration</strong> model objects for a simplified configuration of Kubernetes/OpenShift resource.</li>\n<li><strong>Image Configuration</strong> model objects for modeling Docker image configuration.</li>\n</ul>\n</div>\n<div class=\"section-dark\">\n<h2 id=\"downloads\"><a href=\"#downloads\" aria-label=\"downloads permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Downloads</h2>\n<p>You can get Eclipse JKube from these platforms:</p>\n<p><a href=\"https://search.maven.org/search?q=g:%22org.eclipse.jkube%22\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://img.shields.io/maven-central/v/org.eclipse.jkube/jkube.svg?label=Maven%20Central\" alt=\"Maven Central\">\n</a>\n<a href=\"https://download.eclipse.org/jkube/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://img.shields.io/badge/eclipse%20downloads-downloads.eclipse.org-red\" alt=\"Eclipse Download Repository\">\n</a></p>\n</div>","frontmatter":{"date":"January 02, 2020","path":"/","title":"Eclipse JKube - Successor of the deprecated Fabric8 Maven Plugin","description":"Eclipse - Successor of the deprecated Fabric8 Maven Plugin"}}},"pageContext":{"langKey":"en","slug":"/"}}}
\ No newline at end of file
+{"componentChunkName":"component---src-templates-main-jsx","path":"/","result":{"data":{"markdownRemark":{"html":"<div class=\"hero\">\n<div class=\"hero-content\">\n<div class=\"getting-involved\">\n<p><a href=\"https://twitter.com/jkubeio\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://img.shields.io/twitter/follow/jkubeio?label=Follow\" alt=\"Twitter\"></a>\n<a href=\"https://www.eclipse.org/legal/epl-2.0/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://img.shields.io/badge/License-EPL%202.0-red.svg?label=license&logo=eclipse\" alt=\"License\"></a>\n<a href=\"https://gitter.im/eclipse/jkube?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://badges.gitter.im/eclipse/jkube.svg\" alt=\"Gitter\"></a>\n<a href=\"https://accounts.eclipse.org/mailing-list/jkube-dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://img.shields.io/badge/Eclipse%20JKube%20-Developer%20Mailing%20List-orange\" alt=\"Eclipse JKube Dev Mailing List\"></a></p>\n</div>\n<h1 id=\"eclipse-jkube\" style=\"position:relative;\"><a href=\"#eclipse-jkube\" aria-label=\"eclipse jkube permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Eclipse JKube</h1>\n<h2 id=\"cloud-native-java-applications-without-a-hassle\" style=\"position:relative;\"><a href=\"#cloud-native-java-applications-without-a-hassle\" aria-label=\"cloud native java applications without a hassle permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Cloud-Native Java Applications without a hassle</h2>\n<p>Eclipse JKube is a collection of plugins and libraries that are used for building container images using Docker, JIB\nor S2I build strategies. Eclipse JKube generates and deploys Kubernetes/OpenShift manifests at compile time too.</p>\n<p>It brings your Java applications on to Kubernetes and OpenShift by leveraging the tasks required to make your application\ncloud-native.</p>\n<p>Eclipse JKube also provides a set of tools such as watch, debug, log, etc. to improve your developer experience.</p>\n</div>\n</div>\n<h2 id=\"features\" style=\"position:relative;\"><a href=\"#features\" aria-label=\"features permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Features</h2>\n<h3 id=\"kubernetes-maven-plugin\" style=\"position:relative;\"><a href=\"#kubernetes-maven-plugin\" aria-label=\"kubernetes maven plugin permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Kubernetes Maven Plugin</h3>\n<div class=\"highlight\">\n<p><img src=\"/jkube/3a15213ddffc497c558cabac9f1e2c2b/kubernetes-logo.svg\" alt=\"JKube - Kubernetes Maven Plugin\" title=\"Kubernetes logo\"></p>\n<ul>\n<li>Generates container images with flexible and powerful configuration (Integrates with Docker Daemon or JIB).</li>\n<li>Generates vanilla Kubernetes descriptors (YAML files).</li>\n<li>Provides <strong>Zero Configuration</strong> for a quick ramp-up where opinionated defaults will be pre-selected.</li>\n<li>Provides <strong>Inline Configuration</strong> within the plugin configuration in an XML syntax.</li>\n<li>Provides <strong>External Configuration</strong> templates of real deployment descriptors which are enriched by plugin.</li>\n</ul>\n</div>\n<h3 id=\"openshift-maven-plugin\" style=\"position:relative;\"><a href=\"#openshift-maven-plugin\" aria-label=\"openshift maven plugin permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>OpenShift Maven Plugin</h3>\n<div class=\"highlight\">\n<ul>\n<li>Built on top of <strong>Kubernetes Maven Plugin</strong> provides OpenShift specific features.</li>\n<li>Dealing with S2I images and hence inherits its flexible and powerful configuration.</li>\n<li>Generates OpenShift specific descriptors (YAML files).</li>\n<li>Provides <strong>Zero Configuration</strong> for a quick ramp-up where opinionated defaults will be pre-selected.</li>\n<li>Provides <strong>Inline Configuration</strong> within the plugin configuration in an XML syntax.</li>\n<li>Provides <strong>External Configuration</strong> templates of real deployment descriptors which are enriched by plugin.</li>\n</ul>\n<p><img src=\"/jkube/6be71d0a49fc50ccde5579e8a1b88310/openshift-logo.svg\" alt=\"JKube - OpenShift Maven Plugin\" title=\"OpenShift logo\"></p>\n</div>\n<h3 id=\"jkube-kit\" style=\"position:relative;\"><a href=\"#jkube-kit\" aria-label=\"jkube kit permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>JKube Kit</h3>\n<div class=\"highlight\">\n<p><img src=\"/jkube/9a88e76eff4f487e1a95525b473ebcc5/briefcase-icon.svg\" alt=\"JKube Kit\" title=\"Briefcase icon\"></p>\n<ul>\n<li>Core</li>\n<li><strong>Generator</strong> framework for automatically generating Docker images by examining project information.</li>\n<li><strong>Enricher</strong> framework for creating and enhancing Kubernetes/OpenShift resource descriptors.</li>\n<li><strong>Profile</strong> combining configuration for generators and enrichers.</li>\n<li><strong>Resource Configuration</strong> model objects for a simplified configuration of Kubernetes/OpenShift resource.</li>\n<li><strong>Image Configuration</strong> model objects for modeling Docker image configuration.</li>\n</ul>\n</div>\n<div class=\"section-dark\">\n<h2 id=\"downloads\" style=\"position:relative;\"><a href=\"#downloads\" aria-label=\"downloads permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Downloads</h2>\n<p>You can get Eclipse JKube from these platforms:</p>\n<p><a href=\"https://search.maven.org/search?q=g:%22org.eclipse.jkube%22\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://img.shields.io/maven-central/v/org.eclipse.jkube/jkube.svg?label=Maven%20Central\" alt=\"Maven Central\">\n</a>\n<a href=\"https://download.eclipse.org/jkube/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img src=\"https://img.shields.io/badge/eclipse%20downloads-downloads.eclipse.org-red\" alt=\"Eclipse Download Repository\">\n</a></p>\n</div>","frontmatter":{"date":"January 02, 2020","path":"/","title":"Eclipse JKube - Successor of the deprecated Fabric8 Maven Plugin","description":"Eclipse - Successor of the deprecated Fabric8 Maven Plugin"}}},"pageContext":{"langKey":"en","slug":"/"}},"staticQueryHashes":[]}
\ No newline at end of file
diff --git a/polyfill-2a86e29ae53b0bcd324d.js b/polyfill-2a86e29ae53b0bcd324d.js
new file mode 100644
index 0000000..7e480fb
--- /dev/null
+++ b/polyfill-2a86e29ae53b0bcd324d.js
@@ -0,0 +1,2 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{VXT5:function(t,e,r){(function(t){!function(){var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{};function r(t,e,r){return t(r={path:e,exports:{},require:function(t,e){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}()}},r.exports),r.exports}var n=function(t){return t&&t.Math==Math&&t},o=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),u={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,s={f:c&&!u.call({1:2},1)?function(t){var e=c(this,t);return!!e&&e.enumerable}:u},f=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},l={}.toString,p=function(t){return l.call(t).slice(8,-1)},h="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?h.call(t,""):Object(t)}:Object,v=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},g=function(t){return d(v(t))},y=function(t){return"object"==typeof t?null!==t:"function"==typeof t},m=function(t,e){if(!y(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!y(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!y(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!y(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,S=function(t,e){return b.call(t,e)},w=o.document,E=y(w)&&y(w.createElement),x=function(t){return E?w.createElement(t):{}},O=!a&&!i((function(){return 7!=Object.defineProperty(x("div"),"a",{get:function(){return 7}}).a})),j=Object.getOwnPropertyDescriptor,A={f:a?j:function(t,e){if(t=g(t),e=m(e,!0),O)try{return j(t,e)}catch(t){}if(S(t,e))return f(!s.f.call(t,e),t[e])}},R=function(t){if(!y(t))throw TypeError(String(t)+" is not an object");return t},P=Object.defineProperty,_={f:a?P:function(t,e,r){if(R(t),e=m(e,!0),R(r),O)try{return P(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}},T=a?function(t,e,r){return _.f(t,e,f(1,r))}:function(t,e,r){return t[e]=r,t},I=function(t,e){try{T(o,t,e)}catch(n){o[t]=e}return e},M=o["__core-js_shared__"]||I("__core-js_shared__",{}),k=Function.toString;"function"!=typeof M.inspectSource&&(M.inspectSource=function(t){return k.call(t)});var N,L,U,C=M.inspectSource,F=o.WeakMap,D="function"==typeof F&&/native code/.test(C(F)),B=r((function(t){(t.exports=function(t,e){return M[t]||(M[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.5",mode:"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})})),W=0,z=Math.random(),K=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++W+z).toString(36)},G=B("keys"),V=function(t){return G[t]||(G[t]=K(t))},$={};if(D){var q=new(0,o.WeakMap),H=q.get,X=q.has,Y=q.set;N=function(t,e){return Y.call(q,t,e),e},L=function(t){return H.call(q,t)||{}},U=function(t){return X.call(q,t)}}else{var J=V("state");$[J]=!0,N=function(t,e){return T(t,J,e),e},L=function(t){return S(t,J)?t[J]:{}},U=function(t){return S(t,J)}}var Q,Z={set:N,get:L,has:U,enforce:function(t){return U(t)?L(t):N(t,{})},getterFor:function(t){return function(e){var r;if(!y(e)||(r=L(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},tt=r((function(t){var e=Z.get,r=Z.enforce,n=String(String).split("String");(t.exports=function(t,e,i,a){var u=!!a&&!!a.unsafe,c=!!a&&!!a.enumerable,s=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof e||S(i,"name")||T(i,"name",e),r(i).source=n.join("string"==typeof e?e:"")),t!==o?(u?!s&&t[e]&&(c=!0):delete t[e],c?t[e]=i:T(t,e,i)):c?t[e]=i:I(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||C(this)}))})),et=o,rt=function(t){return"function"==typeof t?t:void 0},nt=function(t,e){return arguments.length<2?rt(et[t])||rt(o[t]):et[t]&&et[t][e]||o[t]&&o[t][e]},ot=Math.ceil,it=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?it:ot)(t)},ut=Math.min,ct=function(t){return t>0?ut(at(t),9007199254740991):0},st=Math.max,ft=Math.min,lt=function(t,e){var r=at(t);return r<0?st(r+e,0):ft(r,e)},pt=function(t){return function(e,r,n){var o,i=g(e),a=ct(i.length),u=lt(n,a);if(t&&r!=r){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===r)return t||u||0;return!t&&-1}},ht={includes:pt(!0),indexOf:pt(!1)},dt=ht.indexOf,vt=function(t,e){var r,n=g(t),o=0,i=[];for(r in n)!S($,r)&&S(n,r)&&i.push(r);for(;e.length>o;)S(n,r=e[o++])&&(~dt(i,r)||i.push(r));return i},gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],yt=gt.concat("length","prototype"),mt={f:Object.getOwnPropertyNames||function(t){return vt(t,yt)}},bt={f:Object.getOwnPropertySymbols},St=nt("Reflect","ownKeys")||function(t){var e=mt.f(R(t)),r=bt.f;return r?e.concat(r(t)):e},wt=function(t,e){for(var r=St(e),n=_.f,o=A.f,i=0;i<r.length;i++){var a=r[i];S(t,a)||n(t,a,o(e,a))}},Et=/#|\.prototype\./,xt=function(t,e){var r=jt[Ot(t)];return r==Rt||r!=At&&("function"==typeof e?i(e):!!e)},Ot=xt.normalize=function(t){return String(t).replace(Et,".").toLowerCase()},jt=xt.data={},At=xt.NATIVE="N",Rt=xt.POLYFILL="P",Pt=xt,_t=A.f,Tt=function(t,e){var r,n,i,a,u,c=t.target,s=t.global,f=t.stat;if(r=s?o:f?o[c]||I(c,{}):(o[c]||{}).prototype)for(n in e){if(a=e[n],i=t.noTargetGet?(u=_t(r,n))&&u.value:r[n],!Pt(s?n:c+(f?".":"#")+n,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;wt(a,i)}(t.sham||i&&i.sham)&&T(a,"sham",!0),tt(r,n,a,t)}},It=function(t){return Object(v(t))},Mt=Math.min,kt=[].copyWithin||function(t,e){var r=It(this),n=ct(r.length),o=lt(t,n),i=lt(e,n),a=arguments.length>2?arguments[2]:void 0,u=Mt((void 0===a?n:lt(a,n))-i,n-o),c=1;for(i<o&&o<i+u&&(c=-1,i+=u-1,o+=u-1);u-- >0;)i in r?r[o]=r[i]:delete r[o],o+=c,i+=c;return r},Nt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Lt=Nt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Ut=B("wks"),Ct=o.Symbol,Ft=Lt?Ct:Ct&&Ct.withoutSetter||K,Dt=function(t){return S(Ut,t)||(Ut[t]=Nt&&S(Ct,t)?Ct[t]:Ft("Symbol."+t)),Ut[t]},Bt=Object.keys||function(t){return vt(t,gt)},Wt=a?Object.defineProperties:function(t,e){R(t);for(var r,n=Bt(e),o=n.length,i=0;o>i;)_.f(t,r=n[i++],e[r]);return t},zt=nt("document","documentElement"),Kt=V("IE_PROTO"),Gt=function(){},Vt=function(t){return"<script>"+t+"<\/script>"},$t=function(){try{Q=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;$t=Q?function(t){t.write(Vt("")),t.close();var e=t.parentWindow.Object;return t=null,e}(Q):((e=x("iframe")).style.display="none",zt.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(Vt("document.F=Object")),t.close(),t.F);for(var r=gt.length;r--;)delete $t.prototype[gt[r]];return $t()};$[Kt]=!0;var qt=Object.create||function(t,e){var r;return null!==t?(Gt.prototype=R(t),r=new Gt,Gt.prototype=null,r[Kt]=t):r=$t(),void 0===e?r:Wt(r,e)},Ht=Dt("unscopables"),Xt=Array.prototype;null==Xt[Ht]&&_.f(Xt,Ht,{configurable:!0,value:qt(null)});var Yt=function(t){Xt[Ht][t]=!0};Tt({target:"Array",proto:!0},{copyWithin:kt}),Yt("copyWithin");var Jt=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},Qt=function(t,e,r){if(Jt(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};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,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}},Zt=Function.call,te=function(t,e,r){return Qt(Zt,o[t].prototype[e],r)};te("Array","copyWithin"),Tt({target:"Array",proto:!0},{fill:function(t){for(var e=It(this),r=ct(e.length),n=arguments.length,o=lt(n>1?arguments[1]:void 0,r),i=n>2?arguments[2]:void 0,a=void 0===i?r:lt(i,r);a>o;)e[o++]=t;return e}}),Yt("fill"),te("Array","fill");var ee=Array.isArray||function(t){return"Array"==p(t)},re=Dt("species"),ne=function(t,e){var r;return ee(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!ee(r.prototype)?y(r)&&null===(r=r[re])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},oe=[].push,ie=function(t){var e=1==t,r=2==t,n=3==t,o=4==t,i=6==t,a=5==t||i;return function(u,c,s,f){for(var l,p,h=It(u),v=d(h),g=Qt(c,s,3),y=ct(v.length),m=0,b=f||ne,S=e?b(u,y):r?b(u,0):void 0;y>m;m++)if((a||m in v)&&(p=g(l=v[m],m,h),t))if(e)S[m]=p;else if(p)switch(t){case 3:return!0;case 5:return l;case 6:return m;case 2:oe.call(S,l)}else if(o)return!1;return i?-1:n||o?o:S}},ae={forEach:ie(0),map:ie(1),filter:ie(2),some:ie(3),every:ie(4),find:ie(5),findIndex:ie(6)},ue=Object.defineProperty,ce={},se=function(t){throw t},fe=function(t,e){if(S(ce,t))return ce[t];e||(e={});var r=[][t],n=!!S(e,"ACCESSORS")&&e.ACCESSORS,o=S(e,0)?e[0]:se,u=S(e,1)?e[1]:void 0;return ce[t]=!!r&&!i((function(){if(n&&!a)return!0;var t={length:-1};n?ue(t,1,{enumerable:!0,get:se}):t[1]=1,r.call(t,o,u)}))},le=ae.find,pe=!0,he=fe("find");"find"in[]&&Array(1).find((function(){pe=!1})),Tt({target:"Array",proto:!0,forced:pe||!he},{find:function(t){return le(this,t,arguments.length>1?arguments[1]:void 0)}}),Yt("find"),te("Array","find");var de=ae.findIndex,ve=!0,ge=fe("findIndex");"findIndex"in[]&&Array(1).findIndex((function(){ve=!1})),Tt({target:"Array",proto:!0,forced:ve||!ge},{findIndex:function(t){return de(this,t,arguments.length>1?arguments[1]:void 0)}}),Yt("findIndex"),te("Array","findIndex");var ye=function t(e,r,n,o,i,a,u,c){for(var s,f=i,l=0,p=!!u&&Qt(u,c,3);l<o;){if(l in n){if(s=p?p(n[l],l,r):n[l],a>0&&ee(s))f=t(e,r,s,ct(s.length),f,a-1)-1;else{if(f>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[f]=s}f++}l++}return f};Tt({target:"Array",proto:!0},{flatMap:function(t){var e,r=It(this),n=ct(r.length);return Jt(t),(e=ne(r,0)).length=ye(e,r,r,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}}),Yt("flatMap"),te("Array","flatMap"),Tt({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=It(this),r=ct(e.length),n=ne(e,0);return n.length=ye(n,e,e,r,0,void 0===t?1:at(t)),n}}),Yt("flat"),te("Array","flat");var me,be,Se,we=function(t){return function(e,r){var n,o,i=String(v(e)),a=at(r),u=i.length;return a<0||a>=u?t?"":void 0:(n=i.charCodeAt(a))<55296||n>56319||a+1===u||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):n:t?i.slice(a,a+2):o-56320+(n-55296<<10)+65536}},Ee={codeAt:we(!1),charAt:we(!0)},xe=!i((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),Oe=V("IE_PROTO"),je=Object.prototype,Ae=xe?Object.getPrototypeOf:function(t){return t=It(t),S(t,Oe)?t[Oe]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?je:null},Re=Dt("iterator"),Pe=!1;[].keys&&("next"in(Se=[].keys())?(be=Ae(Ae(Se)))!==Object.prototype&&(me=be):Pe=!0),null==me&&(me={}),S(me,Re)||T(me,Re,(function(){return this}));var _e={IteratorPrototype:me,BUGGY_SAFARI_ITERATORS:Pe},Te=_.f,Ie=Dt("toStringTag"),Me=function(t,e,r){t&&!S(t=r?t:t.prototype,Ie)&&Te(t,Ie,{configurable:!0,value:e})},ke={},Ne=_e.IteratorPrototype,Le=function(){return this},Ue=function(t){if(!y(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t},Ce=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return R(r),Ue(n),e?t.call(r,n):r.__proto__=n,r}}():void 0),Fe=_e.IteratorPrototype,De=_e.BUGGY_SAFARI_ITERATORS,Be=Dt("iterator"),We=function(){return this},ze=function(t,e,r,n,o,i,a){!function(t,e,r){var n=e+" Iterator";t.prototype=qt(Ne,{next:f(1,r)}),Me(t,n,!1),ke[n]=Le}(r,e,n);var u,c,s,l=function(t){if(t===o&&g)return g;if(!De&&t in d)return d[t];switch(t){case"keys":case"values":case"entries":return function(){return new r(this,t)}}return function(){return new r(this)}},p=e+" Iterator",h=!1,d=t.prototype,v=d[Be]||d["@@iterator"]||o&&d[o],g=!De&&v||l(o),y="Array"==e&&d.entries||v;if(y&&(u=Ae(y.call(new t)),Fe!==Object.prototype&&u.next&&(Ae(u)!==Fe&&(Ce?Ce(u,Fe):"function"!=typeof u[Be]&&T(u,Be,We)),Me(u,p,!0))),"values"==o&&v&&"values"!==v.name&&(h=!0,g=function(){return v.call(this)}),d[Be]!==g&&T(d,Be,g),ke[e]=g,o)if(c={values:l("values"),keys:i?g:l("keys"),entries:l("entries")},a)for(s in c)(De||h||!(s in d))&&tt(d,s,c[s]);else Tt({target:e,proto:!0,forced:De||h},c);return c},Ke=Ee.charAt,Ge=Z.set,Ve=Z.getterFor("String Iterator");ze(String,"String",(function(t){Ge(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=Ve(this),r=e.string,n=e.index;return n>=r.length?{value:void 0,done:!0}:(t=Ke(r,n),e.index+=t.length,{value:t,done:!1})}));var $e=function(t,e,r,n){try{return n?e(R(r)[0],r[1]):e(r)}catch(e){var o=t.return;throw void 0!==o&&R(o.call(t)),e}},qe=Dt("iterator"),He=Array.prototype,Xe=function(t){return void 0!==t&&(ke.Array===t||He[qe]===t)},Ye=function(t,e,r){var n=m(e);n in t?_.f(t,n,f(0,r)):t[n]=r},Je={};Je[Dt("toStringTag")]="z";var Qe="[object z]"===String(Je),Ze=Dt("toStringTag"),tr="Arguments"==p(function(){return arguments}()),er=Qe?p:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),Ze))?r:tr?p(e):"Object"==(n=p(e))&&"function"==typeof e.callee?"Arguments":n},rr=Dt("iterator"),nr=function(t){if(null!=t)return t[rr]||t["@@iterator"]||ke[er(t)]},or=Dt("iterator"),ir=!1;try{var ar=0,ur={next:function(){return{done:!!ar++}},return:function(){ir=!0}};ur[or]=function(){return this},Array.from(ur,(function(){throw 2}))}catch(e){}var cr=function(t,e){if(!e&&!ir)return!1;var r=!1;try{var n={};n[or]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r},sr=!cr((function(t){Array.from(t)}));Tt({target:"Array",stat:!0,forced:sr},{from:function(t){var e,r,n,o,i,a,u=It(t),c="function"==typeof this?this:Array,s=arguments.length,f=s>1?arguments[1]:void 0,l=void 0!==f,p=nr(u),h=0;if(l&&(f=Qt(f,s>2?arguments[2]:void 0,2)),null==p||c==Array&&Xe(p))for(r=new c(e=ct(u.length));e>h;h++)a=l?f(u[h],h):u[h],Ye(r,h,a);else for(i=(o=p.call(u)).next,r=new c;!(n=i.call(o)).done;h++)a=l?$e(o,f,[n.value,h],!0):n.value,Ye(r,h,a);return r.length=h,r}});var fr=ht.includes,lr=fe("indexOf",{ACCESSORS:!0,1:0});Tt({target:"Array",proto:!0,forced:!lr},{includes:function(t){return fr(this,t,arguments.length>1?arguments[1]:void 0)}}),Yt("includes"),te("Array","includes");var pr=Z.set,hr=Z.getterFor("Array Iterator"),dr=ze(Array,"Array",(function(t,e){pr(this,{type:"Array Iterator",target:g(t),index:0,kind:e})}),(function(){var t=hr(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}}),"values");ke.Arguments=ke.Array,Yt("keys"),Yt("values"),Yt("entries"),te("Array","values");var vr=i((function(){function t(){}return!(Array.of.call(t)instanceof t)}));Tt({target:"Array",stat:!0,forced:vr},{of:function(){for(var t=0,e=arguments.length,r=new("function"==typeof this?this:Array)(e);e>t;)Ye(r,t,arguments[t++]);return r.length=e,r}});var gr=Dt("hasInstance"),yr=Function.prototype;gr in yr||_.f(yr,gr,{value:function(t){if("function"!=typeof this||!y(t))return!1;if(!y(this.prototype))return t instanceof this;for(;t=Ae(t);)if(this.prototype===t)return!0;return!1}}),Dt("hasInstance");var mr=Function.prototype,br=mr.toString,Sr=/^\s*function ([^ (]*)/;a&&!("name"in mr)&&(0,_.f)(mr,"name",{configurable:!0,get:function(){try{return br.call(this).match(Sr)[1]}catch(e){return""}}});var wr=!i((function(){return Object.isExtensible(Object.preventExtensions({}))})),Er=r((function(t){var e=_.f,r=K("meta"),n=0,o=Object.isExtensible||function(){return!0},i=function(t){e(t,r,{value:{objectID:"O"+ ++n,weakData:{}}})},a=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!y(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!S(t,r)){if(!o(t))return"F";if(!e)return"E";i(t)}return t[r].objectID},getWeakData:function(t,e){if(!S(t,r)){if(!o(t))return!0;if(!e)return!1;i(t)}return t[r].weakData},onFreeze:function(t){return wr&&a.REQUIRED&&o(t)&&!S(t,r)&&i(t),t}};$[r]=!0})),xr=r((function(t){var e=function(t,e){this.stopped=t,this.result=e};(t.exports=function(t,r,n,o,i){var a,u,c,s,f,l,p,h=Qt(r,n,o?2:1);if(i)a=t;else{if("function"!=typeof(u=nr(t)))throw TypeError("Target is not iterable");if(Xe(u)){for(c=0,s=ct(t.length);s>c;c++)if((f=o?h(R(p=t[c])[0],p[1]):h(t[c]))&&f instanceof e)return f;return new e(!1)}a=u.call(t)}for(l=a.next;!(p=l.call(a)).done;)if("object"==typeof(f=$e(a,h,p.value,o))&&f&&f instanceof e)return f;return new e(!1)}).stop=function(t){return new e(!0,t)}})),Or=function(t,e,r){if(!(t instanceof e))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return t},jr=function(t,e,r){var n,o;return Ce&&"function"==typeof(n=e.constructor)&&n!==r&&y(o=n.prototype)&&o!==r.prototype&&Ce(t,o),t},Ar=function(t,e,r){var n=-1!==t.indexOf("Map"),a=-1!==t.indexOf("Weak"),u=n?"set":"add",c=o[t],s=c&&c.prototype,f=c,l={},p=function(t){var e=s[t];tt(s,t,"add"==t?function(t){return e.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(a&&!y(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return a&&!y(t)?void 0:e.call(this,0===t?0:t)}:"has"==t?function(t){return!(a&&!y(t))&&e.call(this,0===t?0:t)}:function(t,r){return e.call(this,0===t?0:t,r),this})};if(Pt(t,"function"!=typeof c||!(a||s.forEach&&!i((function(){(new c).entries().next()})))))f=r.getConstructor(e,t,n,u),Er.REQUIRED=!0;else if(Pt(t,!0)){var h=new f,d=h[u](a?{}:-0,1)!=h,v=i((function(){h.has(1)})),g=cr((function(t){new c(t)})),m=!a&&i((function(){for(var t=new c,e=5;e--;)t[u](e,e);return!t.has(-0)}));g||((f=e((function(e,r){Or(e,f,t);var o=jr(new c,e,f);return null!=r&&xr(r,o[u],o,n),o}))).prototype=s,s.constructor=f),(v||m)&&(p("delete"),p("has"),n&&p("get")),(m||d)&&p(u),a&&s.clear&&delete s.clear}return l[t]=f,Tt({global:!0,forced:f!=c},l),Me(f,t),a||r.setStrong(f,t,n),f},Rr=function(t,e,r){for(var n in e)tt(t,n,e[n],r);return t},Pr=Dt("species"),_r=function(t){var e=nt(t);a&&e&&!e[Pr]&&(0,_.f)(e,Pr,{configurable:!0,get:function(){return this}})},Tr=_.f,Ir=Er.fastKey,Mr=Z.set,kr=Z.getterFor,Nr={getConstructor:function(t,e,r,n){var o=t((function(t,i){Or(t,o,e),Mr(t,{type:e,index:qt(null),first:void 0,last:void 0,size:0}),a||(t.size=0),null!=i&&xr(i,t[n],t,r)})),i=kr(e),u=function(t,e,r){var n,o,u=i(t),s=c(t,e);return s?s.value=r:(u.last=s={index:o=Ir(e,!0),key:e,value:r,previous:n=u.last,next:void 0,removed:!1},u.first||(u.first=s),n&&(n.next=s),a?u.size++:t.size++,"F"!==o&&(u.index[o]=s)),t},c=function(t,e){var r,n=i(t),o=Ir(e);if("F"!==o)return n.index[o];for(r=n.first;r;r=r.next)if(r.key==e)return r};return Rr(o.prototype,{clear:function(){for(var t=i(this),e=t.index,r=t.first;r;)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete e[r.index],r=r.next;t.first=t.last=void 0,a?t.size=0:this.size=0},delete:function(t){var e=i(this),r=c(this,t);if(r){var n=r.next,o=r.previous;delete e.index[r.index],r.removed=!0,o&&(o.next=n),n&&(n.previous=o),e.first==r&&(e.first=n),e.last==r&&(e.last=o),a?e.size--:this.size--}return!!r},forEach:function(t){for(var e,r=i(this),n=Qt(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.next:r.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!c(this,t)}}),Rr(o.prototype,r?{get:function(t){var e=c(this,t);return e&&e.value},set:function(t,e){return u(this,0===t?0:t,e)}}:{add:function(t){return u(this,t=0===t?0:t,t)}}),a&&Tr(o.prototype,"size",{get:function(){return i(this).size}}),o},setStrong:function(t,e,r){var n=e+" Iterator",o=kr(e),i=kr(n);ze(t,e,(function(t,e){Mr(this,{type:n,target:t,state:o(t),kind:e,last:void 0})}),(function(){for(var t=i(this),e=t.kind,r=t.last;r&&r.removed;)r=r.previous;return t.target&&(t.last=r=r?r.next:t.state.first)?"keys"==e?{value:r.key,done:!1}:"values"==e?{value:r.value,done:!1}:{value:[r.key,r.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),r?"entries":"values",!r,!0),_r(e)}},Lr=Ar("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Nr);Qe||tt(Object.prototype,"toString",Qe?{}.toString:function(){return"[object "+er(this)+"]"},{unsafe:!0});var Ur={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Cr=Dt("iterator"),Fr=Dt("toStringTag"),Dr=dr.values;for(var Br in Ur){var Wr=o[Br],zr=Wr&&Wr.prototype;if(zr){if(zr[Cr]!==Dr)try{T(zr,Cr,Dr)}catch(e){zr[Cr]=Dr}if(zr[Fr]||T(zr,Fr,Br),Ur[Br])for(var Kr in dr)if(zr[Kr]!==dr[Kr])try{T(zr,Kr,dr[Kr])}catch(e){zr[Kr]=dr[Kr]}}}var Gr=function(t){var e,r,n,o,i=arguments.length,a=i>1?arguments[1]:void 0;return Jt(this),(e=void 0!==a)&&Jt(a),null==t?new this:(r=[],e?(n=0,o=Qt(a,i>2?arguments[2]:void 0,2),xr(t,(function(t){r.push(o(t,n++))}))):xr(t,r.push,r),new this(r))};Tt({target:"Map",stat:!0},{from:Gr});var Vr=function(){for(var t=arguments.length,e=new Array(t);t--;)e[t]=arguments[t];return new this(e)};Tt({target:"Map",stat:!0},{of:Vr});var $r=function(){for(var t,e=R(this),r=Jt(e.delete),n=!0,o=0,i=arguments.length;o<i;o++)t=r.call(e,arguments[o]),n=n&&t;return!!n};Tt({target:"Map",proto:!0,real:!0,forced:!1},{deleteAll:function(){return $r.apply(this,arguments)}});var qr=function(t){return Map.prototype.entries.call(t)};Tt({target:"Map",proto:!0,real:!0,forced:!1},{every:function(t){var e=R(this),r=qr(e),n=Qt(t,arguments.length>1?arguments[1]:void 0,3);return!xr(r,(function(t,r){if(!n(r,t,e))return xr.stop()}),void 0,!0,!0).stopped}});var Hr=Dt("species"),Xr=function(t,e){var r,n=R(t).constructor;return void 0===n||null==(r=R(n)[Hr])?e:Jt(r)};Tt({target:"Map",proto:!0,real:!0,forced:!1},{filter:function(t){var e=R(this),r=qr(e),n=Qt(t,arguments.length>1?arguments[1]:void 0,3),o=new(Xr(e,nt("Map"))),i=Jt(o.set);return xr(r,(function(t,r){n(r,t,e)&&i.call(o,t,r)}),void 0,!0,!0),o}}),Tt({target:"Map",proto:!0,real:!0,forced:!1},{find:function(t){var e=R(this),r=qr(e),n=Qt(t,arguments.length>1?arguments[1]:void 0,3);return xr(r,(function(t,r){if(n(r,t,e))return xr.stop(r)}),void 0,!0,!0).result}}),Tt({target:"Map",proto:!0,real:!0,forced:!1},{findKey:function(t){var e=R(this),r=qr(e),n=Qt(t,arguments.length>1?arguments[1]:void 0,3);return xr(r,(function(t,r){if(n(r,t,e))return xr.stop(t)}),void 0,!0,!0).result}}),Tt({target:"Map",stat:!0},{groupBy:function(t,e){var r=new this;Jt(e);var n=Jt(r.has),o=Jt(r.get),i=Jt(r.set);return xr(t,(function(t){var a=e(t);n.call(r,a)?o.call(r,a).push(t):i.call(r,a,[t])})),r}}),Tt({target:"Map",proto:!0,real:!0,forced:!1},{includes:function(t){return xr(qr(R(this)),(function(e,r){if((n=r)===(o=t)||n!=n&&o!=o)return xr.stop();var n,o}),void 0,!0,!0).stopped}}),Tt({target:"Map",stat:!0},{keyBy:function(t,e){var r=new this;Jt(e);var n=Jt(r.set);return xr(t,(function(t){n.call(r,e(t),t)})),r}}),Tt({target:"Map",proto:!0,real:!0,forced:!1},{keyOf:function(t){return xr(qr(R(this)),(function(e,r){if(r===t)return xr.stop(e)}),void 0,!0,!0).result}}),Tt({target:"Map",proto:!0,real:!0,forced:!1},{mapKeys:function(t){var e=R(this),r=qr(e),n=Qt(t,arguments.length>1?arguments[1]:void 0,3),o=new(Xr(e,nt("Map"))),i=Jt(o.set);return xr(r,(function(t,r){i.call(o,n(r,t,e),r)}),void 0,!0,!0),o}}),Tt({target:"Map",proto:!0,real:!0,forced:!1},{mapValues:function(t){var e=R(this),r=qr(e),n=Qt(t,arguments.length>1?arguments[1]:void 0,3),o=new(Xr(e,nt("Map"))),i=Jt(o.set);return xr(r,(function(t,r){i.call(o,t,n(r,t,e))}),void 0,!0,!0),o}}),Tt({target:"Map",proto:!0,real:!0,forced:!1},{merge:function(t){for(var e=R(this),r=Jt(e.set),n=0;n<arguments.length;)xr(arguments[n++],r,e,!0);return e}}),Tt({target:"Map",proto:!0,real:!0,forced:!1},{reduce:function(t){var e=R(this),r=qr(e),n=arguments.length<2,o=n?void 0:arguments[1];if(Jt(t),xr(r,(function(r,i){n?(n=!1,o=i):o=t(o,i,r,e)}),void 0,!0,!0),n)throw TypeError("Reduce of empty map with no initial value");return o}}),Tt({target:"Map",proto:!0,real:!0,forced:!1},{some:function(t){var e=R(this),r=qr(e),n=Qt(t,arguments.length>1?arguments[1]:void 0,3);return xr(r,(function(t,r){if(n(r,t,e))return xr.stop()}),void 0,!0,!0).stopped}}),Tt({target:"Map",proto:!0,real:!0,forced:!1},{update:function(t,e){var r=R(this),n=arguments.length;Jt(e);var o=r.has(t);if(!o&&n<3)throw TypeError("Updating absent value");var i=o?r.get(t):Jt(n>2?arguments[2]:void 0)(t,r);return r.set(t,e(i,t,r)),r}});var Yr=function(t,e){var r,n=R(this),o=arguments.length>2?arguments[2]:void 0;if("function"!=typeof e&&"function"!=typeof o)throw TypeError("At least one callback required");return n.has(t)?(r=n.get(t),"function"==typeof e&&(r=e(r),n.set(t,r))):"function"==typeof o&&(r=o(),n.set(t,r)),r};Tt({target:"Map",proto:!0,real:!0,forced:!1},{upsert:Yr}),Tt({target:"Map",proto:!0,real:!0,forced:!1},{updateOrInsert:Yr});var Jr=Ar("Set",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Nr);Tt({target:"Set",stat:!0},{from:Gr}),Tt({target:"Set",stat:!0},{of:Vr});var Qr=function(){for(var t=R(this),e=Jt(t.add),r=0,n=arguments.length;r<n;r++)e.call(t,arguments[r]);return t};Tt({target:"Set",proto:!0,real:!0,forced:!1},{addAll:function(){return Qr.apply(this,arguments)}}),Tt({target:"Set",proto:!0,real:!0,forced:!1},{deleteAll:function(){return $r.apply(this,arguments)}});var Zr=function(t){return Set.prototype.values.call(t)};Tt({target:"Set",proto:!0,real:!0,forced:!1},{every:function(t){var e=R(this),r=Zr(e),n=Qt(t,arguments.length>1?arguments[1]:void 0,3);return!xr(r,(function(t){if(!n(t,t,e))return xr.stop()}),void 0,!1,!0).stopped}}),Tt({target:"Set",proto:!0,real:!0,forced:!1},{difference:function(t){var e=R(this),r=new(Xr(e,nt("Set")))(e),n=Jt(r.delete);return xr(t,(function(t){n.call(r,t)})),r}}),Tt({target:"Set",proto:!0,real:!0,forced:!1},{filter:function(t){var e=R(this),r=Zr(e),n=Qt(t,arguments.length>1?arguments[1]:void 0,3),o=new(Xr(e,nt("Set"))),i=Jt(o.add);return xr(r,(function(t){n(t,t,e)&&i.call(o,t)}),void 0,!1,!0),o}}),Tt({target:"Set",proto:!0,real:!0,forced:!1},{find:function(t){var e=R(this),r=Zr(e),n=Qt(t,arguments.length>1?arguments[1]:void 0,3);return xr(r,(function(t){if(n(t,t,e))return xr.stop(t)}),void 0,!1,!0).result}}),Tt({target:"Set",proto:!0,real:!0,forced:!1},{intersection:function(t){var e=R(this),r=new(Xr(e,nt("Set"))),n=Jt(e.has),o=Jt(r.add);return xr(t,(function(t){n.call(e,t)&&o.call(r,t)})),r}}),Tt({target:"Set",proto:!0,real:!0,forced:!1},{isDisjointFrom:function(t){var e=R(this),r=Jt(e.has);return!xr(t,(function(t){if(!0===r.call(e,t))return xr.stop()})).stopped}}),Tt({target:"Set",proto:!0,real:!0,forced:!1},{isSubsetOf:function(t){var e=function(t){var e=nr(t);if("function"!=typeof e)throw TypeError(String(t)+" is not iterable");return R(e.call(t))}(this),r=R(t),n=r.has;return"function"!=typeof n&&(r=new(nt("Set"))(t),n=Jt(r.has)),!xr(e,(function(t){if(!1===n.call(r,t))return xr.stop()}),void 0,!1,!0).stopped}}),Tt({target:"Set",proto:!0,real:!0,forced:!1},{isSupersetOf:function(t){var e=R(this),r=Jt(e.has);return!xr(t,(function(t){if(!1===r.call(e,t))return xr.stop()})).stopped}}),Tt({target:"Set",proto:!0,real:!0,forced:!1},{join:function(t){var e=R(this),r=Zr(e),n=void 0===t?",":String(t),o=[];return xr(r,o.push,o,!1,!0),o.join(n)}}),Tt({target:"Set",proto:!0,real:!0,forced:!1},{map:function(t){var e=R(this),r=Zr(e),n=Qt(t,arguments.length>1?arguments[1]:void 0,3),o=new(Xr(e,nt("Set"))),i=Jt(o.add);return xr(r,(function(t){i.call(o,n(t,t,e))}),void 0,!1,!0),o}}),Tt({target:"Set",proto:!0,real:!0,forced:!1},{reduce:function(t){var e=R(this),r=Zr(e),n=arguments.length<2,o=n?void 0:arguments[1];if(Jt(t),xr(r,(function(r){n?(n=!1,o=r):o=t(o,r,r,e)}),void 0,!1,!0),n)throw TypeError("Reduce of empty set with no initial value");return o}}),Tt({target:"Set",proto:!0,real:!0,forced:!1},{some:function(t){var e=R(this),r=Zr(e),n=Qt(t,arguments.length>1?arguments[1]:void 0,3);return xr(r,(function(t){if(n(t,t,e))return xr.stop()}),void 0,!1,!0).stopped}}),Tt({target:"Set",proto:!0,real:!0,forced:!1},{symmetricDifference:function(t){var e=R(this),r=new(Xr(e,nt("Set")))(e),n=Jt(r.delete),o=Jt(r.add);return xr(t,(function(t){n.call(r,t)||o.call(r,t)})),r}}),Tt({target:"Set",proto:!0,real:!0,forced:!1},{union:function(t){var e=R(this),r=new(Xr(e,nt("Set")))(e);return xr(t,Jt(r.add),r),r}});var tn=Er.getWeakData,en=Z.set,rn=Z.getterFor,nn=ae.find,on=ae.findIndex,an=0,un=function(t){return t.frozen||(t.frozen=new cn)},cn=function(){this.entries=[]},sn=function(t,e){return nn(t.entries,(function(t){return t[0]===e}))};cn.prototype={get:function(t){var e=sn(this,t);if(e)return e[1]},has:function(t){return!!sn(this,t)},set:function(t,e){var r=sn(this,t);r?r[1]=e:this.entries.push([t,e])},delete:function(t){var e=on(this.entries,(function(e){return e[0]===t}));return~e&&this.entries.splice(e,1),!!~e}};var fn={getConstructor:function(t,e,r,n){var o=t((function(t,i){Or(t,o,e),en(t,{type:e,id:an++,frozen:void 0}),null!=i&&xr(i,t[n],t,r)})),i=rn(e),a=function(t,e,r){var n=i(t),o=tn(R(e),!0);return!0===o?un(n).set(e,r):o[n.id]=r,t};return Rr(o.prototype,{delete:function(t){var e=i(this);if(!y(t))return!1;var r=tn(t);return!0===r?un(e).delete(t):r&&S(r,e.id)&&delete r[e.id]},has:function(t){var e=i(this);if(!y(t))return!1;var r=tn(t);return!0===r?un(e).has(t):r&&S(r,e.id)}}),Rr(o.prototype,r?{get:function(t){var e=i(this);if(y(t)){var r=tn(t);return!0===r?un(e).get(t):r?r[e.id]:void 0}},set:function(t,e){return a(this,t,e)}}:{add:function(t){return a(this,t,!0)}}),o}},ln=r((function(t){var e,r=Z.enforce,n=!o.ActiveXObject&&"ActiveXObject"in o,i=Object.isExtensible,a=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},u=t.exports=Ar("WeakMap",a,fn);if(D&&n){e=fn.getConstructor(a,"WeakMap",!0),Er.REQUIRED=!0;var c=u.prototype,s=c.delete,f=c.has,l=c.get,p=c.set;Rr(c,{delete:function(t){if(y(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),s.call(this,t)||n.frozen.delete(t)}return s.call(this,t)},has:function(t){if(y(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),f.call(this,t)||n.frozen.has(t)}return f.call(this,t)},get:function(t){if(y(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),f.call(this,t)?l.call(this,t):n.frozen.get(t)}return l.call(this,t)},set:function(t,n){if(y(t)&&!i(t)){var o=r(this);o.frozen||(o.frozen=new e),f.call(this,t)?p.call(this,t,n):o.frozen.set(t,n)}else p.call(this,t,n);return this}})}}));Tt({target:"WeakMap",stat:!0},{from:Gr}),Tt({target:"WeakMap",stat:!0},{of:Vr}),Tt({target:"WeakMap",proto:!0,real:!0,forced:!1},{deleteAll:function(){return $r.apply(this,arguments)}}),Tt({target:"WeakMap",proto:!0,real:!0,forced:!1},{upsert:Yr}),Ar("WeakSet",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),fn),Tt({target:"WeakSet",proto:!0,real:!0,forced:!1},{addAll:function(){return Qr.apply(this,arguments)}}),Tt({target:"WeakSet",proto:!0,real:!0,forced:!1},{deleteAll:function(){return $r.apply(this,arguments)}}),Tt({target:"WeakSet",stat:!0},{from:Gr}),Tt({target:"WeakSet",stat:!0},{of:Vr});var pn="\t\n\v\f\r \u2028\u2029\ufeff",hn="["+pn+"]",dn=RegExp("^"+hn+hn+"*"),vn=RegExp(hn+hn+"*$"),gn=function(t){return function(e){var r=String(v(e));return 1&t&&(r=r.replace(dn,"")),2&t&&(r=r.replace(vn,"")),r}},yn={start:gn(1),end:gn(2),trim:gn(3)},mn=mt.f,bn=A.f,Sn=_.f,wn=yn.trim,En=o.Number,xn=En.prototype,On="Number"==p(qt(xn)),jn=function(t){var e,r,n,o,i,a,u,c,s=m(t,!1);if("string"==typeof s&&s.length>2)if(43===(e=(s=wn(s)).charCodeAt(0))||45===e){if(88===(r=s.charCodeAt(2))||120===r)return NaN}else if(48===e){switch(s.charCodeAt(1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+s}for(a=(i=s.slice(2)).length,u=0;u<a;u++)if((c=i.charCodeAt(u))<48||c>o)return NaN;return parseInt(i,n)}return+s};if(Pt("Number",!En(" 0o1")||!En("0b1")||En("+0x1"))){for(var An,Rn=function(t){var e=arguments.length<1?0:t,r=this;return r instanceof Rn&&(On?i((function(){xn.valueOf.call(r)})):"Number"!=p(r))?jr(new En(jn(e)),r,Rn):jn(e)},Pn=a?mn(En):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),_n=0;Pn.length>_n;_n++)S(En,An=Pn[_n])&&!S(Rn,An)&&Sn(Rn,An,bn(En,An));Rn.prototype=xn,xn.constructor=Rn,tt(o,"Number",Rn)}Tt({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)});var Tn=o.isFinite;Tt({target:"Number",stat:!0},{isFinite:Number.isFinite||function(t){return"number"==typeof t&&Tn(t)}});var In=Math.floor,Mn=function(t){return!y(t)&&isFinite(t)&&In(t)===t};Tt({target:"Number",stat:!0},{isInteger:Mn}),Tt({target:"Number",stat:!0},{isNaN:function(t){return t!=t}});var kn=Math.abs;Tt({target:"Number",stat:!0},{isSafeInteger:function(t){return Mn(t)&&kn(t)<=9007199254740991}}),Tt({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991}),Tt({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991});var Nn=s.f,Ln=function(t){return function(e){for(var r,n=g(e),o=Bt(n),i=o.length,u=0,c=[];i>u;)r=o[u++],a&&!Nn.call(n,r)||c.push(t?[r,n[r]]:n[r]);return c}},Un={entries:Ln(!0),values:Ln(!1)},Cn=Un.entries;Tt({target:"Object",stat:!0},{entries:function(t){return Cn(t)}}),Tt({target:"Object",stat:!0,sham:!a},{getOwnPropertyDescriptors:function(t){for(var e,r,n=g(t),o=A.f,i=St(n),a={},u=0;i.length>u;)void 0!==(r=o(n,e=i[u++]))&&Ye(a,e,r);return a}});var Fn=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};Tt({target:"Object",stat:!0},{is:Fn});var Dn=i((function(){Bt(1)}));Tt({target:"Object",stat:!0,forced:Dn},{keys:function(t){return Bt(It(t))}});var Bn=Un.values;Tt({target:"Object",stat:!0},{values:function(t){return Bn(t)}});var Wn=Ee.codeAt;Tt({target:"String",proto:!0},{codePointAt:function(t){return Wn(this,t)}}),te("String","codePointAt");var zn,Kn=Dt("match"),Gn=function(t){var e;return y(t)&&(void 0!==(e=t[Kn])?!!e:"RegExp"==p(t))},Vn=function(t){if(Gn(t))throw TypeError("The method doesn't accept regular expressions");return t},$n=Dt("match"),qn=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[$n]=!1,"/./"[t](e)}catch(t){}}return!1},Hn=A.f,Xn="".endsWith,Yn=Math.min,Jn=qn("endsWith"),Qn=!(Jn||(zn=Hn(String.prototype,"endsWith"),!zn||zn.writable));Tt({target:"String",proto:!0,forced:!Qn&&!Jn},{endsWith:function(t){var e=String(v(this));Vn(t);var r=arguments.length>1?arguments[1]:void 0,n=ct(e.length),o=void 0===r?n:Yn(ct(r),n),i=String(t);return Xn?Xn.call(e,i,o):e.slice(o-i.length,o)===i}}),te("String","endsWith");var Zn=String.fromCharCode,to=String.fromCodePoint;Tt({target:"String",stat:!0,forced:!!to&&1!=to.length},{fromCodePoint:function(t){for(var e,r=[],n=arguments.length,o=0;n>o;){if(e=+arguments[o++],lt(e,1114111)!==e)throw RangeError(e+" is not a valid code point");r.push(e<65536?Zn(e):Zn(55296+((e-=65536)>>10),e%1024+56320))}return r.join("")}}),Tt({target:"String",proto:!0,forced:!qn("includes")},{includes:function(t){return!!~String(v(this)).indexOf(Vn(t),arguments.length>1?arguments[1]:void 0)}}),te("String","includes");var eo="".repeat||function(t){var e=String(v(this)),r="",n=at(t);if(n<0||1/0==n)throw RangeError("Wrong number of repetitions");for(;n>0;(n>>>=1)&&(e+=e))1&n&&(r+=e);return r},ro=Math.ceil,no=function(t){return function(e,r,n){var o,i,a=String(v(e)),u=a.length,c=void 0===n?" ":String(n),s=ct(r);return s<=u||""==c?a:((i=eo.call(c,ro((o=s-u)/c.length))).length>o&&(i=i.slice(0,o)),t?a+i:i+a)}},oo={start:no(!1),end:no(!0)},io=nt("navigator","userAgent")||"",ao=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(io),uo=oo.start;Tt({target:"String",proto:!0,forced:ao},{padStart:function(t){return uo(this,t,arguments.length>1?arguments[1]:void 0)}}),te("String","padStart");var co=oo.end;Tt({target:"String",proto:!0,forced:ao},{padEnd:function(t){return co(this,t,arguments.length>1?arguments[1]:void 0)}}),te("String","padEnd"),Tt({target:"String",stat:!0},{raw:function(t){for(var e=g(t.raw),r=ct(e.length),n=arguments.length,o=[],i=0;r>i;)o.push(String(e[i++])),i<n&&o.push(String(arguments[i]));return o.join("")}}),Tt({target:"String",proto:!0},{repeat:eo}),te("String","repeat");var so=A.f,fo="".startsWith,lo=Math.min,po=qn("startsWith"),ho=!po&&!!function(){var t=so(String.prototype,"startsWith");return t&&!t.writable}();Tt({target:"String",proto:!0,forced:!ho&&!po},{startsWith:function(t){var e=String(v(this));Vn(t);var r=ct(lo(arguments.length>1?arguments[1]:void 0,e.length)),n=String(t);return fo?fo.call(e,n,r):e.slice(r,r+n.length)===n}}),te("String","startsWith");var vo=function(t){return i((function(){return!!pn[t]()||"
"!="
"[t]()||pn[t].name!==t}))},go=yn.start,yo=vo("trimStart"),mo=yo?function(){return go(this)}:"".trimStart;Tt({target:"String",proto:!0,forced:yo},{trimStart:mo,trimLeft:mo}),te("String","trimLeft");var bo=yn.end,So=vo("trimEnd"),wo=So?function(){return bo(this)}:"".trimEnd;Tt({target:"String",proto:!0,forced:So},{trimEnd:wo,trimRight:wo}),te("String","trimRight");var Eo=nt("Reflect","apply"),xo=Function.apply,Oo=!i((function(){Eo((function(){}))}));Tt({target:"Reflect",stat:!0,forced:Oo},{apply:function(t,e,r){return Jt(t),R(r),Eo?Eo(t,e,r):xo.call(t,e,r)}});var jo=[].slice,Ao={},Ro=function(t,e,r){if(!(e in Ao)){for(var n=[],o=0;o<e;o++)n[o]="a["+o+"]";Ao[e]=Function("C,a","return new C("+n.join(",")+")")}return Ao[e](t,r)},Po=Function.bind||function(t){var e=Jt(this),r=jo.call(arguments,1),n=function(){var o=r.concat(jo.call(arguments));return this instanceof n?Ro(e,o.length,o):e.apply(t,o)};return y(e.prototype)&&(n.prototype=e.prototype),n},_o=nt("Reflect","construct"),To=i((function(){function t(){}return!(_o((function(){}),[],t)instanceof t)})),Io=!i((function(){_o((function(){}))})),Mo=To||Io;Tt({target:"Reflect",stat:!0,forced:Mo,sham:Mo},{construct:function(t,e){Jt(t),R(e);var r=arguments.length<3?t:Jt(arguments[2]);if(Io&&!To)return _o(t,e,r);if(t==r){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var n=[null];return n.push.apply(n,e),new(Po.apply(t,n))}var o=r.prototype,i=qt(y(o)?o:Object.prototype),a=Function.apply.call(t,i,e);return y(a)?a:i}});var ko=i((function(){Reflect.defineProperty(_.f({},1,{value:1}),1,{value:2})}));Tt({target:"Reflect",stat:!0,forced:ko,sham:!a},{defineProperty:function(t,e,r){R(t);var n=m(e,!0);R(r);try{return _.f(t,n,r),!0}catch(t){return!1}}});var No=A.f;Tt({target:"Reflect",stat:!0},{deleteProperty:function(t,e){var r=No(R(t),e);return!(r&&!r.configurable)&&delete t[e]}}),Tt({target:"Reflect",stat:!0},{get:function t(e,r){var n,o,i=arguments.length<3?e:arguments[2];return R(e)===i?e[r]:(n=A.f(e,r))?S(n,"value")?n.value:void 0===n.get?void 0:n.get.call(i):y(o=Ae(e))?t(o,r,i):void 0}}),Tt({target:"Reflect",stat:!0,sham:!a},{getOwnPropertyDescriptor:function(t,e){return A.f(R(t),e)}}),Tt({target:"Reflect",stat:!0,sham:!xe},{getPrototypeOf:function(t){return Ae(R(t))}}),Tt({target:"Reflect",stat:!0},{has:function(t,e){return e in t}});var Lo=Object.isExtensible;Tt({target:"Reflect",stat:!0},{isExtensible:function(t){return R(t),!Lo||Lo(t)}}),Tt({target:"Reflect",stat:!0},{ownKeys:St}),Tt({target:"Reflect",stat:!0,sham:!wr},{preventExtensions:function(t){R(t);try{var e=nt("Object","preventExtensions");return e&&e(t),!0}catch(t){return!1}}});var Uo=i((function(){var t=_.f({},"a",{configurable:!0});return!1!==Reflect.set(Ae(t),"a",1,t)}));Tt({target:"Reflect",stat:!0,forced:Uo},{set:function t(e,r,n){var o,i,a=arguments.length<4?e:arguments[3],u=A.f(R(e),r);if(!u){if(y(i=Ae(e)))return t(i,r,n,a);u=f(0)}if(S(u,"value")){if(!1===u.writable||!y(a))return!1;if(o=A.f(a,r)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,_.f(a,r,o)}else _.f(a,r,f(0,n));return!0}return void 0!==u.set&&(u.set.call(a,n),!0)}}),Ce&&Tt({target:"Reflect",stat:!0},{setPrototypeOf:function(t,e){R(t),Ue(e);try{return Ce(t,e),!0}catch(t){return!1}}});var Co=B("metadata"),Fo=Co.store||(Co.store=new ln),Do=function(t,e,r){var n=Fo.get(t);if(!n){if(!r)return;Fo.set(t,n=new Lr)}var o=n.get(e);if(!o){if(!r)return;n.set(e,o=new Lr)}return o},Bo={store:Fo,getMap:Do,has:function(t,e,r){var n=Do(e,r,!1);return void 0!==n&&n.has(t)},get:function(t,e,r){var n=Do(e,r,!1);return void 0===n?void 0:n.get(t)},set:function(t,e,r,n){Do(r,n,!0).set(t,e)},keys:function(t,e){var r=Do(t,e,!1),n=[];return r&&r.forEach((function(t,e){n.push(e)})),n},toKey:function(t){return void 0===t||"symbol"==typeof t?t:String(t)}},Wo=Bo.toKey,zo=Bo.set;Tt({target:"Reflect",stat:!0},{defineMetadata:function(t,e,r){var n=arguments.length<4?void 0:Wo(arguments[3]);zo(t,e,R(r),n)}});var Ko=Bo.toKey,Go=Bo.getMap,Vo=Bo.store;Tt({target:"Reflect",stat:!0},{deleteMetadata:function(t,e){var r=arguments.length<3?void 0:Ko(arguments[2]),n=Go(R(e),r,!1);if(void 0===n||!n.delete(t))return!1;if(n.size)return!0;var o=Vo.get(e);return o.delete(r),!!o.size||Vo.delete(e)}});var $o=Bo.has,qo=Bo.get,Ho=Bo.toKey,Xo=function t(e,r,n){if($o(e,r,n))return qo(e,r,n);var o=Ae(r);return null!==o?t(e,o,n):void 0};Tt({target:"Reflect",stat:!0},{getMetadata:function(t,e){var r=arguments.length<3?void 0:Ho(arguments[2]);return Xo(t,R(e),r)}});var Yo=Bo.keys,Jo=Bo.toKey,Qo=function t(e,r){var n=Yo(e,r),o=Ae(e);if(null===o)return n;var i,a,u=t(o,r);return u.length?n.length?(i=new Jr(n.concat(u)),xr(i,(a=[]).push,a),a):u:n};Tt({target:"Reflect",stat:!0},{getMetadataKeys:function(t){var e=arguments.length<2?void 0:Jo(arguments[1]);return Qo(R(t),e)}});var Zo=Bo.get,ti=Bo.toKey;Tt({target:"Reflect",stat:!0},{getOwnMetadata:function(t,e){var r=arguments.length<3?void 0:ti(arguments[2]);return Zo(t,R(e),r)}});var ei=Bo.keys,ri=Bo.toKey;Tt({target:"Reflect",stat:!0},{getOwnMetadataKeys:function(t){var e=arguments.length<2?void 0:ri(arguments[1]);return ei(R(t),e)}});var ni=Bo.has,oi=Bo.toKey,ii=function t(e,r,n){if(ni(e,r,n))return!0;var o=Ae(r);return null!==o&&t(e,o,n)};Tt({target:"Reflect",stat:!0},{hasMetadata:function(t,e){var r=arguments.length<3?void 0:oi(arguments[2]);return ii(t,R(e),r)}});var ai=Bo.has,ui=Bo.toKey;Tt({target:"Reflect",stat:!0},{hasOwnMetadata:function(t,e){var r=arguments.length<3?void 0:ui(arguments[2]);return ai(t,R(e),r)}});var ci=Bo.toKey,si=Bo.set;Tt({target:"Reflect",stat:!0},{metadata:function(t,e){return function(r,n){si(t,e,R(r),ci(n))}}});var fi=function(){var t=R(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e};function li(t,e){return RegExp(t,e)}var pi={UNSUPPORTED_Y:i((function(){var t=li("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),BROKEN_CARET:i((function(){var t=li("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},hi=_.f,di=mt.f,vi=Z.set,gi=Dt("match"),yi=o.RegExp,mi=yi.prototype,bi=/a/g,Si=/a/g,wi=new yi(bi)!==bi,Ei=pi.UNSUPPORTED_Y;if(a&&Pt("RegExp",!wi||Ei||i((function(){return Si[gi]=!1,yi(bi)!=bi||yi(Si)==Si||"/a/i"!=yi(bi,"i")})))){for(var xi=function(t,e){var r,n=this instanceof xi,o=Gn(t),i=void 0===e;if(!n&&o&&t.constructor===xi&&i)return t;wi?o&&!i&&(t=t.source):t instanceof xi&&(i&&(e=fi.call(t)),t=t.source),Ei&&(r=!!e&&e.indexOf("y")>-1)&&(e=e.replace(/y/g,""));var a=jr(wi?new yi(t,e):yi(t,e),n?this:mi,xi);return Ei&&r&&vi(a,{sticky:r}),a},Oi=function(t){t in xi||hi(xi,t,{configurable:!0,get:function(){return yi[t]},set:function(e){yi[t]=e}})},ji=di(yi),Ai=0;ji.length>Ai;)Oi(ji[Ai++]);mi.constructor=xi,xi.prototype=mi,tt(o,"RegExp",xi)}_r("RegExp");var Ri=RegExp.prototype,Pi=Ri.toString;(i((function(){return"/a/b"!=Pi.call({source:"a",flags:"b"})}))||"toString"!=Pi.name)&&tt(RegExp.prototype,"toString",(function(){var t=R(this),e=String(t.source),r=t.flags;return"/"+e+"/"+String(void 0===r&&t instanceof RegExp&&!("flags"in Ri)?fi.call(t):r)}),{unsafe:!0});var _i=RegExp.prototype.exec,Ti=String.prototype.replace,Ii=_i,Mi=function(){var t=/a/,e=/b*/g;return _i.call(t,"a"),_i.call(e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),ki=pi.UNSUPPORTED_Y||pi.BROKEN_CARET,Ni=void 0!==/()??/.exec("")[1];(Mi||Ni||ki)&&(Ii=function(t){var e,r,n,o,i=this,a=ki&&i.sticky,u=fi.call(i),c=i.source,s=0,f=t;return a&&(-1===(u=u.replace("y","")).indexOf("g")&&(u+="g"),f=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(c="(?: "+c+")",f=" "+f,s++),r=new RegExp("^(?:"+c+")",u)),Ni&&(r=new RegExp("^"+c+"$(?!\\s)",u)),Mi&&(e=i.lastIndex),n=_i.call(a?r:i,f),a?n?(n.input=n.input.slice(s),n[0]=n[0].slice(s),n.index=i.lastIndex,i.lastIndex+=n[0].length):i.lastIndex=0:Mi&&n&&(i.lastIndex=i.global?n.index+n[0].length:e),Ni&&n&&n.length>1&&Ti.call(n[0],r,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(n[o]=void 0)})),n});var Li=Ii;Tt({target:"RegExp",proto:!0,forced:/./.exec!==Li},{exec:Li}),a&&("g"!=/./g.flags||pi.UNSUPPORTED_Y)&&_.f(RegExp.prototype,"flags",{configurable:!0,get:fi});var Ui=Z.get,Ci=RegExp.prototype;a&&pi.UNSUPPORTED_Y&&(0,_.f)(RegExp.prototype,"sticky",{configurable:!0,get:function(){if(this!==Ci){if(this instanceof RegExp)return!!Ui(this).sticky;throw TypeError("Incompatible receiver, RegExp required")}}});var Fi,Di,Bi=(Fi=!1,(Di=/[ac]/).exec=function(){return Fi=!0,/./.exec.apply(this,arguments)},!0===Di.test("abc")&&Fi),Wi=/./.test;Tt({target:"RegExp",proto:!0,forced:!Bi},{test:function(t){if("function"!=typeof this.exec)return Wi.call(this,t);var e=this.exec(t);if(null!==e&&!y(e))throw new Error("RegExp exec method returned something other than an Object or null");return!!e}});var zi=Dt("species"),Ki=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),Gi="$0"==="a".replace(/./,"$0"),Vi=Dt("replace"),$i=!!/./[Vi]&&""===/./[Vi]("a","$0"),qi=!i((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]})),Hi=function(t,e,r,n){var o=Dt(t),a=!i((function(){var e={};return e[o]=function(){return 7},7!=""[t](e)})),u=a&&!i((function(){var e=!1,r=/a/;return"split"===t&&((r={}).constructor={},r.constructor[zi]=function(){return r},r.flags="",r[o]=/./[o]),r.exec=function(){return e=!0,null},r[o](""),!e}));if(!a||!u||"replace"===t&&(!Ki||!Gi||$i)||"split"===t&&!qi){var c=/./[o],s=r(o,""[t],(function(t,e,r,n,o){return e.exec===Li?a&&!o?{done:!0,value:c.call(e,r,n)}:{done:!0,value:t.call(r,e,n)}:{done:!1}}),{REPLACE_KEEPS_$0:Gi,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:$i}),f=s[1];tt(String.prototype,t,s[0]),tt(RegExp.prototype,o,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)})}n&&T(RegExp.prototype[o],"sham",!0)},Xi=Ee.charAt,Yi=function(t,e,r){return e+(r?Xi(t,e).length:1)},Ji=function(t,e){var r=t.exec;if("function"==typeof r){var n=r.call(t,e);if("object"!=typeof n)throw TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==p(t))throw TypeError("RegExp#exec called on incompatible receiver");return Li.call(t,e)};Hi("match",1,(function(t,e,r){return[function(e){var r=v(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var o=R(t),i=String(this);if(!o.global)return Ji(o,i);var a=o.unicode;o.lastIndex=0;for(var u,c=[],s=0;null!==(u=Ji(o,i));){var f=String(u[0]);c[s]=f,""===f&&(o.lastIndex=Yi(i,ct(o.lastIndex),a)),s++}return 0===s?null:c}]}));var Qi=Math.max,Zi=Math.min,ta=Math.floor,ea=/\$([$&'`]|\d\d?|<[^>]*>)/g,ra=/\$([$&'`]|\d\d?)/g;Hi("replace",2,(function(t,e,r,n){var o=n.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,i=n.REPLACE_KEEPS_$0,a=o?"$":"$0";return[function(r,n){var o=v(this),i=null==r?void 0:r[t];return void 0!==i?i.call(r,o,n):e.call(String(o),r,n)},function(t,n){if(!o&&i||"string"==typeof n&&-1===n.indexOf(a)){var c=r(e,t,this,n);if(c.done)return c.value}var s=R(t),f=String(this),l="function"==typeof n;l||(n=String(n));var p=s.global;if(p){var h=s.unicode;s.lastIndex=0}for(var d=[];;){var v=Ji(s,f);if(null===v)break;if(d.push(v),!p)break;""===String(v[0])&&(s.lastIndex=Yi(f,ct(s.lastIndex),h))}for(var g,y="",m=0,b=0;b<d.length;b++){v=d[b];for(var S=String(v[0]),w=Qi(Zi(at(v.index),f.length),0),E=[],x=1;x<v.length;x++)E.push(void 0===(g=v[x])?g:String(g));var O=v.groups;if(l){var j=[S].concat(E,w,f);void 0!==O&&j.push(O);var A=String(n.apply(void 0,j))}else A=u(S,f,w,E,O,n);w>=m&&(y+=f.slice(m,w)+A,m=w+S.length)}return y+f.slice(m)}];function u(t,r,n,o,i,a){var u=n+t.length,c=o.length,s=ra;return void 0!==i&&(i=It(i),s=ea),e.call(a,s,(function(e,a){var s;switch(a.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,n);case"'":return r.slice(u);case"<":s=i[a.slice(1,-1)];break;default:var f=+a;if(0===f)return e;if(f>c){var l=ta(f/10);return 0===l?e:l<=c?void 0===o[l-1]?a.charAt(1):o[l-1]+a.charAt(1):e}s=o[f-1]}return void 0===s?"":s}))}})),Hi("search",1,(function(t,e,r){return[function(e){var r=v(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var o=R(t),i=String(this),a=o.lastIndex;Fn(a,0)||(o.lastIndex=0);var u=Ji(o,i);return Fn(o.lastIndex,a)||(o.lastIndex=a),null===u?-1:u.index}]}));var na=[].push,oa=Math.min,ia=!i((function(){return!RegExp(4294967295,"y")}));Hi("split",2,(function(t,e,r){var n;return n="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,r){var n=String(v(this)),o=void 0===r?4294967295:r>>>0;if(0===o)return[];if(void 0===t)return[n];if(!Gn(t))return e.call(n,t,o);for(var i,a,u,c=[],s=0,f=new RegExp(t.source,(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":"")+"g");(i=Li.call(f,n))&&!((a=f.lastIndex)>s&&(c.push(n.slice(s,i.index)),i.length>1&&i.index<n.length&&na.apply(c,i.slice(1)),u=i[0].length,s=a,c.length>=o));)f.lastIndex===i.index&&f.lastIndex++;return s===n.length?!u&&f.test("")||c.push(""):c.push(n.slice(s)),c.length>o?c.slice(0,o):c}:"0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:e.call(this,t,r)}:e,[function(e,r){var o=v(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,o,r):n.call(String(o),e,r)},function(t,o){var i=r(n,t,this,o,n!==e);if(i.done)return i.value;var a=R(t),u=String(this),c=Xr(a,RegExp),s=a.unicode,f=new c(ia?a:"^(?:"+a.source+")",(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(ia?"y":"g")),l=void 0===o?4294967295:o>>>0;if(0===l)return[];if(0===u.length)return null===Ji(f,u)?[u]:[];for(var p=0,h=0,d=[];h<u.length;){f.lastIndex=ia?h:0;var v,g=Ji(f,ia?u:u.slice(h));if(null===g||(v=oa(ct(f.lastIndex+(ia?0:h)),u.length))===p)h=Yi(u,h,s);else{if(d.push(u.slice(p,h)),d.length===l)return d;for(var y=1;y<=g.length-1;y++)if(d.push(g[y]),d.length===l)return d;h=p=v}}return d.push(u.slice(p)),d}]}),!ia);var aa,ua,ca=o.process,sa=ca&&ca.versions,fa=sa&&sa.v8;fa?ua=(aa=fa.split("."))[0]+aa[1]:io&&(!(aa=io.match(/Edge\/(\d+)/))||aa[1]>=74)&&(aa=io.match(/Chrome\/(\d+)/))&&(ua=aa[1]);var la=ua&&+ua,pa=Dt("species"),ha=Dt("isConcatSpreadable"),da=la>=51||!i((function(){var t=[];return t[ha]=!1,t.concat()[0]!==t})),va=la>=51||!i((function(){var t=[];return(t.constructor={})[pa]=function(){return{foo:1}},1!==t.concat(Boolean).foo})),ga=function(t){if(!y(t))return!1;var e=t[ha];return void 0!==e?!!e:ee(t)};Tt({target:"Array",proto:!0,forced:!da||!va},{concat:function(t){var e,r,n,o,i,a=It(this),u=ne(a,0),c=0;for(e=-1,n=arguments.length;e<n;e++)if(ga(i=-1===e?a:arguments[e])){if(c+(o=ct(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&Ye(u,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Ye(u,c++,i)}return u.length=c,u}});var ya=mt.f,ma={}.toString,ba="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],Sa={f:function(t){return ba&&"[object Window]"==ma.call(t)?function(t){try{return ya(t)}catch(t){return ba.slice()}}(t):ya(g(t))}},wa={f:Dt},Ea=_.f,xa=function(t){var e=et.Symbol||(et.Symbol={});S(e,t)||Ea(e,t,{value:wa.f(t)})},Oa=ae.forEach,ja=V("hidden"),Aa=Dt("toPrimitive"),Ra=Z.set,Pa=Z.getterFor("Symbol"),_a=Object.prototype,Ta=o.Symbol,Ia=nt("JSON","stringify"),Ma=A.f,ka=_.f,Na=Sa.f,La=s.f,Ua=B("symbols"),Ca=B("op-symbols"),Fa=B("string-to-symbol-registry"),Da=B("symbol-to-string-registry"),Ba=B("wks"),Wa=o.QObject,za=!Wa||!Wa.prototype||!Wa.prototype.findChild,Ka=a&&i((function(){return 7!=qt(ka({},"a",{get:function(){return ka(this,"a",{value:7}).a}})).a}))?function(t,e,r){var n=Ma(_a,e);n&&delete _a[e],ka(t,e,r),n&&t!==_a&&ka(_a,e,n)}:ka,Ga=function(t,e){var r=Ua[t]=qt(Ta.prototype);return Ra(r,{type:"Symbol",tag:t,description:e}),a||(r.description=e),r},Va=Lt?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof Ta},$a=function(t,e,r){t===_a&&$a(Ca,e,r),R(t);var n=m(e,!0);return R(r),S(Ua,n)?(r.enumerable?(S(t,ja)&&t[ja][n]&&(t[ja][n]=!1),r=qt(r,{enumerable:f(0,!1)})):(S(t,ja)||ka(t,ja,f(1,{})),t[ja][n]=!0),Ka(t,n,r)):ka(t,n,r)},qa=function(t,e){R(t);var r=g(e),n=Bt(r).concat(Ja(r));return Oa(n,(function(e){a&&!Ha.call(r,e)||$a(t,e,r[e])})),t},Ha=function(t){var e=m(t,!0),r=La.call(this,e);return!(this===_a&&S(Ua,e)&&!S(Ca,e))&&(!(r||!S(this,e)||!S(Ua,e)||S(this,ja)&&this[ja][e])||r)},Xa=function(t,e){var r=g(t),n=m(e,!0);if(r!==_a||!S(Ua,n)||S(Ca,n)){var o=Ma(r,n);return!o||!S(Ua,n)||S(r,ja)&&r[ja][n]||(o.enumerable=!0),o}},Ya=function(t){var e=Na(g(t)),r=[];return Oa(e,(function(t){S(Ua,t)||S($,t)||r.push(t)})),r},Ja=function(t){var e=t===_a,r=Na(e?Ca:g(t)),n=[];return Oa(r,(function(t){!S(Ua,t)||e&&!S(_a,t)||n.push(Ua[t])})),n};if(Nt||(tt((Ta=function(){if(this instanceof Ta)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=K(t),r=function t(r){this===_a&&t.call(Ca,r),S(this,ja)&&S(this[ja],e)&&(this[ja][e]=!1),Ka(this,e,f(1,r))};return a&&za&&Ka(_a,e,{configurable:!0,set:r}),Ga(e,t)}).prototype,"toString",(function(){return Pa(this).tag})),tt(Ta,"withoutSetter",(function(t){return Ga(K(t),t)})),s.f=Ha,_.f=$a,A.f=Xa,mt.f=Sa.f=Ya,bt.f=Ja,wa.f=function(t){return Ga(Dt(t),t)},a&&(ka(Ta.prototype,"description",{configurable:!0,get:function(){return Pa(this).description}}),tt(_a,"propertyIsEnumerable",Ha,{unsafe:!0}))),Tt({global:!0,wrap:!0,forced:!Nt,sham:!Nt},{Symbol:Ta}),Oa(Bt(Ba),(function(t){xa(t)})),Tt({target:"Symbol",stat:!0,forced:!Nt},{for:function(t){var e=String(t);if(S(Fa,e))return Fa[e];var r=Ta(e);return Fa[e]=r,Da[r]=e,r},keyFor:function(t){if(!Va(t))throw TypeError(t+" is not a symbol");if(S(Da,t))return Da[t]},useSetter:function(){za=!0},useSimple:function(){za=!1}}),Tt({target:"Object",stat:!0,forced:!Nt,sham:!a},{create:function(t,e){return void 0===e?qt(t):qa(qt(t),e)},defineProperty:$a,defineProperties:qa,getOwnPropertyDescriptor:Xa}),Tt({target:"Object",stat:!0,forced:!Nt},{getOwnPropertyNames:Ya,getOwnPropertySymbols:Ja}),Tt({target:"Object",stat:!0,forced:i((function(){bt.f(1)}))},{getOwnPropertySymbols:function(t){return bt.f(It(t))}}),Ia){var Qa=!Nt||i((function(){var t=Ta();return"[null]"!=Ia([t])||"{}"!=Ia({a:t})||"{}"!=Ia(Object(t))}));Tt({target:"JSON",stat:!0,forced:Qa},{stringify:function(t,e,r){for(var n,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(n=e,(y(e)||void 0!==t)&&!Va(t))return ee(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!Va(e))return e}),o[1]=e,Ia.apply(null,o)}})}Ta.prototype[Aa]||T(Ta.prototype,Aa,Ta.prototype.valueOf),Me(Ta,"Symbol"),$[ja]=!0,xa("asyncIterator");var Za=_.f,tu=o.Symbol;if(a&&"function"==typeof tu&&(!("description"in tu.prototype)||void 0!==tu().description)){var eu={},ru=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof ru?new tu(t):void 0===t?tu():tu(t);return""===t&&(eu[e]=!0),e};wt(ru,tu);var nu=ru.prototype=tu.prototype;nu.constructor=ru;var ou=nu.toString,iu="Symbol(test)"==String(tu("test")),au=/^Symbol\((.*)\)[^)]+$/;Za(nu,"description",{configurable:!0,get:function(){var t=y(this)?this.valueOf():this,e=ou.call(t);if(S(eu,t))return"";var r=iu?e.slice(7,-1):e.replace(au,"$1");return""===r?void 0:r}}),Tt({global:!0,forced:!0},{Symbol:ru})}xa("hasInstance"),xa("isConcatSpreadable"),xa("iterator"),xa("match"),xa("matchAll"),xa("replace"),xa("search"),xa("species"),xa("split"),xa("toPrimitive"),xa("toStringTag"),xa("unscopables"),Me(Math,"Math",!0),Me(o.JSON,"JSON",!0),xa("asyncDispose"),xa("dispose"),xa("observable"),xa("patternMatch"),xa("replaceAll");var uu,cu,su,fu=o.Promise,lu=/(iphone|ipod|ipad).*applewebkit/i.test(io),pu=o.location,hu=o.setImmediate,du=o.clearImmediate,vu=o.process,gu=o.MessageChannel,yu=o.Dispatch,mu=0,bu={},Su=function(t){if(bu.hasOwnProperty(t)){var e=bu[t];delete bu[t],e()}},wu=function(t){return function(){Su(t)}},Eu=function(t){Su(t.data)},xu=function(t){o.postMessage(t+"",pu.protocol+"//"+pu.host)};hu&&du||(hu=function(t){for(var e=[],r=1;arguments.length>r;)e.push(arguments[r++]);return bu[++mu]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},uu(mu),mu},du=function(t){delete bu[t]},"process"==p(vu)?uu=function(t){vu.nextTick(wu(t))}:yu&&yu.now?uu=function(t){yu.now(wu(t))}:gu&&!lu?(su=(cu=new gu).port2,cu.port1.onmessage=Eu,uu=Qt(su.postMessage,su,1)):!o.addEventListener||"function"!=typeof postMessage||o.importScripts||i(xu)||"file:"===pu.protocol?uu="onreadystatechange"in x("script")?function(t){zt.appendChild(x("script")).onreadystatechange=function(){zt.removeChild(this),Su(t)}}:function(t){setTimeout(wu(t),0)}:(uu=xu,o.addEventListener("message",Eu,!1)));var Ou,ju,Au,Ru,Pu,_u,Tu,Iu,Mu={set:hu,clear:du},ku=A.f,Nu=Mu.set,Lu=o.MutationObserver||o.WebKitMutationObserver,Uu=o.process,Cu=o.Promise,Fu="process"==p(Uu),Du=ku(o,"queueMicrotask"),Bu=Du&&Du.value;Bu||(Ou=function(){var t,e;for(Fu&&(t=Uu.domain)&&t.exit();ju;){e=ju.fn,ju=ju.next;try{e()}catch(t){throw ju?Ru():Au=void 0,t}}Au=void 0,t&&t.enter()},Fu?Ru=function(){Uu.nextTick(Ou)}:Lu&&!lu?(Pu=!0,_u=document.createTextNode(""),new Lu(Ou).observe(_u,{characterData:!0}),Ru=function(){_u.data=Pu=!Pu}):Cu&&Cu.resolve?(Tu=Cu.resolve(void 0),Iu=Tu.then,Ru=function(){Iu.call(Tu,Ou)}):Ru=function(){Nu.call(o,Ou)});var Wu,zu,Ku,Gu,Vu=Bu||function(t){var e={fn:t,next:void 0};Au&&(Au.next=e),ju||(ju=e,Ru()),Au=e},$u=function(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=Jt(e),this.reject=Jt(r)},qu={f:function(t){return new $u(t)}},Hu=function(t,e){if(R(t),y(e)&&e.constructor===t)return e;var r=qu.f(t);return(0,r.resolve)(e),r.promise},Xu=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},Yu=Mu.set,Ju=Dt("species"),Qu="Promise",Zu=Z.get,tc=Z.set,ec=Z.getterFor(Qu),rc=fu,nc=o.TypeError,oc=o.document,ic=o.process,ac=nt("fetch"),uc=qu.f,cc=uc,sc="process"==p(ic),fc=!!(oc&&oc.createEvent&&o.dispatchEvent),lc=Pt(Qu,(function(){if(C(rc)===String(rc)){if(66===la)return!0;if(!sc&&"function"!=typeof PromiseRejectionEvent)return!0}if(la>=51&&/native code/.test(rc))return!1;var t=rc.resolve(1),e=function(t){t((function(){}),(function(){}))};return(t.constructor={})[Ju]=e,!(t.then((function(){}))instanceof e)})),pc=lc||!cr((function(t){rc.all(t).catch((function(){}))})),hc=function(t){var e;return!(!y(t)||"function"!=typeof(e=t.then))&&e},dc=function(t,e,r){if(!e.notified){e.notified=!0;var n=e.reactions;Vu((function(){for(var o=e.value,i=1==e.state,a=0;n.length>a;){var u,c,s,f=n[a++],l=i?f.ok:f.fail,p=f.resolve,h=f.reject,d=f.domain;try{l?(i||(2===e.rejection&&mc(t,e),e.rejection=1),!0===l?u=o:(d&&d.enter(),u=l(o),d&&(d.exit(),s=!0)),u===f.promise?h(nc("Promise-chain cycle")):(c=hc(u))?c.call(u,p,h):p(u)):h(o)}catch(t){d&&!s&&d.exit(),h(t)}}e.reactions=[],e.notified=!1,r&&!e.rejection&&gc(t,e)}))}},vc=function(t,e,r){var n,i;fc?((n=oc.createEvent("Event")).promise=e,n.reason=r,n.initEvent(t,!1,!0),o.dispatchEvent(n)):n={promise:e,reason:r},(i=o["on"+t])?i(n):"unhandledrejection"===t&&function(t,e){var r=o.console;r&&r.error&&(1===arguments.length?r.error(t):r.error(t,e))}("Unhandled promise rejection",r)},gc=function(t,e){Yu.call(o,(function(){var r,n=e.value;if(yc(e)&&(r=Xu((function(){sc?ic.emit("unhandledRejection",n,t):vc("unhandledrejection",t,n)})),e.rejection=sc||yc(e)?2:1,r.error))throw r.value}))},yc=function(t){return 1!==t.rejection&&!t.parent},mc=function(t,e){Yu.call(o,(function(){sc?ic.emit("rejectionHandled",t):vc("rejectionhandled",t,e.value)}))},bc=function(t,e,r,n){return function(o){t(e,r,o,n)}},Sc=function(t,e,r,n){e.done||(e.done=!0,n&&(e=n),e.value=r,e.state=2,dc(t,e,!0))},wc=function t(e,r,n,o){if(!r.done){r.done=!0,o&&(r=o);try{if(e===n)throw nc("Promise can't be resolved itself");var i=hc(n);i?Vu((function(){var o={done:!1};try{i.call(n,bc(t,e,o,r),bc(Sc,e,o,r))}catch(t){Sc(e,o,t,r)}})):(r.value=n,r.state=1,dc(e,r,!1))}catch(t){Sc(e,{done:!1},t,r)}}};lc&&(rc=function(t){Or(this,rc,Qu),Jt(t),Wu.call(this);var e=Zu(this);try{t(bc(wc,this,e),bc(Sc,this,e))}catch(t){Sc(this,e,t)}},(Wu=function(t){tc(this,{type:Qu,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=Rr(rc.prototype,{then:function(t,e){var r=ec(this),n=uc(Xr(this,rc));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=sc?ic.domain:void 0,r.parent=!0,r.reactions.push(n),0!=r.state&&dc(this,r,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),zu=function(){var t=new Wu,e=Zu(t);this.promise=t,this.resolve=bc(wc,t,e),this.reject=bc(Sc,t,e)},qu.f=uc=function(t){return t===rc||t===Ku?new zu(t):cc(t)},"function"==typeof fu&&(Gu=fu.prototype.then,tt(fu.prototype,"then",(function(t,e){var r=this;return new rc((function(t,e){Gu.call(r,t,e)})).then(t,e)}),{unsafe:!0}),"function"==typeof ac&&Tt({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return Hu(rc,ac.apply(o,arguments))}}))),Tt({global:!0,wrap:!0,forced:lc},{Promise:rc}),Me(rc,Qu,!1),_r(Qu),Ku=nt(Qu),Tt({target:Qu,stat:!0,forced:lc},{reject:function(t){var e=uc(this);return e.reject.call(void 0,t),e.promise}}),Tt({target:Qu,stat:!0,forced:lc},{resolve:function(t){return Hu(this,t)}}),Tt({target:Qu,stat:!0,forced:pc},{all:function(t){var e=this,r=uc(e),n=r.resolve,o=r.reject,i=Xu((function(){var r=Jt(e.resolve),i=[],a=0,u=1;xr(t,(function(t){var c=a++,s=!1;i.push(void 0),u++,r.call(e,t).then((function(t){s||(s=!0,i[c]=t,--u||n(i))}),o)})),--u||n(i)}));return i.error&&o(i.value),r.promise},race:function(t){var e=this,r=uc(e),n=r.reject,o=Xu((function(){var o=Jt(e.resolve);xr(t,(function(t){o.call(e,t).then(r.resolve,n)}))}));return o.error&&n(o.value),r.promise}}),Tt({target:"Promise",stat:!0},{allSettled:function(t){var e=this,r=qu.f(e),n=r.resolve,o=r.reject,i=Xu((function(){var r=Jt(e.resolve),o=[],i=0,a=1;xr(t,(function(t){var u=i++,c=!1;o.push(void 0),a++,r.call(e,t).then((function(t){c||(c=!0,o[u]={status:"fulfilled",value:t},--a||n(o))}),(function(t){c||(c=!0,o[u]={status:"rejected",reason:t},--a||n(o))}))})),--a||n(o)}));return i.error&&o(i.value),r.promise}});var Ec=!!fu&&i((function(){fu.prototype.finally.call({then:function(){}},(function(){}))}));Tt({target:"Promise",proto:!0,real:!0,forced:Ec},{finally:function(t){var e=Xr(this,nt("Promise")),r="function"==typeof t;return this.then(r?function(r){return Hu(e,t()).then((function(){return r}))}:t,r?function(r){return Hu(e,t()).then((function(){throw r}))}:t)}}),"function"!=typeof fu||fu.prototype.finally||tt(fu.prototype,"finally",nt("Promise").prototype.finally);var xc=Z.set,Oc=Z.getterFor("AggregateError"),jc=function(t,e){var r=this;if(!(r instanceof jc))return new jc(t,e);Ce&&(r=Ce(new Error(e),Ae(r)));var n=[];return xr(t,n.push,n),a?xc(r,{errors:n,type:"AggregateError"}):r.errors=n,void 0!==e&&T(r,"message",String(e)),r};jc.prototype=qt(Error.prototype,{constructor:f(5,jc),message:f(5,""),name:f(5,"AggregateError")}),a&&_.f(jc.prototype,"errors",{get:function(){return Oc(this).errors},configurable:!0}),Tt({global:!0},{AggregateError:jc}),Tt({target:"Promise",stat:!0},{try:function(t){var e=qu.f(this),r=Xu(t);return(r.error?e.reject:e.resolve)(r.value),e.promise}}),Tt({target:"Promise",stat:!0},{any:function(t){var e=this,r=qu.f(e),n=r.resolve,o=r.reject,i=Xu((function(){var r=Jt(e.resolve),i=[],a=0,u=1,c=!1;xr(t,(function(t){var s=a++,f=!1;i.push(void 0),u++,r.call(e,t).then((function(t){f||c||(c=!0,n(t))}),(function(t){f||c||(f=!0,i[s]=t,--u||o(new(nt("AggregateError"))(i,"No one promise resolved")))}))})),--u||o(new(nt("AggregateError"))(i,"No one promise resolved"))}));return i.error&&o(i.value),r.promise}});var Ac="URLSearchParams"in self,Rc="Symbol"in self&&"iterator"in Symbol,Pc="FileReader"in self&&"Blob"in self&&function(){try{return new Blob,!0}catch(e){return!1}}(),_c="FormData"in self,Tc="ArrayBuffer"in self;if(Tc)var Ic=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],Mc=ArrayBuffer.isView||function(t){return t&&Ic.indexOf(Object.prototype.toString.call(t))>-1};function kc(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function Nc(t){return"string"!=typeof t&&(t=String(t)),t}function Lc(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return Rc&&(e[Symbol.iterator]=function(){return e}),e}function Uc(t){this.map={},t instanceof Uc?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function Cc(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function Fc(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function Dc(t){var e=new FileReader,r=Fc(e);return e.readAsArrayBuffer(t),r}function Bc(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function Wc(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:Pc&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:_c&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:Ac&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():Tc&&Pc&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=Bc(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):Tc&&(ArrayBuffer.prototype.isPrototypeOf(t)||Mc(t))?this._bodyArrayBuffer=Bc(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):Ac&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},Pc&&(this.blob=function(){var t=Cc(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?Cc(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(Dc)}),this.text=function(){var t=Cc(this);if(t)return t;if(this._bodyBlob)return function(t){var e=new FileReader,r=Fc(e);return e.readAsText(t),r}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n<e.length;n++)r[n]=String.fromCharCode(e[n]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},_c&&(this.formData=function(){return this.text().then(Gc)}),this.json=function(){return this.text().then(JSON.parse)},this}Uc.prototype.append=function(t,e){t=kc(t),e=Nc(e);var r=this.map[t];this.map[t]=r?r+", "+e:e},Uc.prototype.delete=function(t){delete this.map[kc(t)]},Uc.prototype.get=function(t){return t=kc(t),this.has(t)?this.map[t]:null},Uc.prototype.has=function(t){return this.map.hasOwnProperty(kc(t))},Uc.prototype.set=function(t,e){this.map[kc(t)]=Nc(e)},Uc.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},Uc.prototype.keys=function(){var t=[];return this.forEach((function(e,r){t.push(r)})),Lc(t)},Uc.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),Lc(t)},Uc.prototype.entries=function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),Lc(t)},Rc&&(Uc.prototype[Symbol.iterator]=Uc.prototype.entries);var zc=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function Kc(t,e){var r,n,o=(e=e||{}).body;if(t instanceof Kc){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new Uc(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,o||null==t._bodyInit||(o=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new Uc(e.headers)),this.method=(n=(r=e.method||this.method||"GET").toUpperCase(),zc.indexOf(n)>-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function Gc(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}})),e}function Vc(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new Uc(e.headers),this.url=e.url||"",this._initBody(t)}Kc.prototype.clone=function(){return new Kc(this,{body:this._bodyInit})},Wc.call(Kc.prototype),Wc.call(Vc.prototype),Vc.prototype.clone=function(){return new Vc(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Uc(this.headers),url:this.url})},Vc.error=function(){var t=new Vc(null,{status:0,statusText:""});return t.type="error",t};var $c=[301,302,303,307,308];Vc.redirect=function(t,e){if(-1===$c.indexOf(e))throw new RangeError("Invalid status code");return new Vc(null,{status:e,headers:{location:t}})};var qc=self.DOMException;try{new qc}catch(e){(qc=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack}).prototype=Object.create(Error.prototype),qc.prototype.constructor=qc}function Hc(t,e){return new Promise((function(r,n){var o=new Kc(t,e);if(o.signal&&o.signal.aborted)return n(new qc("Aborted","AbortError"));var i=new XMLHttpRequest;function a(){i.abort()}i.onload=function(){var t,e,n={status:i.status,statusText:i.statusText,headers:(t=i.getAllResponseHeaders()||"",e=new Uc,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}})),e)};n.url="responseURL"in i?i.responseURL:n.headers.get("X-Request-URL"),r(new Vc("response"in i?i.response:i.responseText,n))},i.onerror=function(){n(new TypeError("Network request failed"))},i.ontimeout=function(){n(new TypeError("Network request failed"))},i.onabort=function(){n(new qc("Aborted","AbortError"))},i.open(o.method,o.url,!0),"include"===o.credentials?i.withCredentials=!0:"omit"===o.credentials&&(i.withCredentials=!1),"responseType"in i&&Pc&&(i.responseType="blob"),o.headers.forEach((function(t,e){i.setRequestHeader(e,t)})),o.signal&&(o.signal.addEventListener("abort",a),i.onreadystatechange=function(){4===i.readyState&&o.signal.removeEventListener("abort",a)}),i.send(void 0===o._bodyInit?null:o._bodyInit)}))}Hc.polyfill=!0,self.fetch||(self.fetch=Hc,self.Headers=Uc,self.Request=Kc,self.Response=Vc),function(t){var e=function(){try{return!!Symbol.iterator}catch(t){return!1}}(),r=function(t){var r={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return e&&(r[Symbol.iterator]=function(){return r}),r},n=function(t){return encodeURIComponent(t).replace(/%20/g,"+")},o=function(t){return decodeURIComponent(String(t).replace(/\+/g," "))};(function(){try{var e=t.URLSearchParams;return"a=1"===new e("?a=1").toString()&&"function"==typeof e.prototype.set}catch(t){return!1}})()||function(){var o=function t(e){Object.defineProperty(this,"_entries",{writable:!0,value:{}});var r=typeof e;if("undefined"===r);else if("string"===r)""!==e&&this._fromString(e);else if(e instanceof t){var n=this;e.forEach((function(t,e){n.append(e,t)}))}else{if(null===e||"object"!==r)throw new TypeError("Unsupported input's type for URLSearchParams");if("[object Array]"===Object.prototype.toString.call(e))for(var o=0;o<e.length;o++){var i=e[o];if("[object Array]"!==Object.prototype.toString.call(i)&&2===i.length)throw new TypeError("Expected [string, any] as entry at index "+o+" of URLSearchParams's input");this.append(i[0],i[1])}else for(var a in e)e.hasOwnProperty(a)&&this.append(a,e[a])}},i=o.prototype;i.append=function(t,e){t in this._entries?this._entries[t].push(String(e)):this._entries[t]=[String(e)]},i.delete=function(t){delete this._entries[t]},i.get=function(t){return t in this._entries?this._entries[t][0]:null},i.getAll=function(t){return t in this._entries?this._entries[t].slice(0):[]},i.has=function(t){return t in this._entries},i.set=function(t,e){this._entries[t]=[String(e)]},i.forEach=function(t,e){var r;for(var n in this._entries)if(this._entries.hasOwnProperty(n)){r=this._entries[n];for(var o=0;o<r.length;o++)t.call(e,r[o],n,this)}},i.keys=function(){var t=[];return this.forEach((function(e,r){t.push(r)})),r(t)},i.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),r(t)},i.entries=function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),r(t)},e&&(i[Symbol.iterator]=i.entries),i.toString=function(){var t=[];return this.forEach((function(e,r){t.push(n(r)+"="+n(e))})),t.join("&")},t.URLSearchParams=o}();var i=t.URLSearchParams.prototype;"function"!=typeof i.sort&&(i.sort=function(){var t=this,e=[];this.forEach((function(r,n){e.push([n,r]),t._entries||t.delete(n)})),e.sort((function(t,e){return t[0]<e[0]?-1:t[0]>e[0]?1:0})),t._entries&&(t._entries={});for(var r=0;r<e.length;r++)this.append(e[r][0],e[r][1])}),"function"!=typeof i._fromString&&Object.defineProperty(i,"_fromString",{enumerable:!1,configurable:!1,writable:!1,value:function(t){if(this._entries)this._entries={};else{var e=[];this.forEach((function(t,r){e.push(r)}));for(var r=0;r<e.length;r++)this.delete(e[r])}var n,i=(t=t.replace(/^\?/,"")).split("&");for(r=0;r<i.length;r++)n=i[r].split("="),this.append(o(n[0]),n.length>1?o(n[1]):"")}})}(void 0!==e?e:"undefined"!=typeof window?window:"undefined"!=typeof self?self:e),function(t){var e,r,n;if(function(){try{var e=new t.URL("b","http://a");return e.pathname="c d","http://a/c%20d"===e.href&&e.searchParams}catch(t){return!1}}()||(e=t.URL,n=(r=function(e,r){"string"!=typeof e&&(e=String(e));var n,o=document;if(r&&(void 0===t.location||r!==t.location.href)){(n=(o=document.implementation.createHTMLDocument("")).createElement("base")).href=r,o.head.appendChild(n);try{if(0!==n.href.indexOf(r))throw new Error(n.href)}catch(t){throw new Error("URL unable to set base "+r+" due to "+t)}}var i=o.createElement("a");i.href=e,n&&(o.body.appendChild(i),i.href=i.href);var a=o.createElement("input");if(a.type="url",a.value=e,":"===i.protocol||!/:/.test(i.href)||!a.checkValidity()&&!r)throw new TypeError("Invalid URL");Object.defineProperty(this,"_anchorElement",{value:i});var u=new t.URLSearchParams(this.search),c=!0,s=!0,f=this;["append","delete","set"].forEach((function(t){var e=u[t];u[t]=function(){e.apply(u,arguments),c&&(s=!1,f.search=u.toString(),s=!0)}})),Object.defineProperty(this,"searchParams",{value:u,enumerable:!0});var l=void 0;Object.defineProperty(this,"_updateSearchParams",{enumerable:!1,configurable:!1,writable:!1,value:function(){this.search!==l&&(l=this.search,s&&(c=!1,this.searchParams._fromString(this.search),c=!0))}})}).prototype,["hash","host","hostname","port","protocol"].forEach((function(t){!function(t){Object.defineProperty(n,t,{get:function(){return this._anchorElement[t]},set:function(e){this._anchorElement[t]=e},enumerable:!0})}(t)})),Object.defineProperty(n,"search",{get:function(){return this._anchorElement.search},set:function(t){this._anchorElement.search=t,this._updateSearchParams()},enumerable:!0}),Object.defineProperties(n,{toString:{get:function(){var t=this;return function(){return t.href}}},href:{get:function(){return this._anchorElement.href.replace(/\?$/,"")},set:function(t){this._anchorElement.href=t,this._updateSearchParams()},enumerable:!0},pathname:{get:function(){return this._anchorElement.pathname.replace(/(^\/?)/,"/")},set:function(t){this._anchorElement.pathname=t},enumerable:!0},origin:{get:function(){return this._anchorElement.protocol+"//"+this._anchorElement.hostname+(this._anchorElement.port!={"http:":80,"https:":443,"ftp:":21}[this._anchorElement.protocol]&&""!==this._anchorElement.port?":"+this._anchorElement.port:"")},enumerable:!0},password:{get:function(){return""},set:function(t){},enumerable:!0},username:{get:function(){return""},set:function(t){},enumerable:!0}}),r.createObjectURL=function(t){return e.createObjectURL.apply(e,arguments)},r.revokeObjectURL=function(t){return e.revokeObjectURL.apply(e,arguments)},t.URL=r),void 0!==t.location&&!("origin"in t.location)){var o=function(){return t.location.protocol+"//"+t.location.hostname+(t.location.port?":"+t.location.port:"")};try{Object.defineProperty(t.location,"origin",{get:o,enumerable:!0})}catch(e){setInterval((function(){t.location.origin=o()}),100)}}}(void 0!==e?e:"undefined"!=typeof window?window:"undefined"!=typeof self?self:e);var Xc=Object.getOwnPropertySymbols,Yc=Object.prototype.hasOwnProperty,Jc=Object.prototype.propertyIsEnumerable;function Qc(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}var Zc=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,n,o=Qc(t),i=1;i<arguments.length;i++){for(var a in r=Object(arguments[i]))Yc.call(r,a)&&(o[a]=r[a]);if(Xc){n=Xc(r);for(var u=0;u<n.length;u++)Jc.call(r,n[u])&&(o[n[u]]=r[n[u]])}}return o};Object.assign=Zc}()}).call(this,r("yLpj"))},WVtH:function(t,e,r){"use strict";r.r(e);r("VXT5")}},[["WVtH",2,0]]]);
+//# sourceMappingURL=polyfill-2a86e29ae53b0bcd324d.js.map
\ No newline at end of file
diff --git a/polyfill-2a86e29ae53b0bcd324d.js.map b/polyfill-2a86e29ae53b0bcd324d.js.map
new file mode 100644
index 0000000..ee84fde
--- /dev/null
+++ b/polyfill-2a86e29ae53b0bcd324d.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./node_modules/gatsby-legacy-polyfills/dist/polyfills.js","webpack:///./.cache/polyfill-entry.js"],"names":["t","globalThis","window","global","self","e","r","path","exports","require","Error","Math","n","Function","o","i","Object","defineProperty","get","a","propertyIsEnumerable","u","getOwnPropertyDescriptor","c","f","call","1","this","enumerable","s","configurable","writable","value","toString","l","slice","p","split","h","d","TypeError","v","g","y","valueOf","m","hasOwnProperty","b","S","document","w","createElement","E","x","O","j","A","String","R","P","_","I","T","M","inspectSource","k","N","L","U","C","WeakMap","F","test","D","push","version","mode","copyright","B","W","random","z","K","G","$","V","q","H","has","X","set","Y","J","Q","enforce","getterFor","type","Z","unsafe","noTargetGet","source","join","prototype","tt","et","rt","arguments","length","nt","ceil","ot","floor","it","isNaN","at","min","ut","ct","max","st","ft","lt","pt","includes","indexOf","ht","dt","vt","gt","concat","yt","getOwnPropertyNames","mt","getOwnPropertySymbols","bt","St","wt","Et","Ot","xt","At","jt","normalize","replace","toLowerCase","data","NATIVE","POLYFILL","Rt","Pt","_t","target","stat","forced","sham","It","Tt","Mt","copyWithin","kt","Symbol","Nt","iterator","Lt","Ut","Ct","withoutSetter","Ft","Dt","keys","Bt","defineProperties","Wt","zt","Kt","Gt","$t","domain","ActiveXObject","write","close","parentWindow","style","display","appendChild","src","contentWindow","open","Vt","create","qt","Ht","Array","Xt","proto","Yt","Jt","apply","Qt","Zt","fill","te","isArray","ee","re","constructor","ne","oe","ie","forEach","map","filter","some","every","find","findIndex","ae","ue","ce","se","ACCESSORS","fe","le","pe","he","de","ve","ge","flatMap","flat","ye","me","be","Se","charCodeAt","charAt","we","codeAt","Ee","getPrototypeOf","xe","Oe","je","Ae","Re","Pe","IteratorPrototype","BUGGY_SAFARI_ITERATORS","_e","Ie","Te","Me","ke","Ne","Le","Ue","setPrototypeOf","__proto__","Ce","Fe","De","Be","We","next","entries","name","values","ze","Ke","Ge","string","index","done","$e","return","Ve","qe","He","Xe","Ye","Je","Qe","Ze","tr","callee","er","rr","nr","or","ir","ar","from","ur","cr","sr","fr","lr","pr","hr","kind","Arguments","dr","of","vr","gr","yr","mr","br","match","Sr","isExtensible","preventExtensions","wr","objectID","weakData","REQUIRED","fastKey","getWeakData","onFreeze","Er","stopped","result","stop","xr","Or","jr","getConstructor","clear","setStrong","Ar","Rr","Pr","_r","Ir","Tr","Mr","kr","first","last","size","key","previous","removed","delete","add","state","Nr","Lr","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","Ur","Cr","Fr","Dr","Br","Wr","zr","Kr","Gr","$r","real","deleteAll","Vr","Map","qr","Hr","findKey","groupBy","keyBy","keyOf","mapKeys","mapValues","merge","reduce","update","Xr","upsert","updateOrInsert","Yr","Jr","addAll","Qr","Set","difference","intersection","isDisjointFrom","isSubsetOf","isSupersetOf","symmetricDifference","union","Zr","tn","en","rn","nn","on","an","frozen","un","cn","splice","sn","id","fn","ln","pn","hn","RegExp","dn","vn","gn","start","end","trim","yn","mn","bn","Sn","wn","Number","En","xn","On","NaN","parseInt","jn","An","Rn","Pn","EPSILON","pow","_n","isFinite","In","Tn","isInteger","Mn","abs","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","kn","Nn","Ln","Un","getOwnPropertyDescriptors","Cn","is","Fn","Dn","Bn","codePointAt","Wn","zn","Kn","Gn","$n","Vn","qn","Hn","endsWith","Xn","Yn","Jn","Qn","fromCharCode","Zn","fromCodePoint","RangeError","to","repeat","Infinity","eo","ro","no","oo","io","ao","padStart","uo","padEnd","raw","co","so","startsWith","fo","lo","po","ho","vo","go","yo","trimStart","trimLeft","mo","bo","So","trimEnd","trimRight","wo","Eo","xo","Oo","jo","Ao","Ro","bind","Po","_o","Io","To","construct","Mo","Reflect","ko","deleteProperty","No","ownKeys","Lo","Uo","Co","store","Fo","Do","getMap","toKey","Bo","Wo","defineMetadata","zo","Ko","Go","deleteMetadata","$o","Vo","qo","Ho","getMetadata","Xo","Yo","Jo","getMetadataKeys","Qo","Zo","getOwnMetadata","ti","ei","getOwnMetadataKeys","ri","ni","oi","hasMetadata","ii","ai","hasOwnMetadata","ui","ci","metadata","si","ignoreCase","multiline","dotAll","unicode","sticky","fi","li","UNSUPPORTED_Y","lastIndex","exec","BROKEN_CARET","pi","hi","di","vi","gi","yi","mi","bi","Si","wi","Ei","xi","Oi","ji","Ai","Ri","flags","Pi","_i","Ii","Ti","Mi","ki","input","Ni","Li","Ui","Ci","Fi","Di","Bi","Wi","zi","groups","Ki","Gi","$i","Vi","qi","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","Hi","Xi","Yi","Ji","Qi","Zi","ta","ea","ra","na","oa","ia","aa","ua","process","ca","versions","sa","v8","fa","la","pa","ha","da","foo","Boolean","va","ga","ya","ma","ba","Sa","wa","Ea","xa","Oa","ja","Aa","Ra","Pa","_a","Ia","Ta","Ma","ka","Na","La","Ua","Ca","Fa","Da","Ba","QObject","Wa","findChild","za","Ka","tag","description","Ga","$a","Va","Ya","qa","Ha","Xa","wrap","for","keyFor","useSetter","useSimple","Ja","stringify","Qa","Za","tu","eu","ru","nu","ou","iu","JSON","au","uu","cu","su","Promise","fu","lu","location","pu","setImmediate","hu","clearImmediate","du","vu","MessageChannel","gu","Dispatch","yu","mu","bu","Su","wu","Eu","postMessage","protocol","host","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","onreadystatechange","removeChild","setTimeout","xu","Ou","ju","Au","Ru","Pu","_u","Iu","Tu","Mu","ku","Nu","MutationObserver","WebKitMutationObserver","Lu","Uu","Cu","Fu","Du","exit","enter","createTextNode","observe","characterData","resolve","then","Bu","Wu","zu","Ku","Gu","$u","promise","reject","Vu","qu","Hu","error","Xu","Yu","Ju","Qu","Zu","tc","ec","rc","nc","oc","ic","ac","uc","cc","sc","createEvent","dispatchEvent","fc","PromiseRejectionEvent","lc","all","catch","pc","hc","notified","reactions","ok","fail","rejection","yc","vc","dc","reason","initEvent","console","gc","emit","parent","mc","bc","Sc","fetch","race","allSettled","status","wc","finally","Ec","xc","Oc","errors","message","AggregateError","try","any","jc","Ac","Rc","Blob","Pc","_c","Ic","Tc","ArrayBuffer","isView","Mc","kc","Nc","shift","Lc","append","Uc","bodyUsed","Cc","onload","onerror","Fc","FileReader","readAsArrayBuffer","Dc","Uint8Array","byteLength","buffer","Bc","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","headers","blob","arrayBuffer","text","readAsText","formData","Kc","json","parse","Wc","zc","body","url","credentials","method","signal","toUpperCase","referrer","decodeURIComponent","Gc","statusText","clone","$c","redirect","Vc","DOMException","stack","qc","aborted","XMLHttpRequest","abort","getAllResponseHeaders","responseURL","response","responseText","ontimeout","onabort","withCredentials","responseType","setRequestHeader","readyState","removeEventListener","send","polyfill","Headers","Request","Response","encodeURIComponent","_fromString","_entries","getAll","sort","URL","pathname","href","searchParams","implementation","createHTMLDocument","head","checkValidity","search","_anchorElement","_updateSearchParams","origin","hostname","port","password","username","createObjectURL","revokeObjectURL","setInterval","Hc","Xc","Yc","Jc","Qc","assign"],"mappings":"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","file":"polyfill-2a86e29ae53b0bcd324d.js","sourcesContent":["!function(){var t=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function e(t,e,r){return t(r={path:e,exports:{},require:function(t,e){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}()}},r.exports),r.exports}var r=function(t){return t&&t.Math==Math&&t},n=r(\"object\"==typeof globalThis&&globalThis)||r(\"object\"==typeof window&&window)||r(\"object\"==typeof self&&self)||r(\"object\"==typeof t&&t)||Function(\"return this\")(),o=function(t){try{return!!t()}catch(t){return!0}},i=!o(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}),a={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,c={f:u&&!a.call({1:2},1)?function(t){var e=u(this,t);return!!e&&e.enumerable}:a},s=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},f={}.toString,l=function(t){return f.call(t).slice(8,-1)},p=\"\".split,h=o(function(){return!Object(\"z\").propertyIsEnumerable(0)})?function(t){return\"String\"==l(t)?p.call(t,\"\"):Object(t)}:Object,d=function(t){if(null==t)throw TypeError(\"Can't call method on \"+t);return t},v=function(t){return h(d(t))},g=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t},y=function(t,e){if(!g(t))return t;var r,n;if(e&&\"function\"==typeof(r=t.toString)&&!g(n=r.call(t)))return n;if(\"function\"==typeof(r=t.valueOf)&&!g(n=r.call(t)))return n;if(!e&&\"function\"==typeof(r=t.toString)&&!g(n=r.call(t)))return n;throw TypeError(\"Can't convert object to primitive value\")},m={}.hasOwnProperty,b=function(t,e){return m.call(t,e)},S=n.document,w=g(S)&&g(S.createElement),E=function(t){return w?S.createElement(t):{}},x=!i&&!o(function(){return 7!=Object.defineProperty(E(\"div\"),\"a\",{get:function(){return 7}}).a}),O=Object.getOwnPropertyDescriptor,j={f:i?O:function(t,e){if(t=v(t),e=y(e,!0),x)try{return O(t,e)}catch(t){}if(b(t,e))return s(!c.f.call(t,e),t[e])}},A=function(t){if(!g(t))throw TypeError(String(t)+\" is not an object\");return t},R=Object.defineProperty,P={f:i?R:function(t,e,r){if(A(t),e=y(e,!0),A(r),x)try{return R(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}},_=i?function(t,e,r){return P.f(t,e,s(1,r))}:function(t,e,r){return t[e]=r,t},I=function(t,e){try{_(n,t,e)}catch(r){n[t]=e}return e},T=n[\"__core-js_shared__\"]||I(\"__core-js_shared__\",{}),M=Function.toString;\"function\"!=typeof T.inspectSource&&(T.inspectSource=function(t){return M.call(t)});var k,N,L,U=T.inspectSource,C=n.WeakMap,F=\"function\"==typeof C&&/native code/.test(U(C)),D=e(function(t){(t.exports=function(t,e){return T[t]||(T[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:\"3.6.5\",mode:\"global\",copyright:\"© 2020 Denis Pushkarev (zloirock.ru)\"})}),B=0,W=Math.random(),z=function(t){return\"Symbol(\"+String(void 0===t?\"\":t)+\")_\"+(++B+W).toString(36)},K=D(\"keys\"),G=function(t){return K[t]||(K[t]=z(t))},$={};if(F){var V=new(0,n.WeakMap),q=V.get,H=V.has,X=V.set;k=function(t,e){return X.call(V,t,e),e},N=function(t){return q.call(V,t)||{}},L=function(t){return H.call(V,t)}}else{var Y=G(\"state\");$[Y]=!0,k=function(t,e){return _(t,Y,e),e},N=function(t){return b(t,Y)?t[Y]:{}},L=function(t){return b(t,Y)}}var J,Q={set:k,get:N,has:L,enforce:function(t){return L(t)?N(t):k(t,{})},getterFor:function(t){return function(e){var r;if(!g(e)||(r=N(e)).type!==t)throw TypeError(\"Incompatible receiver, \"+t+\" required\");return r}}},Z=e(function(t){var e=Q.get,r=Q.enforce,o=String(String).split(\"String\");(t.exports=function(t,e,i,a){var u=!!a&&!!a.unsafe,c=!!a&&!!a.enumerable,s=!!a&&!!a.noTargetGet;\"function\"==typeof i&&(\"string\"!=typeof e||b(i,\"name\")||_(i,\"name\",e),r(i).source=o.join(\"string\"==typeof e?e:\"\")),t!==n?(u?!s&&t[e]&&(c=!0):delete t[e],c?t[e]=i:_(t,e,i)):c?t[e]=i:I(e,i)})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&e(this).source||U(this)})}),tt=n,et=function(t){return\"function\"==typeof t?t:void 0},rt=function(t,e){return arguments.length<2?et(tt[t])||et(n[t]):tt[t]&&tt[t][e]||n[t]&&n[t][e]},nt=Math.ceil,ot=Math.floor,it=function(t){return isNaN(t=+t)?0:(t>0?ot:nt)(t)},at=Math.min,ut=function(t){return t>0?at(it(t),9007199254740991):0},ct=Math.max,st=Math.min,ft=function(t,e){var r=it(t);return r<0?ct(r+e,0):st(r,e)},lt=function(t){return function(e,r,n){var o,i=v(e),a=ut(i.length),u=ft(n,a);if(t&&r!=r){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===r)return t||u||0;return!t&&-1}},pt={includes:lt(!0),indexOf:lt(!1)},ht=pt.indexOf,dt=function(t,e){var r,n=v(t),o=0,i=[];for(r in n)!b($,r)&&b(n,r)&&i.push(r);for(;e.length>o;)b(n,r=e[o++])&&(~ht(i,r)||i.push(r));return i},vt=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"],gt=vt.concat(\"length\",\"prototype\"),yt={f:Object.getOwnPropertyNames||function(t){return dt(t,gt)}},mt={f:Object.getOwnPropertySymbols},bt=rt(\"Reflect\",\"ownKeys\")||function(t){var e=yt.f(A(t)),r=mt.f;return r?e.concat(r(t)):e},St=function(t,e){for(var r=bt(e),n=P.f,o=j.f,i=0;i<r.length;i++){var a=r[i];b(t,a)||n(t,a,o(e,a))}},wt=/#|\\.prototype\\./,Et=function(t,e){var r=Ot[xt(t)];return r==At||r!=jt&&(\"function\"==typeof e?o(e):!!e)},xt=Et.normalize=function(t){return String(t).replace(wt,\".\").toLowerCase()},Ot=Et.data={},jt=Et.NATIVE=\"N\",At=Et.POLYFILL=\"P\",Rt=Et,Pt=j.f,_t=function(t,e){var r,o,i,a,u,c=t.target,s=t.global,f=t.stat;if(r=s?n:f?n[c]||I(c,{}):(n[c]||{}).prototype)for(o in e){if(a=e[o],i=t.noTargetGet?(u=Pt(r,o))&&u.value:r[o],!Rt(s?o:c+(f?\".\":\"#\")+o,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;St(a,i)}(t.sham||i&&i.sham)&&_(a,\"sham\",!0),Z(r,o,a,t)}},It=function(t){return Object(d(t))},Tt=Math.min,Mt=[].copyWithin||function(t,e){var r=It(this),n=ut(r.length),o=ft(t,n),i=ft(e,n),a=arguments.length>2?arguments[2]:void 0,u=Tt((void 0===a?n:ft(a,n))-i,n-o),c=1;for(i<o&&o<i+u&&(c=-1,i+=u-1,o+=u-1);u-- >0;)i in r?r[o]=r[i]:delete r[o],o+=c,i+=c;return r},kt=!!Object.getOwnPropertySymbols&&!o(function(){return!String(Symbol())}),Nt=kt&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator,Lt=D(\"wks\"),Ut=n.Symbol,Ct=Nt?Ut:Ut&&Ut.withoutSetter||z,Ft=function(t){return b(Lt,t)||(Lt[t]=kt&&b(Ut,t)?Ut[t]:Ct(\"Symbol.\"+t)),Lt[t]},Dt=Object.keys||function(t){return dt(t,vt)},Bt=i?Object.defineProperties:function(t,e){A(t);for(var r,n=Dt(e),o=n.length,i=0;o>i;)P.f(t,r=n[i++],e[r]);return t},Wt=rt(\"document\",\"documentElement\"),zt=G(\"IE_PROTO\"),Kt=function(){},Gt=function(t){return\"<script>\"+t+\"<\\/script>\"},$t=function(){try{J=document.domain&&new ActiveXObject(\"htmlfile\")}catch(t){}var t,e;$t=J?function(t){t.write(Gt(\"\")),t.close();var e=t.parentWindow.Object;return t=null,e}(J):((e=E(\"iframe\")).style.display=\"none\",Wt.appendChild(e),e.src=String(\"javascript:\"),(t=e.contentWindow.document).open(),t.write(Gt(\"document.F=Object\")),t.close(),t.F);for(var r=vt.length;r--;)delete $t.prototype[vt[r]];return $t()};$[zt]=!0;var Vt=Object.create||function(t,e){var r;return null!==t?(Kt.prototype=A(t),r=new Kt,Kt.prototype=null,r[zt]=t):r=$t(),void 0===e?r:Bt(r,e)},qt=Ft(\"unscopables\"),Ht=Array.prototype;null==Ht[qt]&&P.f(Ht,qt,{configurable:!0,value:Vt(null)});var Xt=function(t){Ht[qt][t]=!0};_t({target:\"Array\",proto:!0},{copyWithin:Mt}),Xt(\"copyWithin\");var Yt=function(t){if(\"function\"!=typeof t)throw TypeError(String(t)+\" is not a function\");return t},Jt=function(t,e,r){if(Yt(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};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,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}},Qt=Function.call,Zt=function(t,e,r){return Jt(Qt,n[t].prototype[e],r)};Zt(\"Array\",\"copyWithin\"),_t({target:\"Array\",proto:!0},{fill:function(t){for(var e=It(this),r=ut(e.length),n=arguments.length,o=ft(n>1?arguments[1]:void 0,r),i=n>2?arguments[2]:void 0,a=void 0===i?r:ft(i,r);a>o;)e[o++]=t;return e}}),Xt(\"fill\"),Zt(\"Array\",\"fill\");var te=Array.isArray||function(t){return\"Array\"==l(t)},ee=Ft(\"species\"),re=function(t,e){var r;return te(t)&&(\"function\"!=typeof(r=t.constructor)||r!==Array&&!te(r.prototype)?g(r)&&null===(r=r[ee])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},ne=[].push,oe=function(t){var e=1==t,r=2==t,n=3==t,o=4==t,i=6==t,a=5==t||i;return function(u,c,s,f){for(var l,p,d=It(u),v=h(d),g=Jt(c,s,3),y=ut(v.length),m=0,b=f||re,S=e?b(u,y):r?b(u,0):void 0;y>m;m++)if((a||m in v)&&(p=g(l=v[m],m,d),t))if(e)S[m]=p;else if(p)switch(t){case 3:return!0;case 5:return l;case 6:return m;case 2:ne.call(S,l)}else if(o)return!1;return i?-1:n||o?o:S}},ie={forEach:oe(0),map:oe(1),filter:oe(2),some:oe(3),every:oe(4),find:oe(5),findIndex:oe(6)},ae=Object.defineProperty,ue={},ce=function(t){throw t},se=function(t,e){if(b(ue,t))return ue[t];e||(e={});var r=[][t],n=!!b(e,\"ACCESSORS\")&&e.ACCESSORS,a=b(e,0)?e[0]:ce,u=b(e,1)?e[1]:void 0;return ue[t]=!!r&&!o(function(){if(n&&!i)return!0;var t={length:-1};n?ae(t,1,{enumerable:!0,get:ce}):t[1]=1,r.call(t,a,u)})},fe=ie.find,le=!0,pe=se(\"find\");\"find\"in[]&&Array(1).find(function(){le=!1}),_t({target:\"Array\",proto:!0,forced:le||!pe},{find:function(t){return fe(this,t,arguments.length>1?arguments[1]:void 0)}}),Xt(\"find\"),Zt(\"Array\",\"find\");var he=ie.findIndex,de=!0,ve=se(\"findIndex\");\"findIndex\"in[]&&Array(1).findIndex(function(){de=!1}),_t({target:\"Array\",proto:!0,forced:de||!ve},{findIndex:function(t){return he(this,t,arguments.length>1?arguments[1]:void 0)}}),Xt(\"findIndex\"),Zt(\"Array\",\"findIndex\");var ge=function t(e,r,n,o,i,a,u,c){for(var s,f=i,l=0,p=!!u&&Jt(u,c,3);l<o;){if(l in n){if(s=p?p(n[l],l,r):n[l],a>0&&te(s))f=t(e,r,s,ut(s.length),f,a-1)-1;else{if(f>=9007199254740991)throw TypeError(\"Exceed the acceptable array length\");e[f]=s}f++}l++}return f};_t({target:\"Array\",proto:!0},{flatMap:function(t){var e,r=It(this),n=ut(r.length);return Yt(t),(e=re(r,0)).length=ge(e,r,r,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}}),Xt(\"flatMap\"),Zt(\"Array\",\"flatMap\"),_t({target:\"Array\",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=It(this),r=ut(e.length),n=re(e,0);return n.length=ge(n,e,e,r,0,void 0===t?1:it(t)),n}}),Xt(\"flat\"),Zt(\"Array\",\"flat\");var ye,me,be,Se=function(t){return function(e,r){var n,o,i=String(d(e)),a=it(r),u=i.length;return a<0||a>=u?t?\"\":void 0:(n=i.charCodeAt(a))<55296||n>56319||a+1===u||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):n:t?i.slice(a,a+2):o-56320+(n-55296<<10)+65536}},we={codeAt:Se(!1),charAt:Se(!0)},Ee=!o(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}),xe=G(\"IE_PROTO\"),Oe=Object.prototype,je=Ee?Object.getPrototypeOf:function(t){return t=It(t),b(t,xe)?t[xe]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?Oe:null},Ae=Ft(\"iterator\"),Re=!1;[].keys&&(\"next\"in(be=[].keys())?(me=je(je(be)))!==Object.prototype&&(ye=me):Re=!0),null==ye&&(ye={}),b(ye,Ae)||_(ye,Ae,function(){return this});var Pe={IteratorPrototype:ye,BUGGY_SAFARI_ITERATORS:Re},_e=P.f,Ie=Ft(\"toStringTag\"),Te=function(t,e,r){t&&!b(t=r?t:t.prototype,Ie)&&_e(t,Ie,{configurable:!0,value:e})},Me={},ke=Pe.IteratorPrototype,Ne=function(){return this},Le=function(t){if(!g(t)&&null!==t)throw TypeError(\"Can't set \"+String(t)+\" as a prototype\");return t},Ue=Object.setPrototypeOf||(\"__proto__\"in{}?function(){var t,e=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\").set).call(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return A(r),Le(n),e?t.call(r,n):r.__proto__=n,r}}():void 0),Ce=Pe.IteratorPrototype,Fe=Pe.BUGGY_SAFARI_ITERATORS,De=Ft(\"iterator\"),Be=function(){return this},We=function(t,e,r,n,o,i,a){!function(t,e,r){var n=e+\" Iterator\";t.prototype=Vt(ke,{next:s(1,r)}),Te(t,n,!1),Me[n]=Ne}(r,e,n);var u,c,f,l=function(t){if(t===o&&g)return g;if(!Fe&&t in d)return d[t];switch(t){case\"keys\":case\"values\":case\"entries\":return function(){return new r(this,t)}}return function(){return new r(this)}},p=e+\" Iterator\",h=!1,d=t.prototype,v=d[De]||d[\"@@iterator\"]||o&&d[o],g=!Fe&&v||l(o),y=\"Array\"==e&&d.entries||v;if(y&&(u=je(y.call(new t)),Ce!==Object.prototype&&u.next&&(je(u)!==Ce&&(Ue?Ue(u,Ce):\"function\"!=typeof u[De]&&_(u,De,Be)),Te(u,p,!0))),\"values\"==o&&v&&\"values\"!==v.name&&(h=!0,g=function(){return v.call(this)}),d[De]!==g&&_(d,De,g),Me[e]=g,o)if(c={values:l(\"values\"),keys:i?g:l(\"keys\"),entries:l(\"entries\")},a)for(f in c)(Fe||h||!(f in d))&&Z(d,f,c[f]);else _t({target:e,proto:!0,forced:Fe||h},c);return c},ze=we.charAt,Ke=Q.set,Ge=Q.getterFor(\"String Iterator\");We(String,\"String\",function(t){Ke(this,{type:\"String Iterator\",string:String(t),index:0})},function(){var t,e=Ge(this),r=e.string,n=e.index;return n>=r.length?{value:void 0,done:!0}:(t=ze(r,n),e.index+=t.length,{value:t,done:!1})});var $e=function(t,e,r,n){try{return n?e(A(r)[0],r[1]):e(r)}catch(e){var o=t.return;throw void 0!==o&&A(o.call(t)),e}},Ve=Ft(\"iterator\"),qe=Array.prototype,He=function(t){return void 0!==t&&(Me.Array===t||qe[Ve]===t)},Xe=function(t,e,r){var n=y(e);n in t?P.f(t,n,s(0,r)):t[n]=r},Ye={};Ye[Ft(\"toStringTag\")]=\"z\";var Je=\"[object z]\"===String(Ye),Qe=Ft(\"toStringTag\"),Ze=\"Arguments\"==l(function(){return arguments}()),tr=Je?l:function(t){var e,r,n;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),Qe))?r:Ze?l(e):\"Object\"==(n=l(e))&&\"function\"==typeof e.callee?\"Arguments\":n},er=Ft(\"iterator\"),rr=function(t){if(null!=t)return t[er]||t[\"@@iterator\"]||Me[tr(t)]},nr=Ft(\"iterator\"),or=!1;try{var ir=0,ar={next:function(){return{done:!!ir++}},return:function(){or=!0}};ar[nr]=function(){return this},Array.from(ar,function(){throw 2})}catch(t){}var ur=function(t,e){if(!e&&!or)return!1;var r=!1;try{var n={};n[nr]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r},cr=!ur(function(t){Array.from(t)});_t({target:\"Array\",stat:!0,forced:cr},{from:function(t){var e,r,n,o,i,a,u=It(t),c=\"function\"==typeof this?this:Array,s=arguments.length,f=s>1?arguments[1]:void 0,l=void 0!==f,p=rr(u),h=0;if(l&&(f=Jt(f,s>2?arguments[2]:void 0,2)),null==p||c==Array&&He(p))for(r=new c(e=ut(u.length));e>h;h++)a=l?f(u[h],h):u[h],Xe(r,h,a);else for(i=(o=p.call(u)).next,r=new c;!(n=i.call(o)).done;h++)a=l?$e(o,f,[n.value,h],!0):n.value,Xe(r,h,a);return r.length=h,r}});var sr=pt.includes,fr=se(\"indexOf\",{ACCESSORS:!0,1:0});_t({target:\"Array\",proto:!0,forced:!fr},{includes:function(t){return sr(this,t,arguments.length>1?arguments[1]:void 0)}}),Xt(\"includes\"),Zt(\"Array\",\"includes\");var lr=Q.set,pr=Q.getterFor(\"Array Iterator\"),hr=We(Array,\"Array\",function(t,e){lr(this,{type:\"Array Iterator\",target:v(t),index:0,kind:e})},function(){var t=pr(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):\"keys\"==r?{value:n,done:!1}:\"values\"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}},\"values\");Me.Arguments=Me.Array,Xt(\"keys\"),Xt(\"values\"),Xt(\"entries\"),Zt(\"Array\",\"values\");var dr=o(function(){function t(){}return!(Array.of.call(t)instanceof t)});_t({target:\"Array\",stat:!0,forced:dr},{of:function(){for(var t=0,e=arguments.length,r=new(\"function\"==typeof this?this:Array)(e);e>t;)Xe(r,t,arguments[t++]);return r.length=e,r}});var vr=Ft(\"hasInstance\"),gr=Function.prototype;vr in gr||P.f(gr,vr,{value:function(t){if(\"function\"!=typeof this||!g(t))return!1;if(!g(this.prototype))return t instanceof this;for(;t=je(t);)if(this.prototype===t)return!0;return!1}}),Ft(\"hasInstance\");var yr=Function.prototype,mr=yr.toString,br=/^\\s*function ([^ (]*)/;i&&!(\"name\"in yr)&&(0,P.f)(yr,\"name\",{configurable:!0,get:function(){try{return mr.call(this).match(br)[1]}catch(t){return\"\"}}});var Sr=!o(function(){return Object.isExtensible(Object.preventExtensions({}))}),wr=e(function(t){var e=P.f,r=z(\"meta\"),n=0,o=Object.isExtensible||function(){return!0},i=function(t){e(t,r,{value:{objectID:\"O\"+ ++n,weakData:{}}})},a=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!g(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!b(t,r)){if(!o(t))return\"F\";if(!e)return\"E\";i(t)}return t[r].objectID},getWeakData:function(t,e){if(!b(t,r)){if(!o(t))return!0;if(!e)return!1;i(t)}return t[r].weakData},onFreeze:function(t){return Sr&&a.REQUIRED&&o(t)&&!b(t,r)&&i(t),t}};$[r]=!0}),Er=e(function(t){var e=function(t,e){this.stopped=t,this.result=e};(t.exports=function(t,r,n,o,i){var a,u,c,s,f,l,p,h=Jt(r,n,o?2:1);if(i)a=t;else{if(\"function\"!=typeof(u=rr(t)))throw TypeError(\"Target is not iterable\");if(He(u)){for(c=0,s=ut(t.length);s>c;c++)if((f=o?h(A(p=t[c])[0],p[1]):h(t[c]))&&f instanceof e)return f;return new e(!1)}a=u.call(t)}for(l=a.next;!(p=l.call(a)).done;)if(\"object\"==typeof(f=$e(a,h,p.value,o))&&f&&f instanceof e)return f;return new e(!1)}).stop=function(t){return new e(!0,t)}}),xr=function(t,e,r){if(!(t instanceof e))throw TypeError(\"Incorrect \"+(r?r+\" \":\"\")+\"invocation\");return t},Or=function(t,e,r){var n,o;return Ue&&\"function\"==typeof(n=e.constructor)&&n!==r&&g(o=n.prototype)&&o!==r.prototype&&Ue(t,o),t},jr=function(t,e,r){var i=-1!==t.indexOf(\"Map\"),a=-1!==t.indexOf(\"Weak\"),u=i?\"set\":\"add\",c=n[t],s=c&&c.prototype,f=c,l={},p=function(t){var e=s[t];Z(s,t,\"add\"==t?function(t){return e.call(this,0===t?0:t),this}:\"delete\"==t?function(t){return!(a&&!g(t))&&e.call(this,0===t?0:t)}:\"get\"==t?function(t){return a&&!g(t)?void 0:e.call(this,0===t?0:t)}:\"has\"==t?function(t){return!(a&&!g(t))&&e.call(this,0===t?0:t)}:function(t,r){return e.call(this,0===t?0:t,r),this})};if(Rt(t,\"function\"!=typeof c||!(a||s.forEach&&!o(function(){(new c).entries().next()}))))f=r.getConstructor(e,t,i,u),wr.REQUIRED=!0;else if(Rt(t,!0)){var h=new f,d=h[u](a?{}:-0,1)!=h,v=o(function(){h.has(1)}),y=ur(function(t){new c(t)}),m=!a&&o(function(){for(var t=new c,e=5;e--;)t[u](e,e);return!t.has(-0)});y||((f=e(function(e,r){xr(e,f,t);var n=Or(new c,e,f);return null!=r&&Er(r,n[u],n,i),n})).prototype=s,s.constructor=f),(v||m)&&(p(\"delete\"),p(\"has\"),i&&p(\"get\")),(m||d)&&p(u),a&&s.clear&&delete s.clear}return l[t]=f,_t({global:!0,forced:f!=c},l),Te(f,t),a||r.setStrong(f,t,i),f},Ar=function(t,e,r){for(var n in e)Z(t,n,e[n],r);return t},Rr=Ft(\"species\"),Pr=function(t){var e=rt(t);i&&e&&!e[Rr]&&(0,P.f)(e,Rr,{configurable:!0,get:function(){return this}})},_r=P.f,Ir=wr.fastKey,Tr=Q.set,Mr=Q.getterFor,kr={getConstructor:function(t,e,r,n){var o=t(function(t,a){xr(t,o,e),Tr(t,{type:e,index:Vt(null),first:void 0,last:void 0,size:0}),i||(t.size=0),null!=a&&Er(a,t[n],t,r)}),a=Mr(e),u=function(t,e,r){var n,o,u=a(t),s=c(t,e);return s?s.value=r:(u.last=s={index:o=Ir(e,!0),key:e,value:r,previous:n=u.last,next:void 0,removed:!1},u.first||(u.first=s),n&&(n.next=s),i?u.size++:t.size++,\"F\"!==o&&(u.index[o]=s)),t},c=function(t,e){var r,n=a(t),o=Ir(e);if(\"F\"!==o)return n.index[o];for(r=n.first;r;r=r.next)if(r.key==e)return r};return Ar(o.prototype,{clear:function(){for(var t=a(this),e=t.index,r=t.first;r;)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete e[r.index],r=r.next;t.first=t.last=void 0,i?t.size=0:this.size=0},delete:function(t){var e=a(this),r=c(this,t);if(r){var n=r.next,o=r.previous;delete e.index[r.index],r.removed=!0,o&&(o.next=n),n&&(n.previous=o),e.first==r&&(e.first=n),e.last==r&&(e.last=o),i?e.size--:this.size--}return!!r},forEach:function(t){for(var e,r=a(this),n=Jt(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.next:r.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!c(this,t)}}),Ar(o.prototype,r?{get:function(t){var e=c(this,t);return e&&e.value},set:function(t,e){return u(this,0===t?0:t,e)}}:{add:function(t){return u(this,t=0===t?0:t,t)}}),i&&_r(o.prototype,\"size\",{get:function(){return a(this).size}}),o},setStrong:function(t,e,r){var n=e+\" Iterator\",o=Mr(e),i=Mr(n);We(t,e,function(t,e){Tr(this,{type:n,target:t,state:o(t),kind:e,last:void 0})},function(){for(var t=i(this),e=t.kind,r=t.last;r&&r.removed;)r=r.previous;return t.target&&(t.last=r=r?r.next:t.state.first)?\"keys\"==e?{value:r.key,done:!1}:\"values\"==e?{value:r.value,done:!1}:{value:[r.key,r.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})},r?\"entries\":\"values\",!r,!0),Pr(e)}},Nr=jr(\"Map\",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},kr);Je||Z(Object.prototype,\"toString\",Je?{}.toString:function(){return\"[object \"+tr(this)+\"]\"},{unsafe:!0});var Lr={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Ur=Ft(\"iterator\"),Cr=Ft(\"toStringTag\"),Fr=hr.values;for(var Dr in Lr){var Br=n[Dr],Wr=Br&&Br.prototype;if(Wr){if(Wr[Ur]!==Fr)try{_(Wr,Ur,Fr)}catch(t){Wr[Ur]=Fr}if(Wr[Cr]||_(Wr,Cr,Dr),Lr[Dr])for(var zr in hr)if(Wr[zr]!==hr[zr])try{_(Wr,zr,hr[zr])}catch(t){Wr[zr]=hr[zr]}}}var Kr=function(t){var e,r,n,o,i=arguments.length,a=i>1?arguments[1]:void 0;return Yt(this),(e=void 0!==a)&&Yt(a),null==t?new this:(r=[],e?(n=0,o=Jt(a,i>2?arguments[2]:void 0,2),Er(t,function(t){r.push(o(t,n++))})):Er(t,r.push,r),new this(r))};_t({target:\"Map\",stat:!0},{from:Kr});var Gr=function(){for(var t=arguments.length,e=new Array(t);t--;)e[t]=arguments[t];return new this(e)};_t({target:\"Map\",stat:!0},{of:Gr});var $r=function(){for(var t,e=A(this),r=Yt(e.delete),n=!0,o=0,i=arguments.length;o<i;o++)t=r.call(e,arguments[o]),n=n&&t;return!!n};_t({target:\"Map\",proto:!0,real:!0,forced:!1},{deleteAll:function(){return $r.apply(this,arguments)}});var Vr=function(t){return Map.prototype.entries.call(t)};_t({target:\"Map\",proto:!0,real:!0,forced:!1},{every:function(t){var e=A(this),r=Vr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3);return!Er(r,function(t,r){if(!n(r,t,e))return Er.stop()},void 0,!0,!0).stopped}});var qr=Ft(\"species\"),Hr=function(t,e){var r,n=A(t).constructor;return void 0===n||null==(r=A(n)[qr])?e:Yt(r)};_t({target:\"Map\",proto:!0,real:!0,forced:!1},{filter:function(t){var e=A(this),r=Vr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3),o=new(Hr(e,rt(\"Map\"))),i=Yt(o.set);return Er(r,function(t,r){n(r,t,e)&&i.call(o,t,r)},void 0,!0,!0),o}}),_t({target:\"Map\",proto:!0,real:!0,forced:!1},{find:function(t){var e=A(this),r=Vr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3);return Er(r,function(t,r){if(n(r,t,e))return Er.stop(r)},void 0,!0,!0).result}}),_t({target:\"Map\",proto:!0,real:!0,forced:!1},{findKey:function(t){var e=A(this),r=Vr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3);return Er(r,function(t,r){if(n(r,t,e))return Er.stop(t)},void 0,!0,!0).result}}),_t({target:\"Map\",stat:!0},{groupBy:function(t,e){var r=new this;Yt(e);var n=Yt(r.has),o=Yt(r.get),i=Yt(r.set);return Er(t,function(t){var a=e(t);n.call(r,a)?o.call(r,a).push(t):i.call(r,a,[t])}),r}}),_t({target:\"Map\",proto:!0,real:!0,forced:!1},{includes:function(t){return Er(Vr(A(this)),function(e,r){if((n=r)===(o=t)||n!=n&&o!=o)return Er.stop();var n,o},void 0,!0,!0).stopped}}),_t({target:\"Map\",stat:!0},{keyBy:function(t,e){var r=new this;Yt(e);var n=Yt(r.set);return Er(t,function(t){n.call(r,e(t),t)}),r}}),_t({target:\"Map\",proto:!0,real:!0,forced:!1},{keyOf:function(t){return Er(Vr(A(this)),function(e,r){if(r===t)return Er.stop(e)},void 0,!0,!0).result}}),_t({target:\"Map\",proto:!0,real:!0,forced:!1},{mapKeys:function(t){var e=A(this),r=Vr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3),o=new(Hr(e,rt(\"Map\"))),i=Yt(o.set);return Er(r,function(t,r){i.call(o,n(r,t,e),r)},void 0,!0,!0),o}}),_t({target:\"Map\",proto:!0,real:!0,forced:!1},{mapValues:function(t){var e=A(this),r=Vr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3),o=new(Hr(e,rt(\"Map\"))),i=Yt(o.set);return Er(r,function(t,r){i.call(o,t,n(r,t,e))},void 0,!0,!0),o}}),_t({target:\"Map\",proto:!0,real:!0,forced:!1},{merge:function(t){for(var e=A(this),r=Yt(e.set),n=0;n<arguments.length;)Er(arguments[n++],r,e,!0);return e}}),_t({target:\"Map\",proto:!0,real:!0,forced:!1},{reduce:function(t){var e=A(this),r=Vr(e),n=arguments.length<2,o=n?void 0:arguments[1];if(Yt(t),Er(r,function(r,i){n?(n=!1,o=i):o=t(o,i,r,e)},void 0,!0,!0),n)throw TypeError(\"Reduce of empty map with no initial value\");return o}}),_t({target:\"Map\",proto:!0,real:!0,forced:!1},{some:function(t){var e=A(this),r=Vr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3);return Er(r,function(t,r){if(n(r,t,e))return Er.stop()},void 0,!0,!0).stopped}}),_t({target:\"Map\",proto:!0,real:!0,forced:!1},{update:function(t,e){var r=A(this),n=arguments.length;Yt(e);var o=r.has(t);if(!o&&n<3)throw TypeError(\"Updating absent value\");var i=o?r.get(t):Yt(n>2?arguments[2]:void 0)(t,r);return r.set(t,e(i,t,r)),r}});var Xr=function(t,e){var r,n=A(this),o=arguments.length>2?arguments[2]:void 0;if(\"function\"!=typeof e&&\"function\"!=typeof o)throw TypeError(\"At least one callback required\");return n.has(t)?(r=n.get(t),\"function\"==typeof e&&(r=e(r),n.set(t,r))):\"function\"==typeof o&&(r=o(),n.set(t,r)),r};_t({target:\"Map\",proto:!0,real:!0,forced:!1},{upsert:Xr}),_t({target:\"Map\",proto:!0,real:!0,forced:!1},{updateOrInsert:Xr});var Yr=jr(\"Set\",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},kr);_t({target:\"Set\",stat:!0},{from:Kr}),_t({target:\"Set\",stat:!0},{of:Gr});var Jr=function(){for(var t=A(this),e=Yt(t.add),r=0,n=arguments.length;r<n;r++)e.call(t,arguments[r]);return t};_t({target:\"Set\",proto:!0,real:!0,forced:!1},{addAll:function(){return Jr.apply(this,arguments)}}),_t({target:\"Set\",proto:!0,real:!0,forced:!1},{deleteAll:function(){return $r.apply(this,arguments)}});var Qr=function(t){return Set.prototype.values.call(t)};_t({target:\"Set\",proto:!0,real:!0,forced:!1},{every:function(t){var e=A(this),r=Qr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3);return!Er(r,function(t){if(!n(t,t,e))return Er.stop()},void 0,!1,!0).stopped}}),_t({target:\"Set\",proto:!0,real:!0,forced:!1},{difference:function(t){var e=A(this),r=new(Hr(e,rt(\"Set\")))(e),n=Yt(r.delete);return Er(t,function(t){n.call(r,t)}),r}}),_t({target:\"Set\",proto:!0,real:!0,forced:!1},{filter:function(t){var e=A(this),r=Qr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3),o=new(Hr(e,rt(\"Set\"))),i=Yt(o.add);return Er(r,function(t){n(t,t,e)&&i.call(o,t)},void 0,!1,!0),o}}),_t({target:\"Set\",proto:!0,real:!0,forced:!1},{find:function(t){var e=A(this),r=Qr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3);return Er(r,function(t){if(n(t,t,e))return Er.stop(t)},void 0,!1,!0).result}}),_t({target:\"Set\",proto:!0,real:!0,forced:!1},{intersection:function(t){var e=A(this),r=new(Hr(e,rt(\"Set\"))),n=Yt(e.has),o=Yt(r.add);return Er(t,function(t){n.call(e,t)&&o.call(r,t)}),r}}),_t({target:\"Set\",proto:!0,real:!0,forced:!1},{isDisjointFrom:function(t){var e=A(this),r=Yt(e.has);return!Er(t,function(t){if(!0===r.call(e,t))return Er.stop()}).stopped}}),_t({target:\"Set\",proto:!0,real:!0,forced:!1},{isSubsetOf:function(t){var e=function(t){var e=rr(t);if(\"function\"!=typeof e)throw TypeError(String(t)+\" is not iterable\");return A(e.call(t))}(this),r=A(t),n=r.has;return\"function\"!=typeof n&&(r=new(rt(\"Set\"))(t),n=Yt(r.has)),!Er(e,function(t){if(!1===n.call(r,t))return Er.stop()},void 0,!1,!0).stopped}}),_t({target:\"Set\",proto:!0,real:!0,forced:!1},{isSupersetOf:function(t){var e=A(this),r=Yt(e.has);return!Er(t,function(t){if(!1===r.call(e,t))return Er.stop()}).stopped}}),_t({target:\"Set\",proto:!0,real:!0,forced:!1},{join:function(t){var e=A(this),r=Qr(e),n=void 0===t?\",\":String(t),o=[];return Er(r,o.push,o,!1,!0),o.join(n)}}),_t({target:\"Set\",proto:!0,real:!0,forced:!1},{map:function(t){var e=A(this),r=Qr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3),o=new(Hr(e,rt(\"Set\"))),i=Yt(o.add);return Er(r,function(t){i.call(o,n(t,t,e))},void 0,!1,!0),o}}),_t({target:\"Set\",proto:!0,real:!0,forced:!1},{reduce:function(t){var e=A(this),r=Qr(e),n=arguments.length<2,o=n?void 0:arguments[1];if(Yt(t),Er(r,function(r){n?(n=!1,o=r):o=t(o,r,r,e)},void 0,!1,!0),n)throw TypeError(\"Reduce of empty set with no initial value\");return o}}),_t({target:\"Set\",proto:!0,real:!0,forced:!1},{some:function(t){var e=A(this),r=Qr(e),n=Jt(t,arguments.length>1?arguments[1]:void 0,3);return Er(r,function(t){if(n(t,t,e))return Er.stop()},void 0,!1,!0).stopped}}),_t({target:\"Set\",proto:!0,real:!0,forced:!1},{symmetricDifference:function(t){var e=A(this),r=new(Hr(e,rt(\"Set\")))(e),n=Yt(r.delete),o=Yt(r.add);return Er(t,function(t){n.call(r,t)||o.call(r,t)}),r}}),_t({target:\"Set\",proto:!0,real:!0,forced:!1},{union:function(t){var e=A(this),r=new(Hr(e,rt(\"Set\")))(e);return Er(t,Yt(r.add),r),r}});var Zr=wr.getWeakData,tn=Q.set,en=Q.getterFor,rn=ie.find,nn=ie.findIndex,on=0,an=function(t){return t.frozen||(t.frozen=new un)},un=function(){this.entries=[]},cn=function(t,e){return rn(t.entries,function(t){return t[0]===e})};un.prototype={get:function(t){var e=cn(this,t);if(e)return e[1]},has:function(t){return!!cn(this,t)},set:function(t,e){var r=cn(this,t);r?r[1]=e:this.entries.push([t,e])},delete:function(t){var e=nn(this.entries,function(e){return e[0]===t});return~e&&this.entries.splice(e,1),!!~e}};var sn={getConstructor:function(t,e,r,n){var o=t(function(t,i){xr(t,o,e),tn(t,{type:e,id:on++,frozen:void 0}),null!=i&&Er(i,t[n],t,r)}),i=en(e),a=function(t,e,r){var n=i(t),o=Zr(A(e),!0);return!0===o?an(n).set(e,r):o[n.id]=r,t};return Ar(o.prototype,{delete:function(t){var e=i(this);if(!g(t))return!1;var r=Zr(t);return!0===r?an(e).delete(t):r&&b(r,e.id)&&delete r[e.id]},has:function(t){var e=i(this);if(!g(t))return!1;var r=Zr(t);return!0===r?an(e).has(t):r&&b(r,e.id)}}),Ar(o.prototype,r?{get:function(t){var e=i(this);if(g(t)){var r=Zr(t);return!0===r?an(e).get(t):r?r[e.id]:void 0}},set:function(t,e){return a(this,t,e)}}:{add:function(t){return a(this,t,!0)}}),o}},fn=e(function(t){var e,r=Q.enforce,o=!n.ActiveXObject&&\"ActiveXObject\"in n,i=Object.isExtensible,a=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},u=t.exports=jr(\"WeakMap\",a,sn);if(F&&o){e=sn.getConstructor(a,\"WeakMap\",!0),wr.REQUIRED=!0;var c=u.prototype,s=c.delete,f=c.has,l=c.get,p=c.set;Ar(c,{delete:function(t){if(g(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),s.call(this,t)||n.frozen.delete(t)}return s.call(this,t)},has:function(t){if(g(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),f.call(this,t)||n.frozen.has(t)}return f.call(this,t)},get:function(t){if(g(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),f.call(this,t)?l.call(this,t):n.frozen.get(t)}return l.call(this,t)},set:function(t,n){if(g(t)&&!i(t)){var o=r(this);o.frozen||(o.frozen=new e),f.call(this,t)?p.call(this,t,n):o.frozen.set(t,n)}else p.call(this,t,n);return this}})}});_t({target:\"WeakMap\",stat:!0},{from:Kr}),_t({target:\"WeakMap\",stat:!0},{of:Gr}),_t({target:\"WeakMap\",proto:!0,real:!0,forced:!1},{deleteAll:function(){return $r.apply(this,arguments)}}),_t({target:\"WeakMap\",proto:!0,real:!0,forced:!1},{upsert:Xr}),jr(\"WeakSet\",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},sn),_t({target:\"WeakSet\",proto:!0,real:!0,forced:!1},{addAll:function(){return Jr.apply(this,arguments)}}),_t({target:\"WeakSet\",proto:!0,real:!0,forced:!1},{deleteAll:function(){return $r.apply(this,arguments)}}),_t({target:\"WeakSet\",stat:!0},{from:Kr}),_t({target:\"WeakSet\",stat:!0},{of:Gr});var ln=\"\\t\\n\\v\\f\\r \\u2028\\u2029\\ufeff\",pn=\"[\"+ln+\"]\",hn=RegExp(\"^\"+pn+pn+\"*\"),dn=RegExp(pn+pn+\"*$\"),vn=function(t){return function(e){var r=String(d(e));return 1&t&&(r=r.replace(hn,\"\")),2&t&&(r=r.replace(dn,\"\")),r}},gn={start:vn(1),end:vn(2),trim:vn(3)},yn=yt.f,mn=j.f,bn=P.f,Sn=gn.trim,wn=n.Number,En=wn.prototype,xn=\"Number\"==l(Vt(En)),On=function(t){var e,r,n,o,i,a,u,c,s=y(t,!1);if(\"string\"==typeof s&&s.length>2)if(43===(e=(s=Sn(s)).charCodeAt(0))||45===e){if(88===(r=s.charCodeAt(2))||120===r)return NaN}else if(48===e){switch(s.charCodeAt(1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+s}for(a=(i=s.slice(2)).length,u=0;u<a;u++)if((c=i.charCodeAt(u))<48||c>o)return NaN;return parseInt(i,n)}return+s};if(Rt(\"Number\",!wn(\" 0o1\")||!wn(\"0b1\")||wn(\"+0x1\"))){for(var jn,An=function(t){var e=arguments.length<1?0:t,r=this;return r instanceof An&&(xn?o(function(){En.valueOf.call(r)}):\"Number\"!=l(r))?Or(new wn(On(e)),r,An):On(e)},Rn=i?yn(wn):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"),Pn=0;Rn.length>Pn;Pn++)b(wn,jn=Rn[Pn])&&!b(An,jn)&&bn(An,jn,mn(wn,jn));An.prototype=En,En.constructor=An,Z(n,\"Number\",An)}_t({target:\"Number\",stat:!0},{EPSILON:Math.pow(2,-52)});var _n=n.isFinite;_t({target:\"Number\",stat:!0},{isFinite:Number.isFinite||function(t){return\"number\"==typeof t&&_n(t)}});var In=Math.floor,Tn=function(t){return!g(t)&&isFinite(t)&&In(t)===t};_t({target:\"Number\",stat:!0},{isInteger:Tn}),_t({target:\"Number\",stat:!0},{isNaN:function(t){return t!=t}});var Mn=Math.abs;_t({target:\"Number\",stat:!0},{isSafeInteger:function(t){return Tn(t)&&Mn(t)<=9007199254740991}}),_t({target:\"Number\",stat:!0},{MAX_SAFE_INTEGER:9007199254740991}),_t({target:\"Number\",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991});var kn=c.f,Nn=function(t){return function(e){for(var r,n=v(e),o=Dt(n),a=o.length,u=0,c=[];a>u;)r=o[u++],i&&!kn.call(n,r)||c.push(t?[r,n[r]]:n[r]);return c}},Ln={entries:Nn(!0),values:Nn(!1)},Un=Ln.entries;_t({target:\"Object\",stat:!0},{entries:function(t){return Un(t)}}),_t({target:\"Object\",stat:!0,sham:!i},{getOwnPropertyDescriptors:function(t){for(var e,r,n=v(t),o=j.f,i=bt(n),a={},u=0;i.length>u;)void 0!==(r=o(n,e=i[u++]))&&Xe(a,e,r);return a}});var Cn=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};_t({target:\"Object\",stat:!0},{is:Cn});var Fn=o(function(){Dt(1)});_t({target:\"Object\",stat:!0,forced:Fn},{keys:function(t){return Dt(It(t))}});var Dn=Ln.values;_t({target:\"Object\",stat:!0},{values:function(t){return Dn(t)}});var Bn=we.codeAt;_t({target:\"String\",proto:!0},{codePointAt:function(t){return Bn(this,t)}}),Zt(\"String\",\"codePointAt\");var Wn,zn=Ft(\"match\"),Kn=function(t){var e;return g(t)&&(void 0!==(e=t[zn])?!!e:\"RegExp\"==l(t))},Gn=function(t){if(Kn(t))throw TypeError(\"The method doesn't accept regular expressions\");return t},$n=Ft(\"match\"),Vn=function(t){var e=/./;try{\"/./\"[t](e)}catch(r){try{return e[$n]=!1,\"/./\"[t](e)}catch(t){}}return!1},qn=j.f,Hn=\"\".endsWith,Xn=Math.min,Yn=Vn(\"endsWith\"),Jn=!(Yn||(Wn=qn(String.prototype,\"endsWith\"),!Wn||Wn.writable));_t({target:\"String\",proto:!0,forced:!Jn&&!Yn},{endsWith:function(t){var e=String(d(this));Gn(t);var r=arguments.length>1?arguments[1]:void 0,n=ut(e.length),o=void 0===r?n:Xn(ut(r),n),i=String(t);return Hn?Hn.call(e,i,o):e.slice(o-i.length,o)===i}}),Zt(\"String\",\"endsWith\");var Qn=String.fromCharCode,Zn=String.fromCodePoint;_t({target:\"String\",stat:!0,forced:!!Zn&&1!=Zn.length},{fromCodePoint:function(t){for(var e,r=[],n=arguments.length,o=0;n>o;){if(e=+arguments[o++],ft(e,1114111)!==e)throw RangeError(e+\" is not a valid code point\");r.push(e<65536?Qn(e):Qn(55296+((e-=65536)>>10),e%1024+56320))}return r.join(\"\")}}),_t({target:\"String\",proto:!0,forced:!Vn(\"includes\")},{includes:function(t){return!!~String(d(this)).indexOf(Gn(t),arguments.length>1?arguments[1]:void 0)}}),Zt(\"String\",\"includes\");var to=\"\".repeat||function(t){var e=String(d(this)),r=\"\",n=it(t);if(n<0||Infinity==n)throw RangeError(\"Wrong number of repetitions\");for(;n>0;(n>>>=1)&&(e+=e))1&n&&(r+=e);return r},eo=Math.ceil,ro=function(t){return function(e,r,n){var o,i,a=String(d(e)),u=a.length,c=void 0===n?\" \":String(n),s=ut(r);return s<=u||\"\"==c?a:((i=to.call(c,eo((o=s-u)/c.length))).length>o&&(i=i.slice(0,o)),t?a+i:i+a)}},no={start:ro(!1),end:ro(!0)},oo=rt(\"navigator\",\"userAgent\")||\"\",io=/Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(oo),ao=no.start;_t({target:\"String\",proto:!0,forced:io},{padStart:function(t){return ao(this,t,arguments.length>1?arguments[1]:void 0)}}),Zt(\"String\",\"padStart\");var uo=no.end;_t({target:\"String\",proto:!0,forced:io},{padEnd:function(t){return uo(this,t,arguments.length>1?arguments[1]:void 0)}}),Zt(\"String\",\"padEnd\"),_t({target:\"String\",stat:!0},{raw:function(t){for(var e=v(t.raw),r=ut(e.length),n=arguments.length,o=[],i=0;r>i;)o.push(String(e[i++])),i<n&&o.push(String(arguments[i]));return o.join(\"\")}}),_t({target:\"String\",proto:!0},{repeat:to}),Zt(\"String\",\"repeat\");var co=j.f,so=\"\".startsWith,fo=Math.min,lo=Vn(\"startsWith\"),po=!lo&&!!function(){var t=co(String.prototype,\"startsWith\");return t&&!t.writable}();_t({target:\"String\",proto:!0,forced:!po&&!lo},{startsWith:function(t){var e=String(d(this));Gn(t);var r=ut(fo(arguments.length>1?arguments[1]:void 0,e.length)),n=String(t);return so?so.call(e,n,r):e.slice(r,r+n.length)===n}}),Zt(\"String\",\"startsWith\");var ho=function(t){return o(function(){return!!ln[t]()||\"
\"!=\"
\"[t]()||ln[t].name!==t})},vo=gn.start,go=ho(\"trimStart\"),yo=go?function(){return vo(this)}:\"\".trimStart;_t({target:\"String\",proto:!0,forced:go},{trimStart:yo,trimLeft:yo}),Zt(\"String\",\"trimLeft\");var mo=gn.end,bo=ho(\"trimEnd\"),So=bo?function(){return mo(this)}:\"\".trimEnd;_t({target:\"String\",proto:!0,forced:bo},{trimEnd:So,trimRight:So}),Zt(\"String\",\"trimRight\");var wo=rt(\"Reflect\",\"apply\"),Eo=Function.apply,xo=!o(function(){wo(function(){})});_t({target:\"Reflect\",stat:!0,forced:xo},{apply:function(t,e,r){return Yt(t),A(r),wo?wo(t,e,r):Eo.call(t,e,r)}});var Oo=[].slice,jo={},Ao=function(t,e,r){if(!(e in jo)){for(var n=[],o=0;o<e;o++)n[o]=\"a[\"+o+\"]\";jo[e]=Function(\"C,a\",\"return new C(\"+n.join(\",\")+\")\")}return jo[e](t,r)},Ro=Function.bind||function(t){var e=Yt(this),r=Oo.call(arguments,1),n=function(){var o=r.concat(Oo.call(arguments));return this instanceof n?Ao(e,o.length,o):e.apply(t,o)};return g(e.prototype)&&(n.prototype=e.prototype),n},Po=rt(\"Reflect\",\"construct\"),_o=o(function(){function t(){}return!(Po(function(){},[],t)instanceof t)}),Io=!o(function(){Po(function(){})}),To=_o||Io;_t({target:\"Reflect\",stat:!0,forced:To,sham:To},{construct:function(t,e){Yt(t),A(e);var r=arguments.length<3?t:Yt(arguments[2]);if(Io&&!_o)return Po(t,e,r);if(t==r){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var n=[null];return n.push.apply(n,e),new(Ro.apply(t,n))}var o=r.prototype,i=Vt(g(o)?o:Object.prototype),a=Function.apply.call(t,i,e);return g(a)?a:i}});var Mo=o(function(){Reflect.defineProperty(P.f({},1,{value:1}),1,{value:2})});_t({target:\"Reflect\",stat:!0,forced:Mo,sham:!i},{defineProperty:function(t,e,r){A(t);var n=y(e,!0);A(r);try{return P.f(t,n,r),!0}catch(t){return!1}}});var ko=j.f;_t({target:\"Reflect\",stat:!0},{deleteProperty:function(t,e){var r=ko(A(t),e);return!(r&&!r.configurable)&&delete t[e]}}),_t({target:\"Reflect\",stat:!0},{get:function t(e,r){var n,o,i=arguments.length<3?e:arguments[2];return A(e)===i?e[r]:(n=j.f(e,r))?b(n,\"value\")?n.value:void 0===n.get?void 0:n.get.call(i):g(o=je(e))?t(o,r,i):void 0}}),_t({target:\"Reflect\",stat:!0,sham:!i},{getOwnPropertyDescriptor:function(t,e){return j.f(A(t),e)}}),_t({target:\"Reflect\",stat:!0,sham:!Ee},{getPrototypeOf:function(t){return je(A(t))}}),_t({target:\"Reflect\",stat:!0},{has:function(t,e){return e in t}});var No=Object.isExtensible;_t({target:\"Reflect\",stat:!0},{isExtensible:function(t){return A(t),!No||No(t)}}),_t({target:\"Reflect\",stat:!0},{ownKeys:bt}),_t({target:\"Reflect\",stat:!0,sham:!Sr},{preventExtensions:function(t){A(t);try{var e=rt(\"Object\",\"preventExtensions\");return e&&e(t),!0}catch(t){return!1}}});var Lo=o(function(){var t=P.f({},\"a\",{configurable:!0});return!1!==Reflect.set(je(t),\"a\",1,t)});_t({target:\"Reflect\",stat:!0,forced:Lo},{set:function t(e,r,n){var o,i,a=arguments.length<4?e:arguments[3],u=j.f(A(e),r);if(!u){if(g(i=je(e)))return t(i,r,n,a);u=s(0)}if(b(u,\"value\")){if(!1===u.writable||!g(a))return!1;if(o=j.f(a,r)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,P.f(a,r,o)}else P.f(a,r,s(0,n));return!0}return void 0!==u.set&&(u.set.call(a,n),!0)}}),Ue&&_t({target:\"Reflect\",stat:!0},{setPrototypeOf:function(t,e){A(t),Le(e);try{return Ue(t,e),!0}catch(t){return!1}}});var Uo=D(\"metadata\"),Co=Uo.store||(Uo.store=new fn),Fo=function(t,e,r){var n=Co.get(t);if(!n){if(!r)return;Co.set(t,n=new Nr)}var o=n.get(e);if(!o){if(!r)return;n.set(e,o=new Nr)}return o},Do={store:Co,getMap:Fo,has:function(t,e,r){var n=Fo(e,r,!1);return void 0!==n&&n.has(t)},get:function(t,e,r){var n=Fo(e,r,!1);return void 0===n?void 0:n.get(t)},set:function(t,e,r,n){Fo(r,n,!0).set(t,e)},keys:function(t,e){var r=Fo(t,e,!1),n=[];return r&&r.forEach(function(t,e){n.push(e)}),n},toKey:function(t){return void 0===t||\"symbol\"==typeof t?t:String(t)}},Bo=Do.toKey,Wo=Do.set;_t({target:\"Reflect\",stat:!0},{defineMetadata:function(t,e,r){var n=arguments.length<4?void 0:Bo(arguments[3]);Wo(t,e,A(r),n)}});var zo=Do.toKey,Ko=Do.getMap,Go=Do.store;_t({target:\"Reflect\",stat:!0},{deleteMetadata:function(t,e){var r=arguments.length<3?void 0:zo(arguments[2]),n=Ko(A(e),r,!1);if(void 0===n||!n.delete(t))return!1;if(n.size)return!0;var o=Go.get(e);return o.delete(r),!!o.size||Go.delete(e)}});var $o=Do.has,Vo=Do.get,qo=Do.toKey,Ho=function t(e,r,n){if($o(e,r,n))return Vo(e,r,n);var o=je(r);return null!==o?t(e,o,n):void 0};_t({target:\"Reflect\",stat:!0},{getMetadata:function(t,e){var r=arguments.length<3?void 0:qo(arguments[2]);return Ho(t,A(e),r)}});var Xo=Do.keys,Yo=Do.toKey,Jo=function t(e,r){var n=Xo(e,r),o=je(e);if(null===o)return n;var i,a,u=t(o,r);return u.length?n.length?(i=new Yr(n.concat(u)),Er(i,(a=[]).push,a),a):u:n};_t({target:\"Reflect\",stat:!0},{getMetadataKeys:function(t){var e=arguments.length<2?void 0:Yo(arguments[1]);return Jo(A(t),e)}});var Qo=Do.get,Zo=Do.toKey;_t({target:\"Reflect\",stat:!0},{getOwnMetadata:function(t,e){var r=arguments.length<3?void 0:Zo(arguments[2]);return Qo(t,A(e),r)}});var ti=Do.keys,ei=Do.toKey;_t({target:\"Reflect\",stat:!0},{getOwnMetadataKeys:function(t){var e=arguments.length<2?void 0:ei(arguments[1]);return ti(A(t),e)}});var ri=Do.has,ni=Do.toKey,oi=function t(e,r,n){if(ri(e,r,n))return!0;var o=je(r);return null!==o&&t(e,o,n)};_t({target:\"Reflect\",stat:!0},{hasMetadata:function(t,e){var r=arguments.length<3?void 0:ni(arguments[2]);return oi(t,A(e),r)}});var ii=Do.has,ai=Do.toKey;_t({target:\"Reflect\",stat:!0},{hasOwnMetadata:function(t,e){var r=arguments.length<3?void 0:ai(arguments[2]);return ii(t,A(e),r)}});var ui=Do.toKey,ci=Do.set;_t({target:\"Reflect\",stat:!0},{metadata:function(t,e){return function(r,n){ci(t,e,A(r),ui(n))}}});var si=function(){var t=A(this),e=\"\";return t.global&&(e+=\"g\"),t.ignoreCase&&(e+=\"i\"),t.multiline&&(e+=\"m\"),t.dotAll&&(e+=\"s\"),t.unicode&&(e+=\"u\"),t.sticky&&(e+=\"y\"),e};function fi(t,e){return RegExp(t,e)}var li={UNSUPPORTED_Y:o(function(){var t=fi(\"a\",\"y\");return t.lastIndex=2,null!=t.exec(\"abcd\")}),BROKEN_CARET:o(function(){var t=fi(\"^r\",\"gy\");return t.lastIndex=2,null!=t.exec(\"str\")})},pi=P.f,hi=yt.f,di=Q.set,vi=Ft(\"match\"),gi=n.RegExp,yi=gi.prototype,mi=/a/g,bi=/a/g,Si=new gi(mi)!==mi,wi=li.UNSUPPORTED_Y;if(i&&Rt(\"RegExp\",!Si||wi||o(function(){return bi[vi]=!1,gi(mi)!=mi||gi(bi)==bi||\"/a/i\"!=gi(mi,\"i\")}))){for(var Ei=function(t,e){var r,n=this instanceof Ei,o=Kn(t),i=void 0===e;if(!n&&o&&t.constructor===Ei&&i)return t;Si?o&&!i&&(t=t.source):t instanceof Ei&&(i&&(e=si.call(t)),t=t.source),wi&&(r=!!e&&e.indexOf(\"y\")>-1)&&(e=e.replace(/y/g,\"\"));var a=Or(Si?new gi(t,e):gi(t,e),n?this:yi,Ei);return wi&&r&&di(a,{sticky:r}),a},xi=function(t){t in Ei||pi(Ei,t,{configurable:!0,get:function(){return gi[t]},set:function(e){gi[t]=e}})},Oi=hi(gi),ji=0;Oi.length>ji;)xi(Oi[ji++]);yi.constructor=Ei,Ei.prototype=yi,Z(n,\"RegExp\",Ei)}Pr(\"RegExp\");var Ai=RegExp.prototype,Ri=Ai.toString;(o(function(){return\"/a/b\"!=Ri.call({source:\"a\",flags:\"b\"})})||\"toString\"!=Ri.name)&&Z(RegExp.prototype,\"toString\",function(){var t=A(this),e=String(t.source),r=t.flags;return\"/\"+e+\"/\"+String(void 0===r&&t instanceof RegExp&&!(\"flags\"in Ai)?si.call(t):r)},{unsafe:!0});var Pi=RegExp.prototype.exec,_i=String.prototype.replace,Ii=Pi,Ti=function(){var t=/a/,e=/b*/g;return Pi.call(t,\"a\"),Pi.call(e,\"a\"),0!==t.lastIndex||0!==e.lastIndex}(),Mi=li.UNSUPPORTED_Y||li.BROKEN_CARET,ki=void 0!==/()??/.exec(\"\")[1];(Ti||ki||Mi)&&(Ii=function(t){var e,r,n,o,i=this,a=Mi&&i.sticky,u=si.call(i),c=i.source,s=0,f=t;return a&&(-1===(u=u.replace(\"y\",\"\")).indexOf(\"g\")&&(u+=\"g\"),f=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&\"\\n\"!==t[i.lastIndex-1])&&(c=\"(?: \"+c+\")\",f=\" \"+f,s++),r=new RegExp(\"^(?:\"+c+\")\",u)),ki&&(r=new RegExp(\"^\"+c+\"$(?!\\\\s)\",u)),Ti&&(e=i.lastIndex),n=Pi.call(a?r:i,f),a?n?(n.input=n.input.slice(s),n[0]=n[0].slice(s),n.index=i.lastIndex,i.lastIndex+=n[0].length):i.lastIndex=0:Ti&&n&&(i.lastIndex=i.global?n.index+n[0].length:e),ki&&n&&n.length>1&&_i.call(n[0],r,function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(n[o]=void 0)}),n});var Ni=Ii;_t({target:\"RegExp\",proto:!0,forced:/./.exec!==Ni},{exec:Ni}),i&&(\"g\"!=/./g.flags||li.UNSUPPORTED_Y)&&P.f(RegExp.prototype,\"flags\",{configurable:!0,get:si});var Li=Q.get,Ui=RegExp.prototype;i&&li.UNSUPPORTED_Y&&(0,P.f)(RegExp.prototype,\"sticky\",{configurable:!0,get:function(){if(this!==Ui){if(this instanceof RegExp)return!!Li(this).sticky;throw TypeError(\"Incompatible receiver, RegExp required\")}}});var Ci,Fi,Di=(Ci=!1,(Fi=/[ac]/).exec=function(){return Ci=!0,/./.exec.apply(this,arguments)},!0===Fi.test(\"abc\")&&Ci),Bi=/./.test;_t({target:\"RegExp\",proto:!0,forced:!Di},{test:function(t){if(\"function\"!=typeof this.exec)return Bi.call(this,t);var e=this.exec(t);if(null!==e&&!g(e))throw new Error(\"RegExp exec method returned something other than an Object or null\");return!!e}});var Wi=Ft(\"species\"),zi=!o(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:\"7\"},t},\"7\"!==\"\".replace(t,\"$<a>\")}),Ki=\"$0\"===\"a\".replace(/./,\"$0\"),Gi=Ft(\"replace\"),$i=!!/./[Gi]&&\"\"===/./[Gi](\"a\",\"$0\"),Vi=!o(function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r=\"ab\".split(t);return 2!==r.length||\"a\"!==r[0]||\"b\"!==r[1]}),qi=function(t,e,r,n){var i=Ft(t),a=!o(function(){var e={};return e[i]=function(){return 7},7!=\"\"[t](e)}),u=a&&!o(function(){var e=!1,r=/a/;return\"split\"===t&&((r={}).constructor={},r.constructor[Wi]=function(){return r},r.flags=\"\",r[i]=/./[i]),r.exec=function(){return e=!0,null},r[i](\"\"),!e});if(!a||!u||\"replace\"===t&&(!zi||!Ki||$i)||\"split\"===t&&!Vi){var c=/./[i],s=r(i,\"\"[t],function(t,e,r,n,o){return e.exec===Ni?a&&!o?{done:!0,value:c.call(e,r,n)}:{done:!0,value:t.call(r,e,n)}:{done:!1}},{REPLACE_KEEPS_$0:Ki,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:$i}),f=s[1];Z(String.prototype,t,s[0]),Z(RegExp.prototype,i,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)})}n&&_(RegExp.prototype[i],\"sham\",!0)},Hi=we.charAt,Xi=function(t,e,r){return e+(r?Hi(t,e).length:1)},Yi=function(t,e){var r=t.exec;if(\"function\"==typeof r){var n=r.call(t,e);if(\"object\"!=typeof n)throw TypeError(\"RegExp exec method returned something other than an Object or null\");return n}if(\"RegExp\"!==l(t))throw TypeError(\"RegExp#exec called on incompatible receiver\");return Ni.call(t,e)};qi(\"match\",1,function(t,e,r){return[function(e){var r=d(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var o=A(t),i=String(this);if(!o.global)return Yi(o,i);var a=o.unicode;o.lastIndex=0;for(var u,c=[],s=0;null!==(u=Yi(o,i));){var f=String(u[0]);c[s]=f,\"\"===f&&(o.lastIndex=Xi(i,ut(o.lastIndex),a)),s++}return 0===s?null:c}]});var Ji=Math.max,Qi=Math.min,Zi=Math.floor,ta=/\\$([$&'`]|\\d\\d?|<[^>]*>)/g,ea=/\\$([$&'`]|\\d\\d?)/g;qi(\"replace\",2,function(t,e,r,n){var o=n.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,i=n.REPLACE_KEEPS_$0,a=o?\"$\":\"$0\";return[function(r,n){var o=d(this),i=null==r?void 0:r[t];return void 0!==i?i.call(r,o,n):e.call(String(o),r,n)},function(t,n){if(!o&&i||\"string\"==typeof n&&-1===n.indexOf(a)){var c=r(e,t,this,n);if(c.done)return c.value}var s=A(t),f=String(this),l=\"function\"==typeof n;l||(n=String(n));var p=s.global;if(p){var h=s.unicode;s.lastIndex=0}for(var d=[];;){var v=Yi(s,f);if(null===v)break;if(d.push(v),!p)break;\"\"===String(v[0])&&(s.lastIndex=Xi(f,ut(s.lastIndex),h))}for(var g,y=\"\",m=0,b=0;b<d.length;b++){v=d[b];for(var S=String(v[0]),w=Ji(Qi(it(v.index),f.length),0),E=[],x=1;x<v.length;x++)E.push(void 0===(g=v[x])?g:String(g));var O=v.groups;if(l){var j=[S].concat(E,w,f);void 0!==O&&j.push(O);var R=String(n.apply(void 0,j))}else R=u(S,f,w,E,O,n);w>=m&&(y+=f.slice(m,w)+R,m=w+S.length)}return y+f.slice(m)}];function u(t,r,n,o,i,a){var u=n+t.length,c=o.length,s=ea;return void 0!==i&&(i=It(i),s=ta),e.call(a,s,function(e,a){var s;switch(a.charAt(0)){case\"$\":return\"$\";case\"&\":return t;case\"`\":return r.slice(0,n);case\"'\":return r.slice(u);case\"<\":s=i[a.slice(1,-1)];break;default:var f=+a;if(0===f)return e;if(f>c){var l=Zi(f/10);return 0===l?e:l<=c?void 0===o[l-1]?a.charAt(1):o[l-1]+a.charAt(1):e}s=o[f-1]}return void 0===s?\"\":s})}}),qi(\"search\",1,function(t,e,r){return[function(e){var r=d(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var o=A(t),i=String(this),a=o.lastIndex;Cn(a,0)||(o.lastIndex=0);var u=Yi(o,i);return Cn(o.lastIndex,a)||(o.lastIndex=a),null===u?-1:u.index}]});var ra=[].push,na=Math.min,oa=!o(function(){return!RegExp(4294967295,\"y\")});qi(\"split\",2,function(t,e,r){var n;return n=\"c\"==\"abbc\".split(/(b)*/)[1]||4!=\"test\".split(/(?:)/,-1).length||2!=\"ab\".split(/(?:ab)*/).length||4!=\".\".split(/(.?)(.?)/).length||\".\".split(/()()/).length>1||\"\".split(/.?/).length?function(t,r){var n=String(d(this)),o=void 0===r?4294967295:r>>>0;if(0===o)return[];if(void 0===t)return[n];if(!Kn(t))return e.call(n,t,o);for(var i,a,u,c=[],s=0,f=new RegExp(t.source,(t.ignoreCase?\"i\":\"\")+(t.multiline?\"m\":\"\")+(t.unicode?\"u\":\"\")+(t.sticky?\"y\":\"\")+\"g\");(i=Ni.call(f,n))&&!((a=f.lastIndex)>s&&(c.push(n.slice(s,i.index)),i.length>1&&i.index<n.length&&ra.apply(c,i.slice(1)),u=i[0].length,s=a,c.length>=o));)f.lastIndex===i.index&&f.lastIndex++;return s===n.length?!u&&f.test(\"\")||c.push(\"\"):c.push(n.slice(s)),c.length>o?c.slice(0,o):c}:\"0\".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:e.call(this,t,r)}:e,[function(e,r){var o=d(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,o,r):n.call(String(o),e,r)},function(t,o){var i=r(n,t,this,o,n!==e);if(i.done)return i.value;var a=A(t),u=String(this),c=Hr(a,RegExp),s=a.unicode,f=new c(oa?a:\"^(?:\"+a.source+\")\",(a.ignoreCase?\"i\":\"\")+(a.multiline?\"m\":\"\")+(a.unicode?\"u\":\"\")+(oa?\"y\":\"g\")),l=void 0===o?4294967295:o>>>0;if(0===l)return[];if(0===u.length)return null===Yi(f,u)?[u]:[];for(var p=0,h=0,d=[];h<u.length;){f.lastIndex=oa?h:0;var v,g=Yi(f,oa?u:u.slice(h));if(null===g||(v=na(ut(f.lastIndex+(oa?0:h)),u.length))===p)h=Xi(u,h,s);else{if(d.push(u.slice(p,h)),d.length===l)return d;for(var y=1;y<=g.length-1;y++)if(d.push(g[y]),d.length===l)return d;h=p=v}}return d.push(u.slice(p)),d}]},!oa);var ia,aa,ua=n.process,ca=ua&&ua.versions,sa=ca&&ca.v8;sa?aa=(ia=sa.split(\".\"))[0]+ia[1]:oo&&(!(ia=oo.match(/Edge\\/(\\d+)/))||ia[1]>=74)&&(ia=oo.match(/Chrome\\/(\\d+)/))&&(aa=ia[1]);var fa=aa&&+aa,la=Ft(\"species\"),pa=Ft(\"isConcatSpreadable\"),ha=fa>=51||!o(function(){var t=[];return t[pa]=!1,t.concat()[0]!==t}),da=fa>=51||!o(function(){var t=[];return(t.constructor={})[la]=function(){return{foo:1}},1!==t.concat(Boolean).foo}),va=function(t){if(!g(t))return!1;var e=t[pa];return void 0!==e?!!e:te(t)};_t({target:\"Array\",proto:!0,forced:!ha||!da},{concat:function(t){var e,r,n,o,i,a=It(this),u=re(a,0),c=0;for(e=-1,n=arguments.length;e<n;e++)if(va(i=-1===e?a:arguments[e])){if(c+(o=ut(i.length))>9007199254740991)throw TypeError(\"Maximum allowed index exceeded\");for(r=0;r<o;r++,c++)r in i&&Xe(u,c,i[r])}else{if(c>=9007199254740991)throw TypeError(\"Maximum allowed index exceeded\");Xe(u,c++,i)}return u.length=c,u}});var ga=yt.f,ya={}.toString,ma=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],ba={f:function(t){return ma&&\"[object Window]\"==ya.call(t)?function(t){try{return ga(t)}catch(t){return ma.slice()}}(t):ga(v(t))}},Sa={f:Ft},wa=P.f,Ea=function(t){var e=tt.Symbol||(tt.Symbol={});b(e,t)||wa(e,t,{value:Sa.f(t)})},xa=ie.forEach,Oa=G(\"hidden\"),ja=Ft(\"toPrimitive\"),Aa=Q.set,Ra=Q.getterFor(\"Symbol\"),Pa=Object.prototype,_a=n.Symbol,Ia=rt(\"JSON\",\"stringify\"),Ta=j.f,Ma=P.f,ka=ba.f,Na=c.f,La=D(\"symbols\"),Ua=D(\"op-symbols\"),Ca=D(\"string-to-symbol-registry\"),Fa=D(\"symbol-to-string-registry\"),Da=D(\"wks\"),Ba=n.QObject,Wa=!Ba||!Ba.prototype||!Ba.prototype.findChild,za=i&&o(function(){return 7!=Vt(Ma({},\"a\",{get:function(){return Ma(this,\"a\",{value:7}).a}})).a})?function(t,e,r){var n=Ta(Pa,e);n&&delete Pa[e],Ma(t,e,r),n&&t!==Pa&&Ma(Pa,e,n)}:Ma,Ka=function(t,e){var r=La[t]=Vt(_a.prototype);return Aa(r,{type:\"Symbol\",tag:t,description:e}),i||(r.description=e),r},Ga=Nt?function(t){return\"symbol\"==typeof t}:function(t){return Object(t)instanceof _a},$a=function(t,e,r){t===Pa&&$a(Ua,e,r),A(t);var n=y(e,!0);return A(r),b(La,n)?(r.enumerable?(b(t,Oa)&&t[Oa][n]&&(t[Oa][n]=!1),r=Vt(r,{enumerable:s(0,!1)})):(b(t,Oa)||Ma(t,Oa,s(1,{})),t[Oa][n]=!0),za(t,n,r)):Ma(t,n,r)},Va=function(t,e){A(t);var r=v(e),n=Dt(r).concat(Ya(r));return xa(n,function(e){i&&!qa.call(r,e)||$a(t,e,r[e])}),t},qa=function(t){var e=y(t,!0),r=Na.call(this,e);return!(this===Pa&&b(La,e)&&!b(Ua,e))&&(!(r||!b(this,e)||!b(La,e)||b(this,Oa)&&this[Oa][e])||r)},Ha=function(t,e){var r=v(t),n=y(e,!0);if(r!==Pa||!b(La,n)||b(Ua,n)){var o=Ta(r,n);return!o||!b(La,n)||b(r,Oa)&&r[Oa][n]||(o.enumerable=!0),o}},Xa=function(t){var e=ka(v(t)),r=[];return xa(e,function(t){b(La,t)||b($,t)||r.push(t)}),r},Ya=function(t){var e=t===Pa,r=ka(e?Ua:v(t)),n=[];return xa(r,function(t){!b(La,t)||e&&!b(Pa,t)||n.push(La[t])}),n};if(kt||(Z((_a=function(){if(this instanceof _a)throw TypeError(\"Symbol is not a constructor\");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=z(t),r=function t(r){this===Pa&&t.call(Ua,r),b(this,Oa)&&b(this[Oa],e)&&(this[Oa][e]=!1),za(this,e,s(1,r))};return i&&Wa&&za(Pa,e,{configurable:!0,set:r}),Ka(e,t)}).prototype,\"toString\",function(){return Ra(this).tag}),Z(_a,\"withoutSetter\",function(t){return Ka(z(t),t)}),c.f=qa,P.f=$a,j.f=Ha,yt.f=ba.f=Xa,mt.f=Ya,Sa.f=function(t){return Ka(Ft(t),t)},i&&(Ma(_a.prototype,\"description\",{configurable:!0,get:function(){return Ra(this).description}}),Z(Pa,\"propertyIsEnumerable\",qa,{unsafe:!0}))),_t({global:!0,wrap:!0,forced:!kt,sham:!kt},{Symbol:_a}),xa(Dt(Da),function(t){Ea(t)}),_t({target:\"Symbol\",stat:!0,forced:!kt},{for:function(t){var e=String(t);if(b(Ca,e))return Ca[e];var r=_a(e);return Ca[e]=r,Fa[r]=e,r},keyFor:function(t){if(!Ga(t))throw TypeError(t+\" is not a symbol\");if(b(Fa,t))return Fa[t]},useSetter:function(){Wa=!0},useSimple:function(){Wa=!1}}),_t({target:\"Object\",stat:!0,forced:!kt,sham:!i},{create:function(t,e){return void 0===e?Vt(t):Va(Vt(t),e)},defineProperty:$a,defineProperties:Va,getOwnPropertyDescriptor:Ha}),_t({target:\"Object\",stat:!0,forced:!kt},{getOwnPropertyNames:Xa,getOwnPropertySymbols:Ya}),_t({target:\"Object\",stat:!0,forced:o(function(){mt.f(1)})},{getOwnPropertySymbols:function(t){return mt.f(It(t))}}),Ia){var Ja=!kt||o(function(){var t=_a();return\"[null]\"!=Ia([t])||\"{}\"!=Ia({a:t})||\"{}\"!=Ia(Object(t))});_t({target:\"JSON\",stat:!0,forced:Ja},{stringify:function(t,e,r){for(var n,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(n=e,(g(e)||void 0!==t)&&!Ga(t))return te(e)||(e=function(t,e){if(\"function\"==typeof n&&(e=n.call(this,t,e)),!Ga(e))return e}),o[1]=e,Ia.apply(null,o)}})}_a.prototype[ja]||_(_a.prototype,ja,_a.prototype.valueOf),Te(_a,\"Symbol\"),$[Oa]=!0,Ea(\"asyncIterator\");var Qa=P.f,Za=n.Symbol;if(i&&\"function\"==typeof Za&&(!(\"description\"in Za.prototype)||void 0!==Za().description)){var tu={},eu=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof eu?new Za(t):void 0===t?Za():Za(t);return\"\"===t&&(tu[e]=!0),e};St(eu,Za);var ru=eu.prototype=Za.prototype;ru.constructor=eu;var nu=ru.toString,ou=\"Symbol(test)\"==String(Za(\"test\")),iu=/^Symbol\\((.*)\\)[^)]+$/;Qa(ru,\"description\",{configurable:!0,get:function(){var t=g(this)?this.valueOf():this,e=nu.call(t);if(b(tu,t))return\"\";var r=ou?e.slice(7,-1):e.replace(iu,\"$1\");return\"\"===r?void 0:r}}),_t({global:!0,forced:!0},{Symbol:eu})}Ea(\"hasInstance\"),Ea(\"isConcatSpreadable\"),Ea(\"iterator\"),Ea(\"match\"),Ea(\"matchAll\"),Ea(\"replace\"),Ea(\"search\"),Ea(\"species\"),Ea(\"split\"),Ea(\"toPrimitive\"),Ea(\"toStringTag\"),Ea(\"unscopables\"),Te(Math,\"Math\",!0),Te(n.JSON,\"JSON\",!0),Ea(\"asyncDispose\"),Ea(\"dispose\"),Ea(\"observable\"),Ea(\"patternMatch\"),Ea(\"replaceAll\");var au,uu,cu,su=n.Promise,fu=/(iphone|ipod|ipad).*applewebkit/i.test(oo),lu=n.location,pu=n.setImmediate,hu=n.clearImmediate,du=n.process,vu=n.MessageChannel,gu=n.Dispatch,yu=0,mu={},bu=function(t){if(mu.hasOwnProperty(t)){var e=mu[t];delete mu[t],e()}},Su=function(t){return function(){bu(t)}},wu=function(t){bu(t.data)},Eu=function(t){n.postMessage(t+\"\",lu.protocol+\"//\"+lu.host)};pu&&hu||(pu=function(t){for(var e=[],r=1;arguments.length>r;)e.push(arguments[r++]);return mu[++yu]=function(){(\"function\"==typeof t?t:Function(t)).apply(void 0,e)},au(yu),yu},hu=function(t){delete mu[t]},\"process\"==l(du)?au=function(t){du.nextTick(Su(t))}:gu&&gu.now?au=function(t){gu.now(Su(t))}:vu&&!fu?(cu=(uu=new vu).port2,uu.port1.onmessage=wu,au=Jt(cu.postMessage,cu,1)):!n.addEventListener||\"function\"!=typeof postMessage||n.importScripts||o(Eu)||\"file:\"===lu.protocol?au=\"onreadystatechange\"in E(\"script\")?function(t){Wt.appendChild(E(\"script\")).onreadystatechange=function(){Wt.removeChild(this),bu(t)}}:function(t){setTimeout(Su(t),0)}:(au=Eu,n.addEventListener(\"message\",wu,!1)));var xu,Ou,ju,Au,Ru,Pu,_u,Iu,Tu={set:pu,clear:hu},Mu=j.f,ku=Tu.set,Nu=n.MutationObserver||n.WebKitMutationObserver,Lu=n.process,Uu=n.Promise,Cu=\"process\"==l(Lu),Fu=Mu(n,\"queueMicrotask\"),Du=Fu&&Fu.value;Du||(xu=function(){var t,e;for(Cu&&(t=Lu.domain)&&t.exit();Ou;){e=Ou.fn,Ou=Ou.next;try{e()}catch(t){throw Ou?Au():ju=void 0,t}}ju=void 0,t&&t.enter()},Cu?Au=function(){Lu.nextTick(xu)}:Nu&&!fu?(Ru=!0,Pu=document.createTextNode(\"\"),new Nu(xu).observe(Pu,{characterData:!0}),Au=function(){Pu.data=Ru=!Ru}):Uu&&Uu.resolve?(_u=Uu.resolve(void 0),Iu=_u.then,Au=function(){Iu.call(_u,xu)}):Au=function(){ku.call(n,xu)});var Bu,Wu,zu,Ku,Gu=Du||function(t){var e={fn:t,next:void 0};ju&&(ju.next=e),Ou||(Ou=e,Au()),ju=e},$u=function(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=Yt(e),this.reject=Yt(r)},Vu={f:function(t){return new $u(t)}},qu=function(t,e){if(A(t),g(e)&&e.constructor===t)return e;var r=Vu.f(t);return(0,r.resolve)(e),r.promise},Hu=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},Xu=Tu.set,Yu=Ft(\"species\"),Ju=\"Promise\",Qu=Q.get,Zu=Q.set,tc=Q.getterFor(Ju),ec=su,rc=n.TypeError,nc=n.document,oc=n.process,ic=rt(\"fetch\"),ac=Vu.f,uc=ac,cc=\"process\"==l(oc),sc=!!(nc&&nc.createEvent&&n.dispatchEvent),fc=Rt(Ju,function(){if(U(ec)===String(ec)){if(66===fa)return!0;if(!cc&&\"function\"!=typeof PromiseRejectionEvent)return!0}if(fa>=51&&/native code/.test(ec))return!1;var t=ec.resolve(1),e=function(t){t(function(){},function(){})};return(t.constructor={})[Yu]=e,!(t.then(function(){})instanceof e)}),lc=fc||!ur(function(t){ec.all(t).catch(function(){})}),pc=function(t){var e;return!(!g(t)||\"function\"!=typeof(e=t.then))&&e},hc=function(t,e,r){if(!e.notified){e.notified=!0;var n=e.reactions;Gu(function(){for(var o=e.value,i=1==e.state,a=0;n.length>a;){var u,c,s,f=n[a++],l=i?f.ok:f.fail,p=f.resolve,h=f.reject,d=f.domain;try{l?(i||(2===e.rejection&&yc(t,e),e.rejection=1),!0===l?u=o:(d&&d.enter(),u=l(o),d&&(d.exit(),s=!0)),u===f.promise?h(rc(\"Promise-chain cycle\")):(c=pc(u))?c.call(u,p,h):p(u)):h(o)}catch(t){d&&!s&&d.exit(),h(t)}}e.reactions=[],e.notified=!1,r&&!e.rejection&&vc(t,e)})}},dc=function(t,e,r){var o,i;sc?((o=nc.createEvent(\"Event\")).promise=e,o.reason=r,o.initEvent(t,!1,!0),n.dispatchEvent(o)):o={promise:e,reason:r},(i=n[\"on\"+t])?i(o):\"unhandledrejection\"===t&&function(t,e){var r=n.console;r&&r.error&&(1===arguments.length?r.error(t):r.error(t,e))}(\"Unhandled promise rejection\",r)},vc=function(t,e){Xu.call(n,function(){var r,n=e.value;if(gc(e)&&(r=Hu(function(){cc?oc.emit(\"unhandledRejection\",n,t):dc(\"unhandledrejection\",t,n)}),e.rejection=cc||gc(e)?2:1,r.error))throw r.value})},gc=function(t){return 1!==t.rejection&&!t.parent},yc=function(t,e){Xu.call(n,function(){cc?oc.emit(\"rejectionHandled\",t):dc(\"rejectionhandled\",t,e.value)})},mc=function(t,e,r,n){return function(o){t(e,r,o,n)}},bc=function(t,e,r,n){e.done||(e.done=!0,n&&(e=n),e.value=r,e.state=2,hc(t,e,!0))},Sc=function t(e,r,n,o){if(!r.done){r.done=!0,o&&(r=o);try{if(e===n)throw rc(\"Promise can't be resolved itself\");var i=pc(n);i?Gu(function(){var o={done:!1};try{i.call(n,mc(t,e,o,r),mc(bc,e,o,r))}catch(t){bc(e,o,t,r)}}):(r.value=n,r.state=1,hc(e,r,!1))}catch(t){bc(e,{done:!1},t,r)}}};fc&&(ec=function(t){xr(this,ec,Ju),Yt(t),Bu.call(this);var e=Qu(this);try{t(mc(Sc,this,e),mc(bc,this,e))}catch(t){bc(this,e,t)}},(Bu=function(t){Zu(this,{type:Ju,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=Ar(ec.prototype,{then:function(t,e){var r=tc(this),n=ac(Hr(this,ec));return n.ok=\"function\"!=typeof t||t,n.fail=\"function\"==typeof e&&e,n.domain=cc?oc.domain:void 0,r.parent=!0,r.reactions.push(n),0!=r.state&&hc(this,r,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),Wu=function(){var t=new Bu,e=Qu(t);this.promise=t,this.resolve=mc(Sc,t,e),this.reject=mc(bc,t,e)},Vu.f=ac=function(t){return t===ec||t===zu?new Wu(t):uc(t)},\"function\"==typeof su&&(Ku=su.prototype.then,Z(su.prototype,\"then\",function(t,e){var r=this;return new ec(function(t,e){Ku.call(r,t,e)}).then(t,e)},{unsafe:!0}),\"function\"==typeof ic&&_t({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return qu(ec,ic.apply(n,arguments))}}))),_t({global:!0,wrap:!0,forced:fc},{Promise:ec}),Te(ec,Ju,!1),Pr(Ju),zu=rt(Ju),_t({target:Ju,stat:!0,forced:fc},{reject:function(t){var e=ac(this);return e.reject.call(void 0,t),e.promise}}),_t({target:Ju,stat:!0,forced:fc},{resolve:function(t){return qu(this,t)}}),_t({target:Ju,stat:!0,forced:lc},{all:function(t){var e=this,r=ac(e),n=r.resolve,o=r.reject,i=Hu(function(){var r=Yt(e.resolve),i=[],a=0,u=1;Er(t,function(t){var c=a++,s=!1;i.push(void 0),u++,r.call(e,t).then(function(t){s||(s=!0,i[c]=t,--u||n(i))},o)}),--u||n(i)});return i.error&&o(i.value),r.promise},race:function(t){var e=this,r=ac(e),n=r.reject,o=Hu(function(){var o=Yt(e.resolve);Er(t,function(t){o.call(e,t).then(r.resolve,n)})});return o.error&&n(o.value),r.promise}}),_t({target:\"Promise\",stat:!0},{allSettled:function(t){var e=this,r=Vu.f(e),n=r.resolve,o=r.reject,i=Hu(function(){var r=Yt(e.resolve),o=[],i=0,a=1;Er(t,function(t){var u=i++,c=!1;o.push(void 0),a++,r.call(e,t).then(function(t){c||(c=!0,o[u]={status:\"fulfilled\",value:t},--a||n(o))},function(t){c||(c=!0,o[u]={status:\"rejected\",reason:t},--a||n(o))})}),--a||n(o)});return i.error&&o(i.value),r.promise}});var wc=!!su&&o(function(){su.prototype.finally.call({then:function(){}},function(){})});_t({target:\"Promise\",proto:!0,real:!0,forced:wc},{finally:function(t){var e=Hr(this,rt(\"Promise\")),r=\"function\"==typeof t;return this.then(r?function(r){return qu(e,t()).then(function(){return r})}:t,r?function(r){return qu(e,t()).then(function(){throw r})}:t)}}),\"function\"!=typeof su||su.prototype.finally||Z(su.prototype,\"finally\",rt(\"Promise\").prototype.finally);var Ec=Q.set,xc=Q.getterFor(\"AggregateError\"),Oc=function(t,e){var r=this;if(!(r instanceof Oc))return new Oc(t,e);Ue&&(r=Ue(new Error(e),je(r)));var n=[];return Er(t,n.push,n),i?Ec(r,{errors:n,type:\"AggregateError\"}):r.errors=n,void 0!==e&&_(r,\"message\",String(e)),r};Oc.prototype=Vt(Error.prototype,{constructor:s(5,Oc),message:s(5,\"\"),name:s(5,\"AggregateError\")}),i&&P.f(Oc.prototype,\"errors\",{get:function(){return xc(this).errors},configurable:!0}),_t({global:!0},{AggregateError:Oc}),_t({target:\"Promise\",stat:!0},{try:function(t){var e=Vu.f(this),r=Hu(t);return(r.error?e.reject:e.resolve)(r.value),e.promise}}),_t({target:\"Promise\",stat:!0},{any:function(t){var e=this,r=Vu.f(e),n=r.resolve,o=r.reject,i=Hu(function(){var r=Yt(e.resolve),i=[],a=0,u=1,c=!1;Er(t,function(t){var s=a++,f=!1;i.push(void 0),u++,r.call(e,t).then(function(t){f||c||(c=!0,n(t))},function(t){f||c||(f=!0,i[s]=t,--u||o(new(rt(\"AggregateError\"))(i,\"No one promise resolved\")))})}),--u||o(new(rt(\"AggregateError\"))(i,\"No one promise resolved\"))});return i.error&&o(i.value),r.promise}});var jc=\"URLSearchParams\"in self,Ac=\"Symbol\"in self&&\"iterator\"in Symbol,Rc=\"FileReader\"in self&&\"Blob\"in self&&function(){try{return new Blob,!0}catch(t){return!1}}(),Pc=\"FormData\"in self,_c=\"ArrayBuffer\"in self;if(_c)var Ic=[\"[object Int8Array]\",\"[object Uint8Array]\",\"[object Uint8ClampedArray]\",\"[object Int16Array]\",\"[object Uint16Array]\",\"[object Int32Array]\",\"[object Uint32Array]\",\"[object Float32Array]\",\"[object Float64Array]\"],Tc=ArrayBuffer.isView||function(t){return t&&Ic.indexOf(Object.prototype.toString.call(t))>-1};function Mc(t){if(\"string\"!=typeof t&&(t=String(t)),/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError(\"Invalid character in header field name\");return t.toLowerCase()}function kc(t){return\"string\"!=typeof t&&(t=String(t)),t}function Nc(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return Ac&&(e[Symbol.iterator]=function(){return e}),e}function Lc(t){this.map={},t instanceof Lc?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function Uc(t){if(t.bodyUsed)return Promise.reject(new TypeError(\"Already read\"));t.bodyUsed=!0}function Cc(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function Fc(t){var e=new FileReader,r=Cc(e);return e.readAsArrayBuffer(t),r}function Dc(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function Bc(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?\"string\"==typeof t?this._bodyText=t:Rc&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:Pc&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:jc&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():_c&&Rc&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=Dc(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):_c&&(ArrayBuffer.prototype.isPrototypeOf(t)||Tc(t))?this._bodyArrayBuffer=Dc(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText=\"\",this.headers.get(\"content-type\")||(\"string\"==typeof t?this.headers.set(\"content-type\",\"text/plain;charset=UTF-8\"):this._bodyBlob&&this._bodyBlob.type?this.headers.set(\"content-type\",this._bodyBlob.type):jc&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"))},Rc&&(this.blob=function(){var t=Uc(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error(\"could not read FormData body as blob\");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?Uc(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(Fc)}),this.text=function(){var t=Uc(this);if(t)return t;if(this._bodyBlob)return function(t){var e=new FileReader,r=Cc(e);return e.readAsText(t),r}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n<e.length;n++)r[n]=String.fromCharCode(e[n]);return r.join(\"\")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error(\"could not read FormData body as text\");return Promise.resolve(this._bodyText)},Pc&&(this.formData=function(){return this.text().then(Kc)}),this.json=function(){return this.text().then(JSON.parse)},this}Lc.prototype.append=function(t,e){t=Mc(t),e=kc(e);var r=this.map[t];this.map[t]=r?r+\", \"+e:e},Lc.prototype.delete=function(t){delete this.map[Mc(t)]},Lc.prototype.get=function(t){return t=Mc(t),this.has(t)?this.map[t]:null},Lc.prototype.has=function(t){return this.map.hasOwnProperty(Mc(t))},Lc.prototype.set=function(t,e){this.map[Mc(t)]=kc(e)},Lc.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},Lc.prototype.keys=function(){var t=[];return this.forEach(function(e,r){t.push(r)}),Nc(t)},Lc.prototype.values=function(){var t=[];return this.forEach(function(e){t.push(e)}),Nc(t)},Lc.prototype.entries=function(){var t=[];return this.forEach(function(e,r){t.push([r,e])}),Nc(t)},Ac&&(Lc.prototype[Symbol.iterator]=Lc.prototype.entries);var Wc=[\"DELETE\",\"GET\",\"HEAD\",\"OPTIONS\",\"POST\",\"PUT\"];function zc(t,e){var r,n,o=(e=e||{}).body;if(t instanceof zc){if(t.bodyUsed)throw new TypeError(\"Already read\");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new Lc(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,o||null==t._bodyInit||(o=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||\"same-origin\",!e.headers&&this.headers||(this.headers=new Lc(e.headers)),this.method=(n=(r=e.method||this.method||\"GET\").toUpperCase(),Wc.indexOf(n)>-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,(\"GET\"===this.method||\"HEAD\"===this.method)&&o)throw new TypeError(\"Body not allowed for GET or HEAD requests\");this._initBody(o)}function Kc(t){var e=new FormData;return t.trim().split(\"&\").forEach(function(t){if(t){var r=t.split(\"=\"),n=r.shift().replace(/\\+/g,\" \"),o=r.join(\"=\").replace(/\\+/g,\" \");e.append(decodeURIComponent(n),decodeURIComponent(o))}}),e}function Gc(t,e){e||(e={}),this.type=\"default\",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText=\"statusText\"in e?e.statusText:\"OK\",this.headers=new Lc(e.headers),this.url=e.url||\"\",this._initBody(t)}zc.prototype.clone=function(){return new zc(this,{body:this._bodyInit})},Bc.call(zc.prototype),Bc.call(Gc.prototype),Gc.prototype.clone=function(){return new Gc(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Lc(this.headers),url:this.url})},Gc.error=function(){var t=new Gc(null,{status:0,statusText:\"\"});return t.type=\"error\",t};var $c=[301,302,303,307,308];Gc.redirect=function(t,e){if(-1===$c.indexOf(e))throw new RangeError(\"Invalid status code\");return new Gc(null,{status:e,headers:{location:t}})};var Vc=self.DOMException;try{new Vc}catch(t){(Vc=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack}).prototype=Object.create(Error.prototype),Vc.prototype.constructor=Vc}function qc(t,e){return new Promise(function(r,n){var o=new zc(t,e);if(o.signal&&o.signal.aborted)return n(new Vc(\"Aborted\",\"AbortError\"));var i=new XMLHttpRequest;function a(){i.abort()}i.onload=function(){var t,e,n={status:i.status,statusText:i.statusText,headers:(t=i.getAllResponseHeaders()||\"\",e=new Lc,t.replace(/\\r?\\n[\\t ]+/g,\" \").split(/\\r?\\n/).forEach(function(t){var r=t.split(\":\"),n=r.shift().trim();if(n){var o=r.join(\":\").trim();e.append(n,o)}}),e)};n.url=\"responseURL\"in i?i.responseURL:n.headers.get(\"X-Request-URL\"),r(new Gc(\"response\"in i?i.response:i.responseText,n))},i.onerror=function(){n(new TypeError(\"Network request failed\"))},i.ontimeout=function(){n(new TypeError(\"Network request failed\"))},i.onabort=function(){n(new Vc(\"Aborted\",\"AbortError\"))},i.open(o.method,o.url,!0),\"include\"===o.credentials?i.withCredentials=!0:\"omit\"===o.credentials&&(i.withCredentials=!1),\"responseType\"in i&&Rc&&(i.responseType=\"blob\"),o.headers.forEach(function(t,e){i.setRequestHeader(e,t)}),o.signal&&(o.signal.addEventListener(\"abort\",a),i.onreadystatechange=function(){4===i.readyState&&o.signal.removeEventListener(\"abort\",a)}),i.send(void 0===o._bodyInit?null:o._bodyInit)})}qc.polyfill=!0,self.fetch||(self.fetch=qc,self.Headers=Lc,self.Request=zc,self.Response=Gc),function(t){var e=function(){try{return!!Symbol.iterator}catch(t){return!1}}(),r=function(t){var r={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return e&&(r[Symbol.iterator]=function(){return r}),r},n=function(t){return encodeURIComponent(t).replace(/%20/g,\"+\")},o=function(t){return decodeURIComponent(String(t).replace(/\\+/g,\" \"))};(function(){try{var e=t.URLSearchParams;return\"a=1\"===new e(\"?a=1\").toString()&&\"function\"==typeof e.prototype.set}catch(t){return!1}})()||function(){var o=function t(e){Object.defineProperty(this,\"_entries\",{writable:!0,value:{}});var r=typeof e;if(\"undefined\"===r);else if(\"string\"===r)\"\"!==e&&this._fromString(e);else if(e instanceof t){var n=this;e.forEach(function(t,e){n.append(e,t)})}else{if(null===e||\"object\"!==r)throw new TypeError(\"Unsupported input's type for URLSearchParams\");if(\"[object Array]\"===Object.prototype.toString.call(e))for(var o=0;o<e.length;o++){var i=e[o];if(\"[object Array]\"!==Object.prototype.toString.call(i)&&2===i.length)throw new TypeError(\"Expected [string, any] as entry at index \"+o+\" of URLSearchParams's input\");this.append(i[0],i[1])}else for(var a in e)e.hasOwnProperty(a)&&this.append(a,e[a])}},i=o.prototype;i.append=function(t,e){t in this._entries?this._entries[t].push(String(e)):this._entries[t]=[String(e)]},i.delete=function(t){delete this._entries[t]},i.get=function(t){return t in this._entries?this._entries[t][0]:null},i.getAll=function(t){return t in this._entries?this._entries[t].slice(0):[]},i.has=function(t){return t in this._entries},i.set=function(t,e){this._entries[t]=[String(e)]},i.forEach=function(t,e){var r;for(var n in this._entries)if(this._entries.hasOwnProperty(n)){r=this._entries[n];for(var o=0;o<r.length;o++)t.call(e,r[o],n,this)}},i.keys=function(){var t=[];return this.forEach(function(e,r){t.push(r)}),r(t)},i.values=function(){var t=[];return this.forEach(function(e){t.push(e)}),r(t)},i.entries=function(){var t=[];return this.forEach(function(e,r){t.push([r,e])}),r(t)},e&&(i[Symbol.iterator]=i.entries),i.toString=function(){var t=[];return this.forEach(function(e,r){t.push(n(r)+\"=\"+n(e))}),t.join(\"&\")},t.URLSearchParams=o}();var i=t.URLSearchParams.prototype;\"function\"!=typeof i.sort&&(i.sort=function(){var t=this,e=[];this.forEach(function(r,n){e.push([n,r]),t._entries||t.delete(n)}),e.sort(function(t,e){return t[0]<e[0]?-1:t[0]>e[0]?1:0}),t._entries&&(t._entries={});for(var r=0;r<e.length;r++)this.append(e[r][0],e[r][1])}),\"function\"!=typeof i._fromString&&Object.defineProperty(i,\"_fromString\",{enumerable:!1,configurable:!1,writable:!1,value:function(t){if(this._entries)this._entries={};else{var e=[];this.forEach(function(t,r){e.push(r)});for(var r=0;r<e.length;r++)this.delete(e[r])}var n,i=(t=t.replace(/^\\?/,\"\")).split(\"&\");for(r=0;r<i.length;r++)n=i[r].split(\"=\"),this.append(o(n[0]),n.length>1?o(n[1]):\"\")}})}(void 0!==t?t:\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:t),function(t){var e,r,n;if(function(){try{var e=new t.URL(\"b\",\"http://a\");return e.pathname=\"c d\",\"http://a/c%20d\"===e.href&&e.searchParams}catch(t){return!1}}()||(e=t.URL,n=(r=function(e,r){\"string\"!=typeof e&&(e=String(e));var n,o=document;if(r&&(void 0===t.location||r!==t.location.href)){(n=(o=document.implementation.createHTMLDocument(\"\")).createElement(\"base\")).href=r,o.head.appendChild(n);try{if(0!==n.href.indexOf(r))throw new Error(n.href)}catch(t){throw new Error(\"URL unable to set base \"+r+\" due to \"+t)}}var i=o.createElement(\"a\");i.href=e,n&&(o.body.appendChild(i),i.href=i.href);var a=o.createElement(\"input\");if(a.type=\"url\",a.value=e,\":\"===i.protocol||!/:/.test(i.href)||!a.checkValidity()&&!r)throw new TypeError(\"Invalid URL\");Object.defineProperty(this,\"_anchorElement\",{value:i});var u=new t.URLSearchParams(this.search),c=!0,s=!0,f=this;[\"append\",\"delete\",\"set\"].forEach(function(t){var e=u[t];u[t]=function(){e.apply(u,arguments),c&&(s=!1,f.search=u.toString(),s=!0)}}),Object.defineProperty(this,\"searchParams\",{value:u,enumerable:!0});var l=void 0;Object.defineProperty(this,\"_updateSearchParams\",{enumerable:!1,configurable:!1,writable:!1,value:function(){this.search!==l&&(l=this.search,s&&(c=!1,this.searchParams._fromString(this.search),c=!0))}})}).prototype,[\"hash\",\"host\",\"hostname\",\"port\",\"protocol\"].forEach(function(t){!function(t){Object.defineProperty(n,t,{get:function(){return this._anchorElement[t]},set:function(e){this._anchorElement[t]=e},enumerable:!0})}(t)}),Object.defineProperty(n,\"search\",{get:function(){return this._anchorElement.search},set:function(t){this._anchorElement.search=t,this._updateSearchParams()},enumerable:!0}),Object.defineProperties(n,{toString:{get:function(){var t=this;return function(){return t.href}}},href:{get:function(){return this._anchorElement.href.replace(/\\?$/,\"\")},set:function(t){this._anchorElement.href=t,this._updateSearchParams()},enumerable:!0},pathname:{get:function(){return this._anchorElement.pathname.replace(/(^\\/?)/,\"/\")},set:function(t){this._anchorElement.pathname=t},enumerable:!0},origin:{get:function(){return this._anchorElement.protocol+\"//\"+this._anchorElement.hostname+(this._anchorElement.port!={\"http:\":80,\"https:\":443,\"ftp:\":21}[this._anchorElement.protocol]&&\"\"!==this._anchorElement.port?\":\"+this._anchorElement.port:\"\")},enumerable:!0},password:{get:function(){return\"\"},set:function(t){},enumerable:!0},username:{get:function(){return\"\"},set:function(t){},enumerable:!0}}),r.createObjectURL=function(t){return e.createObjectURL.apply(e,arguments)},r.revokeObjectURL=function(t){return e.revokeObjectURL.apply(e,arguments)},t.URL=r),void 0!==t.location&&!(\"origin\"in t.location)){var o=function(){return t.location.protocol+\"//\"+t.location.hostname+(t.location.port?\":\"+t.location.port:\"\")};try{Object.defineProperty(t.location,\"origin\",{get:o,enumerable:!0})}catch(e){setInterval(function(){t.location.origin=o()},100)}}}(void 0!==t?t:\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:t);var Hc=Object.getOwnPropertySymbols,Xc=Object.prototype.hasOwnProperty,Yc=Object.prototype.propertyIsEnumerable;function Jc(t){if(null==t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}var Qc=function(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",\"5\"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e[\"_\"+String.fromCharCode(r)]=r;if(\"0123456789\"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(\"\"))return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(t){n[t]=t}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},n)).join(\"\")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,n,o=Jc(t),i=1;i<arguments.length;i++){for(var a in r=Object(arguments[i]))Xc.call(r,a)&&(o[a]=r[a]);if(Hc){n=Hc(r);for(var u=0;u<n.length;u++)Yc.call(r,n[u])&&(o[n[u]]=r[n[u]])}}return o};Object.assign=Qc}();\n","import \"gatsby-legacy-polyfills\"\n\nif (process.env.NODE_ENV === `development`) {\n require(`event-source-polyfill`)\n}\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/static/40db5a95d875815a4fddb66504f92f51/00d96/intellij-eclipse-code-formatter-settings.png b/static/40db5a95d875815a4fddb66504f92f51/00d96/intellij-eclipse-code-formatter-settings.png
deleted file mode 100644
index e8c16d0..0000000
--- a/static/40db5a95d875815a4fddb66504f92f51/00d96/intellij-eclipse-code-formatter-settings.png
+++ /dev/null
Binary files differ
diff --git a/static/40db5a95d875815a4fddb66504f92f51/0b23c/intellij-eclipse-code-formatter-settings.png b/static/40db5a95d875815a4fddb66504f92f51/0b23c/intellij-eclipse-code-formatter-settings.png
deleted file mode 100644
index 86193a4..0000000
--- a/static/40db5a95d875815a4fddb66504f92f51/0b23c/intellij-eclipse-code-formatter-settings.png
+++ /dev/null
Binary files differ
diff --git a/static/40db5a95d875815a4fddb66504f92f51/2a3d6/intellij-eclipse-code-formatter-settings.png b/static/40db5a95d875815a4fddb66504f92f51/2a3d6/intellij-eclipse-code-formatter-settings.png
deleted file mode 100644
index 6a747f4..0000000
--- a/static/40db5a95d875815a4fddb66504f92f51/2a3d6/intellij-eclipse-code-formatter-settings.png
+++ /dev/null
Binary files differ
diff --git a/static/40db5a95d875815a4fddb66504f92f51/799d3/intellij-eclipse-code-formatter-settings.png b/static/40db5a95d875815a4fddb66504f92f51/799d3/intellij-eclipse-code-formatter-settings.png
deleted file mode 100644
index b96c0f2..0000000
--- a/static/40db5a95d875815a4fddb66504f92f51/799d3/intellij-eclipse-code-formatter-settings.png
+++ /dev/null
Binary files differ
diff --git a/static/40db5a95d875815a4fddb66504f92f51/ae92f/intellij-eclipse-code-formatter-settings.png b/static/40db5a95d875815a4fddb66504f92f51/ae92f/intellij-eclipse-code-formatter-settings.png
deleted file mode 100644
index 69c0929..0000000
--- a/static/40db5a95d875815a4fddb66504f92f51/ae92f/intellij-eclipse-code-formatter-settings.png
+++ /dev/null
Binary files differ
diff --git a/static/40db5a95d875815a4fddb66504f92f51/c4e1e/intellij-eclipse-code-formatter-settings.png b/static/40db5a95d875815a4fddb66504f92f51/c4e1e/intellij-eclipse-code-formatter-settings.png
deleted file mode 100644
index 4399f39..0000000
--- a/static/40db5a95d875815a4fddb66504f92f51/c4e1e/intellij-eclipse-code-formatter-settings.png
+++ /dev/null
Binary files differ
diff --git a/styles-c2fe8482057191dca484.js b/styles-c2fe8482057191dca484.js
new file mode 100644
index 0000000..7b49a8b
--- /dev/null
+++ b/styles-c2fe8482057191dca484.js
@@ -0,0 +1,2 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[1],[]]);
+//# sourceMappingURL=styles-c2fe8482057191dca484.js.map
\ No newline at end of file
diff --git a/styles-c2fe8482057191dca484.js.map b/styles-c2fe8482057191dca484.js.map
new file mode 100644
index 0000000..45af994
--- /dev/null
+++ b/styles-c2fe8482057191dca484.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":[],"names":[],"mappings":"","file":"styles-c2fe8482057191dca484.js","sourceRoot":""}
\ No newline at end of file
diff --git a/styles-dc2598e243cc612bb313.js b/styles-dc2598e243cc612bb313.js
deleted file mode 100644
index d25b318..0000000
--- a/styles-dc2598e243cc612bb313.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{"+5i3":function(n,o,w){},"E8R+":function(n,o,w){}}]);
-//# sourceMappingURL=styles-dc2598e243cc612bb313.js.map
\ No newline at end of file
diff --git a/styles-dc2598e243cc612bb313.js.map b/styles-dc2598e243cc612bb313.js.map
deleted file mode 100644
index 676b899..0000000
--- a/styles-dc2598e243cc612bb313.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":[],"names":[],"mappings":"","file":"styles-dc2598e243cc612bb313.js","sourceRoot":""}
\ No newline at end of file
diff --git a/styles.889ab2160f8ec77a2fd2.css b/styles.889ab2160f8ec77a2fd2.css
deleted file mode 100644
index 7b58e65..0000000
--- a/styles.889ab2160f8ec77a2fd2.css
+++ /dev/null
@@ -1 +0,0 @@
-@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{background:#073642}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;-webkit-transition:color .3s;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}
\ No newline at end of file
diff --git a/styles.edb330c6c19e6d79150a.css b/styles.edb330c6c19e6d79150a.css
new file mode 100644
index 0000000..2415eab
--- /dev/null
+++ b/styles.edb330c6c19e6d79150a.css
@@ -0,0 +1 @@
+@import url(https://fonts.googleapis.com/css?family=Libre+Franklin:100,300,400,600,700,|Roboto:300,400,500,700|Jura);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);code[class*=language-],pre[class*=language-]{color:#657b83;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#073642}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.class-name,.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{font-family:Libre Franklin,Roboto,sans-serif}body{margin:0;padding:0;outline:0;background:#f1f2f2;font-size:16px;color:#222}h1{font-size:3rem}h1,h2{margin-top:0;font-family:Roboto,sans-serif;font-weight:300}h2{font-size:2rem}h3{font-size:1.5rem;font-weight:300}a{color:#525c86}a:focus,a:hover{color:#222}.eclipse-jkube__footer{padding:16px;border-top:10px solid #222;background-color:#292c2f}.eclipse-jkube__footer .eclipse-jkube__footer-copyright{font-family:Roboto,sans-serif;color:#939598}.eclipse-jkube__header{display:block;position:relative;height:175px;background-color:#292c2f}@media (min-width:700px){.eclipse-jkube__header{height:105px}}.eclipse-jkube__header .eclipse-jkube__header-container{position:relative;margin:0 auto;padding:0 16px;height:100%;max-width:1170px}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-container{display:flex;flex-wrap:nowrap;height:105px}}.eclipse-jkube__header .eclipse-jkube__header-logo{display:flex;justify-content:center;align-items:center;font-size:32px;font-weight:400;color:#f1f2f2}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo{font-size:50px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:65px}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-logo-image{height:90px}}.eclipse-jkube__header .eclipse-jkube__header-logo-image img{max-height:100%;max-width:100%}.eclipse-jkube__header .eclipse-jkube__header-content{flex:1 0;min-width:1px;display:flex;justify-content:center;align-items:center}@media (min-width:501px){.eclipse-jkube__header .eclipse-jkube__header-content{justify-content:flex-end}}.eclipse-jkube__header .eclipse-jkube__header-content ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width:700px){.eclipse-jkube__header .eclipse-jkube__header-content ul{justify-content:flex-start}}.eclipse-jkube__header .eclipse-jkube__header-content ul li{margin:4px 0;padding-right:16px;list-style:none;color:#f1f2f2;font-size:20px}.eclipse-jkube__header .eclipse-jkube__header-content .eclipse-jkube__header-stars{display:block;width:85px;height:20px;line-height:20px}.eclipse-jkube__header a{color:#f1f2f2;text-decoration:none}.eclipse-jkube__header a:hover{color:#dd8623;transition:color .3s}.eclipse-jkube{display:flex;flex-direction:column;min-height:100vh}.eclipse-jkube__main{flex:1 1}@media (min-width:1170px){.eclipse-jkube__main{overflow-x:hidden}}.eclipse-jkube__main .eclipse-jkube__content{margin:0 16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content{max-width:1154px;margin:0 auto}}.eclipse-jkube__main .eclipse-jkube__content img{max-width:100%}.eclipse-jkube__main .eclipse-jkube__content :not(pre)>code[class*=language-],.eclipse-jkube__main .eclipse-jkube__content pre[class*=language-]{background-color:transparent}.eclipse-jkube__main .eclipse-jkube__content .hero{margin:0 -16px 16px;display:block;background-color:#272727;background-image:url(/jkube/static/cubes-8e1e59c337437947105e6668f1f3790a.jpg);background-size:cover;color:#f1f2f2}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px;background-color:rgba(39,39,39,.7)}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content{padding:16px calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content .getting-involved{color:#f1f2f2;margin:0 -16px;padding:0 16px;display:flex;justify-content:flex-end}.eclipse-jkube__main .eclipse-jkube__content .hero .hero-content h1{font-size:2.5rem;font-family:Libre Franklin,Roboto,sans-serif;font-weight:400}.eclipse-jkube__main .eclipse-jkube__content .section-dark{background-color:#404040;color:#f1f2f2;margin:0 -16px;padding:16px}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:16px calc((100% - 1170px)/2)}}@media (min-width:1170px){.eclipse-jkube__main .eclipse-jkube__content .section-dark>*{padding:0 calc((100% - 1170px)/2)}}.eclipse-jkube__main .eclipse-jkube__content .highlight{display:flex;align-items:center}.eclipse-jkube__main .eclipse-jkube__content .highlight>p{margin:16px 32px;display:none}@media (min-width:501px){.eclipse-jkube__main .eclipse-jkube__content .highlight>p{display:block}}.eclipse-jkube__main .eclipse-jkube__content .highlight>p img{max-width:100px}.eclipse-jkube__main .eclipse-jkube__content .highlight-description{flex:1 1;min-width:1px}.eclipse-jkube__main .eclipse-jkube__content .highlight ul{flex:1 1;min-width:1px;margin:0;padding:0}.eclipse-jkube__main .eclipse-jkube__content .highlight li{list-style:none;margin:16px 0}.eclipse-jkube__main .eclipse-jkube__content .calendar{position:relative;overflow:hidden;padding-bottom:75%;margin-bottom:16px}@media (min-width:666.66667px){.eclipse-jkube__main .eclipse-jkube__content .calendar{padding-bottom:0;height:500px}}.eclipse-jkube__main .eclipse-jkube__content .calendar iframe{position:absolute;top:0;height:100%;max-height:500px;width:100%}.eclipse-jkube__documentation{margin:0}@media screen and (min-width:768px){.eclipse-jkube__documentation{position:absolute;top:105px;bottom:0;width:100%;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content{position:relative;padding:16px;overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content article,.eclipse-jkube__documentation .eclipse-jkube__documentation-content aside,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figcaption,.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure,.eclipse-jkube__documentation .eclipse-jkube__documentation-content footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content header,.eclipse-jkube__documentation .eclipse-jkube__documentation-content hgroup,.eclipse-jkube__documentation .eclipse-jkube__documentation-content main,.eclipse-jkube__documentation .eclipse-jkube__documentation-content nav,.eclipse-jkube__documentation .eclipse-jkube__documentation-content section{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio,.eclipse-jkube__documentation .eclipse-jkube__documentation-content video{display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content audio:not([controls]){display:none;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus{outline:thin dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{outline:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2em;margin:.67em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]{border-bottom:1px dotted}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dfn{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{box-sizing:content-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content mark{background:#ff0;color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content samp{font-family:monospace;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{white-space:pre-wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content q{quotes:"\201C" "\201D" "\2018" "\2019"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup{top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sub{bottom:-.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg:not(:root){overflow:hidden}.eclipse-jkube__documentation .eclipse-jkube__documentation-content figure{margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content legend{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select,.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{font-family:inherit;font-size:100%;margin:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input{line-height:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[type=button],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=reset],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=submit]{-webkit-appearance:button;cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button[disabled],.eclipse-jkube__documentation .eclipse-jkube__documentation-content html input[disabled]{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=checkbox],.eclipse-jkube__documentation .eclipse-jkube__documentation-content input[type=radio]{box-sizing:border-box;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content button::-moz-focus-inner,.eclipse-jkube__documentation .eclipse-jkube__documentation-content input::-moz-focus-inner{border:0;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{overflow:auto;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{border-collapse:collapse;border-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content *,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content :before{box-sizing:border-box}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body,.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{cursor:pointer}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{max-width:100%;height:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content embed,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object{height:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img{-ms-interpolation-mode:bicubic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .left{float:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .right{float:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-left{text-align:left!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-right{text-align:right!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-center{text-align:center!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .text-justify{text-align:justify!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{display:inline-block;vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content textarea{height:auto;min-height:50px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content select{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .center{margin-left:auto;margin-right:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stretch{width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .subheader,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content div,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content form,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6,.eclipse-jkube__documentation .eclipse-jkube__documentation-content li,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin:0;padding:0;direction:ltr}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:#2156a5;text-decoration:underline;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:focus,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a:hover{color:#1d4b8f}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a img{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p aside{font-size:.875em;line-height:1.35;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-family:Open Sans,DejaVu Sans,sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 small,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 small{font-size:60%;color:#e99b8f;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5{font-size:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em,.eclipse-jkube__documentation .eclipse-jkube__documentation-content i{font-style:italic;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b,.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong{font-weight:700;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content small{font-size:60%;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content code{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;font-weight:400;color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ul{margin-left:1.25em;margin-bottom:0;font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc li ul,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square li ul{list-style:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.square{list-style-type:square}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.circle{list-style-type:circle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.disc{list-style-type:disc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ol,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol li ul{margin-left:1.25em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dt{margin-bottom:.3125em;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr{text-transform:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite:before{content:"\2014 "}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote cite a:visited{color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1{font-size:2.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2{font-size:2.3125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{font-size:1.6875em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4{font-size:1.4375em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead{background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr th{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr.even{background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tbody tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr td,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tr td{display:table-cell;line-height:1.6}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6{line-height:1.2;word-spacing:-.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5 strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6 strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .clearfix:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .float-group:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nobreak{word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content :not(pre)>code.nowrap{white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre{color:rgba(0,0,0,.9);font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;line-height:1.45;text-rendering:optimizeSpeed}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre code,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre pre{color:inherit;font-size:inherit;line-height:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre>code{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.nowrap pre{white-space:pre;word-wrap:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content em em{font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content strong strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq{color:rgba(51,51,51,.8)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content kbd{font-family:Droid Sans Mono,DejaVu Sans Mono,monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:first-child{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .keyseq kbd:last-child{margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuref,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b:not(.caret){font-weight:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq{word-spacing:-.02em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq b.caret{font-size:1.25em;line-height:.8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .menuseq i.caret{font-weight:700;text-align:center;width:.45em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{position:relative;top:-1px;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:before{content:"[";padding:0 3px 0 2px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.button:after{content:"]";padding:0 2px 0 3px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p a>code:hover{color:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:before{content:" ";display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes:after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header:after{clear:both}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-top:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content:before{content:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:only-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span:first-child{margin-left:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details span.email a{color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span:before{content:"\A0\2013\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span.author:before{content:"\A0\22C5\A0";color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header .details br+span#revremark:before{content:"\A0|\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber{text-transform:capitalize}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header #revnumber:after{content:"\A0"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc>ul{margin-left:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0>li>a{font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc ul{font-family:Open Sans,DejaVu Sans,sans-serif;list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc li{line-height:1.3334;margin-top:.3334em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{color:#7a2518;font-size:1.2em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:15em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.9em;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{margin-left:0;padding-left:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:15em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2{padding-left:20em;padding-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2{width:20em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 #toctitle{font-size:1.375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2>ul{font-size:.95em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc.toc2 ul ul{padding-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.toc2.toc-right{padding-left:0;padding-right:20em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #toc>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:.625em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding-bottom:1.25em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1:last-child{padding-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border-top:1px solid #e7e7e9}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:before{content:"\A7";font-size:.85em;display:block;padding-top:.1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.anchor:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6:hover>a.anchor,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.anchor:hover{visibility:visible}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link{color:#ba3925;text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content h1>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h4>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h5>a.link:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h6>a.link:hover{color:#a53221}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content details{margin-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .audioblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .dlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .openblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .qlist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .stemblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .videoblock>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #preamble>.sectionbody>[class=paragraph]:first-of-type p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .paragraph.lead>p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock #preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon{text-align:center;width:80px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:first-child{margin-top:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content>:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .olist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .qlist>ol>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content .ulist>ul>li:last-child>:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:.90625em}}@media screen and (min-width:1280px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{font-size:1em}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre:not(.highlight),.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class=highlight],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content>pre[class^="highlight "],.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock pre{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock>.content{position:relative}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock:hover code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs{padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock pre.prettyprint{border-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .prettyprint{background:#f7f7f8}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint .linenums{line-height:1.45;margin-left:2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li code[data-lang]:before{opacity:1}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.prettyprint li:not(:first-child) code[data-lang]:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.code{padding-left:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre.pygments .lineno:before{content:"";margin-right:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock{margin:0 1em 1.25em 1.5em;display:table}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote{margin:0;padding:0;border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote:before{content:"\201C";float:left;font-size:2.75em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock{margin:0 1em 1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre{font-family:Open Sans,DejaVu Sans,sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock pre strong{font-weight:400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution br,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution br{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .attribution cite,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote:before,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote:before{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{line-height:1.6;word-spacing:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract{margin:0 1em 1.25em;display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt>blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock.excerpt .attribution,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock{max-width:100%;border-collapse:separate}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child{margin-bottom:-1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{border:0 solid #dedede}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead>tr>.tableblock{border-width:0 1px 1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead>tr>.tableblock{border-width:0 0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>*>tr>.tableblock:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-all>thead:last-child>tr>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>tbody>tr:last-child>.tableblock,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-all{border-width:1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-sides{border-width:0 1px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-ends,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.frame-topbot{border-width:1px 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-all tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-even tr:nth-of-type(2n),.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-hover tr:hover,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-left{text-align:left}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-right,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-right{text-align:right}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.halign-center,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.halign-center{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-top,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-top{vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-bottom,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-bottom{vertical-align:bottom}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.valign-middle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.valign-middle{vertical-align:middle}.eclipse-jkube__documentation .eclipse-jkube__documentation-content table tfoot th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content table thead th{font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tbody tr th p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock>code:only-child{background:none;padding:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol{margin-left:1.75em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul li ol{margin-left:1.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd{margin-left:1.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dl dd:last-child>:last-child{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .olist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .ulist .ulist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol dd,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul>li p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul dd{margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.none,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{list-style-type:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.no-bullet,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unnumbered,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.no-bullet{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.unstyled,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.unstyled{margin-left:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-check-square-o:first-child,.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>.fa-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.checklist li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ul.inline>li{margin-left:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .unstyled dl dt{font-weight:400;font-style:normal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.arabic{list-style-type:decimal}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.decimal{list-style-type:decimal-leading-zero}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.loweralpha{list-style-type:lower-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperalpha{list-style-type:upper-alpha}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowerroman{list-style-type:lower-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.upperroman{list-style-type:upper-roman}.eclipse-jkube__documentation .eclipse-jkube__documentation-content ol.lowergreek{list-style-type:lower-greek}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table{border:0;background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist>table>tbody>tr,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hdlist>table>tbody>tr{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist2{vertical-align:top;padding:0 .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.hdlist1{font-weight:700;padding-bottom:1.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock+.colist,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .literalblock+.colist{margin-top:-.5em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):first-child img{max-width:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .colist td:not([class]):last-child{padding:.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .thumb{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.left{margin:.25em .625em 1.25em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.right{margin:.25em 0 1.25em .625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock>.title{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb{border-width:6px}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.th>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .imageblock.thumb>.title{padding:0 .125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.left{margin-right:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .image.right{margin-left:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image{text-decoration:none;display:inline-block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.image object{pointer-events:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref{font-size:.875em;position:static;vertical-align:super}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a{text-decoration:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnote a:active,.eclipse-jkube__documentation .eclipse-jkube__documentation-content sup.footnoteref a:active{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none;margin-left:-1.05em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes .footnote:last-of-type{margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gist .file-data>table td.line-data{width:99%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.unbreakable{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .big{font-size:larger}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .small{font-size:smaller}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .underline{text-decoration:underline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .overline{text-decoration:overline}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .line-through{text-decoration:line-through}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua{color:#00bfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .aqua-background{background:#00fafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black{color:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .black-background{background:#000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue{color:#0000bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .blue-background{background:#0000fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia{color:#bf00bf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .fuchsia-background{background:#fa00fa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray{color:#606060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .gray-background{background:#7d7d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green{color:#006000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .green-background{background:#007d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime{color:#00bf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .lime-background{background:#00fa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon{color:#600000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .maroon-background{background:#7d0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy{color:#000060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .navy-background{background:#00007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive{color:#606000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .olive-background{background:#7d7d00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple{color:#600060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .purple-background{background:#7d007d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red{color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .red-background{background:#fa0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver{color:#909090}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .silver-background{background:#bcbcbc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal{color:#006060}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .teal-background{background:#007d7d}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white{color:#bfbfbf}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .white-background{background:#fafafa}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow{color:#bfbf00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .yellow-background{background:#fafa00}.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.icon>.fa{cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a span.icon>.fa{cursor:inherit}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-note:before{content:"\F05A";color:#19407c}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-tip:before{content:"\F0EB";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-warning:before{content:"\F071";color:#bf6900}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-caution:before{content:"\F06D";color:#bf3400}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .admonitionblock td.icon .icon-important:before{content:"\F06A";color:#bf0000}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:Open Sans,DejaVu Sans,sans-serif;font-style:normal;font-weight:700}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value] *{color:#fff!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]+b{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum[data-value]:after{content:attr(data-value)}.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre .conum[data-value]{position:relative;top:-.125em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content b.conum *{color:inherit!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .conum:not([data-value]):empty{display:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content th.tableblock{text-rendering:optimizeLegibility}.eclipse-jkube__documentation .eclipse-jkube__documentation-content h1,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{letter-spacing:-.01em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content div.footnote strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p strong,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content strong{letter-spacing:-.005em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content span.alt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1.0625rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content p{margin-bottom:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock td.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p.tableblock{font-size:1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:none!important}@page{.eclipse-jkube__documentation .eclipse-jkube__documentation-content{margin:1.25cm .75cm}}@media print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content *{box-shadow:none!important;text-shadow:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content html{font-size:80%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a{color:inherit!important;text-decoration:underline!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a.bare,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="#"],.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="mailto:"]{text-decoration:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="http:"]:not(.bare):after,.eclipse-jkube__documentation .eclipse-jkube__documentation-content a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content abbr[title]:after{content:" (" attr(title) ")"}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content img,.eclipse-jkube__documentation .eclipse-jkube__documentation-content object,.eclipse-jkube__documentation .eclipse-jkube__documentation-content pre,.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg,.eclipse-jkube__documentation .eclipse-jkube__documentation-content tr{page-break-inside:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content thead{display:table-header-group}.eclipse-jkube__documentation .eclipse-jkube__documentation-content svg{max-width:100%}.eclipse-jkube__documentation .eclipse-jkube__documentation-content blockquote,.eclipse-jkube__documentation .eclipse-jkube__documentation-content dt,.eclipse-jkube__documentation .eclipse-jkube__documentation-content p,.eclipse-jkube__documentation .eclipse-jkube__documentation-content td.content{font-size:1em;orphans:3;widows:3}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toctitle,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock>.content>.title,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content h3{page-break-after:avoid}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .exampleblock>.content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sidebarblock{background:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header{text-align:center}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details{border:0!important;display:block;padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details span:first-child{margin-left:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #header .details br+span:before{content:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #preamble,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book #toc,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book .sect1>h2,.eclipse-jkube__documentation .eclipse-jkube__documentation-content body.book h1.sect0{page-break-before:always}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .listingblock code[data-lang]:before{display:block}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{padding:0 .9375em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-on-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .print-only{display:block!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .hide-for-print{display:none!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .show-for-print{display:inherit!important}}@media amzn-kf8,print{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header>h1:first-child{margin-top:1.25rem}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1{padding:0!important}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .sect1+.sect1{border:0}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer{background:none}.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}@media amzn-kf8{.eclipse-jkube__documentation .eclipse-jkube__documentation-content #content,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footer,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #footnotes,.eclipse-jkube__documentation .eclipse-jkube__documentation-content #header{padding:0}}@media screen and (min-width:768px){.eclipse-jkube__documentation .eclipse-jkube__documentation-content{padding-left:21em}.eclipse-jkube__documentation .eclipse-jkube__documentation-content .toc{position:fixed;width:20em;left:0;top:105px;bottom:0;z-index:1000;padding:0 16px;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;overflow:auto}}.eclipse-jkube__documentation .eclipse-jkube__documentation-content i.fa{font-style:normal}
\ No newline at end of file
diff --git a/webpack-runtime-3c499563b1f56aaa782c.js b/webpack-runtime-3c499563b1f56aaa782c.js
new file mode 100644
index 0000000..76f00d2
--- /dev/null
+++ b/webpack-runtime-3c499563b1f56aaa782c.js
@@ -0,0 +1,2 @@
+!function(e){function t(t){for(var n,o,u=t[0],i=t[1],s=t[2],l=0,d=[];l<u.length;l++)o=u[l],Object.prototype.hasOwnProperty.call(a,o)&&a[o]&&d.push(a[o][0]),a[o]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(f&&f(t);d.length;)d.shift()();return c.push.apply(c,s||[]),r()}function r(){for(var e,t=0;t<c.length;t++){for(var r=c[t],n=!0,o=1;o<r.length;o++){var i=r[o];0!==a[i]&&(n=!1)}n&&(c.splice(t--,1),e=u(u.s=r[0]))}return e}var n={},o={2:0},a={2:0},c=[];function u(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,u),r.l=!0,r.exports}u.e=function(e){var t=[];o[e]?t.push(o[e]):0!==o[e]&&{1:1}[e]&&t.push(o[e]=new Promise((function(t,r){for(var n=({0:"commons",1:"styles",4:"component---src-templates-doc-jsx",5:"component---src-templates-main-jsx"}[e]||e)+"."+{0:"31d6cfe0d16ae931b73c",1:"edb330c6c19e6d79150a",4:"31d6cfe0d16ae931b73c",5:"31d6cfe0d16ae931b73c"}[e]+".css",a=u.p+n,c=document.getElementsByTagName("link"),i=0;i<c.length;i++){var s=(f=c[i]).getAttribute("data-href")||f.getAttribute("href");if("stylesheet"===f.rel&&(s===n||s===a))return t()}var l=document.getElementsByTagName("style");for(i=0;i<l.length;i++){var f;if((s=(f=l[i]).getAttribute("data-href"))===n||s===a)return t()}var d=document.createElement("link");d.rel="stylesheet",d.type="text/css",d.onload=t,d.onerror=function(t){var n=t&&t.target&&t.target.src||a,c=new Error("Loading CSS chunk "+e+" failed.\n("+n+")");c.code="CSS_CHUNK_LOAD_FAILED",c.request=n,delete o[e],d.parentNode.removeChild(d),r(c)},d.href=a,document.getElementsByTagName("head")[0].appendChild(d)})).then((function(){o[e]=0})));var r=a[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=a[e]=[t,n]}));t.push(r[2]=n);var c,i=document.createElement("script");i.charset="utf-8",i.timeout=120,u.nc&&i.setAttribute("nonce",u.nc),i.src=function(e){return u.p+""+({0:"commons",1:"styles",4:"component---src-templates-doc-jsx",5:"component---src-templates-main-jsx"}[e]||e)+"-"+{0:"32e6f91911f4befd4235",1:"c2fe8482057191dca484",4:"38fb851fba733cc5515a",5:"00db156c4f1f06e7f7d7"}[e]+".js"}(e);var s=new Error;c=function(t){i.onerror=i.onload=null,clearTimeout(l);var r=a[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;s.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",s.name="ChunkLoadError",s.type=n,s.request=o,r[1](s)}a[e]=void 0}};var l=setTimeout((function(){c({type:"timeout",target:i})}),12e4);i.onerror=i.onload=c,document.head.appendChild(i)}return Promise.all(t)},u.m=e,u.c=n,u.d=function(e,t,r){u.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,t){if(1&t&&(e=u(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(u.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)u.d(r,n,function(t){return e[t]}.bind(null,n));return r},u.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(t,"a",t),t},u.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},u.p="/jkube/",u.oe=function(e){throw console.error(e),e};var i=window.webpackJsonp=window.webpackJsonp||[],s=i.push.bind(i);i.push=t,i=i.slice();for(var l=0;l<i.length;l++)t(i[l]);var f=s;r()}([]);
+//# sourceMappingURL=webpack-runtime-3c499563b1f56aaa782c.js.map
\ No newline at end of file
diff --git a/webpack-runtime-3c499563b1f56aaa782c.js.map b/webpack-runtime-3c499563b1f56aaa782c.js.map
new file mode 100644
index 0000000..a9c8cd1
--- /dev/null
+++ b/webpack-runtime-3c499563b1f56aaa782c.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","2","exports","module","l","e","promises","Promise","resolve","reject","href","fullhref","p","existingLinkTags","document","getElementsByTagName","dataHref","tag","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","jsonpScriptSrc","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","head","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice"],"mappings":"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","file":"webpack-runtime-3c499563b1f56aaa782c.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t2: 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + ({\"0\":\"commons\",\"1\":\"styles\",\"4\":\"component---src-templates-doc-jsx\",\"5\":\"component---src-templates-main-jsx\"}[chunkId]||chunkId) + \"-\" + {\"0\":\"32e6f91911f4befd4235\",\"1\":\"c2fe8482057191dca484\",\"4\":\"38fb851fba733cc5515a\",\"5\":\"00db156c4f1f06e7f7d7\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"1\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"\" + ({\"0\":\"commons\",\"1\":\"styles\",\"4\":\"component---src-templates-doc-jsx\",\"5\":\"component---src-templates-main-jsx\"}[chunkId]||chunkId) + \".\" + {\"0\":\"31d6cfe0d16ae931b73c\",\"1\":\"edb330c6c19e6d79150a\",\"4\":\"31d6cfe0d16ae931b73c\",\"5\":\"31d6cfe0d16ae931b73c\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/jkube/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/webpack-runtime-e8c5029a536217a0c012.js b/webpack-runtime-e8c5029a536217a0c012.js
deleted file mode 100644
index 12b91fb..0000000
--- a/webpack-runtime-e8c5029a536217a0c012.js
+++ /dev/null
@@ -1,2 +0,0 @@
-!function(e){function t(t){for(var n,o,u=t[0],i=t[1],l=t[2],s=0,p=[];s<u.length;s++)o=u[s],Object.prototype.hasOwnProperty.call(a,o)&&a[o]&&p.push(a[o][0]),a[o]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(f&&f(t);p.length;)p.shift()();return c.push.apply(c,l||[]),r()}function r(){for(var e,t=0;t<c.length;t++){for(var r=c[t],n=!0,o=1;o<r.length;o++){var i=r[o];0!==a[i]&&(n=!1)}n&&(c.splice(t--,1),e=u(u.s=r[0]))}return e}var n={},o={5:0},a={5:0},c=[];function u(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,u),r.l=!0,r.exports}u.e=function(e){var t=[];o[e]?t.push(o[e]):0!==o[e]&&{1:1}[e]&&t.push(o[e]=new Promise((function(t,r){for(var n=({1:"styles",3:"component---src-templates-doc-jsx",4:"component---src-templates-main-jsx"}[e]||e)+"."+{1:"889ab2160f8ec77a2fd2",3:"31d6cfe0d16ae931b73c",4:"31d6cfe0d16ae931b73c"}[e]+".css",a=u.p+n,c=document.getElementsByTagName("link"),i=0;i<c.length;i++){var l=(f=c[i]).getAttribute("data-href")||f.getAttribute("href");if("stylesheet"===f.rel&&(l===n||l===a))return t()}var s=document.getElementsByTagName("style");for(i=0;i<s.length;i++){var f;if((l=(f=s[i]).getAttribute("data-href"))===n||l===a)return t()}var p=document.createElement("link");p.rel="stylesheet",p.type="text/css",p.onload=t,p.onerror=function(t){var n=t&&t.target&&t.target.src||a,c=new Error("Loading CSS chunk "+e+" failed.\n("+n+")");c.code="CSS_CHUNK_LOAD_FAILED",c.request=n,delete o[e],p.parentNode.removeChild(p),r(c)},p.href=a,document.getElementsByTagName("head")[0].appendChild(p)})).then((function(){o[e]=0})));var r=a[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=a[e]=[t,n]}));t.push(r[2]=n);var c,i=document.createElement("script");i.charset="utf-8",i.timeout=120,u.nc&&i.setAttribute("nonce",u.nc),i.src=function(e){return u.p+""+({1:"styles",3:"component---src-templates-doc-jsx",4:"component---src-templates-main-jsx"}[e]||e)+"-"+{1:"dc2598e243cc612bb313",3:"fb3fb592ca98bc6f2fa8",4:"509f65dc90a3e989be93"}[e]+".js"}(e);var l=new Error;c=function(t){i.onerror=i.onload=null,clearTimeout(s);var r=a[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",l.name="ChunkLoadError",l.type=n,l.request=o,r[1](l)}a[e]=void 0}};var s=setTimeout((function(){c({type:"timeout",target:i})}),12e4);i.onerror=i.onload=c,document.head.appendChild(i)}return Promise.all(t)},u.m=e,u.c=n,u.d=function(e,t,r){u.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,t){if(1&t&&(e=u(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(u.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)u.d(r,n,function(t){return e[t]}.bind(null,n));return r},u.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(t,"a",t),t},u.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},u.p="/jkube/",u.oe=function(e){throw console.error(e),e};var i=window.webpackJsonp=window.webpackJsonp||[],l=i.push.bind(i);i.push=t,i=i.slice();for(var s=0;s<i.length;s++)t(i[s]);var f=l;r()}([]);
-//# sourceMappingURL=webpack-runtime-e8c5029a536217a0c012.js.map
\ No newline at end of file
diff --git a/webpack-runtime-e8c5029a536217a0c012.js.map b/webpack-runtime-e8c5029a536217a0c012.js.map
deleted file mode 100644
index 1751330..0000000
--- a/webpack-runtime-e8c5029a536217a0c012.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","5","exports","module","l","e","promises","Promise","resolve","reject","href","fullhref","p","existingLinkTags","document","getElementsByTagName","dataHref","tag","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","jsonpScriptSrc","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","head","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice"],"mappings":"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","file":"webpack-runtime-e8c5029a536217a0c012.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t5: 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t5: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + ({\"1\":\"styles\",\"3\":\"component---src-templates-doc-jsx\",\"4\":\"component---src-templates-main-jsx\"}[chunkId]||chunkId) + \"-\" + {\"1\":\"dc2598e243cc612bb313\",\"3\":\"fb3fb592ca98bc6f2fa8\",\"4\":\"509f65dc90a3e989be93\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"1\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"\" + ({\"1\":\"styles\",\"3\":\"component---src-templates-doc-jsx\",\"4\":\"component---src-templates-main-jsx\"}[chunkId]||chunkId) + \".\" + {\"1\":\"889ab2160f8ec77a2fd2\",\"3\":\"31d6cfe0d16ae931b73c\",\"4\":\"31d6cfe0d16ae931b73c\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/jkube/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/webpack.stats.json b/webpack.stats.json
index d3a9a70..3363354 100644
--- a/webpack.stats.json
+++ b/webpack.stats.json
@@ -1 +1 @@
-{"errors":[],"warnings":[],"namedChunkGroups":{"app":{"chunks":[5,0,2],"assets":["webpack-runtime-e8c5029a536217a0c012.js","webpack-runtime-e8c5029a536217a0c012.js.map","commons-2e644671e1023bf8738b.js","commons-2e644671e1023bf8738b.js.map","app-194ea4f7bf63aa4ef2a0.js","app-194ea4f7bf63aa4ef2a0.js.map"],"children":{},"childAssets":{}},"component---src-templates-main-jsx":{"chunks":[1,0,4],"assets":["styles.889ab2160f8ec77a2fd2.css","styles-dc2598e243cc612bb313.js","styles-dc2598e243cc612bb313.js.map","commons-2e644671e1023bf8738b.js","commons-2e644671e1023bf8738b.js.map","component---src-templates-main-jsx-509f65dc90a3e989be93.js","component---src-templates-main-jsx-509f65dc90a3e989be93.js.map"],"children":{},"childAssets":{}},"component---src-templates-doc-jsx":{"chunks":[1,0,3],"assets":["styles.889ab2160f8ec77a2fd2.css","styles-dc2598e243cc612bb313.js","styles-dc2598e243cc612bb313.js.map","commons-2e644671e1023bf8738b.js","commons-2e644671e1023bf8738b.js.map","component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js","component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js.map"],"children":{},"childAssets":{}}},"assetsByChunkName":{"app":["webpack-runtime-e8c5029a536217a0c012.js","commons-2e644671e1023bf8738b.js","app-194ea4f7bf63aa4ef2a0.js"],"component---src-templates-main-jsx":["styles.889ab2160f8ec77a2fd2.css","styles-dc2598e243cc612bb313.js","commons-2e644671e1023bf8738b.js","component---src-templates-main-jsx-509f65dc90a3e989be93.js"],"component---src-templates-doc-jsx":["styles.889ab2160f8ec77a2fd2.css","styles-dc2598e243cc612bb313.js","commons-2e644671e1023bf8738b.js","component---src-templates-doc-jsx-fb3fb592ca98bc6f2fa8.js"]}}
\ No newline at end of file
+{"errors":[],"warnings":[],"namedChunkGroups":{"polyfill":{"chunks":[2,0,7],"assets":["webpack-runtime-3c499563b1f56aaa782c.js","webpack-runtime-3c499563b1f56aaa782c.js.map","commons-32e6f91911f4befd4235.js","commons-32e6f91911f4befd4235.js.map","polyfill-2a86e29ae53b0bcd324d.js","polyfill-2a86e29ae53b0bcd324d.js.map"],"children":{},"childAssets":{}},"app":{"chunks":[2,6,3],"assets":["webpack-runtime-3c499563b1f56aaa782c.js","webpack-runtime-3c499563b1f56aaa782c.js.map","framework-a576ae5ab153fa4a7c27.js","framework-a576ae5ab153fa4a7c27.js.map","app-ea12b9b536627f4c1462.js","app-ea12b9b536627f4c1462.js.map"],"children":{},"childAssets":{}},"component---src-templates-doc-jsx":{"chunks":[1,0,4],"assets":["styles.edb330c6c19e6d79150a.css","styles-c2fe8482057191dca484.js","styles-c2fe8482057191dca484.js.map","commons-32e6f91911f4befd4235.js","commons-32e6f91911f4befd4235.js.map","component---src-templates-doc-jsx-38fb851fba733cc5515a.js","component---src-templates-doc-jsx-38fb851fba733cc5515a.js.map"],"children":{},"childAssets":{}},"component---src-templates-main-jsx":{"chunks":[1,0,5],"assets":["styles.edb330c6c19e6d79150a.css","styles-c2fe8482057191dca484.js","styles-c2fe8482057191dca484.js.map","commons-32e6f91911f4befd4235.js","commons-32e6f91911f4befd4235.js.map","component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js","component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js.map"],"children":{},"childAssets":{}}},"assetsByChunkName":{"polyfill":["webpack-runtime-3c499563b1f56aaa782c.js","commons-32e6f91911f4befd4235.js","polyfill-2a86e29ae53b0bcd324d.js"],"app":["webpack-runtime-3c499563b1f56aaa782c.js","framework-a576ae5ab153fa4a7c27.js","app-ea12b9b536627f4c1462.js"],"component---src-templates-doc-jsx":["styles.edb330c6c19e6d79150a.css","styles-c2fe8482057191dca484.js","commons-32e6f91911f4befd4235.js","component---src-templates-doc-jsx-38fb851fba733cc5515a.js"],"component---src-templates-main-jsx":["styles.edb330c6c19e6d79150a.css","styles-c2fe8482057191dca484.js","commons-32e6f91911f4befd4235.js","component---src-templates-main-jsx-00db156c4f1f06e7f7d7.js"]}}
\ No newline at end of file