// Compiled by ClojureScript 1.9.562 {}
goog.provide('weathergen.dtc');
goog.require('cljs.core');
goog.require('clojure.string');
goog.require('cljs.spec.alpha');
goog.require('taoensso.timbre');
weathergen.dtc.number = (function weathergen$dtc$number(s){
return (new Number(s)).valueOf();
});
weathergen.dtc.integer = (function weathergen$dtc$integer(s){
return cljs.core.long$.call(null,s);
});
weathergen.dtc.stpt_action = cljs.core.PersistentHashMap.fromArrays([(0),(7),(20),(1),(24),(4),(-1),(15),(21),(13),(22),(6),(25),(17),(3),(12),(2),(23),(19),(11),(9),(5),(14),(26),(16),(10),(18),(8)],[new cljs.core.Keyword(null,"nav","nav",719540477),new cljs.core.Keyword(null,"land","land",-1402569867),new cljs.core.Keyword(null,"elint","elint",1374102625),new cljs.core.Keyword(null,"takeoff","takeoff",719937767),new cljs.core.Keyword(null,"tanker","tanker",932081370),new cljs.core.Keyword(null,"refuel","refuel",184033462),new cljs.core.Keyword(null,"none","none",1333468478),new cljs.core.Keyword(null,"strike","strike",-1173815471),new cljs.core.Keyword(null,"recon","recon",-745027378),new cljs.core.Keyword(null,"intercept","intercept",-2141938204),new cljs.core.Keyword(null,"rescue","rescue",1135767523),new cljs.core.Keyword(null,"pickup","pickup",1997454190),new cljs.core.Keyword(null,"airdrop","airdrop",-534117642),new cljs.core.Keyword(null,"strike","strike",-1173815471),new cljs.core.Keyword(null,"split","split",-599435118),new cljs.core.Keyword(null,"cap","cap",-817621587),new cljs.core.Keyword(null,"push","push",799791267),new cljs.core.Keyword(null,"asw","asw",1486545956),new cljs.core.Keyword(null,"sead","sead",821421771),new cljs.core.Keyword(null,"sweep","sweep",-50871214),new cljs.core.Keyword(null,"cas-contact","cas-contact",1257981390),new cljs.core.Keyword(null,"rearm","rearm",-408770249),new cljs.core.Keyword(null,"strike","strike",-1173815471),new cljs.core.Keyword(null,"jam","jam",-1572859399),new cljs.core.Keyword(null,"strike","strike",-1173815471),new cljs.core.Keyword(null,"escort","escort",-1921119179),new cljs.core.Keyword(null,"bomb","bomb",-1302543521),new cljs.core.Keyword(null,"holding-point","holding-point",-8249469)]);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)], null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__45747){
return cljs.core.map_QMARK_.call(null,G__45747);
}),(function (G__45747){
return cljs.core.contains_QMARK_.call(null,G__45747,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566));
}),(function (G__45747){
return cljs.core.contains_QMARK_.call(null,G__45747,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375));
}),(function (G__45747){
return cljs.core.contains_QMARK_.call(null,G__45747,new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818));
})], null),(function (G__45747){
return (cljs.core.map_QMARK_.call(null,G__45747)) && (cljs.core.contains_QMARK_.call(null,G__45747,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566))) && (cljs.core.contains_QMARK_.call(null,G__45747,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375))) && (cljs.core.contains_QMARK_.call(null,G__45747,new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)))], null),null])));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","and","cljs.spec.alpha/and",-2060279705,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.list(new cljs.core.Symbol("cljs.core","complement","cljs.core/complement",-498493640,null),new cljs.core.Symbol("cljs.core","neg?","cljs.core/neg?",2002812728,null))),cljs.spec.alpha.and_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.list(new cljs.core.Symbol("cljs.core","complement","cljs.core/complement",-498493640,null),new cljs.core.Symbol("cljs.core","neg?","cljs.core/neg?",2002812728,null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.integer_QMARK_,cljs.core.complement.call(null,cljs.core.neg_QMARK_)], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","nilable","cljs.spec.alpha/nilable",1628308748,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),cljs.core.list(new cljs.core.Symbol("cljs.core","->","cljs.core/->",1488366311,null),new cljs.core.Symbol("weathergen.dtc","stpt-action","weathergen.dtc/stpt-action",913350624,null),new cljs.core.Symbol("cljs.core","vals","cljs.core/vals",1473678353,null),new cljs.core.Symbol("cljs.core","set","cljs.core/set",724680876,null)),new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null))),cljs.spec.alpha.nilable_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),cljs.core.list(new cljs.core.Symbol("cljs.core","->","cljs.core/->",1488366311,null),new cljs.core.Symbol("weathergen.dtc","stpt-action","weathergen.dtc/stpt-action",913350624,null),new cljs.core.Symbol("cljs.core","vals","cljs.core/vals",1473678353,null),new cljs.core.Symbol("cljs.core","set","cljs.core/set",724680876,null)),new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.or_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Keyword(null,"string","string",-1989541586)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","->","cljs.core/->",1488366311,null),new cljs.core.Symbol("weathergen.dtc","stpt-action","weathergen.dtc/stpt-action",913350624,null),new cljs.core.Symbol("cljs.core","vals","cljs.core/vals",1473678353,null),new cljs.core.Symbol("cljs.core","set","cljs.core/set",724680876,null)),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.set.call(null,cljs.core.vals.call(null,weathergen.dtc.stpt_action)),cljs.core.string_QMARK_], null),null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529),new cljs.core.Symbol("cljs.core","boolean?","cljs.core/boolean?",1400713761,null),cljs.core.boolean_QMARK_);
weathergen.dtc.target = cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__45748){
return cljs.core.map_QMARK_.call(null,G__45748);
}),(function (G__45748){
return cljs.core.contains_QMARK_.call(null,G__45748,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125));
}),(function (G__45748){
return cljs.core.contains_QMARK_.call(null,G__45748,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945));
})], null),(function (G__45748){
return (cljs.core.map_QMARK_.call(null,G__45748)) && (cljs.core.contains_QMARK_.call(null,G__45748,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))) && (cljs.core.contains_QMARK_.call(null,G__45748,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)));
}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145),new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145),new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)))], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145),new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529)], null)]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null),weathergen.dtc.target));
weathergen.dtc.line = cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__45749){
return cljs.core.map_QMARK_.call(null,G__45749);
}),(function (G__45749){
return cljs.core.contains_QMARK_.call(null,G__45749,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125));
}),(function (G__45749){
return cljs.core.contains_QMARK_.call(null,G__45749,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945));
})], null),(function (G__45749){
return (cljs.core.map_QMARK_.call(null,G__45749)) && (cljs.core.contains_QMARK_.call(null,G__45749,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))) && (cljs.core.contains_QMARK_.call(null,G__45749,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)))], null),null]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),weathergen.dtc.line));
weathergen.dtc.ppt = cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__45750){
return cljs.core.map_QMARK_.call(null,G__45750);
}),(function (G__45750){
return cljs.core.contains_QMARK_.call(null,G__45750,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125));
}),(function (G__45750){
return cljs.core.contains_QMARK_.call(null,G__45750,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945));
}),(function (G__45750){
return cljs.core.contains_QMARK_.call(null,G__45750,new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459));
})], null),(function (G__45750){
return (cljs.core.map_QMARK_.call(null,G__45750)) && (cljs.core.contains_QMARK_.call(null,G__45750,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))) && (cljs.core.contains_QMARK_.call(null,G__45750,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))) && (cljs.core.contains_QMARK_.call(null,G__45750,new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459)));
}),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586)], null),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459)))], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586)], null)]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null),weathergen.dtc.ppt));
weathergen.dtc.weapon_target = cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__45751){
return cljs.core.map_QMARK_.call(null,G__45751);
}),(function (G__45751){
return cljs.core.contains_QMARK_.call(null,G__45751,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125));
}),(function (G__45751){
return cljs.core.contains_QMARK_.call(null,G__45751,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945));
})], null),(function (G__45751){
return (cljs.core.map_QMARK_.call(null,G__45751)) && (cljs.core.contains_QMARK_.call(null,G__45751,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))) && (cljs.core.contains_QMARK_.call(null,G__45751,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)));
}),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)))], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600)], null)]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","weapon-targets","weathergen.dtc/weapon-targets",2097083099),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","weapon-target","weathergen.dtc/weapon-target",-502371985,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","weapon-target","weathergen.dtc/weapon-target",-502371985,null),weathergen.dtc.weapon_target));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)], null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__45752){
return cljs.core.map_QMARK_.call(null,G__45752);
}),(function (G__45752){
return cljs.core.contains_QMARK_.call(null,G__45752,new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245));
}),(function (G__45752){
return cljs.core.contains_QMARK_.call(null,G__45752,new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315));
}),(function (G__45752){
return cljs.core.contains_QMARK_.call(null,G__45752,new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652));
})], null),(function (G__45752){
return (cljs.core.map_QMARK_.call(null,G__45752)) && (cljs.core.contains_QMARK_.call(null,G__45752,new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245))) && (cljs.core.contains_QMARK_.call(null,G__45752,new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315))) && (cljs.core.contains_QMARK_.call(null,G__45752,new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)))], null),null])));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),null], null), null),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),null], null), null));
weathergen.dtc.dtc = cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__45753){
return cljs.core.map_QMARK_.call(null,G__45753);
}),(function (G__45753){
return cljs.core.contains_QMARK_.call(null,G__45753,new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734));
})], null),(function (G__45753){
return (cljs.core.map_QMARK_.call(null,G__45753)) && (cljs.core.contains_QMARK_.call(null,G__45753,new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)))], null),null]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","parse-stpt-line","weathergen.dtc/parse-stpt-line",580436060,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)], null))),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"line","line",212345235)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.string_QMARK_], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)], null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)], null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__45754){
return cljs.core.map_QMARK_.call(null,G__45754);
}),(function (G__45754){
return cljs.core.contains_QMARK_.call(null,G__45754,new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249));
})], null),(function (G__45754){
return (cljs.core.map_QMARK_.call(null,G__45754)) && (cljs.core.contains_QMARK_.call(null,G__45754,new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)))], null),null])),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)], null)),null,null,null));
weathergen.dtc.parse_stpt_line = (function weathergen$dtc$parse_stpt_line(line){
var vec__45772 = clojure.string.split.call(null,line,/=/);
var id = cljs.core.nth.call(null,vec__45772,(0),null);
var v = cljs.core.nth.call(null,vec__45772,(1),null);
var vec__45775 = clojure.string.split.call(null,id,/_/);
var category = cljs.core.nth.call(null,vec__45775,(0),null);
var num_str = cljs.core.nth.call(null,vec__45775,(1),null);
var G__45778 = category;
switch (G__45778) {
case "target":
var vec__45779 = cljs.core.map.call(null,clojure.string.trim,clojure.string.split.call(null,v,/,/));
var x_str = cljs.core.nth.call(null,vec__45779,(0),null);
var y_str = cljs.core.nth.call(null,vec__45779,(1),null);
var z_str = cljs.core.nth.call(null,vec__45779,(2),null);
var action_str = cljs.core.nth.call(null,vec__45779,(3),null);
var comment = cljs.core.nth.call(null,vec__45779,(4),null);
var action = (function (){var G__45782 = action_str;
var G__45782__$1 = (((G__45782 == null))?null:weathergen.dtc.number.call(null,G__45782));
if((G__45782__$1 == null)){
return null;
} else {
return cljs.core.long$.call(null,G__45782__$1);
}
})();
return new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),weathergen.dtc.number.call(null,x_str),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),weathergen.dtc.number.call(null,y_str),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818),weathergen.dtc.number.call(null,z_str)], null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),weathergen.dtc.integer.call(null,num_str),new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145),weathergen.dtc.stpt_action.call(null,action,action),new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),comment], null);

break;
case "lineSTPT":
var vec__45783 = cljs.core.map.call(null,clojure.string.trim,clojure.string.split.call(null,v,/,/));
var x_str = cljs.core.nth.call(null,vec__45783,(0),null);
var y_str = cljs.core.nth.call(null,vec__45783,(1),null);
var z_str = cljs.core.nth.call(null,vec__45783,(2),null);
return new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),weathergen.dtc.number.call(null,x_str),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),weathergen.dtc.number.call(null,y_str),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818),weathergen.dtc.number.call(null,z_str)], null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),weathergen.dtc.integer.call(null,num_str)], null);

break;
case "ppt":
var vec__45786 = cljs.core.map.call(null,clojure.string.trim,clojure.string.split.call(null,v,/,/));
var x_str = cljs.core.nth.call(null,vec__45786,(0),null);
var y_str = cljs.core.nth.call(null,vec__45786,(1),null);
var z_str = cljs.core.nth.call(null,vec__45786,(2),null);
var radius = cljs.core.nth.call(null,vec__45786,(3),null);
var threat = cljs.core.nth.call(null,vec__45786,(4),null);
return new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),weathergen.dtc.number.call(null,x_str),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),weathergen.dtc.number.call(null,y_str),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818),weathergen.dtc.number.call(null,z_str)], null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),weathergen.dtc.integer.call(null,num_str),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459),weathergen.dtc.number.call(null,radius),new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586),threat], null);

break;
default:
return null;

}
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","parse","weathergen.dtc/parse",-1466316675,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"contents","contents",-1567174023),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"contents","contents",-1567174023),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"contents","contents",-1567174023)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.string_QMARK_], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)], null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"contents","contents",-1567174023),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null),weathergen.dtc.dtc,null,null),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null),null,null,null));
/**
 * Given the contents of an ini file, parse it into its relevant
 *   sections.
 */
weathergen.dtc.parse = (function weathergen$dtc$parse(contents){
return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734),cljs.core.group_by.call(null,new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,weathergen.dtc.parse_stpt_line,cljs.core.take_while.call(null,(function (p1__45791_SHARP_){
return !(clojure.string.starts_with_QMARK_.call(null,p1__45791_SHARP_,"["));
}),cljs.core.drop.call(null,(1),cljs.core.drop_while.call(null,(function (p1__45790_SHARP_){
return cljs.core.not_EQ_.call(null,p1__45790_SHARP_,"[STPT]");
}),cljs.core.remove.call(null,cljs.core.empty_QMARK_,cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,contents)))))))))], null);
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","zero-coords?","weathergen.dtc/zero-coords?",-1402825671,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"steerpoint","steerpoint",-402509784),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)], null))),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("cljs.core","boolean?","cljs.core/boolean?",1400713761,null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"steerpoint","steerpoint",-402509784),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)], null))),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"steerpoint","steerpoint",-402509784)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__45792){
return cljs.core.map_QMARK_.call(null,G__45792);
}),(function (G__45792){
return cljs.core.contains_QMARK_.call(null,G__45792,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125));
})], null),(function (G__45792){
return (cljs.core.map_QMARK_.call(null,G__45792)) && (cljs.core.contains_QMARK_.call(null,G__45792,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)))], null),null]))], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)], null))], null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"steerpoint","steerpoint",-402509784),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)], null))),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("cljs.core","boolean?","cljs.core/boolean?",1400713761,null),cljs.core.boolean_QMARK_,null,null),new cljs.core.Symbol("cljs.core","boolean?","cljs.core/boolean?",1400713761,null),null,null,null));
/**
 * Returns true if all coordinate elements are zero
 */
weathergen.dtc.zero_coords_QMARK_ = (function weathergen$dtc$zero_coords_QMARK_(p__45793){
var map__45798 = p__45793;
var map__45798__$1 = ((((!((map__45798 == null)))?((((map__45798.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__45798.cljs$core$ISeq$)))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__45798):map__45798);
var coordinates = cljs.core.get.call(null,map__45798__$1,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125));
var map__45800 = coordinates;
var map__45800__$1 = ((((!((map__45800 == null)))?((((map__45800.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__45800.cljs$core$ISeq$)))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__45800):map__45800);
var x = cljs.core.get.call(null,map__45800__$1,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566));
var y = cljs.core.get.call(null,map__45800__$1,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375));
var z = cljs.core.get.call(null,map__45800__$1,new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818));
return ((x === (0))) && ((y === (0))) && ((z === (0)));
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","flight-path","weathergen.dtc/flight-path",2033127162,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null))),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"dtc","dtc",-782550637)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.dtc.dtc], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)], null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null),weathergen.dtc.target),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null)),null,null,null));
weathergen.dtc.flight_path = (function weathergen$dtc$flight_path(dtc){
var land_QMARK_ = (function (navpoint){
return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"land","land",-1402569867),new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145).cljs$core$IFn$_invoke$arity$1(navpoint));
});
var targets = new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734).cljs$core$IFn$_invoke$arity$1(dtc));
var navpoints = cljs.core.take_while.call(null,((function (land_QMARK_,targets){
return (function (p1__45802_SHARP_){
return cljs.core.not_EQ_.call(null,new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145).cljs$core$IFn$_invoke$arity$1(p1__45802_SHARP_),new cljs.core.Keyword(null,"none","none",1333468478));
});})(land_QMARK_,targets))
,targets);
var G__45816 = navpoints;
var vec__45817 = G__45816;
var seq__45818 = cljs.core.seq.call(null,vec__45817);
var first__45819 = cljs.core.first.call(null,seq__45818);
var seq__45818__$1 = cljs.core.next.call(null,seq__45818);
var point = first__45819;
var more = seq__45818__$1;
var path = cljs.core.PersistentVector.EMPTY;
var landed_QMARK_ = false;
var G__45816__$1 = G__45816;
var path__$1 = path;
var landed_QMARK___$1 = landed_QMARK_;
while(true){
var vec__45820 = G__45816__$1;
var seq__45821 = cljs.core.seq.call(null,vec__45820);
var first__45822 = cljs.core.first.call(null,seq__45821);
var seq__45821__$1 = cljs.core.next.call(null,seq__45821);
var point__$1 = first__45822;
var more__$1 = seq__45821__$1;
var path__$2 = path__$1;
var landed_QMARK___$2 = landed_QMARK___$1;
if(cljs.core.not.call(null,point__$1)){
return path__$2;
} else {
var is_land_QMARK_ = land_QMARK_.call(null,point__$1);
var G__45823 = more__$1;
var G__45824 = cljs.core.conj.call(null,path__$2,(cljs.core.truth_((function (){var and__23326__auto__ = landed_QMARK___$2;
if(and__23326__auto__){
return is_land_QMARK_;
} else {
return and__23326__auto__;
}
})())?cljs.core.assoc.call(null,point__$1,new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529),true):point__$1));
var G__45825 = (function (){var or__23338__auto__ = landed_QMARK___$2;
if(or__23338__auto__){
return or__23338__auto__;
} else {
return is_land_QMARK_;
}
})();
G__45816__$1 = G__45823;
path__$1 = G__45824;
landed_QMARK___$1 = G__45825;
continue;
}
break;
}
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","lines","weathergen.dtc/lines",-1273343117,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(1),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(5)),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(0),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(4))),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"dtc","dtc",-782550637)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.dtc.dtc], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)], null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(1),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(5)),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(0),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(4)),cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("s","coll-of","s/coll-of",-1705285349,null),new cljs.core.Symbol(null,"line","line",1852876762,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(1),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(5)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"line","line",1852876762,null),weathergen.dtc.line,new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),(function (G__45827){
return (cljs.core.coll_QMARK_.call(null,G__45827)) && ((((function (){var or__23338__auto__ = (1);
if(cljs.core.truth_(or__23338__auto__)){
return or__23338__auto__;
} else {
return (0);
}
})() <= cljs.core.bounded_count.call(null,((5) + (1))
,G__45827))) && ((cljs.core.bounded_count.call(null,((5) + (1))
,G__45827) <= (function (){var or__23338__auto__ = (5);
if(cljs.core.truth_(or__23338__auto__)){
return or__23338__auto__;
} else {
return cljs.spec.alpha.MAX_INT;
}
})())));
}),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(1),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(5),new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),true,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(1),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(5))], null),null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),(function (G__45826){
return (cljs.core.coll_QMARK_.call(null,G__45826)) && ((((function (){var or__23338__auto__ = (0);
if(cljs.core.truth_(or__23338__auto__)){
return or__23338__auto__;
} else {
return (0);
}
})() <= cljs.core.bounded_count.call(null,((4) + (1))
,G__45826))) && ((cljs.core.bounded_count.call(null,((4) + (1))
,G__45826) <= (function (){var or__23338__auto__ = (4);
if(cljs.core.truth_(or__23338__auto__)){
return or__23338__auto__;
} else {
return cljs.spec.alpha.MAX_INT;
}
})())));
}),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(0),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(4),new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),true,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(1),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(5)),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(0),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(4))], null),null),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(1),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(5)),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(0),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(4)),null,null,null));
/**
 * Returns a description of the steerpoint lines (e.g. tanker area) in
 *   the DTC.
 */
weathergen.dtc.lines = (function weathergen$dtc$lines(dtc){
return cljs.core.map.call(null,cljs.core.second,cljs.core.sort_by.call(null,cljs.core.first,cljs.core.group_by.call(null,(function (p1__45828_SHARP_){
return (cljs.core.long$.call(null,(new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945).cljs$core$IFn$_invoke$arity$1(p1__45828_SHARP_) / (5))) + (1));
}),cljs.core.remove.call(null,weathergen.dtc.zero_coords_QMARK_,new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734).cljs$core$IFn$_invoke$arity$1(dtc))))));
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","ppts","weathergen.dtc/ppts",-1641398454,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null))),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"dtc","dtc",-782550637)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.dtc.dtc], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)], null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null),weathergen.dtc.ppt),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null)),null,null,null));
/**
 * Returns a description of the pre-planned threats in the DTC.
 */
weathergen.dtc.ppts = (function weathergen$dtc$ppts(dtc){
return cljs.core.remove.call(null,weathergen.dtc.zero_coords_QMARK_,new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734).cljs$core$IFn$_invoke$arity$1(dtc)));
});
