(this.webpackJsonp=this.webpackJsonp||[]).push([[0],{334:function(e,t,n){"use strict";n(341);var r=n(7),a=n.n(r),o=n(2),i=n.n(o),c=n(336),s=n(452),u=n(0),l=n(9),b=n.n(l),j=function(e,t){var n=Object(u.useState)(),r=a()(n,2),o=r[0],c=r[1],s=Object(u.useState)(),l=a()(s,2),b=l[0],j=l[1],d=Object(u.useState)(!1),f=a()(d,2),p=f[0],O=f[1],m=Object(u.useState)(),h=a()(m,2),v=h[0],g=h[1],x=Object(u.useCallback)(e,t),y=Object(u.useCallback)((function(){var e,t,n,r,a=arguments;return i.a.async((function(o){for(;;)switch(o.prev=o.next){case 0:for(O(!0),g(!1),e=a.length,t=new Array(e),n=0;n=e.length?{done:!0}:{done:!1,value:e[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.")}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[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.")}function re(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[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.")}function le(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);no.start.max?r.impossible.push(o):r.remaining.push(o)}return r},fe=function(e){var t=e.tasks,n=e.transition,r=e.impossible,a=0;if(null==t||t.forEach((function(e){a+=10*e.priority,r.forEach((function(e){e.required?a-=1e4+1*e.priority:a-=100+1*e.priority}))})),n){var o=n.time/1e3/60;a-=10+1*o}return a},pe=function(e,t){var n,r,a;return i.a.async((function(o){for(;;)switch(o.prev=o.next){case 0:if(n=[],e.transition){o.next=5;break}return r=ie(e.remainingTasks,e.location),o.next=5,i.a.awrap(Promise.all(r.map((function(r){var a,o,c,s,u,l;return i.a.async((function(b){for(;;)switch(b.prev=b.next){case 0:return b.next=2,i.a.awrap(t.getTransition(e.location,r,e.time.end));case 2:a=b.sent,o=new Date(e.time.end.getTime()+a.time),c=de(e.remainingTasks,o),s=c.remaining,u=c.impossible,l=fe({transition:a,impossible:u}),n.push({parent:e,location:a.to,remainingTasks:s,transition:a,impossibeTasks:[].concat(A()(u),A()(e.impossibeTasks)),score:e.score+l,status:{completed:!1,dead:je(u)},time:{start:e.time.end,end:o}});case 7:case"end":return b.stop()}}),null,null,null,Promise)}))));case 5:return a=e.remainingTasks.filter((function(t){return!t.locations||oe(t.locations,e.location)})),o.next=8,i.a.awrap(Promise.all(a.map((function(t){var r,a,o,c,s,u,l,b;return i.a.async((function(i){for(;;)switch(i.prev=i.next){case 0:(r=se({},t)).count=(r.count||1)-1,a=new Date(Math.max(e.time.end.getTime(),r.start.min.getTime())),o=e.remainingTasks.filter((function(e){return e!==t})),c=new Date(a.getTime()+r.duration.min),s=de(r.count>0?[].concat(A()(o),[r]):o,c),u=s.remaining,l=s.impossible,b=fe({tasks:[r],impossible:l}),n.push({parent:e,location:e.location,task:r,remainingTasks:u,impossibeTasks:[].concat(A()(l),A()(e.impossibeTasks)),score:e.score+b,status:{completed:0===u.length,dead:je(l)},time:{start:a,end:c}});case 8:case"end":return i.stop()}}),null,null,null,Promise)}))));case 8:return o.abrupt("return",n);case 9:case"end":return o.stop()}}),null,null,null,Promise)};!function(e){e.all="all",e.allValid="all-valid",e.firstValid="first-valid",e.firstComplet="first-complete"}(be||(be={}));var Oe=function(e){return new Promise((function(t){return setTimeout(t,e)}))},me=function(e,t){for(var n=new Array(e.length).fill(void 0).map((function(){return[]})),r=0;r0)){E.next=28;break}return E.abrupt("return",w(T));case 28:if(T.length>0&&x.push.apply(x,A()(T)),s!==be.firstComplet){E.next=33;break}if(!(z=T.find((function(e){return 0===e.impossibeTasks.length})))){E.next=33;break}return E.abrupt("return",w([z]));case 33:y.push.apply(y,A()(M)),E.next=9;break;case 36:return E.abrupt("return",w(x));case 37:case"end":return E.stop()}}),null,null,null,Promise)},ve=Object(u.createContext)(void 0);function ge(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xe(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[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.")}function mn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&a.push({height:i.start.getTime()-e.end.getTime(),color:"transparent",start:e.end,end:i.start});var c="transition"===i.type?"#34495e":an()(i.name);c=cn()(c).luminance(.7).saturate(1).brighten(.6).hex(),a.push({height:i.end.getTime()-i.start.getTime(),color:c,start:i.start,end:i.end,body:(r=i,"transition"===r.type?Object(m.jsxs)(wn,{children:[r.from.title," \u279c ",r.to.title]}):Object(m.jsx)(wn,{children:r.name}))}),e=i}return a}),[t]);return Object(m.jsx)(yn,{children:n.map((function(e,t){return Object(m.jsx)(pn,{item:e},t)}))})},kn=n(441),Pn=n(335),Cn=De.b.ScrollView(hn||(hn=Me()(["\n\n"]))),Dn=function(e){if("running"===e.current){var t=Object(kn.a)(e.start,{includeSeconds:!0});return"calulated "+e.nodes+" nodes in "+t+" using "+e.strategy}var n=Object(Pn.a)(e.start,e.end,{includeSeconds:!0});return"calulated "+e.nodes+" nodes in "+n+" using "+e.strategy},Tn=function(){var e,t,n,r=z(),o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.5,t=te(),n=d((function(){var n,r,a,o;return i.a.async((function(c){for(;;)switch(c.prev=c.next){case 0:return c.next=2,i.a.awrap(Object(X.b)());case 2:if(n=c.sent,"granted"===n.status){c.next=6;break}return c.abrupt("return",void 0);case 6:return c.next=8,i.a.awrap(Object(X.a)({}));case 8:if(r=c.sent,a=Object.values(t).map((function(e){if(e.location)return{distance:Z(r.coords.latitude,r.coords.longitude,e.location.latitude,e.location.longitute),location:e}})).filter(Boolean).sort((function(e,t){return e.distance-t.distance})),o=a.find((function(t){return t.distance0&&Object(m.jsxs)(ut,{children:["Impossible: ",S.result.impossible.map((function(e){return e.name})).join(", ")]}),Object(m.jsx)(Sn,{plan:S.result.agenda})]})]})})},Mn=De.b.View(vn||(vn=Me()(["\n\n"]))),zn=De.b.Button(gn||(gn=Me()(["\n\n"]))),En=function(){var e=function(){var e=Object(u.useContext)(w);return"ready"!==e.status?D:e.calendars}(),t=M(),n=function(){var e=Object(u.useContext)(w);return"ready"!==e.status?T:e.setSelected}(),r=Object(u.useCallback)((function(e){var r=!!t.find((function(t){return t.id===e.id}));n(r?t.filter((function(t){return t.id!==e.id})):[].concat(A()(t),[e]))}),[t]);return Object(m.jsx)(Mn,{children:e.map((function(e){return Object(m.jsx)(zn,{title:e.title+(t.includes(e)?" -y":"-n"),onPress:function(){return r(e)}},e.id)}))})},In=function(){var e=Object($t.q)().params,t=void 0===e?{}:e,n=Object(u.useMemo)((function(){return t.id||Object(tn.a)()}),[t.id]),r=H(),o=Object($t.o)(),i=o.navigate,c=o.goBack,s=Object(u.useState)(""),l=a()(s,2),b=l[0],j=l[1],d=Object(u.useState)(""),f=a()(d,2),O=f[0],h=f[1],v=Object(u.useState)(""),g=a()(v,2),x=g[0],y=g[1],w=Object(u.useState)(""),S=a()(w,2),k=S[0],P=S[1],C=te(),D=Object(u.useState)(!1),T=a()(D,2),M=T[0],z=T[1],E=Object(u.useState)(""),I=a()(E,2),A=I[0],V=I[1],N=function(){var e=Object(u.useContext)(L).set;return Object(u.useCallback)((function(t){return e(t)}),[e])}();Object(u.useEffect)((function(){var e,t=r.find((function(e){return e.id===n}));if(t){j(t.title),t.start.min&&h(Object(p.a)(t.start.min,"HH:mm")),t.start.max&&y(Object(p.a)(t.start.max,"HH:mm")),t.duration&&P((t.duration/1e3/60).toString()),z(!!t.required);var a=(null==(e=t.location)?void 0:e.map((function(e){return e.title})).join(","))||"";V(a)}}),[r,n]);var B=Object(u.useCallback)((function(){var e=A.split(",").map((function(e){return Object.values(C).find((function(t){return t.title.toLowerCase()===e.trim().toLowerCase()}))})).filter(Boolean);N({id:n,title:b,priority:50,required:M,location:e.length>0?e:void 0,start:{min:new Date("2020-01-01T"+O+":00"),max:new Date("2020-01-01T"+x+":00")},duration:1e3*parseInt(k)*60}),i("main")}),[b,O,x,k,A,M]);return Object(m.jsxs)(yt,{onClose:c,children:[Object(m.jsx)(Jt,{value:b,onChangeText:j,placeholder:"Title"}),Object(m.jsx)(Jt,{value:O,onChangeText:h,placeholder:"Start min"}),Object(m.jsx)(Jt,{value:x,onChangeText:y,placeholder:"Start max"}),Object(m.jsx)(Jt,{value:k,onChangeText:P,placeholder:"Duration"}),Object(m.jsx)(Jt,{value:A,onChangeText:V,placeholder:"Location"}),Object(m.jsx)(Ft,{label:"Required",value:M,onChange:z}),Object(m.jsx)(_t,{title:"Save",onPress:B})]})},An=n(328),Ln=n.n(An);function Vn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Nn(e){for(var t=1;t